ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:26.58KB ,
资源ID:6870332      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6870332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机计时时钟制作.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机计时时钟制作.docx

1、单片机计时时钟制作一、课题内容简介(3)二、通过设计和实作,所能达到的效果(3)三、 要求 (3) 四、电路组成及工作原理(4)五、单片机系统(4)六、AT89C51的主要性能参数(4-5)七、显示部分(5-6)八、系统调试(6)九、时钟计时检测(6)十、数码管动态显示汇编程序例子,显示12(时)34(分)(6-9)十一、秒信号程序(10)十二、时分秒时钟程序(10-13)十三、键盘控制时钟程序(13-17)十四. 时钟 (17-22)一、 课题内容简介:可行性分析,方案确定,硬件设计,软件设计,软硬件调整,使用说明及软硬件测试等全部开发过程。在开发过程中,培养学生独立思考、独立分析问题、独立

2、解决问题的能力,一次实习,终生受益。实习内容: (1)protel99se设计.(2)印刷电路板设计(3)汇编语言程序编写(4)单片机系统开发(5)编程器的使用(6)软硬件调试及测试I/O说明:P1.0P1.7 为八个LEDP3.2,P3.3,P3.4,P3.5 为四个按键P0.0P0.7 为数码管的A,B,C,D,E,F,G,DPP2.0 为继电器控制P2.1 为蜂鸣器控制P2.2,P2.3,P2.4,P2.5 为四个数码管控制二、 通过设计和实作,所能达到的效果:1、通过课程设计,加深对单片机原理与接口技术知识理解,巩固和提高学过的理论与专业知识,并予以适当的深化。2、进一步掌握定时器的使

3、用和编程方法及中断处理程序的编程方法。3、掌握单片机控制系统设计的一般方法,包括硬、软件设计;计算机仿真技术等。实验板I/O说明:P1.0P1.7 为八个LEDP3.2,P3.3,P3.4,P3.5 为四个按键P0.0P0.7 为数码管的A,B,C,D,E,F,G,DPP2.0 为继电器控制P2.1 为蜂鸣器控制P2.2,P2.3,P2.4,P2.5 为四个数码管位选控制三、要求:1基本要求:(每个同学要求)1)采用STC89C51单片机,4位7段数码管显示,5伏供电。2)具有显示“时时 分分”3)按键功能:分调整,时调整。2发挥部分:1) 能设定闹钟功能。2) 能演奏音乐。四、电路组成及工作

4、原理本文时钟设计原理主要利用AT89C51单片机,由单片机的P0口控制数码管的位显示, P2口控制数码管的段显示,P1口与按键相接用于时间的校正。在设计中引入两个电源电路,一个是外部电源系统产生+5V电压,用于给CPU及显示电路提供工作电压,这是数字时钟正常工作时的总电压。另一个是备用电源,当外部电源关断时由它提供工作电压使CPU继续工作,利用单片机的空闲方式降低功耗,数码管不显示但能使计时保持正常,不会造成掉电时计时清零的现象。针对内外两个电源情况又加入了MC34064电压检测电路,用于时实判断是哪各电源在工作。整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标

5、准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”电路组成及工作原理五、单片机系统单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(

6、CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。本文采用的单片机为AT89C51,AT89C51是一种低功耗、高性能的片内含有4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性

7、能CMOS8位微处理器,俗称单片机。它的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。六、AT89C51的主要性能参数:与MCS-51产品指令系统完全兼容4k 字节可重擦写FLASH闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器1288字节内部RAM32个可编程I/O口线2个

8、16位定时/计数器6个中断源可编程串行URAR通道低功耗空闲和掉电模式AT89C51提供以下标准功能:4k 字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复七、显示部分单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Em

9、itting Diode);它具有显示清晰、亮度高、使用电压低、寿命长的特点单片机中通常用七段LED构成字型“8”,另外,还有一个小数点发光二极管以显示小数位!这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连在一起的称为共阴极显示器。(如下图所示)一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段) a_g,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。由于共阴极连接需加驱动,故在这里我采用的是共阳阳极连接。以共阳极LED为例,

10、如图(b)所示,各LED公共阳极K0接高电平,若向各控制端a,b,,g,dp顺次送入00011110信号,则该显示器显示“”字型。共阴极7段LED显示数字0 F、文字、符号及小数点的编码(a段为最地位,dp点为最高位)如(图2-1)所示。共阴极7 段LED显示字型编码表 显示字符 共阴极段选码 显示字符 共阴极段选码 0 3FH 5 6DH 1 06H 6 7DH 2 5BH 7 07H 3 4FH 8 7FH 4 66H 9 6FH “灭”(黑) 00H LED显示器接口及显示方式 LED显示器有静态显示方式和动态显示方式两种。静态显示就是当显示器显示某个字符时,相应的段恒定的导通或截止,直

11、到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。每位的段选线分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存的输出将维持不变。正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。由于所有6位段皆由一个I/O口控制,因此,在每一瞬间,6位LED会显示相 同的字符。要想每位显示不同的字符,就必须采用扫描方法流点亮各位LED,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字型

12、码),而位选则控制I/O口在该显示位送入选通电平(因为LED为共阴,故应送低电平),以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。例如,要求显示“LL0-20”时,I/O1和I/O2轮流送入段选码、位选码八、系统调试硬件调试:主要检查了电路板有无虚焊、短路、连线是否正常,尤其是单片机的各使能端的接线,I/O接口连线是否有误。由于我们采用了六个数码管并联接入P2口的段选端,因此接线较多,经常容易出现管脚间短路现象。这是硬件设计不足之处,今后将注意元件的选配使设计更简洁实用。 软件调试:在LCA51仿真机上,对定时中断程序、显示子程序、按键中断子程序进行了分段调试,结果功能正常。

13、九、时钟计时检测通过与其它计时器对比观察发现数字时钟走时过快,检查定时中断程序发现T0的初始值设定有误,因此重新设置:根据T0选择工作模式1,定时时间为50ms, focs=12MHz, 由 T=(216-T0初始值) 振荡周期12设T0的初始值为X,则:(216-X)1/12106s12=50msX=15625, 转化二进制值为:X=0011110010111010, 即TH=#3CH,TL=#0BAH十、数码管动态显示汇编程序例子,显示12(时)34(分) H10 EQU 35H H1 EQU 36H M10 EQU 37H M1 EQU 38H SHOUR EQU 39H SMIN EQ

14、U 3AH DISH10 EQU 3FH DISH1 EQU 40H DISM10 EQU 41H DISM1 EQU 42H MEMA EQU 45H MEMB EQU 49H ORG 0000H AJMP STAR ORG 0030H数码管数据表格TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DB 90H,88H,83H,0C6H,0A1H,86H,8EH ORG 0050HSTAR: MOV SHOUR,#12; 设为12时 MOV SMIN,#34; 设为34分 MOV MEMA,#0 MOV MEMB,#0 MOV SP,#60H M

15、OV PSW,#00H MAIN: MOV SP,#60H MOV PSW,#00H MOV MEMA,SHOUR MOV MEMB,SMIN ACALL TLED; 把要显示的数转换成数码管代码 ACALL DISPLAY; 显示小时,分钟 MOV P0,#0FFH MOV P2,#0FFH AJMP MAIN 显示小时,分钟 DISPLAY:MOV P0,DISH10 MOV P2,#11011111B ACALL D1MS MOV P0,DISH1 MOV P2,#11101111B ACALL D1MS MOV P0,DISM10 MOV P2,#11110111B ACALL D1M

16、S MOV P0,DISM1 MOV P2,#11111011B ACALL D1MS RET 把要显示的数转换成数码管代码TLED: MOV P0,#0FFH MOV A,MEMA MOV B,#10 DIV AB MOV H10,A MOV H1,B MOV A,MEMB MOV B,#10 DIV AB MOV M10,A MOV M1,BMOV A,H10 MOV DPTR,#TAB MOVC A,A+DPTR MOV DISH10,A MOV A,H1 MOV DPTR,#TAB MOVC A,A+DPTR MOV DISH1,A MOV A,M10 MOV DPTR,#TAB MO

17、VC A,A+DPTR MOV DISM10,A MOV A,M1 MOV DPTR,#TAB MOVC A,A+DPTR MOV DISM1,A RET延时D1MS: MOV R7,#0AHLOOP1: MOV R6,#32HLOOP2: DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETEND新的12时34分显示程序 ORG 0000HMAIN: MOV SP,#60H MOV PSW,#00H AA:MOV R2,#1 MOV DPTR,#TAB MOV A,R2 MOVC A,A+DPTRMOV P0,A MOV R1,#11011111B MOV P2,R1ACALL D

18、1MSMOV R2,#2MOV DPTR,#TABMOV A,R2 MOVC A,A+DPTR MOV P0,A MOV R1,#11101111BMOV P2,R1 ACALL D1MSMOV R2,#3MOV DPTR,#TAB MOV A,R2MOVC A,A+DPTR MOV P0,A MOV R1,#11110111B MOV P2,R1 ACALL D1MSMOV R2,#4 MOV DPTR,#TAB MOV A,R2 MOVC A,A+DPTR MOV P0,A MOV R1,#11111011B MOV P2,R1ACALL D1MSLJMP AAD1MS: MOV R7,#

19、0AHLOOP1: MOV R6,#32HLOOP2: DJNZ R6,LOOP2 DJNZ R7,LOOP1 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DB 90H,88H,83H,0C6H,0A1H,86H,8EH END十一、秒信号程序ORG 0000HLJMP M ainORG 000BHLjmp ltoOrg 0100hMain : MOVtmod,#01h MOV th0,#0d8h MOV tl0,#0f0h MOV ie,#10000010b MOV r3,#100Setb tr0Sjmp $Org 0200hLto:

20、 MOV th0,#0d8h MOV tl0,#0f0hDjnz r3,goretCpl p1.0MOV r3,#100Goret: retiEnd十二、时分秒时钟程序h10 equ 35h h1 equ 36h m10 equ 37h m1 equ 38h dh10 equ 3fh dh1 equ 40h dm10 equ 41h dm1 equ 42h sa equ 45h sb equ 49h org 00h ljmp start org 0bh ljmp time0;数码管数据表格TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80HDB 90H

21、,88H,83H,0C6H,0A1H,86H,8EH ;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FORG 0050Hstart: mov r1,#0 ; 秒计数器清零 mov r2,#0 ; 分计数器清零 mov r3,#0 ; 时计数器清零 mov r4,#0 ;10ms 计数器清0 mov sa,#0 mov sb,#0 mov sp,#60h mov psw,#00h mov tmod,#01h ;定时器0,方式1 mov th0,#0d8h ;定时初值为10ms mov tl0,#0f0h mov ie,#82h setb tr0 main: mov sa,r3 m

22、ov sb,r2 acall tled acall display mov p0,#0ffh mov p2,#0ffh ajmp maindisplay:mov p0,dh10 mov p2,#11011111b acall d1ms mov p0,dh1 mov p2,#11101111b acall d1ms mov p0,dm10 mov p2,#11110111b acall d1ms mov p0,dm1 mov p2,#11111011b acall d1ms ret tled: mov p0,#0ffh mov a, sa mov b,#10 div ab mov h10,a m

23、ov h1,b mov a,sb mov b,#10 div ab mov m10,a mov m1,b mov a,h10 mov dptr,#tab movc a,a+dptr mov dh10,a mov a,h1 mov dptr,#tab movc a,a+dptr mov dh1,a mov a,m10 mov dptr,#tab movc a,a+dptr mov dm10,a mov a,m1 mov dptr,#tab movc a,a+dptr mov dm1,a rettime0: push acc push psw mov th0,#0d8h mov tl0 ,#0f0

24、h mov a , r4 inc a mov r4,a cjne a, #100,loop cpl p1.0 mov r4,#00 mov a, r1 inc a mov r1, a cjne a,#60,loop mov r1,#00 mov a,r2 inc a mov r2, a cjne a,#60,loop mov r2,#00 mov a,r3 inc a mov r3,a cjne a,#24,loop mov r3,#00 djnz r5,loop ;中断100次到否 mov r5,#100 cpl p1.0loop: pop psw ;中断返回 pop acc ret d1m

25、s: mov r7,#0ahloop1: mov r6,#32hloop2: djnz r6,loop2 djnz r7,loop1 ret end十三、键盘控制时钟程序SECOND10MS EQU 33HSECOND EQU 34H10 EQU 35HH1 EQU 36HM10 EQU 37HM1 EQU 38HSHOUR EQU 39HSMIN EQU 3AHDISH10 EQU 3FHDISH1 EQU 40HDISM10 EQU 41HDISM1 EQU 42HMEMA EQU 45HMEMB EQU 49HORG 0000HAJMP STARTORG 000BHLJMP TIME0O

26、RG 0030H;数码管数据表格TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80HDB 90H,88H,83H,0C6H,0A1H,86H,8EH ;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,FORG 0050HSTART:MOV SECOND10MS,#00 MOV SECOND,#00 MOV SHOUR,#00; 设为00时 MOV SMIN,#00; 设为00分 MOV MEMA,#0 MOV MEMB,#0 MOV SP,#60H MOV PSW,#00H MOV TMOD,#01H MOV TL0,#0F0H MOV T

27、H0,#0D8H MOV IE,#82H SETB TR0 MAIN: MOV MEMA,SHOUR MOV MEMB,SMIN ACALL TLED; 把要显示的数转换成数码管代码 ACALL DISPLAY; 显示小时,分钟 JNB P3.2,HOURSET JNB P3.3,MINSET MOV P0,#0FFH MOV P2,#0FFH AJMP MAINHOURSET:LCALL DELAY10MS JB P3.2,MAIN JNB P3.2,$ INC SHOUR MOV A,SHOUR CJNE A,#24,MAIN MOV SHOUR,#00 LJMP MAINMINSET:LCALL DELAY10MS JB P3.3,MAIN JNB P3.3,$ INC SMIN MOV A,SMIN CJNE A,#60,MAIN MOV SMIN,#00 LJMP MAIN ; 显示小时,分钟 DISPLAY:MOV P

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1