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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机时钟报告Word格式文档下载.docx

1、通过编程可设定工作于某种方式。四种工作方式为:13位定时计数器、16位定时计数器、8位自动重置定时计数器、两个8位定时计数器(只有T0有)(4)、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。3.2中断系统(1)、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。(2)、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄

2、存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。(3)、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。3.24、MCS-5

3、1单片机响应中断的条件为:中断源有请求且中断允许。3.3键盘和LED数码管显示器键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘的结构形式一般有两种:独立式键盘和矩阵式键盘。矩阵式键盘的工作方式有3种:查询工作方式、定时扫描工作方式和中断工作方式。LED数码管显示器:在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便

4、等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。4 软件设计电子时钟的软件系统由主程序和子程序组成

5、,主程序程序包含初始化参数设置、按键处理、数码管显示模块等。4.1主程序主程序执行流程如图1所示,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。4.2数码管显示模块本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。4.3定时器/计数器T0中断服务程序定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;

6、分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器T0中断服务程序流程图如图2所示。4.4 按键处理模块MCS-51单片机实现时钟计时显示的基本方法首先要计算计数初值时钟计时的关键问题是秒的产生,因为秒是最小时钟单位,但使用MMCS-51的定时器/计数器进行定时,即使按工作方式,其最大定时时间也只能达到131毫秒,离1秒还差好远。为此,我们把秒计时用硬件定时和软件计数相结合的方法实现,即:把定时器的定时时间定为125毫秒,这样当计数溢出8次就可得到1秒,而8次计数可用软件方法实现。

7、 为得到125ms定时,我们可使用定时器/计数器0,以工作方式进行,当设定单片机为6MHz晶振,设计数初值为X,则有如下等式: (216X)2us125000us计算得计数初值X3036,二进制表示为0000101111001101,十六进制表示为0BCDH。定时器定时采用中断方式完成,以便于通过中断服务程序进行溢出次数(每次125毫秒)的累计,计满8次即得到秒计时。通过在程序中的数值累加和数值比较来实现从秒到分和从分到时的计时设置时钟显示及显示缓冲区假定时钟时间在六位LED数码管(LED5LED0)上进行显示(时、分、秒各占两位)。为此,要在内部RAM中设置显示缓冲区,共6个单元(79H7E

8、H),与数码管的对应关系为: LED57EH、LED47DH、LED37CH、LED27BH、LED17AH、LED079H。即显示缓冲区从左向右依次存放时、分、秒的数值。假定已有LED显示程序为SMXS可供调用程序流程主程序(MAIN)主程序的主要功能是进行定时器/计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的到来。中断服务程序(PIT0)中断服务程序的主要功能是进行计时操作。程序开始先判断计数溢出是否满了8次,不满8次表明还没达到最小计时单位秒,中断返回;如满8次则表明已达到最小计时单位秒,程序继续向下执行,进行计时操作。加1子程序(DAAD1)加1子程序用

9、于完成对秒、分和时的加1操作,中断服务程序中在秒、分、时加1时共有三处调用此子程序。加1操作共包括以下三项内容:合数:由于每位LED显示器对应一个8位的缓冲单元,因此由两位BCD码表示的时间值各占用一个缓冲单元,且只占其低4位。为此在加1运算之前需把两个缓冲单元中存放的数值合并起来,构成一个字节,然后才能进行加1运算。合字之说由此而来。十进制调整:对加1并进行十进制调整;分数:把加1后的时间值再拆分成两个字节,送回各自的缓冲单元中。按键处理设置为:如没有按键,则时钟正常走时。当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整

10、;最后按K0键将退出调整状态,时钟开始计时运行。流程图如下所示:开始显示单元清零T0、T1设为16位计数模式允许T0中断调用显示子程序进入功能程序按下键否?否是现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?时单元加1,分单元清0,时写入时个位和时十位分单元=60?时单元清0时单元=24?中断返回 1、主程序流程图 2、定时器/计数器T0中断服务程序流程图 5 仿真分析在Proteus ISIS的80C51中载入程序生成的HEX文件,按开始符号运行,在数

11、码管上观察程序运行结果,系统仿真结果如图5.1所示。设计功能如下: (1)、初始状态:未按键之前,上电,数码显示00-00-00。程序运行后,从秒针开始自动运行。当秒数到59后,下一秒自动变为00,分针变为01,以此类推。 (2)、调整状态:仿真运行过程中,按p0键,系统暂停,此时,继续按p0无效。第三次按p0,又开始,如此循环。(3)、设置状态:按下p0暂停后,按p1,则时针加一, 按下p2,则时针减一;按两下p0,在按下p1,则分针加一,按下p2,则分针减一。时间显示格式为:时分秒;误差分析:实际程序到实验板中的电子钟显示存在一定的误差,误差来源可能为三个方面:第一,在程序运行过程中,时钟

12、周期的不精确导致机器周期与理论值存在一定的差别;第二在中断一秒显示过程中,一些指令需要消耗一定的机器周期,使得一秒延时比实际要长;第三在键抖动的反应程度在运行中比较慢。 5.1实例仿真6 课程设计总结 通过这次的课程设计我认识到我对单片机的知识学的太少了,对于书本上很多知识还不能灵活运用,都需要去巩固加强,我会在以后的学习中弥补我的不足。我也了解了80C51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅使我熟悉了软件的使用方法,而且复习了单片机编程的相关知识。在使用中,我体验到了单片机的神奇之处,也激发了我不少的兴趣,引领着我不断的探索单片机的未知世界。本次的课程设计

13、,我也学到了一些更重要的东西,那就是如何从理论到实践的转化,怎样将所学到的知识运用于实践。大学的课堂只是在学习专业知识,而我们应当把所学的知识用到我们现实的生活中去。此次的的电子时钟设计给我奠定了一个实践基础,我会在以后的学习生活中磨练自己,使自己变得更加优秀。在本次的设计中,特别感谢张老师和王老师的指导,在老师的讲解和指导下,我成功的解决了设计中的许多问题,也使我知道了认真的重要性。也感谢同学给我的帮助,没有他们的帮助,我一个人是无法完成的,他们让我明白了学问的真正含义。参考文献1戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社,20032周明德编著.微型计算机系统原

14、理及应用(第四版).北京:清华大学出版社,20023李顺增,吴国东,赵河明等.微机原理及接口技术.北京:机械工业出版社,20064杨立新.微型计算机原理和应用M.北京:科学技术文献出版社,1986.11 5李大友.微型计算机原理M.北京:清华大学出版社,1998.76眭碧霞.微型计算机原理与组成M.人民邮电出版社,2003.8附录(源程序清单)OUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口INC EQU 08001H ; 键盘读入口LEDBUF EQU 60H ; 显示缓冲HOUR EQU 40HMINUTE EQU 41HSECOND EQU

15、 42HC100US EQU 43HTICK EQU 10000T100US EQU 256-50LJMP STARTORG 000BHT0INT:PUSH PSW PUSH ACC MOV A,C100US+1 JNZ GOON DEC C100USGOON:DEC C100US+1MOV A, C100US ORL A, C100US+1 JNZ EXIT MOV C100US, #HIGH(TICK) MOV C100US+1, #lOW(TICK) INC SECOND MOV A, SECOND CJNE A, #60, EXIT MOV SECOND, #0 INC MINUTE

16、MOV A, MINUTE MOV MINUTE, #0 INC HOUR MOV A, HOUR CJNE A, #24, EXIT MOV HOUR, #0EXIT:POP ACC POP PSW RETIDELAY: MOV R7, #0 ; 延时子程序DELAULOOP:DJNZ R7, DELAYLOOP DJNZ R6, DELAYLOOP RETLEDMAP: DB 3FH, 06H, 5BH, 4FH, 66H, 6dH, 7DH, 07H ;八段管显示码 DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDISPLAYLED: MOV R0,

17、#LEDBUF MOV R1, #6 ; 共6个八段管 MOV R2, #00100000B ; 从左边开始显示LOOP: MOV DPTR, #OUTBIT MOV A, #0 MOVX DPTR, A ; 关所有八段管 MOV A, R0 MOV DPTR, #OUTSEG MOVX DPTR,A MOV A, R2 显示一位八段管 MOV R6, #1 CALL DELAY MOV A, R2 ; 显示下一位 RR A MOV R2, A INC R0 DJNZ R1, LOOP RET; =TOLED: MOV DPTR, #LEDMAP MOVC A, A+DPTR RETSTART

18、:MOV TMOD, #02H ; 模式2, 定时器 MOV TH0, #T100US MOV TL0, #T100US MOV IE, #10000010B ; EA=1, IT0 = 1 MOV C100US+1, #LOW(TICK) SETB TR0 ; 启动定时器0MLOOP: MOV B, #10 DIV AB CALL TOLED MOV LEDBUF, A MOV A, B CALL ToLED ORL A, #80H MOV LEDBUF+1, A MOV B, #10 DIV AB MOV LEDBuf+2, A MOV LEDBuf+3, A MOV LEDBuf+4, A MOV LEDBuf+5, A CALL DisplayLED LJMP MLoop END

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

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