版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机应用系统与开发技术课题名称:数字时钟的设计与实现班级:学号:姓名:硕公煞字盘术学0乞数码科技系题目:数字时钟的设计与实现目录、八 、亠刖言、概要设计61、项目描述62、 功能描述63、 系统框图6硬件设计及简介1、时钟硬件设计71、单片机简介72、AT89C51单片机介绍83、AT89C51单片机原理图 84、数码管显示工作原理 115、共阳数码管的原理136、所需兀件137、部分电路图14三、焊接18四、软件设计191、主程序 191 1、主程序的概念191 2、主程序流程图202、LED显示子程序202 1、LED显示子程序202020213、键盘扫描功能设置子程序3 1、调用键盘扫
2、描功能时的方法3 2、定时中断子程序流程图3.3、编制程序21五、设计总结27、八 、-刖言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的 推移,科学技术的不断发展,人们对时间计量的精度要求越来越高, 应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友 焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于 电子钟,石英表,石英钟都米用了石英技术,因此走时精度高,稳定 性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时, 译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显 示时间,减小了计时误差,这种表具有
3、时,分,秒显示时间的功能, 还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常 工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是 指为保障系统正常工作的基准振荡定时信号, 主要由晶振和外围电路 组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的 标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实 现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主 要用在对时间精度要求不高的场合; 二是用专门的时钟芯片实现,在 对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片 有:DS1302, DS12887,
4、 X1203等都可以满足高精度的要求。本文主要介绍用单片机内部的定时 /计数器来实现电子时钟的方 法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要 的电路,构成了一个单片机电子时钟。设计要求亠、概要设计;1、项目描述:用六位LED数码管实现电子时钟 的功能,显示方式为时、分、秒, 采用24小时计时 方式。使用按键实现时、分的调整。2、功能描述:1:显示时间方式:时,分,秒。2:计时方式:24h(小时)制。3 :上电显示为:12-00 00ABCDEFG DP13456r t t t r I t ti i t i r数码管显示电路3:电子时钟的系统框图。复位、时钟等电路CPU图
5、1电子钟系统框图二硬件设计及部分电路简介二、时钟硬件设计;1、单片机简介。单片机全称为单片机微型计算机(Sin gle ChipMicrosoftcomputer)。从应用领域来看,单片机主要用来控制,所以又 称为微控制器(Microcontroller Unit )或嵌入式控制器。单片机是将 计算机的基本部件微型化并集成在一块芯片上的微型计算机。2、AT89C51单片机介绍。VCC :供电电压。GND :接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收 8TTL门电流。当P1 口的管脚第一次写1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据
6、/地址的第八 位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验 时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后,被内部 上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流, 这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八 位地址接收。P2 口: P2 口为一个内部上拉电阻的 8位双向I/O 口,P2 口缓冲器可接收,输出4个TTL门电流,当P2 口被写“ 1”时,其 管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P
7、2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控 制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可 接收输出4个TTL门电流。当P3 口写入“ 1”后,它们被内部上拉 为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为AT89C5
8、1的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INTO(外部中断0)P3.3 /INT1(外部中断1)P3.4 TO(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号RST:复位输入。当振荡器复位器件时,要保持 RST脚两 个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平 用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编 程脉冲。在平时,A
9、LE端以不变的频率周期输出正脉冲信号,此频 率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时 目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该 引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器 取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器 时,这两次有效的/PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储 器(
10、OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程 序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。3、AT89C51单片机原理图,(如图2所示)191829303?U1XTAL1XTAL2RSTPO.O/ADOP01/AD1P0.2/AD2P03/AD3P0.4/AD4P0 5/AD5P0 6/AD6PO.7/AD7EALEAP2.0/A8P2.1/A9P2.2/A10P2 3/A11
11、P2 4/A12P2 5/A13P2i6/M4P2 7/A154 1i 1 JI JJ- JI J1 PPPPPPPP01234567P3.0/RXD P3J/TXD P3.2/TKrro P3.3/iNTfP3 4/T0P3,5/T1P3.6/WRP3.7/RDAT80C51图2单片机4、数码管显示方案。动态显示。所谓动态显示就是一位一位的轮流点亮各个位, 对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂 留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪 烁。显示器的亮度既与导通电流有关, 也于点亮时间与间隔时间的比 例有关。调整参数可以实现较高稳定度的显示。动态显示
12、节省了I/O口,降低了能耗5、数码管显示工作原理;数码管是一种把多个LED显示段集成在一起的显示设 备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个 LED显示段的阳极接在一起,又称为公共端。共阳型就是把多个LED 显示段的阳极接在一起,即为公共商。通常的数码管又分为 8段,即 8个LED显示段,分别为 A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不 同位的数码管的相同端也会连接在一起。即,所有的 A段都会连在 一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法 可分为静态显示和动态显示两种。静态显示就是数码管的8
13、段输入及 其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连 接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组 成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有 效信号,在此同时给出该数码管加有效的数据信号, 当全段扫描速度 大于视觉暂留速度时,显示就会清晰显示出来。6、共阳极数码管原理图;1h0D8图3共阳极数码管内部结构图7、所需元件1、8位数码管rt AttBlo oA丰f I1 n H L4HQneCDEFG DPi i r i i i r iia34S67S1 1 I I I I 图3数码管2、电容、C1.1、物品清单与元件特性表1-1物品清单:元件名
14、称规格型号单位数量瓷片电容30P只2电解电容47UF/16V只1电解电容10UF/16V只2电阻10k Q只8电阻200Q只8-+- l_L 芯片AT89S51片1芯片座DIP40只1无源晶振12M只14位数码管0.5寸/共阳只2三极管9012个8二极管1N4148只1按键无自锁只4电池盒个1电路板9.55*5.664CM21表1-2AT89C51功能特性:兼容MCS-51指令系统-4k 可反复擦写(1000 次)ISP Flash ROM32个可编程I/O 口-工作电压范围2个16位可编程定时/计数器全静态工作模式:时钟频率0-33MHZ全双工UART串行中断口线-128x8bit 内部 R
15、AM个中断源低功耗空闲和掉电模式本次实验提供8051芯片和PNP型三极管.焊接的时候一不小心就会犯错实际上的电路图不会和仿真软件的电路图完全一致,不过大体上还是一样的。 本次焊接实际上需要比较多的电线,尤其是数码管部分,由于相邻引脚非常贴 近,在焊接的时候要非常留心,谨防相邻两点短路。1、主程序。1 1、主程序的概念:主程序主要是循环调用显示子程序及键盘扫描功能设置子程序,1 2、主程序流程图图10主程序流程图2、LED显示子程序2 1、码管显示的数据存放在内存单元 dis0dis5中。每一单元均为十进制BCD码。由于采用软件动态扫描方式实现数据显示的功能,显示用十进制BCD码数据的对应段码存
16、放在 ROM表中。显示时,先取出dis0dis5某一地址中 的数据,然后查的对应的显示用段码,并从p0 口输出,p2 口将对应的数码管选中供电,就能显示该地址单元的数据值。3、键盘扫描功能设置子程序31、调用键盘扫描功能时的方法如下:按下 p1.0 口按键,则进入调整时间 状态,等待操作,p1.0 口或p1.2 口按键时,在调时间状态下可实现加 1或减1 的功能。3 2、定时中断子程序流程图恢复现场图TO中断服务程序流程图3.3、编制程序* *:*功能描述:K0-时分位选择,K1加1, K2-减1:*上电时初始化显示:12-00-00, 12Hz晶振,8位共阳数码管*#in clude#def
17、i ne uchar un sig ned char#defi ne uint un sig ned int#define led_data P0/段码控制端功能切换按键/加一按键/减一按键#defi ne led_bitP2/ 位选端sbit key0=P1A0; sbit key仁PM1; sbit key2=P1A2;uchar codetable =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;共阳0-9段码,0xff为清零码,0xbf为显示“一”用;uchar data scan_co n8=0x01,0x02
18、,0x04,0x08,0x10,0x20,0x40,0x80; /位控制 码;uchar data timedata8=0x01,0x02,0x0b,0x00,0x00,0x0b,0x00,0x00; /用作数 码管显示时分秒计数;uchar data dis10=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xff; / 数码管的显示;/延时函数/按键扫描函数uchar data con 1s=0x00,co n0 3s=0x00,co n=0x00;void delay1ms( uint t)int j;for(;t0;t-) for(j=0;
19、j=8)/如con=8,则恢复时钟正常显示,并对con的值清零;con=0;TR1=0;ET1=0;TR0=1;ET0=1;dis8=0x0a;if(con!=0)/con的值不为零,说明此时正在调时模式下等待调时;if(key1=0)delay1ms(5);while(key1=0);timedatac on +;switch(c on)case 1: if(timedataco n=4&timedatacon-1=2) / 判断 小时是否加到“ 24”,如果是小时位变成“ 00”;timedatac on=0;timedatac on-1=0;else小时的个位大于等于十,就使小时的十位加
20、一;timedatac on=0; timedatac on-1+;break;case 3:3和6分别代表分与秒的十位,它的值大于5时,就对当前值清零;case 6: if(timedatacon=6) timedatac on=0;break;case 4:4和7分别代表分与秒的个位,它的值大于9时,就对当前值清零;case 7: if(timedatacon=10)timedatac on=0;break;disc on=timedatac on; disco n-1=timedatac on-1; dis8=0x0a;if(con !=0)if(key2=0)BEEP();delay1
21、ms(5); while(key2=0); switch(c on) case 1: if(timedatac on=0)timedatac on=9;timedatac on-1-; if(timedatac on-1=0&timedatac on=0)timedatac on=3; timedatac on-1=2;elsetimedatac on-; break;case 3:case 6: if(timedatacon=0)timedatac on=5;elsetimedatac on-; break;case 4:case 7: if(timedatac on=0) timedata
22、c on=9; elsetimedatac on 卜-; break;disc on=timedatac on;disco n-1=timedatac on-1; dis8=0x0a;EA=1;void display()uchar k;for(k=0;k8;k+)led_data=tabledisk; led_bit=sca n_con k;delay1ms(1);P2=0x00;void in itializa()int i;for(i=0;i=10)timedata7=0;timedata 6+; if(timedata 6 =6)timedata6=0;timedata4+;if(timedata4=10)timedata4=0;timedata3+;if(timedata3=6)timedata3=0; timedata1+;if(timedata1=10)timedata1=0;timedata0+; if(timedata0=2)if(timedata1=4) timedata0=0; timedata1=0; dis0=time
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安保人员巡查奖惩制度
- 公司档案管理奖惩制度
- 养老院员工工资奖惩制度
- 小学考试奖惩制度模板
- 中铁领导带班制度
- 企业单位工会奖惩制度
- 临床医生薪酬奖惩制度
- smart原则建立奖惩制度
- 管护大队团工作奖惩制度
- 民宿管理员工奖惩制度
- ARVR眼镜设计与制造方案
- 餐饮区域经理培训教程
- 出血性中风(脑出血后遗症)中医临床路径及入院标准2020版
- 中小学反诈宣传课件
- 学校水污染事故责任追究制度
- 现代家政导论-课件 3.1.1认识家庭生命周期(上课)
- 第52讲、立体几何中的轨迹问题(教师版)
- 酒店数字化运营概论 课件 3.2 酒店网络分销渠道认知
- 数字贸易学 课件 第1-3章 导论、数字贸易的产生与发展;消费互联网、产业互联网与工业互联网
- 工业数据采集技术及应用 - 规划生产数据采集方案
- 煤矿资源储量管理
评论
0/150
提交评论