1、电子时钟南京工程学院 课程设计任务书 课 程 名 称: 单片机原理及应用A 院(系、部、中心): 自动化学院 专 业: 自动化(数控技术应用) 班 级: 数控061 姓 名: 付东兴 起 止 日 期: 2008.12.172008.12.21 指 导 教 师:* 一、设计目的 1二、设计要求 1三、设计设备 1四、设计总体方案 1五、原理框图 2六、系统模块详细设计与调试 5七、设计总结 8八、参考文献 8九附件材料 8电子钟设计一、设计目的: 1进一步掌握定时器的使用和编程方法。 2进一步掌握中断处理程序的编程方法。 3进一步掌握数码显示电路的驱动方法。二、设计要求:利用CPU的定时器和实验
2、仪上提供的键盘和数码显示电路,设计一个电子时钟。1该电子钟具有如下功能:1)自动计时,由6位LED显示器显示时、分、秒,采用24小时计时格式如下:XX XX XX 由左向右分别为:时、分、秒2) 具备校准功能,可以直接由09数字键设置当前时间,以及 C/R键,即时间设定/启动计时键 2其工作流程如下:1)时间显示:上电后,系统自动进入时钟显示,从00:00:00 开始计时此时可以设定当前时间。2)时间调整:按下C/R键,系统停止计时,进入时间设定状态,系统保持原有显示,等待键入当前时间。按下09数字键,可以顺序设置时、分、秒、并在相应的LED上显示设置值,直至六位设置完毕。系统将自动由设定后的
3、时间开始计时显示。三、设备 1LAB6000微控制器实验系统 2PC机一台 3实验导线四、设计总体方案 1设计说明 对内部定时器的说明: 1)关于内部计数器的编程主要是定时常数的设置和有关控制寄存器 的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本设计 使用的是定时器。 2)定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器的溢出时设定标志位,并控制定时器的运行或停止。 3)内部计数器用作定时器时,是对机器周期计数。每个机器周期长度是12个振荡器周期。因为本设计实验系
4、统的晶振是6MHZ,所以定时常数的设置可按以下方法计算: 机器周期=12/6MHZ=2US (65536-定时常数)*2US=20MS 定时常数=55536=0D8F0H 然后对20MS中断次数计数50次,就是1秒钟。 对八段数码管: 本设计用了6位8段数码管,8位段码6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。 做键盘和LED实验时,需将KEY/LED CS接到CS0上,则段码地址为08004H,位码地址为08002H。 2设计方案 本设计选用定时器0,选择方式1,定时常数设为0D8F0H,也就是每次中断用时20MS,中断次数计50次就是
5、1秒钟。 数码管显示是从00000001B开始,然后依次左移。 五、原理框图1程序流程图NNYY 上图为中断子程序结构框图参考电路及连线:实验箱 连线CS0KEY/LED-CS六系统模块详细设计与调试 1定时器0的初始化程序: MOV TMOD,#01HMOV TL0,#0F0HMOV TH0,#0D8HSETB EASETB IT0SETB ET0SETB TR0 选定定时器0,工作方式为1,定时常数为0D8F0H,CPU开中断,允许 定时器0中断,启动定时器。2定时器中断子程序:INTER:MOV TL0,#0F0HMOV TH0,#0D8HINC 32HMOV R3,32HCJNE R3
6、,#50,L1MOV 32h,#0MOV R0,50HINC R0CJNE R0,#60,L1MOV R0,#0INC R0INC R0CJNE R0,#60,L1MOV R0,#0INC R0INC R0CJNE R0,#24,L1MOV R0,#0L1:RETI 重置定时常数,把秒放到50H中暂存,秒不为60中断返回,为60,秒清零,分加一;把分放到51H中暂存,不为60,中断返回,为60,分清零,时加一;把时放到52H中暂存,不为24,中断返回,为24,时清零,中断返回。 3显示子程序DISPLAYLED:MOV R1,#LEDBUFMOV R5,#6MOV R2,#20HLOOP:MO
7、V DPTR,#OUTBITMOV A,#0MOVX DPTR,AMOV A,R1MOV DPTR,#OUTSEGMOVX DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX DPTR,AMOV R6,#01CALL DELAYMOV A,R2RR AMOV R2,AINC R1DJNZ R5,LOOPRET 从显示缓存区地址给R1,显示6个数码管,要从左边开始,依次显示输入的时间,所以给R2,20H 4调时子程序 INTER1:CLR TR0 MOV R3,#6 MOV R0,#3FH MOV R1,#60H MOV 39H,R1 MOV 38H,R0 LOP:CALL D
8、ISPLAYLED CALL TESTKEY;检查是否有按键 JZ LOP MOV R4,#10 CALL DELAY CALL TESTKEY JZ LOP L5:CALL INLOOP;调用键盘扫描 CALL DISPLAYLED MOV A,40H L4:CLR C SUBB A,#00H JC LOP MOV A,40H CLR C SUBB A,#0AH JNC LOP MOV A,40H MOV R0,38H MOV R0,A DEC R0 MOV 38H,R0 MOV R1,39H MOV DPTR,#LEDMAP MOVC A,A+DPTR MOV R1,A INC R1 MO
9、V 39H,R1 DJNZ R3,LOP MOV A,3FH MOV B,#10 MUL AB ADD A,3EH MOV 50H,3EH MOV A,3DH MOV B,#10 MUL AB ADD A,3CH MOV 51H,3CH MOV A,3BH MOV B,#10 MUL AB ADD A,3AH MOV 52H,3AH CLR C MOV A,50H SUBB A,#25 JNC INTER1 CLR C MOV A,51H SUBB A,#61 JNC INTER1 CLR C MOV A,52H SUBB A,#61H JNC INTER1 SETB TR0 RET 检查有没
10、有键盘输入,如果有,时钟停止,第一个按下的键盘如果是0或1或2,那么此键不仅起到暂停作用而且直接输入到时的十位,如果此键不是那三个数,那么只起暂停作用。下面按照真确的时间形式输入即可,6位输入完毕,时钟从新启动,而且是从设定时间开始。调试过程:1把各子程序组合起来,输入PC机,以NONAME。ASM格式保存,编译,出现的语法错误: 1) MOV DPTR,A 改为:MOVX DPTR,A2)DIV A,B 改为: DIV AB 3)JB 跳转出范围, 改正: JB 到一个小的子程序,在这个子程序中用LJMP跳转. 直到没有语法错误. 2 接线,进行防真器设置,完成后打开实验箱电源,进行防真器初
11、始化。 全速执行。3观察实验结果,通过按键设置时间。七设计总结 短短的一个星期的课程设计,非常明显的感觉到自己有了很大的进步,有很多上课不是很明白的东西都明朗起来了。这次的课程设计,把一个学期学的很多零碎的知识点都串在了一起,让我对书本的知识又熟悉了一遍,我认为在考试前,进行这个课程设计意义很大,让我很系统的复习了一遍,对我帮助很大。 八 参考文献1单片机原理及应用实验指导书,屈波等编,2008年2单片机原理及应用,赵德安等编,机械工业出版社,20043单片机原理及应用,雷晓平等编著,机械工业出版社,2007九、附件材料1程序清单1OUTBIT EQU 08002HOUTSEG EQU 080
12、04HIN EQU 08001HLEDBUF EQU 60HNUM EQU 70HDELAYT EQU 75HORG 0000HLJMP STARTORG 000BHLJMP INTERLEDMAP:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHKEYTABLE:DB 17H,16H,15H,14HDB 13H,12H,11H,10HDB 0DH,0CH,0BH,0AHDB 0EH,03H,06H,09HDB 0FH,02H,05H,08HDB 00H,01H,04H,07HDELAY:MOV R7,#0DELAYLOOP:DJNZ R7,DELAYL
13、OOPDJNZ R6,DELAYLOOPRET2START:MOV SP,#40HMOV TMOD,#01HMOV TL0,#0F0HMOV TH0,#0D8HSETB EASETB IT0setb et0SETB TR0MLOOP:MOV R1,#LEDBUFMOV R4,#50HL2:MOV A,R1MOV B,#10DIV ABMOV DPTR,#LEDMAPMOV 20H,AMOV A,BMOVC A,A+DPTRMOV R1,AINC R1MOV A,20HMOVC A,A+DPTRMOV R1,AINC R4CJNE R1,#LEDBUF+5,L2MOV DELAYT,#1DISP
14、AGAIN:CALL DISPLAYLEDDJNZ DELAYT,DISPAGAINCALL TESTKEYJZ MLOOPMOV R6,#10CALL DELAYCALL TESTKEYJZ MLOOPCLR TR0LCALL INTER1LJMP MLOOP3INTER1:CLR TR0 MOV R3,#6 MOV R0,#3FH MOV R1,#60H MOV 39H,R1 MOV 38H,R0 LOP:CALL DISPLAYLED CALL TESTKEY;检查是否有按键 JZ LOP MOV R4,#10 CALL DELAY CALL TESTKEY JZ LOP L5:CALL
15、 INLOOP;调用键盘扫 描 CALL DISPLAYLED MOV A,40H L4:CLR C SUBB A,#00H JC LOP MOV A,40H CLR C SUBB A,#0AH JNC LOP MOV A,40H MOV R0,38H MOV R0,A DEC R0 MOV 38H,R0 MOV R1,39H MOV DPTR,#LEDMAP MOVC A,A+DPTR MOV R1,A INC R1 MOV 39H,R1 DJNZ R3,LOP MOV A,3FH MOV B,#10 MUL AB ADD A,3EH MOV 50H,3EH MOV A,3DH MOV B,
16、#10 MUL AB ADD A,3CH MOV 51H,3CH MOV A,3BH MOV B,#10 MUL AB ADD A,3AH MOV 52H,3AH CLR C MOV A,50H SUBB A,#25 JNC INTER1 CLR C MOV A,51H SUBB A,#61 JNC INTER1 CLR C MOV A,52H SUBB A,#61H JNC INTER1 SETB TR0 RET4INLOOP:MOV DPTR,#OUTBIT MOV P2,DPH MOV R0,#LOW(IN) MOV R1,#20H MOV R2,#6KLOOP:MOV A,R1 CPL
17、 A MOVX DPTR,A CPL A RR A MOV R1,A MOVX A,R0 CPL A ANL A,#0FH JNZ GOON1 DJNZ R2,KLOOP MOV R2,#0FFH SJMP EXITGOON1:MOV R1,A MOV A,R2 DEC A RL A RL A MOV R2,A MOV A,R1 MOV R1,#4LOOPC:RRC A JC EXIT INC R2 DJNZ R1,LOOPC EXIT:MOV A,R2 MOV DPTR,#KEYTABLE MOVC A,A+DPTR MOV R2,AWAITRELEASE:MOV 25H,R2 CALL D
18、ISPLAYLED MOV R2,25H MOV DPTR,#OUTBIT CLR A MOVX DPTR,A MOV R4,#10 CALL DELAY CALL TESTKEY JNZ WAITRELEASE MOV A,R2 MOV 40H,A L3:RETTESTKEY:MOV DPTR,#OUTBIT MOV A,#0 MOVX DPTR,A MOV DPTR,#IN MOVX A,DPTR CPL A ANL A,#0FH RET5DISPLAYLED:MOV R1,#LEDBUFMOV R5,#6MOV R2,#20HLOOP:MOV DPTR,#OUTBITMOV A,#0MO
19、VX DPTR,AMOV A,R1MOV DPTR,#OUTSEGMOVX DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX DPTR,AMOV R6,#01CALL DELAYMOV A,R2RR AMOV R2,AINC R1DJNZ R5,LOOPRET6INTER:MOV TL0,#0F0HMOV TH0,#0D8Hinc 32hmov r3,32hCJNE R3,#50,L1MOV 32h,#0MOV R0,50HINC R0CJNE R0,#60,L1mov r0,#0INC R0INC R0CJNE R0,#60,L1mov r0,#0INC R0INC R0CJNE R0,#24,L1MOV R0,#0L1:RETIEND截图和所拍现场照片:定时器初始化
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1