单片机课程设计--电子时钟设计_第1页
单片机课程设计--电子时钟设计_第2页
单片机课程设计--电子时钟设计_第3页
单片机课程设计--电子时钟设计_第4页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、电子时钟设计课程设计:单片机原理与应用课程设计专业:班级:设计内容 :设计一个简易时钟,设计内容包括:(1) 使用 8051 单片机片内定时器设计一个简易时钟。(2) 使用 8 位 LED对测量结果进行显示(3) 能通过键盘对对时钟设计内容与设计要求进行实时调整。( 4) 具有闹钟功能注:带者为选做设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行软硬件调试;主要设计条件1、教材2、单片机开发板、 PROTEUS软件3、参考书:1)单片机原理及运用电子工业出版社2)单片机应用技术新教程电子工业出版社1目录设计内容 : .0

2、设计要求: .1一、系统总体方案选择与说明 .11.系统总体方案选择 .12.说明 .1二、系统结构框图与工作原理 .31.系统结构框图 .32.工作原理 .4三、各单元硬件设计说明及计算方法.51.定时器 计数器 .52 . 中断系统 : .63 . 键盘 .64 .LED 数码管显示器: .75 .LED 数码显示器有两种连接方法 .7图 (1)LED 引脚排列 .8四、软件设计与说明(包括流程图).81主程序 .82数码管显示模块 .93定时器 / 计数器 T0 中断服务程序 .104按键处理模块 .11五、程序清单 .131.中断子程序 .132.延时程序 .133.主程序和定时器中断

3、子程序 .134.LED 显示子程序 .145.按键控制子程序 .156.数字电子时钟系统 PROTUES仿真 .19六、参考文献 .20致谢.212一、系统总体方案选择与说明1. 系统总体方案选择该课程设计是利用 MCS-51单片机内部的定时计数器、中断系统、以及行列键盘和 LED 显示器等部件,设计的一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等,用定时计数器 T0,工作于定时,采用方式 1,对 12MHZ的系统时钟进行定时计数,初值设为 50000。形成定时时间为 50ms。计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒,

4、另外还有校时功能。因此,一个基本的数字钟电路主要由显示器“时” ,“分”,“秒”和单片机,还有校时电路组成。 8 个数码管的段选接到单片机的 P0口,位选接到单片机的 P2 口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元” ,“秒单元”采用 60 进制计数器,每累计 60 秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。 “分单元”也采用 60 进制计数器,每累计 60 分钟,发出一个“时脉冲”信号,该信号将被送到“时单元” 。“时单元”采用 24 进制计时器,可实现对一天 24 小时的累计。显示电路将“时”、“分”、“秒”通过七段显示器显示出来。校时电路时用

5、来对“时” 、“分”、“秒”显示数字进行校对调整,校时电路时用来对“时” 、“分”、“秒”显示数字进行校对调整,按一下 second, 秒单元就加 1 ,按一下 minute, 分就加 1,按一下 hour ,时就加 1。2. 说明2.1 、系统由 AT89C51、 LED 数码管、按键、电容、电阻等部分构成,能实现时间的调整、输出、调时间等功能。系统中按钮BUTTON能对时间进行调整功能的按钮,采用单键控制调时功能,运用软件去抖判断按键的时间从而选择完成相对应的功能2.2 、时钟显示:在此部分的设计中,在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方

6、式。2.3、时间调整:该设计需要校对时间,所以用三个按键来实现。按hour 来调节小时的时间,按minute来调节分针的时间,按sceond 来调节秒的时间。按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加 1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。2.4 、中断:中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机 CPU的效率,也可以对突发事件处理。所谓中断就是当 CPU正在执行程序 A 时,发生了另一个急需处理的事件 B,这是 CPU暂停当前执行的程序 A,

7、立即转去执行处理事件 B 的程序,处理完事件 B 后,再返回到程序 A 继续执行,这个过程被叫做中断。 关于中断的概念有下列几个名词:(1)程序 A 称为主程序,(2)处理事件 B 的程序称为中断服务程序, (3)主程序中转向中断服务程序的地方称为断点, (4)引起中断的原因即事件 B 称为中断源,(5)转去执行中断服务程序称为中断响应。关于中断的概念可以打个如下的比喻。领导( CPU)在自己的房间办公(执行主程序) ,下属(外设)有问题打电话来请示(中断源) ,领导停下正在进行的工作,通过电话给下属做指示(执行中断服务程序) ,指示完后,领导挂断电话,继续做自己的工作(返回主程序继续执行)

8、。2二、系统结构框图与工作原理1. 系统结构框图数字电子时钟的原理图32. 工作原理软时钟是利用单片机内部的定时器 计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器 计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器 计数器或软件计数的方法对基准时间计数形成秒,秒计 60 次形成分,分计 60 次形成小时,小时计 24 次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示用 8 个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变

9、化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了键盘设置子程序。单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、 IO 接

10、口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和 IO 接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的4键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入 / 输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处

11、理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是 LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还 LCD显示器。三、各单元硬件设计说明及计算方法1. 定时器计数器1、MCS-51系列中 51 子系列有两个 16 位的可编程定时计数器可:定时计数器 T0 和定时 计数器 T1。它由加法计数器、方式寄存器 TMOD、控制寄存器 TCON等组成。方式寄存器用于设定定时计数器 T0 和 T1 的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。2

12、 、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。3 、每个定时计数器都有多种工作方式,其中 T0 有四种工作方式, T1 有三种工作方式, T2 有三种工作方式。通过编程可设定工作于某种方式。四种工作方式为: 13 位定时 计数器、 16 位定时计数器、 8 位自动重置定时计数器、两个 8 位定时计数器(只有 T0 有)4 、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。52. 中断系统 :1、MCS-51单片机提供 5 个硬件中断源, 2 个外部中断源, 2 个定时计数器 T0 和 T1 的溢出中

13、断 TF0 和 TF1, 1 个串行口发送 TI 和接收 RI 中断。2、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE 的各位来控制的。中断允许寄存器 IE 的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄存器IE 的内容为 00H,如果要开放某个中断源,则必须使IE 中的总控置位和对应的中断允许位置“ 1”。3、MCS-51单片机有 5 个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器IP 来设置,中断优先级寄存器IP 的字节地址为 B8H,可以进行位寻址。如果某位被置“ 1”,

14、则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器 T0 中断、外部中断 1、定时计数器 T1 中断、串行口中断。通过设置中断优先级寄存器IP 能够改变系统默认的优先级顺序。4、MCS-51单片机响应中断的条件为:中断源有请求且中断允许。3. 键盘键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中, 操作人员一般都是通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘的结构形式一般有两

15、种:独立式键盘和矩阵式键盘。矩阵式键盘的工作方式有3 种:查询工作方式、定时扫描工作方式和中断工作方式。64 .LED 数码管显示器:LED数码管显示器在单片机应用系统中,经常用到 LED数码管作为显示输出设备, LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要, 所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是 8 段式 LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于L

16、ED 数码管显示器,通常的译码方式有两种: 硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。5 .LED 数码显示器有两种连接方法( 1)共阳极接法把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接 +5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。( 2)共阴极接法。 把发光二极管的阴极连在一起构成公共阴极, 使用时公共阴极接地。每个发光

17、二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。在本设计中所采用的是共阴极 LED数码显示器,其引脚排列如下图 (1)所示:7图(1)LED 引脚排列四、软件设计与说明(包括流程图)电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,1 主程序主程序执行流程如下图( 2),主程序先对显示单元和定时器/ 计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。8开始显示单元清零T0、T1 设为 16 位计数模式允许 T0 中断调用显示子程序否按下键否?是进入功能

18、程序图( 2)主程序执行流程2数码管显示模块本系统共用8 个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。流程图如下图( 3)所示:9开始否50ms 计数器 =20?是秒单元加 1,50ms 计数器清 0,秒写入秒个位和秒十位否秒单元 =60?是分单元加1,秒单元清0,分写入分个位和分十位否分单元 =60?是时单元加1,分单元清0,时写入时个位和时十位否时单元 =24?时单元清 0是结束图( 3)数码管显示程序流程图3定时器 / 计数器 T0 中断服务程序定时器 / 计数器 T0 用于时间计时。选择方式1,重复定时,定时时间设为 50

19、ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计 20 次则对秒单元加 1,秒单元加到 60 则对分单元加 1,同时秒单元清 0;分单元加到 60 则对时单元加 1,同时分单元清 0;时单元加到 24 则对时单元清 0,标志一天时间计满。 在对各单元计数的同时, 把它们的值放到存储单元的指定位置。定时器 / 计数器 T0 中断服务程序流程图如下图( 4):10开始现场保护,重置初值启动下一个50ms50ms 计数器加1中断返回图( 4)定时器 / 计数器 T0 中断服务程序流程图4按键处理模块按键处理设置为:如没有按键,则时钟正常走时。当按下K0 按键时,进入调分状态,时

20、钟停止走动;按K1 可 K2 按键可进行加 1 或减 1 操作;继续按 K0 键可分别进行分和小时的调整;最后按K0 键将退出调整状态,时钟开始计时运行11开始Nsceond 按键按下?Ysceond加 1Nminute 按键按下 ?Yminute 加 1Nhour 按键按下?Yhour 加 1显示时间结束图( 5)按键控制程序流程图12五 、程序清单采用 8 位 LED软件译码动态显示程序使用 AT89C51单片机, 12MHZ晶振, P0 输出字段码, P2 口输出位选码,用共阳LED数码管, P1.0 为调时位选择按键, P1.1 为加 1 键,P1.2 为减 1 键。1. 中断子程序t

21、imer0 (void) interrupt 1 using 1u+;TH0=(65536-50000)/256;TL0=(65536-50000)%256;2. 延时程序void delay()unsigned int time,p;for(time=30;time>0;time-)for(p=0;p<10;p+);3. 主程序和定时器中断子程序#include<reg51.h>char mod=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; char sceond,minute,hour,i,k,l,j,x,y;

22、int u;sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;13void main()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;dokongzhi();xianshi();while(1);4.LED 显示子程序void xianshi()if(u=20)u=0;sceond+;while(sceond=60)sceond=0;minute+;if(minute=60)minute=0;hour+ ;if(hour=24)hour=0;14x=hour%10;

23、y=hour/10;l=minute%10;j=minute/10;i=sceond%10;k=sceond/10;P2=0x7f;P0=modi;delay();P2=0xbf;P0=modk;delay();P2=0xdf;P0=0x40;delay();P2=0xef;P0=modl;delay();P2=0xf7;P0=modj;delay();P2=0xfb;P0=0x40;delay();P2=0xfd;P0=modx;delay();P2=0xfe;P0=mody;delay();5. 按键控制子程序void kongzhi()if(P1_0=0)TR0=0;15while(P1

24、_0=0);while(1)if(P1_1=0)sceond+;if(sceond=60)sceond=0;while(P1_1=0);if(P1_2=0)sceond-;if(sceond<0)sceond=0;while(P1_2=0);i=sceond%10;k=sceond/10;P2=0x7f;P0=modi;delay();P2=0xbf;P0=modk;delay();if(P1_0=0)while(P1_0=0);while(1)if(P1_1=0)minute+;while(minute=60)16minute=0;while(P1_1=0);if(P1_2=0)minute-;if(minute<0)minute=0;while(P1_2=0);l=minute%10;j=minute/10;P2=0xef;P0=modl;delay();P2=0xf7;P0=modj;delay();if( P1_0=0)hile(P1_0=0);while(1)if(P1_

温馨提示

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

评论

0/150

提交评论