某大学-单片机-计时电子钟

上传人:pu****.1 文档编号:504699422 上传时间:2023-01-29 格式:DOCX 页数:16 大小:384.92KB
返回 下载 相关 举报
某大学-单片机-计时电子钟_第1页
第1页 / 共16页
某大学-单片机-计时电子钟_第2页
第2页 / 共16页
某大学-单片机-计时电子钟_第3页
第3页 / 共16页
某大学-单片机-计时电子钟_第4页
第4页 / 共16页
某大学-单片机-计时电子钟_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《某大学-单片机-计时电子钟》由会员分享,可在线阅读,更多相关《某大学-单片机-计时电子钟(16页珍藏版)》请在金锄头文库上搜索。

1、绪论单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛使用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯和数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智

2、能IC卡,民用豪华轿车的安全保障系统,录像机、摄影机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发和使用将造就一批计算机使用和智能化控制的科学家、工程师。 单片机广泛使用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。本设计主要是设计基于8051单片机的计时电子钟,在数码管上显示时间,并且,通过键盘可以修改时间。用LED显示代替了指针显示,减小了计时误差,这种表具有时分秒显示时间的功能,还可以校对,片选的灵活性好。第一章 基础知识1.1 定时器/计

3、数器定时器/计数器工作原理在MCS-51单片机内继承了两个16位的定时器/计数器T0和T1,其基本工作原理是加一计数,即对指定的脉冲信号进行加一操作,直到出现溢出为止。定时器/计数器的基本工作原理是加一计数器,不过作为定时器或计数器是稍有不同。(1) 定时器。作为定时器使用时,使用的脉冲信号为单片机的内部时钟信号。每个机器周期产生一个计数脉冲,是计数器加一,因此,计数速率固定为fosc/12。(2) 计数器。作为计数器使用时,使用的脉冲信号为从单片机外部输入的脉冲信号。T0对应单片机引脚P3.4,T1对应单片机引脚P3.5,当检测到引脚的输入脉冲信号发生负跳变时计数器加一。当加一计数器出现溢出

4、是时,产生溢出信号通知单片机进行相应的处理。由于识别一个从1到0的负跳变需要两个机器周期,所以最快的计数速率是振荡频率的1/24。当TMOD中的M1、M2为10时,定时器/计数器工作于方式2。工作方式2为一个能自动重新装入初值的8位定时器/计数器。TL0用作8位计数器,TH0用作数据寄存器。当TL0计数满产生溢出时,一方面置1溢出标志TF0,供软件查询或向CPU请求中断;另一方面,自动将TH0中的内容送至TL0,使8位定时器/计数器重新装入的初值开始重新计数。1.2 LED数码管 LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方

5、式的不同,可以分为静态式和动态式两类。 A、静态显示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O多,如驱动5个数码管静态显示则需要5840根I/O口驱动。故实际使用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。 B、动态显示驱动: 数码管动态显示介面是单片机中使用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,

6、所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。1.3 发光二级管发光二极管简称LED

7、,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。 当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴和电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现,因此而发光。 发光二极管在制作时,使用的材料有所不同,那么就可以发出不同颜色的光。 发光二极管的发光颜色有:红色光、黄色光、绿色光、红外光等。 常用的发光二极管使用电路有四种,即直流驱动电路、交流驱动电路、脉冲驱动电路、变色发光驱动电路。 当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向

8、阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱和电流有关。第二章 系统实现本设计任务的目的为设计一个计时电子钟,同时显示时、分、秒,而且在时分之间和分秒之间加入随秒信号闪烁的冒号,要求通过键盘可以修正时间。该电子钟有8051、4*6键盘、六位数码管、四个发光二级管和外部脉冲电路等构成由内部定时器T0产生一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满24小时为一天,之后,时分秒同时清零,开始新的计时。而按键S1拥有位选功能,按下S1由输入脉冲个数不同,可以实现对时、分、秒的选中功能,通过键盘可以达到直接修改的目的。2.1系统框图键盘及脉冲信号数码管显示8051单片

9、机冒号闪烁2.2发光二极管试验仪上有8只发光二级管及相应驱动电路,共阴极连接,其输入端为高电平“1”时,发光二级管点亮。 2.3键盘及LED显示电路 显示控制的位码由74HC374 输出,经ULN2003反向驱动后,做LED的位选通信号。位选通信号也可以作为键盘列扫描码盘扫描的行数据从74HC245读回,374输入的列扫描码经245读出后,用来判断是否有键被按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读出的行信号,就可以判断哪个键被按下。LED显示的段码由另一个74HC374输出。将KEY/LED CS接到相应的地址译码

10、器上。位码输出地址为0X002H,段码输出地址为)X004H,键盘行码读回地址为0X001H,此处X是由KEY/LED CS决定。例如将KEY/LED CS接到地址译码器CS0上,那么位码输出地址就是08002H,段码输出地址就是08004H,键盘行码读回地址为08001H。键盘及LED显示电路第三章 软件实现3.1主程序实现主程序主要用于系统的初始化:设置计时缓冲区的位置及初值,设置8051的工作方式、定时器的工作方式和计数初值等等。主程序流程如下图所示:开始系统初始化允许T0中断调用显示子程序调用键盘子程序32定时中断子程序实现系统使用12MHz的晶振,使用定时器T0采用工作方式2,定时器

11、的最大定时时间为0.256ms,远小于1s,因此本系统采用定时器和软件循环结合的定时方法。定时器采用T0工作在方式2,每个50us溢出一次中断,则循环16次延时时间是1s,秒计时60次为1分,分计时60次为一小时,小时计时24次则计时重新从00:00:00开始。计时初值为256-50/1=206=CE所以TH0=CEH TL0=CEH。MCS_51单片机只有二进制加法指令,而时间是按十进制递增的,因此用加法指令后必须进行二-十进制转换。保护现场T0中断程序流程图自动重装定时器初值循环次数减1满16次? 否秒加1 是冒号闪烁 满60s? 否 是秒清0,分加1满60分?、 否 是分清0,时加1满2

12、4时? 否时清0 是返回恢复现场3.3外部中断子程序实现外部中断T0用于用键盘修改当前时间值,当按住S1键,由输入脉冲个数的不同选中不同的位,按下键盘应设定的时间数值即可修改当前显示的时间值。T0中断程序实现流程图开始保护现场中断6次? 是 否当前显示值改变恢复现场返回第四章 硬件连线连线连接孔1连接孔2注释1CS0KEY/LED CS片选2P10发光二级管L 0用作闪烁冒号3P11发光二级管L2用作闪烁冒号4P12发光二级管L4用作闪烁冒号5P13发光二级管L7用作闪烁冒号6P32单脉冲 上升沿用于修改时间7P33单脉冲 下降沿用于修改时间第五章 程序实现OUTBIT equ 08002h

13、; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Hour equ 40hMinute equ 41hSecond equ 42hC100us equ 43hTick equ 10000T100us equ 256-50 ljmp Start org 0003h ljmp int0 org 000bhT0Int: push PSW push ACC mov a, C100us+1 jnz Goon dec C100usGoon: dec C100us+1 mov a, C100us orl a, C100us+1 jnz Exit mov C100us, #high(Tick) mov C100us+1, #low(Tick) inc Second cpl p1.0 cpl p1.1 cpl p1.2 cpl p1.3 mov a, Second cjne a, #60, Exit

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号