单片机数字钟设计_第1页
单片机数字钟设计_第2页
单片机数字钟设计_第3页
单片机数字钟设计_第4页
单片机数字钟设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、河北建筑工程学院课程设计报告设计题目:_基于51单片机的电子数字钟设计 院(系):_ 河北建筑工程学院电气系 _ 专业班级: xxxxx 学生姓名: xxx 学 号: xxxx 指导老师: xxxxxxx 设计地点:xxxxxxxx设计时间: 2011年8月22日-2010年9月9日电子技术课程设计(电子数字钟设计)目录第一章 设计背景、目的·····················&#

2、183;································(2)第二章 设计要求···············

3、83;············································(2)第三章 设计方案及原理···&

4、#183;·················································(

5、2)第四章 硬件驱动电路················································

6、·······(4)1 单片机最小系统电路········································

7、3;···(4)2 系统主电路图·············································

8、;······(6)第五章 软件设计分析·········································

9、3;··············(7)1 总体框架及程序流程图·································&

10、#183;··········(7)2 源程序代码·····································

11、83;··············(9)第六章 心得体会·································

12、3;·························(12)第七章 参考文献······················

13、3;····································(13)一、课程设计背景近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠

14、,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。与此同时,基于简单操作的单片机控制的各种功能的数字钟相继而生。关键字 : 单片机 时钟设计 MC-51课程设计目的1、综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验。2、学习89C51定时/计数器的原理及基本应用。3、掌握多为数码管动态显示方法。4、掌握Keil uVision2 IDE的使

15、用方法。(包括项目文件的建立,给项目添加程序文件,编译、连接项目,形成目标文件,运行调试观察结果,多文件的处理,仿真环境的设置)。5、掌握Keil C51的调试技巧。(包括如何设置和删除断点,如何查看和修改寄存器的内容,如何观察和修改变量,如何观察存储器区域,并行口的使用,定时/计数器的使用,串行口的使用,外中断的使用)。6、掌握PROTEUS软件使用和调试过程。二、设计要求1、通过键盘预置时间,包括星期、时、分(采用增量键盘)。2、七位共阴极LED数码管显示,星期-时.分.秒()。3、具有整点报时功能。4可采用12h制或24h制。5具有断电保护功能(可选)。三、设计方案及原理单片机:MCS5

16、1是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产

17、的。本设计使用89C5来完成实验。设计思想:利用单片的T0定时器进行50ms定时(20次即为1秒钟),此时进行时间的计算让“秒”寄存单元加1。当秒的十位加到6时则进行“分”寄存单元的加1。当分得十位寄存单元加到6时则清零,同时让“时”寄存单元加1。当时加到24(一天)时让“星期”(星期从一起步,当加到八时置一)。就这样单片机就精确地实现了计时功能。为了方便调节时间和观看时间(即人机交互部分),还得设计键盘调时和LED数码管显示两大模块。键盘调试电路:单片机接键盘分为独立键盘和矩阵键盘两种。矩阵键盘是方便系统使用按键数目较多时而设计的,原理再次不再说明;独立键盘是将单片机的P口直接通过键盘接高或

18、低,单片机时时检测按键状态。本设计将单片机的P1.0、P1.1、P1.2、P1.3四个I/O口直接接键盘到地,单片机扫描所接键盘的I/O口电位是否为低(若键盘按下则对应的I/O口电位为低),四个I/O口定义为星期加、小时加、分钟加和清零四种不同的功能,这样就方便了我们对时间进行控制。LED显示电路:LED显示器有两中工作方式:静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示

19、信号,与各数码管接口的I/O口是专用的。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。各数码管在显示过程中轮流得到显示信号,与各数码管接口的I/O口是共用的。该设计使用八个数码管,分别显示星期、时、分、秒。片选部分和数码段显示部分,分别接单片机管脚的P

20、2口和P0口,系统设计中分别将星期、时、分、秒的寄存单元送到P0口,再通过P2口控制片选将时间显示出来。整点报时:本设计利用了单片机I/O口默认输出高电平的特性。当整点时使单片机其中一个I/O口输出低电平,这样此I/O和其他I/O口之间就形成了电位差以方便驱动喇叭报时。(本设计整点时是将P1.7置低电位,使其与P1.6口之间形成电位差,由于条件有限本设计使用发光二级管点亮功能代替了蜂鸣器的声音)。四、硬件驱动电路1、 单片机的最小系统 1. VCC 运行时加5V2. GND 接地3. XTAL1 振荡器反相放大器及内部时钟发生器的输入端4. XTAL2 振荡器反相放大器的输出端5. RST 复

21、位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。6. EA/VPP 片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。7. ALE/PROG ALE是地址锁存允许信号,当单片机上电正常工作后,此脚不断输出正脉冲信号P口P1、P2、P3口是一组带内部上拉电阻的8

22、位双向I/O口。P0口没有内接上拉电阻。 单片机工作的运行以时钟控制信号为基准以使得单片机有条不紊地一拍一拍的工作。常用的时钟电路设计有两种:1内部时钟方式;2外部时钟方式。内部时钟方式:51系列单片机内部有一个用于构成振荡器的高增益反相放大器,其输入、输出端为XTAL1和XTAL2。两个引脚之间跨接石英晶体振荡器和电容就构成了稳定的自激振荡器。电路如图: 复位操作是单片机的初始化操作,只需给单片机RST引脚加上大于两个机器周期的高电平就可使单片机复位。复位有两种方式:1上电自动复位;2按钮复位。按钮复位又可以分为:1按键电平复位;2按键脉冲复位。本设计中采用的是按键电平复位,当按键按下时给R

23、ST脚一个高电平使得系统复位。电路如图: GND。2、系统主要电路图 五、软件设计分析1、总体框架及程序流程图89C51P1.7LED数码管段码调时电路振荡电路片选整点报时 开始 中断1s到? Y秒加1 送显示60s到?Y 秒清零分钟加1送显示 60分钟到 Y 分钟清零小时加1显示 24小时到 Y小时清零星期加1 显示清零周 显示 7天到 Y 2.程序源代码:ORG 0000H LJMP MAIN ORG 000BH ;定时器0中断入口地址 LJMP INTT0 WEEK BIT P1.0 ;定义调星期键 HOURBIT P1.1 ;定义调时键MIN BIT P1.2 ;定义调分键QING B

24、IT P1.3 ;定义清零键MAIN: MOV TMOD,#01H ;定时器0,工作模式1 MOV TH0,#03CH ;赋初值,定时50ms MOV TL0,#0B0H SETB EA ;开中断总开关SETB ET0 ;定时器0中断允许位 SETB TR0 ;开启定时器0 MOV R6,#0 ;计中断次数 MOV R5,#0 ;R5扫描按键的时间间隔 MOV 20H,#0 ;秒个位清零 MOV 21H,#0 ;秒十位清零 MOV 22H,#0 ;分个位清零 MOV 23H,#0 ;分十位清零 MOV 24H,#0 ;时个位清零 MOV 25H,#0 ;时十位清零MOV 26H,#1 ;星期位

25、清零 LJMP DISPLAY ;清零数据显示;T0中断子程序INTT0: CLR EA INC R6 ;中断次数加一 INC R5 MOV TH0,#03CH MOV TL0,#0B0H ;重新赋初值 SETB EA RETIJIA_TIME: CJNE R6,#20,EXIT ;定时器中断20次,1秒到 MOV R6,#0 SETB P1.7 ;关闭闹钟 INC 20H ;秒加一 MOV A,20H CJNE A,#10,EXIT ;如果秒个位等于10,清零 MOV 20H,#00H INC 21H ;秒 MOV A,21H CJNE A,#6,EXIT ;如果秒十位等于6,清零 MOV

26、21H,#00H MIAO1: INC 22H ; MIN: MOV A,22H CJNE A,#10,EXIT ;如果分个位等于10,清零 MOV 22H,#00H INC 23H MOV A,23H CJNE A,#6,EXIT ;如果分十位等于6,清零CLR P1.7 ;ssssss MOV 23H,#00H MIN1: INC 24H ; HOUR: MOV A,25H CJNE A,#2,LOOP ;如果时十位等于2,检查时个位 MOV A,24H CJNE A,#4,EXIT ;如果时个位等于4,清零 MOV 24H,#00H ;清零时个位 MOV 25H,#00H ;清零时十位

27、HOUR1:INC 26HXINGQI:MOV A,26HCJNE A,#8,EXITMOV 26H,#1LJMP EXIT LOOP: MOV A,24H CJNE A,#10,EXIT ;如果时个位等于10,清零 MOV 24H,#00H INC 25H LJMP EXIT EXIT:MOV A,21HCJNE A,#1,DISPLAYSETB P1.7 LJMP DISPLAY ;加完毕跳转到显示DISPLAY: MOV DPTR,#TABLE MOV A,20H MOVC A,A+DPTR MOV P0,A SETB P2.7 LCALL DELAY CLR P2.7 ;显示秒个位 M

28、OV A,21H MOVC A,A+DPTRMOV P0,ASETB P2.6LCALL DELAYCLR P2.6 ;显示秒十位MOV A,22HADD A,#10MOVC A,A+DPTRMOV P0,ASETB P2.5LCALL DELAYCLR P2.5 ;显示分个位MOV A,23HMOVC A,A+DPTRMOV P0,ASETB P2.4LCALL DELAYCLR P2.4 ;显示分十位MOV A,24HADD A,#10MOVC A,A+DPTRMOV P0,ASETB P2.3LCALL DELAYCLR P2.3 ;显示时个位MOV A,25HMOVC A,A+DPTR

29、MOV P0,ASETB P2.2LCALL DELAYCLR P2.2 ;显示时十位MOV A,#40HMOV P0,ASETB P2.1LCALL DELAYCLR P2.1 ;显示"-"MOV A,26HMOVC A,A+DPTRMOV P0,ASETB P2.0LCALL DELAYCLR P2.0;显示星期CJNE R5,#4,KEY_SCAN ;当R5到4时,扫描按键MOV R5,#0KEY_SCAN:JNB WEEK,JIA_XINGQIJNB HOUR,JIA_HOURJNB MIN,JIA_MINJNB QINGQINGLINGLJMP JIA_TIME ;无键按下,跳至走时JIA_XINGQI:LCALL DELAY1;消抖延时JNB WEEK,JIA1JIA1:LJMP HOUR1JIA_HOUR:LCALL DELAY1;消抖延时JNB HOUR,JIA2;小时加1JIA2: LJMP MIN1 ;更新JIA_MIN:LCALL DELAY1;消抖延时JNB MIN,JIA3;分钟加1JIA3: LJMP MIAO1 ;更新QINGLING:MOV 20H,#0 ;秒个位清零

温馨提示

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

评论

0/150

提交评论