一、确认使命
开发单片机最小体系
二、使命分析:
该体系具有的功用:
(1)具有2位LED数码管显现功用。
(2)具有八路发光二极管显现各种流水灯。
(3)能够完结各种吹打,报警等发声响类试验。
(4)具有复位功用。
三、功用分析
(1)两位LED数码管显现功用,咱们能够运用单片机的P0口接两个数码管来现这个功用;
(2)八路发光二极管显现能够运用P1口接八个发光二极管完成这个功用;
(3)各种吹打、报警等发声功用能够选用P2.0这个引脚接一蜂鸣器来完成。
(4)运用单片机的第9脚能够规划成复位体系,咱们选用按键复位;运用单片机的18、19脚能够规划成时钟电路,咱们运用单片机的内部振动方法规划的。
四、规划框图
五、硬件电路规划
依据本体系的功用,和单片机的工作条件,咱们规划出下面的电路图。
六、元件清单的确认:
数码管:共阴极2只(分立)
电解电容:10UF的一只
30PF的电容2只
220欧的电阻9只
4.7K的电阻一只
1.2K的电阻一只
4.7K的排阻一只,
12MHz的晶振一只
有源5V蜂名器一只
AT89S51单片机一片
常开按钮开关1只
紧闭座一只(便利芯取下来的,绿色的)
发光二极管(5MM赤色)8只
全能板电路版15*17CM
S8550三极管一只
4.5V电池盒一只,导线若干。
七、硬件电路的焊接
依照原理图把上面的元件焊接好,具体过程省掉。
八、相关程序编写
针对上面的电路原理图,规划出本体系的具体功用:
(1)、第一个发光二极管点亮,一起数码管显现“1”。
(2)、第二个发光二极管点亮,一起数码管显现“2”。
(3)、顺次类推到第八个发光二极管点亮,一起数码管显现“8”。
以上呈现的是流水灯的作用
(4)、一切的发光二极管灭了,一起数码管实际“0”。
(5)、数码管显现“1”。
(6)、数码管显现“2、……”直到“9、A、B、C、D、E、F、Y”。
(7)、蜂鸣器宣布九声报警声后重复上面一切过程。
(8)程序如下:
ORG 0000H;伪指令,界说下面的程序代码(机器代码)从地址为0000H的单元寄存。
LJMP START;跳转到标号为START的当地去履行。
ORG 0030H;伪指令,界说下面的程序代码(机器代码)从地址为0030H的单元寄存。
START:MOV P1,#0FEH ;点亮第一个发光二极管。
CLR P2.7 ;送低电平到第一个数码管,敞开数码管。
CLR P2.6 ;送低电平到第二个数码管,敞开数码管。
MOV P0,#06H;让数码管显现“1” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0FDH;点亮第二个发光二极管。
MOV P0,#5bH;让数码管显现“2” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0FBH;点亮第三个发光二极管。
MOV P0,#4fH;让数码管显现“3” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0F7H;点亮第四个发光二极管。
MOV P0,#66H;让数码管显现“4” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0EFH;点亮第五个发光二极管。
MOV P0,#6dH;让数码管显现“5” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0DFH;点亮第六个发光二极管。
MOV P0,#7dH;让数码管显现“6” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#0BFH;点亮第七个发光二极管。
MOV P0,#07H;让数码管显现“7” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#7FH;点亮第八个发光二极管。
MOV P0,#7fH;让数码管显现“8” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P1,#00H;灭了一切的发光二极管。
MOV P0,#3FH;让数码管显现“0” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#06H;让数码管显现“1” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#5bH;让数码管显现“2” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#4fH;让数码管显现“3” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#66H;让数码管显现“4” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#6dH;让数码管显现“5” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#7dH;让数码管显现“6” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#07H;让数码管显现“7” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#7fH;让数码管显现“8” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV P0,#6fH;让数码管显现“9” 。
LCALL DELAY;调用延时子程序,起到延时的意图。
MOV R4,#9;送蜂鸣器的报警次数。
LOOP:SETB P2.0;不发声
LCALL DELAY;调用延时子程序,起到延时的意图。
CLR P2.0;发声。
LCALL DELAY;调用延时子程序,起到延时的意图。
DJNZ R4,LOOP;发声九次后向下履行。
SETB P2.0;封闭发声
LJMP START;跳转到标号为START处履行,循环本程序。
DELAY:MOV R7,#200;这是延时子程序。
D1:MOV R6,#200
D2:MOV R5,#200
D3:DJNZ R5,D3
DJNZ R6,D2
DJNZ R7,D1
RET;延时子程序回来指令。
END;完毕伪指令。
九、运用KEIL C51 软件对上面的程序进行调试和编译,发生*.HEX文件,以便用编程器写入单片机芯片中。
十、编程器的运用:用编程器把电脑里生成的*.HEX文件写到芯片中。
十一、产品调试:通上4.5V(三节电池)的电源,能够调试本体系,假如没有过错就能够正常工作了。