1、(4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。四、设计框图五、硬件电路设计根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。六、元件清单的确定:数码管:共阴极2只(分立)电解电容:10UF的一只30PF的电容2只220欧的电阻9只4.7K的电阻一只1.2K的电阻一只4.7K的排阻一只,12MHZ的晶振一只有源5V蜂名器一只AT89S51单片机一片常开按钮开关1只紧锁座一只(方便芯取下来的,绿色的)发光二极管(5MM红色)8只万能板电路版15*17CMS8550三极管一只4.5V电池盒一只
2、,导线若干。七、硬件电路的焊接按照原理图把上面的元件焊接好,详细步骤省略。八、相关程序编写针对上面的电路原理图,设计出本系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1”。(2)、第二个发光二极管点亮,同时数码管显示“2”。(3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果(4)、所有的发光二极管灭了,同时数码管现实“0”。(5)、数码管显示“1”。(6)、数码管显示“2、”直到“9、A、B、C、D、E、F、Y”。(7)、蜂鸣器发出九声报警声后重复上面所有步骤。(8)程序如下:ORG 0000H;伪指令,定义下面的程序代码(机器代码)从地址为
3、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” 。MOV P1,#0FBH;点亮第三个发光二极管。MOV P0,
4、#4fH;让数码管显示“3” 。MOV P1,#0F7H;点亮第四个发光二极管。MOV P0,#66H;让数码管显示“4” 。MOV P1,#0EFH;点亮第五个发光二极管。MOV P0,#6dH;让数码管显示“5” 。MOV P1,#0DFH;点亮第六个发光二极管。MOV P0,#7dH;让数码管显示“6” 。MOV P1,#0BFH;点亮第七个发光二极管。MOV P0,#07H;让数码管显示“7” 。MOV P1,#7FH;点亮第八个发光二极管。MOV P0,#7fH;让数码管显示“8” 。MOV P1,#00H;灭了所有的发光二极管。MOV P0,#3FH;让数码管显示“0” 。MOV
5、P0,#6fH;让数码管显示“9” 。MOV R4,#9;送蜂鸣器的报警次数。LOOP:SETB P2.0;不发声CLR P2.0;发声。DJNZ R4,LOOP;发声九次后向下执行。关闭发声跳转到标号为START处执行,循环本程序。DELAY:MOV R7,#200;这是延时子程序。D1:MOV R6,#200D2:MOV R5,#200D3:DJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RET;延时子程序返回指令。END;结束伪指令。九、利用KEIL C51 软件对上面的程序进行调试和编译,产生*.HEX文件,以便用编程器写入单片机芯片中。十、编程器的使用:用编程器把电脑里生
6、成的*.HEX文件写到芯片中。十一、产品调试:通上4.5V(三节电池)的电源,可以调试本系统,如果没有错误就可以正常工作了。51单片机管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1