电子时钟的制作_第1页
电子时钟的制作_第2页
电子时钟的制作_第3页
电子时钟的制作_第4页
电子时钟的制作_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子时钟的制作第1页,共44页,2022年,5月20日,20点8分,星期四项目五 地震报警器的制作 项目学习目标项目学习目标 学 习 方 式 学 时技能目标 掌握一秒定时电路的制作与编程。 掌握数码显示电路的制作与编程。 掌握电子时钟电路的制作与编程 学生实际制作,教师指导调试和维修 6课时知识目标 了解数码管的结构,掌握数码管接口方式和编程方法。 了解键盘工作原理,掌握独立式按键的接口方式和编程。 了解定时器的相关知识,掌握定时器的应用与编程 教师讲授重点:数码管编程方法;独立式按键的处理和编程;定时器的应用与编程 4课时第2页,共44页,2022年,5月20日,20点8分,星期四任务一 一

2、秒定时闪烁电路的制作 任务要求单片机的P2.0作输出口,接一个LED发光二极管,通过编程实现发光二极管以1s为周期,亮0.5s,灭0.5s。 项目基本技能第3页,共44页,2022年,5月20日,20点8分,星期四1硬件电路制作 (1)电路原理图第4页,共44页,2022年,5月20日,20点8分,星期四(2)制作要点及元器件清单代 号名 称实 物 图规 格R1电阻2kR2电阻200C1、C2瓷介电容30pFC3电解电容22FS1轻触按键CY晶振6MHzIC1单片机AT89S51IC插座40脚VD1发光二极管红色5第5页,共44页,2022年,5月20日,20点8分,星期四1秒定时闪烁参考程序

3、ORG 0000H ;程序开始LJMP START ;转初始化程序ORG 001BH ;定时/计数器1中断入口地址LJMP RT1 ;转定时/计数器1中断服务程序ORG 0030H ;初始化程序开始START:MOV TMOD,#10H ;定时/计数器1,工作方式1MOV TH1,#3CH ;设置计数初值MOV TL1,#0B0H ;设置计数初值MOV R2,#05H ;设置记录中断次数初值SETB EA ;开启总中断允许SETB ET1 ;开启定时/计数器1中断允许SETB TR1 ;启动定时/计数器1MAIN: NOP ;主程序不执行任何任务,只是等待中断LJMP MAIN 2程序编写第6

4、页,共44页,2022年,5月20日,20点8分,星期四1秒定时闪烁参考程序;中断服务程序RT1: MOV TH1,#3CH ;定时/计数器1中断服务子程序,置计数初值MOV TL1,#0B0HDJNZ R2,BACK ;中断次数少于5次直接返回MOV R2,#05H ;重新置中断次数初值CPL P2.0 ;P2.0取反BACK:RETI ;中断返回END第7页,共44页,2022年,5月20日,20点8分,星期四任务二 LED数码显示电路的制作 任务要求单片机的P0口作输出口,接一个数码管,通过编程实现数码管循环显示十进制数字09。单片机的P0口作输出口,接两个数码管,通过编程实现数码管循环

5、显示十进制数字059。 第8页,共44页,2022年,5月20日,20点8分,星期四1LED显示器静态显示09 (1)硬件电路制作 第9页,共44页,2022年,5月20日,20点8分,星期四(2)软件设计NUM EQU 40h ;定义数字变量ORG 0000HLJMP START ;转移到初始化程序ORG 0030HSTART:MOV NUM,#00H ;初始化变量初值MAIN: MOV A,NUM ;数字送入AMOV DPTR,#CHAR ;字型码首地址存放DPTRMOVC A,A+DPTR ;数字对应字型码送入AMOV P0,A ;字型码送P0口显示LCALL DELAY ;延时MOV

6、A,NUM ;数字送入AINC A ;加1CJNE A,#0AH,AA ;不等于10转AABB: MOV A,#00H ;等于10,送初值0AA: MOV NUM,A ;保存数字LJMP MAIN ;循环,继续显示第10页,共44页,2022年,5月20日,20点8分,星期四DELAY:MOV R7,#1EH ;延时子程序D3: MOV R6,#21HD2: MOV R5,#0FAHD1: DJNZ R5,D1DJNZ R6,D2DJNZ R7,D3RETCHAR: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阳型字型码表END第11页,

7、共44页,2022年,5月20日,20点8分,星期四2LED显示器动态显示059 (1)硬件电路制作 第12页,共44页,2022年,5月20日,20点8分,星期四(2)软件设计SEC EQU 42H ;秒位变量SEC_1 EQU 40H ;秒BCD码个位SEC_2 EQU 41H ;秒BCD码十位ORG 0000HLJMP START ;到主程序ORG 000BHLJMP CT0S ;到定时器0的中断服务程序ORG 0030HSTART:MOV R3,#20 ;初始化R3(20次50ms的中断)MOVTMOD,#01H ;T0工作方式1,定时50msMOVTH0,#04BHMOVTL0,#0

8、FFHSETB EA ;开总中断SETB ET0MOV SEC,#00H ;开定时器0中断SETB TR0 ;启动定时器MAIN: LCALL BCD8421LCALLDISPLAY ;调显示子程序LJMP MAIN第13页,共44页,2022年,5月20日,20点8分,星期四DELAY:MOV R7,#255 ;延时子程序D1: DJNZ R7,D1RETCT0S: PUSH A ;1s的中断服务程序MOVTH0,#04BHMOVTL0,#0FFHDJNZ R3,EE ;不到1s,中断返回MOVR3,#20MOVA,SECINC A ;秒加1MOV SEC,A ;保存秒数值CJNE A,#6

9、0,EEMOV SEC,#00H ;满60s置0EE: POP ARETIBCD8421:MOV A,SECMOV B,#0AHDIV ABMOV SEC_1,BMOV SEC_2,ARET第14页,共44页,2022年,5月20日,20点8分,星期四DISPLAY: ;秒显示子程序MOV P2,#00HMOV A,SEC_2 ;显示秒的十位MOV DPTR,#CHARMOVC A,A+DPTRMOV P0,AMOV P2,#02HLCALL DELAYMOV A,SEC_1 ;显示秒的个位MOVC A,A+DPTRMOV P0,AMOV P2,#01HLCALL DELAYRETCHAR:

10、DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共阳型字型码表END第15页,共44页,2022年,5月20日,20点8分,星期四任务三 电子时钟的制作 任务要求单片机的P0口作段控,P2口作位控,接6个数码管,通过编程实现6位数码电子时钟功能。 第16页,共44页,2022年,5月20日,20点8分,星期四1硬件电路制作 (1)电路原理图CPU按键第17页,共44页,2022年,5月20日,20点8分,星期四显示电路 第18页,共44页,2022年,5月20日,20点8分,星期四(2)制作要点及元器件清单代 号名 称实 物 图规 格R1 R4电

11、阻1kR5电阻2kR6 R11电阻1kC1、C2瓷介电容30pFC3电解电容22FS1 S5轻触按键CY晶振6MHzIC1单片机AT89S51IC插座40脚VT1 VT6三极管9012DS1DS6共阳极数码管第19页,共44页,2022年,5月20日,20点8分,星期四(1)程序流程图2程序编写第20页,共44页,2022年,5月20日,20点8分,星期四第21页,共44页,2022年,5月20日,20点8分,星期四(2)参考程序;变量定义和内存分配KEY_BUF EQU 33H ;键盘缓冲区KEYTEMP EQU 34H ;临时按键值HOUR EQU 40H ;小时变量MIN EQU41H

12、;分钟变量SEC EQU42H ;秒变量HOUR_1 EQU 50H ;小时BCD码个位HOUR_2 EQU 51H ;小时BCD码十位MIN_1 EQU 52H ;分钟BCD码个位MIN_2 EQU 53H ;分钟BCD码十位SEC_1 EQU 54H ;秒BCD码个位SEC_2 EQU 55H ;秒BCD码十位SW1 BIT P1.0 ;小时加1按键SW2 BIT P1.1 ;小时减1按键SW3 BIT P1.2 ;分钟加1按键SW4 BIT P1.3 ;分钟减1按键ORG 0000HLJMP START ;转移到初始化程序ORG 000BHLJMP CT0S ;到定时器0的中断服务程序第

13、22页,共44页,2022年,5月20日,20点8分,星期四ORG 0030HSTART: ;初始化部分MOV 33H,#00H ;初始化缓冲区MOV HOUR,#12 ;初始时间12:30:00MOV MIN,#30MOV SEC,#00MOV R3,#20 ;初始化R3(20次50ms的中断)MOV TMOD,#01H ;初始化T0定时器,T0工作方式1 ,定时50msMOV TH0,#04BH ;送定时器初值MOV TL0,#0FFHSETB EA ;开总中断SETB ET0 ;开定时器0中断SETB TR0 ;启动定时器MAIN: LCALL KEYPRESS ;调按键处理子程序LCA

14、LL BCD8421 ;调BCD码转换子程序LCALL DISPLAY ;调显示子程序LJMP MAIN第23页,共44页,2022年,5月20日,20点8分,星期四DELAY:MOV R7,#255 ;延时子程序D2: DJNZ R7,D2RETKEYPRESS: ;按键处理子程序,P1口为按键的接口SETB SW1 ;设置为输入JB SW1,KEY1 ;按键没有按下,查询下一按键LCALL DELAY ;若按下,延时去抖JB SW1,KEY1MOV A,HOUR ;小时变量送入AINC A ;小时数加1MOV HOUR,A ;保存小时数CJNE A,#24,KEY0 ;如果不等于24,等待

15、按键释放MOV HOUR,#00H ;如果等于24,则使小时数等于0KEY0: LCALL DISPLAY ;调显示起延时去抖作用,保证扫描显示不停止JNB SW1,KEY0 ;没有释放,继续等待LCALL DISPLAYJNB SW1,KEY0KEY1: SETB SW2JB SW2,KEY2LCALL DELAYJB SW2,KEY2MOV A,HOURDEC A ;小时变量减1MOV HOUR,ACJNE A,#255,KEY10;0减1等于255MOV HOUR,#23第24页,共44页,2022年,5月20日,20点8分,星期四KEY10:LCALL DISPLAYJNB SW2,K

16、EY10LCALL DISPLAYJNB SW2,KEY10KEY2: SETB SW3JB SW3,KEY3LCALL DELAYJB SW3,KEY3MOV A,MININC A ;分钟变量加1MOV MIN,ACJNE A,#60,KEY20MOV MIN,#00HKEY20:LCALL DISPLAYJNB SW3,KEY20LCALL DISPLAYJNB SW3,KEY20KEY3:SETB SW4JB SW4,KRETLCALL DELAYJB SW4,KRETMOV A,MINDEC A ;分钟变量减1MOV MIN,ACJNE A,#255,KEY30 ;0减1等于255MO

17、V MIN,#59KEY30:LCALL DISPLAYJNB SW4,KEY30LCALL DISPLAYJNB SW4,KEY30KRET: RET第25页,共44页,2022年,5月20日,20点8分,星期四CT0S: ;走时部分。延时1s,秒加1,秒满60,分钟加1,分钟满60,小时加1PUSH A ;保护现场MOVTH0,#04BH ;重新送定时器初值MOVTL0,#0FFHDJNZ R3,TIMEEND ;中断次数不足20次直接返回MOVR3,#20 ;中断次数满20次为1s,重新送计数初值MOVA,SEC ;秒增加1INC A MOVSEC,ACJNE A,#60,TIMEEND

18、 MOVSEC,#00HMOVA,MIN ;秒满60,分钟加1INC AMOVMIN,ACJNE A,#60,TIMEENDMOV MIN,#00HMOVA,HOUR ;分钟满60,小时加1INC A MOVHOUR,ACJNE A,#24,TIMEENDMOVHOUR,#00HTIMEEND:POP A ;恢复现场RETI第26页,共44页,2022年,5月20日,20点8分,星期四;BCD码转换子程序,变量不大于60,没有百位BCD8421:MOV A,HOURMOV B,#0AHDIV AB ;除以10,商为十位,余数为个位MOV HOUR_2,AMOV HOUR_1,BMOV A,MI

19、NMOV B,#0AHDIV ABMOV MIN_2,AMOV MIN_1,BMOV A,SECMOV B,#0AHDIV ABMOV SEC_2,AMOV SEC_1,BRET第27页,共44页,2022年,5月20日,20点8分,星期四DISPLAY:;以下是显示子程序,P0口输出段码,P2口输出位码,MOVP2,#00H ;显示小时的部分MOVDPTR,#CHARMOVA,HOUR_2MOVC A,A+DPTRMOVP0,AMOV P2,#02HLCALL DELAYMOVA,HOUR_1MOVC A,A+DPTRMOVP0,AMOV P2,#01HLCALLDELAY;显示分钟的部分M

20、OVA,MIN_2MOVC A,A+DPTRMOVP0,AMOV P2,#08HLCALL DELAYMOVA,MIN_1MOVC A,A+DPTRMOVP0,AMOV P2,#04HLCALL DELAY第28页,共44页,2022年,5月20日,20点8分,星期四;显示秒的部分MOVA,SEC_2MOVC A,A+DPTRMOVP0,AMOVP2,#20HLCALL DELAYMOVA,SEC_1MOVC A,A+DPTRMOVP0,AMOVP2,#10HLCALL DELAYRETCHAR:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;

21、共阳型字型码表END第29页,共44页,2022年,5月20日,20点8分,星期四任务四 程序调试与烧写 使用仿真器调试程序。程序调试完成后,使用编程器将编译的十六进制文件烧写入单片机,将单片机从编程器上取下,插入电路板的IC插座,给电路板接上5V电源,观察电路运行情况。 第30页,共44页,2022年,5月20日,20点8分,星期四知识点一 LED数码管接口电路及编程 项目基本知识1数码管简介第31页,共44页,2022年,5月20日,20点8分,星期四显示字符字形共 阳 极共 阴 极dpgfedcba字形码dpgfedcba字形码011000000C0H001111113FH1111110

22、01F9H0000011006H210100100A4H010110115BH310110000B0H010011114FH41001100199H0110011066H51001001092H011011016DH61000001082H011111017DH711111000F8H0000011107H81000000080H011111117FH91001000090H011011116FH熄灭11111111FFH0000000000H显示字形码 第32页,共44页,2022年,5月20日,20点8分,星期四(1)LED数码管静态显示接口 2LED数码管静态显示(2)LED数码管静态显

23、示编程 字形码存放在数据表格中,通常在DPTR内存放数据表格首地址,A存放要显示的数据,利用MOVC A,A+DPTR这条指令查找字形码。 第33页,共44页,2022年,5月20日,20点8分,星期四(1)LED数码管动态显示接口 3LED数码管动态显示(2)LED数码管动态显示编程 动态扫描频率太低,LED数码管将出现闪烁现象;频率太高,由于每个LED数码管点亮的时间太短,LED数码管的亮度太低,无法看清。因此,在编程时,常采用调用延时子程序来达到要求的保持时间,一般取几毫秒为宜。 第34页,共44页,2022年,5月20日,20点8分,星期四知识点二 键盘接口电路及编程 1键盘工作原理

24、机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为510ms。第35页,共44页,2022年,5月20日,20点8分,星期四2独立式按键 对于独立式按键主程序可以采用不断查询的方法来进行处理,即如果只有一个独立式按键,检测是否闭合,如果闭合,则去除键抖动后再执行按键程序;如果有多个独立式按键,可以依次逐个查询处理。 第36页,共44页,2022年,5月20日,20点8分,星期四知识点三 MCS-51单片机定时/计数器 1定时、计数的概念 (1)计数概念(2)计数器的容量(3)定时(4)溢出(5)任

25、意定时及计数的方法第37页,共44页,2022年,5月20日,20点8分,星期四(1)定时/计数器的方式控制字TMOD位 D7 D6D5 D4 D3 D2 D1 D0位名称 GATE C/TM1 M0GATE C/TM1 M0 功能 门控位 定时/计数方式选择 工作方式选择 门控位定时/计数方式选择工作方式选择 高4位控制定时器/计数器1 低4位控制定时器/计数器0 2定时/计数器概述 第38页,共44页,2022年,5月20日,20点8分,星期四(2)定时/计数器的4种工作方式 工作方式0。定时/计数器的工作方式0称为13位定时/计数方式。它由TL的低5位和TH的8位构成13位的计数器,TL

26、的高3位未用。 工作方式1。工作方式1是16位的定时/计数方式,M1M0为01,其他特性与工作方式0相同。 工作方式2。工作方式2是16位加法计数器,TH0和TL0具有不同功能,其中,TL0是8位计数器,TH0是重置初值的8位缓冲器。方式2具有初值自动装入功能,每当计数溢出,就会打开高、低8位之间的开关,预置数进入低8位。这是由硬件自动完成的,不需要由人工干预。 工作方式3。定时/计数器工作于方式3时,定时器T0被分解成两个独立的8位计数器TL0和TH0。 第39页,共44页,2022年,5月20日,20点8分,星期四(1)定时/计数器的初始化3定时/计数器初始化及应用 确定工作方式对TMOD

27、赋值。如“MOV TMOD #10H”,表明定时器1工作在方式1,且工作在定时器方式。 预置定时或计数的初值直接将初值写入TH0、TL0或TH1、TL1。 根据需要开启定时/计数器中断直接对IE寄存器赋值。如MOV IE,#82H,表明允许定时器T0中断。 启动定时/计数器工作将TR0或TR1置“1”。 第40页,共44页,2022年,5月20日,20点8分,星期四解:因方式0采用13位计数器,其最大定时时间为:81921s = 8.192ms,因此,定时时间不可能像方式1一样选择50ms,但可选择定时时间为5ms,再循环200次。定时时间选定后,再确定计数值为5000,则定时器1的初值为:因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,所以,X的实际填写值应为:即TH1 = 63H,TL1 = 18H,又因采用方式0定时,故TMOD = 00H。例6.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论