1、单片机课程设计报告秒表设计 单片机结课设计报告 设计课题:秒表设计 专业班级: 学生姓名 学号: 指教教师: 设计时间:2014年10月22日-10月29日一、 设计任务和要求.3(1)设计任务.3(2)设计要求.3二、 设计方案与论证.3三、 单元电路设计与参数计算.4(1)时钟电路.4(2)按钮电路.4(3)显示电路.5(4)单片机.5四、 原理图及器件清单.6( 1 )总原理图.6(2)PCB图.7(3)Proteus仿真图.7(4)元器件清单.8五、 安装与调试.8(1)安装.8(2)调试.8六、 性能测试和分析.9七、 结论和心得.9八、 参考文献.9秒表设计一、 设计任务和要求(1
2、)设计任务用AT89C51设计一个3位的LED数码作为“秒表”。(2)设计要求显示时间为0.0-99.9秒,每0.1秒自动加1,另外设计一个“开始”键、一个“复位”键和一个“停止”键。秒表可单独分别计时,且最多可计5次。二、方案设计与论证本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高
3、低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。 但根据显示方式的不同选择,我们可以有几种方案:方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个
4、8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略)单片机AT89C51显示电路按钮电路时钟电路 图2-1三、单元电路设计与参数计算注:/单元电路设计中的网络标号的数字即为单片机的管脚/(1)时钟电路 图3-1 时钟电路如图3-1所示,时钟电路的晶振频率越高,系统的时钟频
5、率越高,单片机的运行速度也就越快。晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。(2)按钮电路 图3-2a 图3-2bA、复位按钮根据计算容抗的公式以及并联电阻变小的性质,可以知道,当S13断开时,C3的容抗大,管脚9处的电位U9为电阻R3上的压降,因而U9为低电平,复位键无效。当S13按下时,R2与C3的并联阻抗变小,R3上的压降增大,U9为高电平,复位键有效,实现复位功能。本设计中C3取值22uF,电阻R2取值100欧姆,R3取值1K欧姆。具体电路如图3-2a所示。B、开始,
6、停止、翻页按钮 电路如图3-2b所示(3)显示电路P1口控制显示的是十位,p0口控制显示的是个位,P2口控制显示的是十分位。不同的数码管显示方式,对应的最适合的共阴或者共阳级的数码管也不同。静态显示的适宜选共阳的数码管,动态显示的适宜选共阴的数码管。如果动态显示方式下选择共阳的数码管,位选端直接用单片机驱动则数码管的亮度不够,因而应该在位选端使用上拉电阻以提高数码管的驱动电流,但因为显示那个的数据段选的数目不同,故而需要用电阻对各段进行限流,以保证显示的每个数据亮度相同。相同情况下,静态显示的数码管的亮度要比动态的亮。(4)单片机单片机的程序可用汇编语言也可用C语言,为了提高使用汇编语言的能力
7、,本设计特用了汇编语言了编写程序主程序流程图如下所示,具体程序见电子档。主程序流程图:程序开始程序初始化P1.7=?0开各中断P3.3=?0计五次?翻页调用显示子程序关定时器复位四、总原理图及元器件清单(1)总原理图(2)PCB图(3)Proteus仿真图(4)元器件清单1) AT89C51的引脚图和数码管5101BS的引脚图 图4-3a AT89C51引脚图 图4-3b 5101引脚图2)元器件总清单元件名称数量备注元件名称数量备注5101B3块AT89C511块按钮4个排阻1个8个引脚拨动开关1个电容2个33pF发光二极管1个红色电容1个100uF电阻2个1K晶振1个12MHz电阻1个10
8、0殴连接器con2五、安装与调试(1)安装制板的顺序依次是:画原理图、做封装、在原理图中添加元器件对应的封装、布PCB板、改焊盘大少、打印PCB图、用快速制板机将PCB图烤制到铜板上、腐蚀铜板、钻孔、放置元器件、烙铁焊好器件。一块电路板就安装完毕了。(2)调试将外部电源接至电路板上,检验电路板是否完全实现设计要求。本设计中,发现按钮功能完全符合设计要求,但是数码管的显示中有些段码不亮,从而显示的数据乱码,用万用表检测对应的管脚是否有电压,发现焊盘有虚焊,引脚与引脚之间有短路,排查后电路板实现设计要求。六、性能测试与分析所制电路板虽然能实现设计中要求的功能,但是在实际使用中还是存在着许多缺陷。这
9、块电路板不能随意查看记录的数据,而是必须在计完五次数据后才能依次的翻页查看,复位后所计数据便会丢失,不能翻看历史,所计数据组数不能满足现实需要。七、结论与心得在这三周的课程设计中,不管是在软件方面还是硬件方面我都有了更深入的学习。八、参考文献(1)单片机原理及接口技术 张毅刚 彭喜元著 人民邮电出版社(2)单片机课程设计实例指导 李光飞等编著 北京航空航天大学出版社(3)51系列单片机原理、开发与应用实例 孙进平等编著 (4)单片机程序设计实例 先锋工作室编著 清华大学出版社(5)电子工程师之家 、豆丁网 、XX、搜狗、电子工程专辑 等等附程序如下: D EQU 60H E EQU 61H F
10、 EQU 62H G EQU 63H H EQU 64H I EQU 65H ORG 0000H LJMP MAIN ORG 000BH ;定时器T0的入口地址 LJMP DINGSHI ORG 0013H ;外部中断1的入口地址 LJMP STOP1 ORG 0030H ;主程序入口地址MAIN: MOV P0,#0C0H ;置初值 MOV P2,#0C0H MOV P1,#0C0H MOV DPTR,#TABLE ;数据指针指向表头地址 SETB EA ;开中断 SETB EX0 SETB EX1 SETB ET0 SETB PX0 ;设中断优先级 SETB PX1 MOV TMOD,#0
11、1H ;工作方式为方式1;* ;开始及计数程序;*START: MOV R0,#40H MOV R1,#50H MOV R2,#00H CLR P1.0 MOV TH0,#0D8H ;置计数初始值 MOV TL0,#0F0H MOV R3,#00H MOV R4,#00H MOV R7,#00H MOV B,#10 MOV SP,#30H MOV D,#60H MOV E,#61H MOV F,#62H MOV G,#63H MOV I,#65H MOV R5,#05XUNHUAN: JB P1.7,START1 ;p1.7=0是开始 LCALL DELAY10 ;按键消抖 JB P1.7,X
12、UNHUAN JNB P1.7,$ LJMP GN1 LJMP XUNHUAN START1: JB P3.0,XUNHUAN LCALL DELAY10 JB P3.0,XUNHUAN JNB P3.0,$ LCALL FANYE LJMP XUNHUAN ;* ;翻页模块;*FANYE: MOV A,R0 MOV R3,A MOV A,R1 MOV R4,A DEC R5 CJNE R5,#04,LOP1 MOV A,D MOV R7,A LJMP L1LOP1: CJNE R5,#03,LOP2 MOV A,E MOV R7,A LJMP L1LOP2: CJNE R5,#02,LOP3
13、 MOV A,F MOV R7,A LJMP L1LOP3: CJNE R5,#01,LOP4 MOV A,G MOV R7,A LJMP L1LOP4: CJNE R5,#00,FANYE MOV A,I MOV R7,A LJMP L1L1: INC R0 INC R1 INC R2 CJNE R2,#5,LOOP2 MOV R0,#40H MOV R1,#50H MOV R2,#00H LOOP2:LCALL XIANSHI RET ;*;数码管记录程序;*GN1: SETB TR0 LOOP: CJNE R2,#05H,LOOP MOV R0,#40H MOV R1,#50H MOV
14、R2,#00H CLR EA AJMP XUNHUAN ;*;1毫秒延时子程序;*DELAY1: MOV R6,#2DL1: MOV H,#248 DJNZ H,$ DJNZ R6,DL1 RET;*;10毫秒延时子程序;*DELAY10: MOV R6,#20DL2: MOV H,#248 DJNZ H,$ DJNZ R6,DL2 RET;*;外部中断1中断程序,停止模块;*STOP1 : PUSH ACC PUSH PSW LCALL DELAY10 ;延时10毫秒消抖 JB P3.3, FAN1 JNB P3.3,$ MOV A, R3 MOV R0 , A MOV A, R4 MOV
15、R1, A DEC R5 CJNE R5, #04, LOP5 MOV A, R7 MOV D, A LJMP L4LOP5: CJNE R5, #03, LOP6 MOV A, R7 MOV E, A LJMP L4LOP6: CJNE R5, #02, LOP7 MOV A, R7 MOV F, A LJMP L4LOP7: CJNE R5, #01, LOP8 MOV A, R7 MOV G, A LJMP L4LOP8: CJNE R5, #00, STOP1 MOV A, R7 MOV I,A LJMP L4 L4: INC R0 INC R1 INC R2FAN1: POP PSW
16、 POP ACC RETI;*;显示子程序;*XIANSHI: MOV A ,R3 ;扫描十分位上的数字 MOV DPTR ,#TABLE MOVC A ,A+DPTR MOV P2 ,A MOV A ,R4 ;扫描个位上的数字 MOV DPTR ,#TABLE MOVC A ,A+DPTR MOV P0 ,A MOV A ,R7 ;扫描十位上的数字 MOV DPTR ,#TABLE MOVC A ,A+DPTR MOV P1 ,A RET;*;定时器T0中断程序;*DINGSHI:PUSH ACC PUSH PSW DJNZ B,DH1 MOV B,#10 AJMP COUNTCOUNT: INC R3 CJNE R3,#0AH,DH2 MOV R3,#00H INC R4 CJNE R4,#0AH,DH2 MOV R4,#00H INC R7 CJNE R7,#0AH,DH2 MOV R7,#00H DH1: MOV TH0,#0D8H MOV TL0,#0F0H SETB TR0DH2: POP PSW POP ACC LCALL XIANSHI RETITABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1