基于51单片机能实现任意时间倒计时。剖析
基于51单片机的9999秒倒计时器毕业设计

编号:审定成绩:重庆邮电大学毕业设计(论文)设计题目:基于51单片机的9999秒倒计时器设计学院名称:通信与信息工程学院学生姓名:X正伟专业:电子信息工程班级:0120XXX学号:060201XX指导教师:刘XX答辩组负责人:填表时间:2010 年 6 月重庆邮电大学教务处摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用Keil uVision3软件程序进行译码。
本次设计采用C语言编程,通过倒计时子程序模块、矩阵键盘扫描模块、中断等子程序的正确调用,完成了可以随时设置初值的基于51单片机控制的9999秒倒计时系统。
【关键词】倒计时器单片机矩阵键盘Keil uVision3 LED数码显示器ABSTRACTIn recent years, with the penetration of computers in the social sphere, SCM applications are continually deepening, and the traditional control test is driving the rapid update. The size of SCM is very small, and it is easy to be producted. for control, high integration, functionality, high reliability, and so on. So it has been widely used in the area of industrial control, mechatronics, intelligent instruments and communications.In real-time detection and control of the microcomputer application system, the microcontroller is often used as a core component. But if only have the knowledge of SCM is not enough.It should be based on specific hardware architecture, and if the application-specific features of the software objects are combined will be perfect.This paper focuses on the needs of the countdown system design, introduced the MCS-51 MCU of some of the basic principles.Such as the 51 single-chip interface functions, interrupt, timer and so on. Countdown system needs to use latch, matrix keyboard, LED digital display and other major modules, through interaction between different modules to complete the Countdown to the initial hardware. The countdown device in the LED digital display, In order to simplify the circuit, reduce costs, we adopt a software-based interface method, namely using Keil uVision3 software program for decoding.C language programming was used in the design , we completed the initial value can be set at any time based on 51 single-chip control of the 9999 seconds countdown system by making use of the countdown subroutine modules, matrix keyboard scanning module, interrupt, and also the correct subroutine calls.【Key words】Counter-down SCM Matrix keyboard Keil uVision3 LED digital display目录前言............................................................................................................................................................1***第一章倒计时系统简介 ............................................................................................................................2***第一节功能说明. (2)一、设计要求 (2)二、方案说明 (2)三、系统功能 (3)第二节开发作用和意义 (3)第三节本章小结 (4)第二章MCS-51单片机基本原理 (5)第一节单片机概述 (5)一、单片机基础 (5)二、单片机应用领域 (7)三、单片机的生产厂家和机型 (8)第二节MCS-51单片机的组成原理 (8)一、80C51芯片介绍 (8)二、8051 与80C51 (10)第三节MCS-51单片机的引脚功能 (10)一、主电源引脚Vss和Vcc (11)二、外接晶体引脚XTAL1和XTAL2 (11)三、控制引脚RST/VPD、ALE/PROG、PSEN、EA/Vpp (11)四、输出输入引脚 (12)第四节中断 (14)一、中断的概念 (14)二、8051中断系统结构 (15)三、中断响应条件 (18)第五节定时器与计数器 (18)一、定时器概述 (18)二、定时器控制字 (18)第六节本章小结 (20)第三章倒计时器系统设计与调试 .........................................................................................................21***第一节硬件电路设计 . (21)一、中央处理器模块 (21)二、锁存器 (23)三、矩阵键盘 (25)四、LED数码显示模块 (26)第二节软件设计 (28)一、程序准备 (29)二、键盘扫描程序设计 (30)三、倒计时初值设置 (31)四、倒计时模块子程序设计 (32)五、其他子程序设计 (33)第三节系统调试 (34)一、系统调试工具Keil uVision3 (34)二、调试的主要方法 (34)结论 (38)致谢 (39)参考文献 (40)附录 (41)一、英文原文 (41)二、英文翻译 (51)三、源程序 (61)前言51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。
基于51单片机的可预置分秒倒计时装置

1.设计方法本次课程设计的题目是设计并实现可编程倒计时装置。
具体要求是按秒倒计时并键盘预置分、秒各两位数,键控启动计时,数码管显示倒计时;计时器归零时输出一音频信号。
根据实验要求选用AT89C52单片机作为最基本的部件,包括数码管部分,蜂鸣器部分,矩阵键盘部分等几大模块,以下依次进行介绍。
1.1 硬件简介(1)AT89C52AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
引脚图如下:图一PDIP封装的AT89C52引脚图该单片机的功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)为供电端口,接+5V电源的一端,GND(20脚)为接地端,接地。
P0~P3为可编程通用I/O 脚,在本设计中,P0端口(32~39 脚)被定义为数码管数据输入端口,分别与数码管的相应功能管脚相连接。
P2端口外接一个74LS373对控制信号进行锁存,然后从P2口的低四位输出到数码管的片选端,进行对四位数码管的选择。
P3口中的P3.0接蜂鸣器的使能端,控制蜂鸣器的选通。
(2)时钟振荡器AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
基于C51的倒计时器设计

广州理工学院《单片机原理与应用》课程设计报告设计课题:基于C51的倒计时器设计学院:电气与电子工程学院班级:姓名:学号:指导教师:日期:2020.11.6---2020.11.19评分:摘要本系统采用STC89C52单片机,设计一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数字,4位数码管显示计时数字,可选择倒计时范围在(1-9999),设定时间后,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。
关键词:STC89C52;数码管显示;可控倒计时器A B S T R AC TS TC89C52m i c ro c on t rol l er i s ap pl i e d i n t hi s s ys t e m, de s i gn ana d j u s t ab l e t i m e r, t h ec ou nt do wn t i m er n um b er c a n f r e el y t h r ou gh t h eb ut t o ns t o a dd KEY1/m i n us K E Y2N u m b e rs, t h e fo ur d i gi t a l t u b e d i s pl a y t i m i n g Nu m b e r s,c an ch oo s e t he c o unt do w n r a n ge i n (1-9999), s e t t i n g t i m e,p r ess t h e b ut t on K EY3s t ar t t h e c ou nt do wn,wh e n t h e c o un td ow n t o z er o, b uz ze r t o re c e i v e si gn al s, s e nd s out t he a l a r m.K E Y W O R DSSTC89C52; Digital tube display; Controlled countdown timer目录概述 (1)一、方案设计 (2)1.1设计任务及其要求 (2)1.2器材选定 (2)二、硬件设计 (3)2.1复位电路 (3)2.2按键电路 (3)2.3时钟振荡电路 (4)2.4单片机最小系统模块电路 (4)三、软件设计 (5)3.1程序流程图 (5)3.2设置数值加减程序 (6)3.3设置倒计时程序 (6)3.4设置蜂鸣器程序 (7)3.5总程序 (7)四、调试与实现 (11)4.1实物连线 (12)4.2连线步骤 (13)4.3模块测试 (14)4.4功能实现 (14)五、课程设计体会与总结 (15)5.1总结 (15)参考文献 (15)附录 (16)附录表1 倒计时器元件清单 (16)概述本项目是由单片机通过执行设定设定的程序,设计的一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数值,由4位数码管显示计时数值,选择在(1-9999)的倒计时范围内,设定时间,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。
基于AT89C51单片机的倒计时

单片机课程设计题目:基于AT89C51单片机的倒计时学院:机械与电气工程学院专业:电气工程及其自动化学号:101401010205目录1、设计要求 (3)2. 工作原理 (3)2.1硬件设计 (4)2.1.1 单片机AT89S51 (4)2.1.2 显示器件选择 (5)2.1.3复位电路 (7)2.1.4 时钟电路 (7)2.1.6 蜂鸣器 (9)3、软件设计 (10)3.1 按键流程图: (10)3.2 定时器流程图: (11)3.3蜂鸣器发出音乐流程图: (12)3.4主程序流程图: (13)4、电路仿真 (14)参考文献 (15)附录1 电路图 (16)附录2 程序 (16)附录3 元件清单 (21)1、设计要求利用AT89C51单片机结合LED显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,红色LED灯闪烁,通知倒计数终了,该做应当做的事。
定时闹钟的基本功能如下。
●显示格式为“分分:秒秒”。
用4个按键操作来设置当前想要倒计数的时间。
一旦按下键则开始倒计数,当计数为0时,发出一阵利用AT89C51单片机结合LED显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,红色LED灯闪烁,通知倒计数终了,该做应当做的事。
音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1~K4动作如下。
●K1—可调整倒计数的时间1~60分钟。
●K2—设置倒计数的时间为5分钟,显示“0500”。
●K3—设置倒计数的时间为10分钟,显示“1000”。
●K4—设置倒计数的时间为20分钟,显示“2000”。
按K1键则在LED上显示出设置画面。
此时,若:a. 按操作键K2—增加倒计数的时间1分钟。
b. 按操作键K3—减少倒计数的时间1分钟。
c. 按操作键K4—设置完成。
附加功能:K5—计数开始按钮。
毕业设计(论文)-基于at89c51单片机的倒计时系统设计[管理资料]
![毕业设计(论文)-基于at89c51单片机的倒计时系统设计[管理资料]](https://img.taocdn.com/s3/m/5de5e328d15abe23492f4d50.png)
HUBEI UNIVERSITY OF EDUCATION 高等教育自学考试毕业设计(论文)题目基于单片机倒计时系统专业班级电子信息工程0703班学号姓名指导教师姓名、职称所属助学单位湖北第二师范学院2011年 02月 28日毕业论文开题报告书基于单片机倒计时系统摘要摘要:来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。
并采用电子秤原理可根据输入单价准确的计算出物体的金额。
本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
关键词:单片机;AT89C51;LED数码管显示器;keil C;晶体振荡器目录绪论 (9)1 课题背景 (10) (10)国内外研究现状 (10)课题研究方法 (11)2 硬件设计 (12)单片机简介 (12)单片机技术的发展 (12)单片机系统的应用 (13).2 单片机AT89C51 (14)AT89C51 的基本结构和引脚功能 (14)机器周期和指令周期 (17)LCD简介 (18)LCD显示器的基本结构和特点 (18)本章小结 (19)3 软件设计 (20)中断机制 (20)硬件中断和软件中断 (20)定时器/计时器 (21)定时器/计时器的结构 (21)定时器/计数器的计数信号 (21)程序结构类型 (22) (22) (25) (26) (26)4 软件设计 (28) (28) (28)C软件 (28) (29)、软、硬联接 (31) (31)结束语 (32)总结 (33)致谢 (34)参考文献 (35)附录 (36)附录A (36)附录B (37)绪论随着人们生活水平的不断提高。
本科毕业设计之基于51单片机控制的60秒倒计时系统设计

摘要最近几年来随着运算机在社会领域的渗透,单片机的应用正在不断地走向深切,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小,易于产品化、面向控制、集成度高、功能强、靠得住性高、价钱低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中取得了普遍的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来利用。
可是仅单片机方面知识是不够的,还应按照具体硬件结构,和针对具体应用对象特点的软件结合,以作完善。
本次设计采用C语言编程,通过倒计时子程序模块、矩阵键盘扫描模块、中断等子程序的正确挪用,完成了能够随时设置初值的基于51单片机控制的60秒倒计时系统。
关键词:倒计时单片机KeiluVision3 LED数码显示器目录1 MCS-51 单片机硬件结构及原理 (1)MCS-51系列单片机结构 (1)1.1.1 MCS-51单片机的大体组成 (1)1.1.2内部大体结构 (3)MCS-51单片机存储器安排 (6)1.2.1存储器空间安排 (6)1.2.2片内存储器 (6)单片机秒表课程设计的概述 (9)课程设计思路及描述 (9)课程设计任务和要求 (10)系统硬件方案设计 (11)软件方案设计 (11)生“HEX”文件的步骤 (12)源程序及注释 (15)原理图分析 (16)课程设计效果 (18)总结 (19)致谢 (20)参考文献 (21)1 MCS-51 单片机硬件结构及原理 MCS-51系列单片机结构 1.1.1 MCS-51单片机的大体组成 1 整体结构图1-1单片机的整体结构2. MCS-51单片机外部引脚及其说明最多见的封装形式是40引脚双列直插式DIP(Dual In-line Package) 尚有44引脚的无引线芯片载体封装PLCC(Plastic Leaded Chip Carrier)图1-2 MCS-51单片机外部引脚及说明其中两条电源线,两条外接晶体,4条控制或作电源复用,32条I/O 引线。
51单片机定时器数码管60秒倒计时

51单片机定时器数码管60秒倒计时#include#include"delay.h"#define DataPort P0sbit Latch1=P2^2;//段锁存sbit Latch2=P2^3;//位锁存unsigned char code DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0 x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~Funsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char i=0,num=60,j=0;void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响TH0=(65536-50000)/256; //重新赋值TL0=(65536-50000)%256;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}main()unsigned char Temp[2];Init_Timer0();while(1){Temp[0]=DuanMa[num/10]; Temp[1]=DuanMa[num%10];DataPort=WeiMa[i];Latch2=1;Latch2=0;DataPort=T emp[i];Latch1=1;Latch1=0;DelayMs(1);i++;if(i>=2){i=0;}if(num==0xff){num=60;}}void Timer0_isr(void) interrupt 1 using 1 {TH0=(65536-50000)/256; //重新赋值TL0=(65536-50000)%256;j++;if(j==20){j=0;num--;}}#includetypedef unsigned char uchar ; typedef unsigned int uint ;uchar temp,bai,shi,ge,num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,};//定义数码管参数void delay(uint);//声明全局函数void display();void main(){temp=60;num=0;while(1){TMOD=0x01; //定时器0EA=1; //开总中断ET0=1;TR0 = 1; //开定时器中断display();delay(5);display();delay(5);}}void T0_time()interrupt 1 {TH0=(65536-45872)/256;TL0=(65536-45872)%256; num++;if(num==40){num=0;temp--;if(temp==0){temp=60;}}}void display() {ge = temp / 10; shi = temp % 10; P0 = table[ge];P2 = table[shi];}void delay(uint z) {uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--); }。
51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位)

51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位)51单片机定时器数码管30秒倒计时(带三个按键控制开始,暂停,复位)程序:#include ""unsigned char code led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char code addr[2]={0xef,0xdf};unsigned char xx[2];unsigned char time=30;unsigned char flag=0;void delay(void);void sys(void){TMOD=0x01;TH0=(65536 - 50000) / 256;TL0=(65536 - 50000) % 256;ET0=1;TR0=1;EA=1;EX0=1;IT0=1;}void ftimer0(void) interrupt 1{static unsigned char cnt;TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt>20){if(flag==1){time--;cnt=0;if(time==0){ET0=0;TR0=0;}}51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位)}}void int0(void) interrupt 0{if(P2_0==0){flag=1;ET0=1;}else if(P2_1==0){ET0=0;}else if(P2_2==0){time=30;ET0=0;TR0=1;}}void main(){unsigned char a;sys();for(;;){for(a=0;a<2;a++){xx[0]=time/10;xx[1]=time%10;P0=led[xx[a]];P1=addr[a];delay();P1=0xff;}}}void delay(void){long t=100;while (t--);}51单片机定时器数码管30秒倒计时(三个按键控制开始暂停复位) 电路图及结果:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
倒计时器只要修改此文档15页源程序的(如下图)的到计时初值即可实现想要的倒计时。
比如30分钟倒计时修改分钟十位和各位即可。
一、设计要求:由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。
倒计时到,由蜂鸣器发出报警。
绘制系统硬件接线图,并进行系统仿真和实验。
画出程序流程图并编写程序实现系统功能。
二、设计的作用目的:此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。
三、具体设计:1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。
如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。
单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。
单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。
目前单片机已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
单片机已在广阔的计算机应用领域中表现得淋漓尽致电器因此,单片机已成为电子类工作者必须掌握的专业技术之一。
单片机就是一个微型中央处理器,通过编程即能完成很多智能化的工作,因此它的出现给电子技术智能化和微型化起到了很大的推动作用。
本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
面对如此功能强大的单片机,结合本次设计要求,应该要用到单片机的内部时钟电路以及外围的显示接口电路和报警电路。
对与时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。
在显示方面,有着多种选择,但是8段LED数码管足以满足此次设计的要求了。
LED 数码显示器是一种有LED发光二极管组合显示字符的显示器件。
它使用了8个LED发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为8段发光二极管数码器。
其内部结构如下图(a)所示:LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每个发光二极管的阳极通过电阻与输入端相连。
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口无法直接驱动,所以要利用放大电路来驱动,一般使用三极管来放大电流。
本设计采用p3.0口和三极管组成的电路来驱动蜂鸣器。
2.总体设计思想:本设计是基于AT89C51单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为两大部分,即键盘输入控制部分和显示部分,对于每一个部分都有不同的设计方案,起初我对键盘和显示每个都拟订了下面两种方案:键盘部分:第一种方案:采用扫描键盘,可以用普通按键构成4×4矩阵键盘,直接接到AT89C51单片机的P1口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。
这种方式相对下面的独立式键盘节省了很多的I/O口。
第二种方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。
键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。
显示部分:第一种方案:显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用一个独立的具有锁存功能的接口用于存储字形码。
这样单片机只要把要显示的字形代码发送到接口电路,从而输送至各数码管显示。
被显示的数据只要输出一次,直到要显示新的数据时,再发送新的字形码。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
第二种方案:显示部分采用动态显示。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
动态显示是利用人眼视觉暂留特性来实现显示的。
事实上,显示器上任何时刻只有一个数码管有显示。
由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。
为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。
本设计可采用P0口直接驱动七段数码管显示。
此方案成本低,而且单片机的I/O口占用较少,可以节约单片机接口资源,而且功耗更低。
由于本设计要求按键较少,且本次设计只是对所学知识的一次实践,设计要求简单,容易实现,成本低廉。
比较以上各种设计方案,采用独立式键盘和动态显示两种方案配合,成本低,占用单片机资源少,且容易实现,这样的设计比较适合本次设计,故最终决定选用这样的一种搭配设计方案。
对于蜂鸣器,将采用p3.0口和三极管组成的外围电路驱动,根据定时时间报警。
3.具体实现方法:根据设计任务与要求,可初步将系统分为五大功能模块:主电路、按键电路、显示电路、报警电路。
进一步细说,主电路选用AT89C51作为中央处理器,系统采用12MHZ的晶振;按键停控制电路由四个按键(复位键、启动/暂停键、设置键、+1调时键)组成,键盘采用软件扫描的方式设计,低电平有效;显示电路由六位七段共阴极数码管和一个9位200欧姆上拉电阻组成,显示内容有倒计时器的0.1秒位以及分秒的个、十位,数码管通过P0口直接输出数据;报警电路主要由蜂鸣器组成,通过电路与P3.0口相连。
当P3.0口输出高电平时,蜂鸣器响。
对于本次单片机课程设计,根据设计要求可以将功能分成如下4部分:(1)由于单片机内部振荡方式电路简单,时钟信号比较稳定,是独立的单片机应用系统的首选,故本设计采用内部振荡方式,采用12MHZ的晶振。
图(1)晶振电路图(2)本设计电路采用定时器T0产生定时中断,由于本设计需要0.1s的基本时间,故选择其工作在定时方式1下。
这时定时器T0是一个16位的计时器,由它产生50ms 的基本定时中断,两次中断后将得到0.1s的时间。
(3)键盘电路有独立式键盘和矩阵式两种。
独立式键盘占用I/O口线较多,适用于按键较少的情况。
矩阵式键盘占用的I/O口相对较少,适用于按键很多的情况。
图(2)键盘电路图(4)报警电路将采用p3.0口驱动,当数码管显示00.00.0时p3.0口输出高电平,驱动蜂鸣器达到报警的目的,只有当复位键按下后,蜂鸣器才会停止报警。
图(3)蜂鸣器报警电路图(5)对于显示电路,本设计采用6位8段共阴极LED数码管显示。
上电显示最大倒计时时间60.00.00-。
其中“-”位为系统状态标志位,当显示“-”时,表示系统处于等待状态,按下开始键后将开始计数,开始计数后此数码管将关闭显示,以达到省电的目的,当显示“E”时,表示系统正处于调时状态,此时只用两个调时键有用,按下开始键或复位键将没有用。
图(4)显示电路图系统的原理框图如下图:图(5)系统原理框图图(6)硬件连线图硬件连接说明:本系统以AT89C51单片机为核心。
单片机采用内部振荡的方式。
通过200欧姆电阻与一个6位8段LED数码显示管相连。
从P0口输出LED数码管的字形码,从P2口输出LED数码管的位选码,高电平有效。
4个功能按键和P1口相连,中间通过10K的电阻与+5V电源相连,按键另一端接地,P1口低电平时表示按键被按下。
报警电路则与P3.0口相连,当P3.0口输出高电平时,蜂鸣器响。
在程序设计方面:将键盘扫描程序置于主程序中,采用扫描方式检测键盘的按键情况,主程序流程图见图(7)。