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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的电脑时.docx

1、基于单片机的电脑时毕业论文诚信声明本人郑重声明:所呈交的毕业论文基于单片机的电脑时钟设计是本人在指导老师的指导下,独立研究、写作的成果。论文中所引用是他人的无论以何种方式发布的文字、研究成果,均在论文中以明确方式标明。本声明的法律结果由本人独自承担。毕业论文作者签名:年月日江西科技师范学院毕业设计(论文)题目(中文):基于单片机的电脑时钟 设计(外文):院(系):通信与电子学院专业:电子信息工程学生姓名:冷中秋学号:20061698指导教师:宗文军年月日目录 引言.11 基本功能.12硬件框图.1 2. 1 单片机.1 2. 2 时间显示电路.2 2. 3 时间、闹钟设置电路.2 2. 4 闹

2、钟电路.2 2. 5 复位电路采用按钮电平复位电路(如下图).23 软件设计.3 3. 1 初始化参数设置.4 3. 2 键盘设置子程序.5 3. 3 显示子程序.6 3. 4 控制子程序.7 3. 5 中断定时子程序.84.结束语.8参考文献.9附录部分软件程序代码.11基于单片机的电脑时钟设计摘 要:时钟电路是保证计算机系统正常工作的基础 ,概述了用单片机实现电子时钟的硬件框图及软件实现方法关键词:电脑时钟;单片机;8155芯片;时钟芯片1.引言 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振

3、荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现;二是用专门的时钟芯片实现,本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法。 1 基本功能(1)时间显示功能:显示时、分、秒。(2)时间和闹钟设置功能:可以通过键盘的任意设定、修改显示时间和闹钟时间。2 硬件框图 2. 1 单片机 MCS-51单片机内部定时计数器概述MCS-51单片机内部包含2个定时计数器T。和T。,它们都是16位的加法计数器,既可用于定时,也可用于计数,在用于定时的情况

4、下,计数脉冲由内部提供,因此计数速率固定为CPU振荡频率的112;在用于计数的情况下,计数脉冲来自外部,外部计数脉冲通过MCS一51的引脚T。(第14脚)或Tl(第15脚)输入1。2,在发生从1到0的跳变时计数加1。每个定时计数器又有4种工作方式可供选择:方式0构成13位定时计数器,高3位未用;方式1构成16位定时计数器;方式2构成8位定时计数器,低位字节用于计数,高位字节存放初值31;方式3只适合于T。,构成两个独立的8位定时计数器。在方式0、方式1及方式3时,初值不能自动装入,当定时时间已到或计数次数已满时,若要进行下一次定时计数,必须利用软装入初值,否则,系统会按上限自动定时或计数,即以

5、0初值进行定时或计数5卅;而在方式2时,初值可自动装入,只需向高位字节写入一次初值,则当低位字节定时时间到(或计数满)时,高位字节的初值会自动装入低位字节,且高位字节的值保持不变。当系统需用MCS-51单片机的串行接口进行串行通信时,定时计数器T。被固定为波特率发生器,因此,在软时钟设计中,总是选择T。作为定时器m。 单片机采用AT89C51 型,它是一种带4K字节闪烁可编程可擦除只读存储的低电压、高性能CMOS8 位微处理器,该器件采用 ATMEL 高密度非易失性存储器制造技术与工业标准的MCS 51 指令集和输出管脚相兼容,由于将多功能8 位CPU和闪烁存储器组合在单个芯片中,ATMEL

6、的AT89C51是一种高效微控制器,为很多嵌入控制系统提供了一种灵活性高且价廉的方案。 2. 2 时间显示电路由于AT89C51单片机 I/ O口有限,采用可编程的并行I/ O口芯片8155 进行扩展,时间显示电路为了简化硬件线路,降低成本,利用LED 动态显示接口电路实现。 2. 3 时间、闹钟设置电路 由于时间的设置只需四个按键(秒、分、时、闹钟时间设置启动) ,电路简单,所以可以采用独立式按键来实现。 2. 4 闹钟电路当时间与设置闹钟时间相等时,通过 I/ O口控制继电器接通闹钟实现。 2. 5 复位电路采用按钮电平复位电路(如下图) 3 软件设计 软件采用模块化设计,其流程图如下:

7、3. 1 初始化参数设置 包括数据堆栈区、定时/计数器的初始化、 8155 芯片的初始化及时间、显示数据的初始化设置。定时/计数器的初始化:包括对 TMOD、 TCON 以及根据定时时间对时间初值的设置。设电子钟采用中断定时 100ms ,fosc = 6MHZ,采用 T0 方式 1 ,则 X = 216.100ms= 15536 = 3CB0H ,则 TH0 = 3CH ,TL0 = 0BOH。 8155 芯片的初始化:8155 对单片机来讲是一个外部接口芯片,它与外部 RAM的操作方法一样。即: MOV DPTR , # addr16 MOV A , # 03H MOVXDPTR ,A 3

8、. 2 键盘设置子程序 这里主要介绍秒设置子程序的部分代码。KEY:JB KEY- S ,M- SET;秒设置键按下吗?如没按下则判断分设置键是否压下 LCALL DELAY JB KEY- S ,M- SET INC DATA - S;如秒设置键压下,则秒单元加1 MOV A ,DATA - S CJNE A , # 60 ,DATA - S;秒单元= 60 ;则清0 MOV DATA - S , # 00H S - DIS:MOV A ,DATA - S LCALL HEX- BCD;调用BCD码转换子程序 MOV 69H ,A MOV 6AH ,B S - REP :LCALL DIS

9、JNB KEY- S ,S - REP ;待秒设置键释放 M- SET: ;分设置键判断程序略 其中 KEY- S ,DATA - S需在主程序中用伪指令定义后,才能使用。 3. 3 显示子程序 采用动态扫描的方式和查表程序可实现实时时间的显示。3. 4 控制子程序 作用是判断时间是否与设置的闹钟时间是否相等,如相等则开启闹钟。3. 5 中断定时子程序是电子时钟的核心,在这里主要介绍一下秒单元的定时过程,其中5FH存放100ms单元的数值。 CLOCK:PUSH ACC;参数入栈保护 PUSHPSW CLRTR0 MOVTL0 , # 0B0H;定时参数重新设置 MOVTH0 , # 03CH

10、 SETBTR0 INC 5FH MOV A ,5FH CJNE A , # 10 ,FK;100ms单元内容= 10 ,则秒单元加1 MOV 5FH , # 00H;100ms单元内容清0 MOV A ,DATA - S ADD A , # 01H;秒单元加1 MOV DATA - S ,A CJNE A , # 60 ,FK;秒单元内容= 60 ,则秒单元清0 MOV DATA - S , # 00H(分、时单元定时过程略) FK:POP PSW;出栈,退出中断子程序 POP ACC RETI4.结束语 由于时钟电路的重要性,时钟电路在很多应用系统中必不可少,用软件方法可以实现,但误差很大

11、,主要用在对时间精度要求不高的场合,在对时间精度要求很高的情况下,通常采用时钟芯片来实现。典型的时钟芯片有:DS1302 ,DS12887 ,X1203等都可以满足精度要求.提出了采用MCS-51内部定时计数器作为软时钟设计的方法,不仅节省了硬件开销,而且提高软时钟的定时精度,具有广泛的应用价值。在实际测试中,当晶体振荡器的振荡频率不是标准6 MHz时,通过调整中断周期常数,以及必要时通过增加秒以下时间单元缓冲区的字节数,可使中断周期常数准确到所需精度。参考文献1陈建铎单片机原理与应用M北京:科学出版社,20042李群芳,方事明,游华杰单片机原理与应用M湖北:武汉大学出版社,20063李刚,林

12、凌,姜苇51系列单片机系统设计与应用技巧M北京:北京航空航天大学出版社。20044高峰单片微机应用系统设计及实用技术M北京:机械工业出版社,2004E5李广弟,朱月秀,冷祖祁单片机基础M北京:北京航空航天大学出版社,20016张专成多参量火警监测器的软判决与单片机实现J微计算机信息,2008,7黄天录PICl2F675单片机在复合式火灾探测器设计中的应用J西安通信学院学报,20068窦振中单片机外围器件使用手册EM3北京:北京航空航天大学出版社,20039邵贝贝Motorola DSP型16位单片机原理与实践M3北京:北京航空航天大学出版社,200310马忠梅,籍顺心,张凯,等单片机的c语言应

13、用程序设计M北京:北京航空航天大学出版社,2003附录部分软件程序代码#include reg52.h#define THCO 0xee#define TLCO 0x0Unsigned char code Duan =0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共阴极数码管,0-9段码表unsigned char Data_Buffer4=0,0,0,0;/四个数码管显示数值,数组变量定义unsigned char Hour=0,Min=0,Sec=0;bit flag=0;/1分时间到标志sbit P10=P10; /四个数码管的位

14、码口定义sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit K_Mode=P20; /按键定义sbit K_UP=P21;sbit K_DN=P22;sbit LED1=P23; /四个指示灯sbit LED2=P24;void main() TMOD=0x11; /定时器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1; while(1) if(flag=1) flag=0; Data_Buffer0=Hour/10; Data_Buffer1=Hour%10; Data_Buffer2=Min/10; Data_Bu

15、ffer3=Min%10; void timer0() interrupt 1 static unsigned char Bit=0; /静态变量,退出程序后,值保留 static unsigned char count=0,K_count=0; static unsigned char Mode=0; /MODE, 0:实时时钟;1:修改小时;2:修改分钟 TH0=THCO; TL0=TLCO; count+; if(count=200) /秒计时,定时器定时5ms,计200次为一秒 count=0; Sec+; if(Sec=60) Sec=0; Min+; flag=1; /更新数码管显

16、示 if(Min=60) /时间计时 Min=0; Hour+; if(Hour=24)Hour=0; Bit+; if(Bit=4)Bit=0; P1|=0x0f; /先关位码 P0=DuanData_BufferBit; /开段码 if(count=30) /消抖处理 K_count=0; flag=1; if(K_Mode=0) /修改Mode, Mode+; if(Mode=3)Mode=0; if(Mode=0)LED1=1;LED2=1;/实时时间 else if(Mode=1)LED1=0; /修改小时 else if(Mode=2)LED1=1;LED2=0;/修改分钟 else if(K_UP=0) if(Mode=1) /小时加 Hour+; if(Hour=24)Hour=0; else if(Mode=2)/分钟加 Min+; if(Min=60)Min=0; else if(K_DN=0) if(Mode=1) /小时减 if(Hour=0)Hour=23; else Hour-; else if(Mode=2) /分钟减 if(Min=0)Min=59; else Min-; else K_count=0;

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

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