




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南大学物理与电子学院2015级单片机课程设计论文时钟计时器论文作者姓名:学 号:合作者姓名:所 在 学 院:学 号:所 学 专 业:任 课 老 师:论文完成时间: 目 录0 工作原理11 系统组成与功能11.1 系统组成1 1.1.1 AT89C52单片机1 1.1.2上电按钮复位电路2 1.1.3晶振电路31.1.4时钟显示校正电路31.1.5四位一体共阴极数码管31.2 系统功能42 系统原理42.1系统原理图42.2 系统仿真图52.3 实物照片53 元器件清单54 程序流程图65 具体程序代码76 实验中遇到的问题及解决方法97 设计心得9参考文献916河南大学物理与电子学院单片机课程设计论文时钟计时器0 工作原理 电子时钟只要由显示模块,校时模块和时钟运算模块三大部分组成。其中校时模块和时钟运算模块要对时,分,秒的数值进行;操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1,时计算到24时,要清零。这样,才能循环计时。电子时钟是利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示用8个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了键盘设置子程序。1系统组成与功能1.1 系统组成本系统主要有AT89C52单片机、按键、晶振、扬声器、四位一体共阴数码管等元件组成。1.1.1 AT89C52单片机单片机主要特点如下:(1)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令,I/O口的逻辑操作以及位处理功能。(2)集成度高,体积小,有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了芯片内部之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采用屏蔽措施,适合在恶劣环境下工作。(3)有优异的性能价格比。(4)低功耗,低电压,便于生产便携式产品。(5)增加了IC(Inter-IntegratedCircuit)串行总线方式,SPI(SerialeripheralInterface)串行接口等,进一步减小了体积,简化了结构。AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。图1-1 AT89C52引脚图此外,STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计数器。STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。引脚图如图1-1所示。VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在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”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。1.1.2 上电按钮复位 本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作。其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从VCC回落到0V的时间也长。1.1.3晶振电路本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。机器周期=10*晶振周期=12*系统时钟周期1.1.4时钟显示校正电路本设计利用按键开关来校正时钟显示的数字。当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。其中K1按键开关用来选择要修改的数字;K2按键用来增加所选数字的数值;K3按键用来减少所选数字的数值;K4按键作为备用按键使用。1.1.5四位一体共阴极数码管LED数码管显示器在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示. LED数码管显示器有两种连接方法(1)共阳极接法把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,段发光二极管就导通点亮,而输入高电平时则不点亮。(2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,段发光二极管就导通点亮,而输入低电平时则不点亮。在本设计中所采用的是四位一体共阴极数码管,其引脚排列如下图1-2所示: 图1-2 四位一体共阴极数码管引脚图1.2 系统功能时钟计时器在现在应用场合非常的广泛,近年来,随着科学技术的进步和时代的发展,人们对时钟的功能和精度提出了越来越高的要求,各种时钟的设计也越来越重要。本设计就是应用单片机强大的控制功能制作而成的多功能时钟,此次课程设计是以STC89C52为主芯片, 四位一体共阴极LED数码管显示器及蜂鸣器等组成一个简单的多功能时钟计时器,具有时、分、秒的显示及调整功能。采用24小时制,时间显示格式为时、分、秒,并能整点提醒(蜂鸣),并有定时闹钟、秒表计时等功能。通过STC89C52的定时中断来设置时间并用LED数码管显示出来。电子时钟中主要有4个按键。这4个按键分别是调节总控,调秒,调分,调时的开关。调节总控:控制总的中断的允许和屏蔽,打开三个功能按键的中断响应。调秒:在总开关打开时,调节电子时钟的秒数。调分:在总开关打开时,调节电子时钟的分数。调时:在总开关打开时,调节电子时钟的时数。2 系统原理本系统设计的主要原理是以STC89C52为主芯片, 四位一体共阴极LED数码管显示器及蜂鸣器等组成一个简单的多功能时钟计时器,具有时、分、秒的显示及调整功能。采用24小时制,时间显示格式为时、分、秒,并能整点提醒(蜂鸣),并有定时闹钟、秒表计时等功能。通过STC89C52的定时中断来设置时间并用LED数码管显示出来。2.1 系统原理图系统原理图具体见图21所示图21系统原理图2.2 系统仿真图最基本的仿真图具体见图22所示图22 基本系统仿真图2.3 实物照片具体的实物照片如图23所示。图23 实物照片本土为基本仿真图,没有加24C02扩展2 元器件清单序号元器件名元件序号与规格单位数量1电阻R1 R19 1K个22R2 10K个13R3R10 330个84R11R18限流电阻 100个85电容C1 C2 30pF个26C3电解电容 10uF个17三极管P1P9 9012个98晶振Y1 12MHz个19按键S1 ,K1K4个510蜂鸣器B1个111数码管四位一体共阴块212单片机STC89C52块113排针若干个114插座40脚块13 程序流程图4 主要程序源代码#include#define uint unsigned int#define uchar unsigned charsbit K1=P10; /功能键sbit K2=P11; /加1键sbit K3=P12; /减1键sbit K4=P13; /备用sbit beep=P14;/ 蜂鸣器输出控制uchar t,m,f,s;uchar num;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /0-F共阴极数码管/*uchar code table0=0xc0,0xf9,0xa4,0xb0,0x99,0x92,/共阳极段码0x82,0xf8,0x80,0x90;*/uchar code tablewe=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe; /控制位选void delayms(uint z) /延时z msuint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void di() /蜂鸣器响 beep=0;delayms(100); beep=1;void display(uchar n,uchar c,uchar d) /分离变量uchar a,b;a=n/10;/十位b=n%10;/个位P0=tablea; P2=tablewec;delayms(2);/十位显示P0=tableb; P2=tablewed; delayms(2); /个位显示void init()t=0; m=0; f=0; s=0;TMOD=0X01; /定时器T0工作于方式1TH0=(65536-50000)/256;/晶振为12MHZTL0=(65536-50000)%256; /定时时间为50msEA=1; /开中断ET0=1; /开T0中断TR0=1; /启动T0void key() /按键扫描if(K1=0)/功能键 delayms(10); /延时消抖if(K1=0) /再判di(); /调蜂鸣器响num+; /功能键按下次数加1while(!K1);/等待功能键释放if(num=1)TR0=0; /关闭T0,进入调时模式if(num=4)num=0; TR0=1;/启动T0if(K2=0) /加1键delayms(10);/延时消抖if(K2=0)di(); /调蜂鸣器响while(!K2);/等待加1键释放if(num=1)m+; if(m=60)m=0; display(m,6,7); /秒加1,显示秒if(num=2)f+; if(f=60)f=0;display(f,3,4); /分加1,显示分if(num=3)s+; if(s=24)s=0; display(s,0,1); /时加1,显示时if(K3=0) /加1键delayms(10);if(K3=0)di(); /调蜂鸣器响while(!K3);/等待减1键释放if(num=1)m-;if(m=-1)m=59;display(m,6,7); /秒减1,显示秒if(num=2)f-;if(f=-1)f=59;display(f,3,4); /分减1,显示分if(num=3)s-;if(s=-1)s=23;display(s,0,1); /时减1,显示时 void main()init();/初始化while(1)key(); /调键扫描 P0=0x40; /显示-P2=0xdb;delayms(2);/延时display(s,0,1);/秒显示display(f,3,4);/分显示display(m,6,7);/时显示void T0_time() interrupt 1TH0=(65536-50000)/256; /重赋初值TL0=(65536-50000)%256;t+; /中断次数加1if(t=20) /到1秒t=0; /计数清0m+; /秒加1if(m=60) /到1分m=0; /秒清0f+; /分加1if(f=60) /到1小时f=0; /分清0s+; /小时加1if(s=24)s=0;/小时采用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业安全警示教育活动讲话稿范文
- 2025年康复医学康复技术应用考核答案及解析
- 环境保护与绿色建筑政策法规解析
- 2025年免疫学常见疾病诊断测试答案及解析
- 2019年上海六年级数学试卷解析
- 建立完善网络信息安全防范制度规定报告规定
- 2025年急诊医学急诊抢救流程策略分析答案及解析
- 乐高STEAM教育完整教学教案
- 物流仓储管理实务及成本控制策略
- 人力资源绩效面谈技巧与实例
- 冲压质量培训
- 2025年辽宁交投集团招聘笔试参考题库含答案解析
- 设备维护与保养手册
- 喷雾干燥塔操作规程模版(3篇)
- 《天疱疮诊断及治疗》课件
- 学校教代会代表换届选举方案
- 现代交换原理第二章
- 2024版工业润滑油销售协议范例版
- 企业级智能数据分析系统开发与服务合同
- 2024数据要素典型案例
- Unit 3 She has long hair. (教学设计)-2024-2025学年湘鲁版英语五年级上册
评论
0/150
提交评论