《单片机最小系统制作.docx》由会员分享,可在线阅读,更多相关《单片机最小系统制作.docx(11页珍藏版)》请在第一文库网上搜索。
1、单片机最小系统制作一、确定任务开发单片机最小系统二、任务分析:该系统具有的功能:(1)具有2位1ED数码管显示功能。(2)具有八路发光二极管显示各种流水灯。(3)可以完成各种奏乐,报警等发声音类实验。(4)具有复位功能。三、功能分析(1)两位1ED数码管显示功能,我们可以利用单片机的PO接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1接八个发光二极管实现这个功能;(3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。(4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。四、设
2、计框图八路流水灯数码管显示电路AT89S51声音系复位系统时钟电路五、硬件电路设计根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。JR12200f1fc=i坤亚1X8SIP4.7kQR11工工Ii1工工六、元件清单的确定:数码管:共阴极2只(分立)电解电容:IoUF的一只30PF的电容2只220欧的电阻9只4. 7K的电阻一只12K的电阻一只4.7K的排阻一只,12MHZ的晶振一只有源5V蜂名器一只AT89S51单片机一片常开按钮开关1只紧锁座一只(方便芯取下来的,绿色的)发光二极管(5MM红色)8只万能板电路版15*17CMS8550三极管一只4.5V电池盒一只,导线若干。七、
3、硬件电路的焊接按照原理图把上面的元件焊接好,详细步骤省略。八、相关程序编写针对上面的电路原理图,设计出本系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1”。(2)、第二个发光二极管点亮,同时数码管显示“2”。(3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果(4)、所有的发光二极管灭了,同时数码管现实“0”。、数码管显示aO(6)、数码管显示2、直到“9、A、B、C、D、E、F、Y”。(7)、蜂鸣器发出九声报警声后重复上面所有步骤。(8)程序如下:ORG0000H;伪指令,定义下面的程序代码(机器代码)从地址为OOOoH的单元存放。1JMPS
4、TART;跳转到标号为START的地方去执行。ORG0030H;伪指令,定义下面的程序代码(机器代码)从地址为003OH的单元存放。START:MOVP1,SOFEH;点亮第一个发光二极管。C1RP2.7;送低电平到第一个数码管,开启数码管。C1RP2.6;送低电平到第二个数码管,开启数码管。MOVP0,#06H;让数码管显示“1”oMOVP1,#OFDH;点亮第二个发光二极管。MOVP0,#5bH;让数码管显示“2o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP1,#OFBH;点亮第三个发光二极管。MOVP0,#4fH;让数码管显示“3o1CA11DE1AY;调用延时子程序,
5、起到延时的目的。MOVP1,#0F7H;点亮第四个发光二极管。MOVPO,#66H;让数码管显示“4”。1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP1,#OEFH;点亮第五个发光二极管。MOVPO,#6dH;让数码管显示“5o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP1,#ODFH;点亮第六个发光二极管。MOVPO,#7dH;让数码管显示“6”oMOVPO,#07H;让数码管显示“7o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP1,#7FH;点亮第八个发光二极管。MOVP0,#7fH;让数码管显示“8o1CA11DE1AY;调用延时子程序
6、,起到延时的目的。MOVP1,#OOH;灭了所有的发光二极管。MOVPO,#3FH;让数码管显示“0o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP0,#06出让数码管显示“1o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#5bH;让数码管显示“2”。1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#4fH;让数码管显示“3oMOVPO,#66H;让数码管显示“4”。1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#6dH;让数码管显示“5”。1CA11DE1AY;调用延时子程序,起到延时的目的。MOVP0,#7dH;让
7、数码管显示“6o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#07H;让数码管显示“7o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#7fH;让数码管显示“8o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVPO,#6fH;让数码管显示“9o1CA11DE1AY;调用延时子程序,起到延时的目的。MOVR4,#9;送蜂鸣器的报警次数。1OOP:SETBP2.0;不发声C1RP2.0;发声。1CA11DE1AY;调用延时子程序,起到延时的目的。DJNZR4,1OOP;发声九次后向下执行。SETBP2.0;关闭发声1JMPSTART;跳转到标号为START处执行,循环本程序。DE1AY:MOVR7,#200;这是延时子程序。DI:MOVR6,#200D2:MOVR5,#200D3:DJNZR5,D3DJNZR6,D2DJNZR7,D1RET;延时子程序返回指令。END;结束伪指令。九、利用KE11C51软件对上面的程序进行调试和编译,产生*.HEX文件,以便用编程器写入单片机芯片中。十、编程器的使用:用编程器把电脑里生成的*HEX文件写到芯片中。H一、产品调试:通上4.5V(三节电池)的电源,可以调试本系统,如果没有错误就可以正常工作了。