基于89C51的LED数字钟设计
单片机课堂展示 基于AT89C51单片机的数字时钟设计
CJNE A,#24H,DISH1 MOV HOUR,#00H DISH1:AJMP DISH ;转至时 显示缓冲区设置 KK2:JNB KEY3,KK3 ;判断 KEY3是否按下 JB KEY3,$ ;等待KEY3键释 放 MOV A,R3 RL A MOV DPTR,#KJMP2 JMP @A+DPTR KJMP2:AJMP DISCLK AJMP SDEC AJMP MDEC AJMP HDEC SDEC:MOV A,#9AH ;秒减1 CLR C SUBB A,#01H ADD A,SECOND DA A
3、程序代码
MOV TH0,#0B1H;定时器T0装入 初值20ms MOV TL0,#0E0H SETB ET0 ;T0中断允许 SETB EA ;总中断允许 MOV R2,#50 ;T0中断为1s SETB TR0 ;启动T0 MOV SECOND,#00H MOV MINUTE,#00H MOV HOUR,#08H ;初始化时间8 点00分00秒 MOV A,HOUR 时间值送显示缓 冲区79H~7EH ANL A,#0F0H SWAP A MOV 79H,A
二、设计背景
十一世纪的今天,最具代表性的计时产品就是电子万年历, 它是近代世界钟表业界的第三次革命。 第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率 源使钟表的走时差从分级缩小到秒级,代表性的产品就是带 有摆或摆轮游丝的机械钟或表。 第二次革命是石英晶体振荡器的应用,发明了走时精度更 高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。 第三次革命就是单片机数码计时技术的应用(电子万年 历),使计时产品的走时日差从分级缩小到1/600万秒,从原 有传统指针计时的方式发展为人们日常更为熟悉的夜光数字 显示方式,直观明了,并增加了全自动日期、星期、温度以 及其他日常附属信息的显示功能,它更符合消费者的生活需 求!
基于89C51系列单片机的电子钟设计
电子钟原理框图
主要器件:
• STC89C51
• 电源
稳压芯片:7805、LM1117-2.85
• USB转串口芯片:PL2303HX • 通讯芯片:MAX232 • 储存芯片:IIC协议控制芯片AT24C02 (EEPROM) • 时钟芯片:SPI协议控制芯片DS1302 • 温度传感器:1-WIRE协议控制芯片DS18B20 • 液晶显示芯片:1602
储存芯片:EEPROM (AT24C02)
AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节, CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有 一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门 的写保护功能。
PL2302(USB转RS232控制器)
//显示温度、秒、时、分数据: write_temp(12,flag);//显示温度,从第二行第12个字符后开始显示 write_sfm(8,miao); write_sfm(5,fen); write_sfm(2,shi);
//显示日、月、年数据: write_nyr(9,ri);//日期,从第二行第9个字符后开始显示 write_nyr(6,yue); write_nyr(3,nian); write_week(week);}
液晶显示1602
LCD1602初始化流程图
液晶写入指令、数据函数
液晶写入有关函数会在DS1302的函数中调用,所以液晶程序要放在前面 • • • • • • • • • • write_1602com(uchar com)//****液晶写入指令函数**** { rs=0;//数据/指令选择置为指令 rw=0; //读写选择置为写 P0=com;//送入数据 delay(1); en=1;//拉高使能端,为制造有效的下降沿做准备 delay(1); en=0;//en由高变低,产生下降沿,液晶执行命令 }
基于STC89C51单片机的数字时钟设计
基于STC89C51单片机的数字时钟设计基于STC89C51单片机的数字时钟设计现代社会,时间对每个人来说都是至关重要的。
无论是日常生活还是工作学习,我们都需要精确地掌握时间。
为了满足人们对时间的需求,数字时钟应运而生。
数字时钟以数字形式显示时间,具有读取清晰、显示准确等特点,成为了人们生活不可或缺的一部分。
本文将介绍一种基于STC89C51单片机的数字时钟设计。
首先,我们先了解一下STC89C51单片机。
STC89C51单片机是华中科技大学开发的一款单片机,具有性能优越、嵌入式功能强大等特点。
它集成了强大的CPU、周边模块和大容量存储器,能够实现各种功能。
在数字时钟设计中,我们选择STC89C51单片机作为核心控制器。
数字时钟设计主要分为两个模块,一个是时钟芯片,用于计时和存储时间信息;另一个是显示模块,用于显示时间。
首先,我们需要连接时钟芯片。
我们选择DS1302时钟芯片,它具有低功耗、精确性高等特点,能够满足数字时钟的需求。
通过将时钟芯片连接到STC89C51单片机的I/O口,我们可以通过单片机来读取时钟芯片中存储的时间信息。
接下来,我们需要设计显示模块。
我们选择了数码管作为显示元件,因为它具有读取清晰、显示准确等优点。
通过将数码管连接到STC89C51单片机的I/O口,我们可以通过控制单片机输出信号的方式来实现数字的显示。
在时钟的设计中,我们还需要考虑一些功能,比如时间调整功能、闹钟功能等。
我们可以通过增加按钮来实现时间调整功能。
当我们按下按钮时,单片机会接收到相应的信号,并做出相应的调整。
通过设置定时器,我们可以实现闹钟功能。
当定时器计数到预设时间时,单片机会触发相应的操作,比如发出声音或者控制其他设备。
数字时钟的设计不仅要考虑硬件部分,还需要编写相应的程序来控制单片机。
在这个设计中,我们需要实现时钟芯片的读取和显示模块的控制。
我们可以使用C语言来编写程序,并使用Keil C51开发环境进行开发。
基于89C51的数字电子钟设计课程设计
单片机原理与接口技术课程设计设计课题:基于89C51的数字电子钟设计单片机原理与接口技术课程设计课程设计名称:基于89C51的数字电子钟设计专业班级:自动F1106学生姓名:学号:指导教师:课程设计地点:课程设计时间:2013-12-16~2013-12-27单片机系统课程设计任务书目录1 概述 (5)1.1 研究背景 (5)1.2 设计思想及基本功能 (6)2 总体方案设计 (6)2.1 方案选取 (6)2.1.1显示模块选择方案和论证 (6)2.1.2时钟芯片的选择方案和论证 (7)2.2总体方案设计 (7)2.3 系统整体设计框图 (8)3 硬件电路设计 (8)3.1 电源电路设计 (8)3.2 晶振电路 (8)3.3 复位电路 (9)3.4 时钟电路 (10)3.4.1 DS1302芯片介绍 (10)3.4.2 DS1302在本设计中的应用 (14)3.5 键盘电路 (14)3.6 显示电路 (15)3.7 整点报时电路 (18)4 系统软件设计 (18)4.1 主程序软件设计 (19)4.2 键盘子程序设计 (20)4.3 日历时钟子程序设计 (21)4.4 显示子程序设计 (22)4.5 整点报时子程序的设计 (23)5 系统调试 (24)5.1软件调试 (24)5.2 硬件调试 (25)6 总结 (26)参考资料:......................................... 错误!未定义书签。
附录一:系统原理图................................. 错误!未定义书签。
附录二:元件清单................................... 错误!未定义书签。
附录二:源程序代码. (30)1 概述1.1 研究背景在日新月异的21世纪里,家用电子产品得到了迅速发展。
许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。
昆明学院单片机实训基于AT89C51单片机,制作一个LED显示的智能电子钟。
《单片机原理及应用》课程设计报告课题名称L E D电子时钟学院自动控制与机械工程学院专业电气工程及其自动化班级2013级2班学号姓名时间2015年7月3日目录一、设计目的及要求 (3)1、设计题目: (3)2、设计任务: (3)3、设计要求: (3)二、系统设计 (3)三、硬件设计: (4)1、单片机最小系统——AT89C51 (4)2、 LED数码管显示模块 (4)3、晶振模块: (5)4、按键模块: (5)四、软件设计: (6)1、Protues软件的介绍: (6)2、程序设计流程图 (7)3、软件仿真结果 (8)五、程序设计 (10)六、设计总结 (10)一、设计目的及要求1、设计题目:LED显示的电子钟2、设计任务:基于AT89C51单片机,制作一个LED显示的智能电子钟。
3、设计要求:(1)、用6个7段LED数码管作为显示设备,设计时钟功能。
(2)、显示格式,日期:YY MM DD,时间:HH MM SS.(3)、可以分别设计年、月、日,时、分、秒。
在复位后的日期应该为:12 01 01,时间为:00 00 00。
(4)、秒钟复位功能,当秒位键按下后,秒的那位回到00 。
(5)、键盘按键个数应该万为己确定。
(6)、@时间、月、日自行交替显示,或者按键切换显示。
二、系统设计设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。
设计中是采用单片机的内部定时器进行定时,程序框图如图2.1所示:图2.1系统框图整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。
三、硬件设计:硬件设计是指应用系统的电路设计,包括单片机芯片、控制电路、存储器、I/O 接口等等。
硬件设计时,应考虑留有充分余量,电路设计力求无误,因为在系统调试中不易修改硬件结构。
基于AT89C51单片机的电子钟设计
目录一、内容提要 (2)二、设计的基本步骤及方案 (2)三、硬件电路设计及描述 (4)四、软件设计程序框图 (6)五、硬件的调试过程 (13)六、课程设计体会 (14)七、参考资料 (15)附汇编语言一、内容提要1、设计任务利用AT89C51单片机制作,基于这种单片机自主创作一个LED显示的智能电子钟。
分析,综合考虑系统的主要功能,我们经过查阅资料、接口的设计、程序的设计、安装调试等环节。
完成一个基于MCS51系列的单片机,设计多种资源的掌握和应用,并具有综合能力的小应用系列的设计,同时学习并使用相关的仪器设备、软件进行编写和调试程序。
2、设计要求1)用六个七段LED数码管作为显示设备,设计时钟功能。
2)显示的格式应该为:日期、时间同时都能看到,并且表示的格式为:日期:YY MM DD, 时间:HH MM SS。
3)还要分别设计年、月、日、时、分、秒,在复位后的日期应该为:12 01 01,时间为:00 00 00 。
4) 秒钟复位功能,秒复位键按下后,秒回到00。
5)键盘按键个数应该万为己确定。
6)@时间、月、日自行交替显示,或按键切换显示。
7)12小时和24小时切换功能。
8)* 实现闹钟功能。
二、设计的基本方案及步骤1、主控制器1)单片机的选择与外围电路:AT89C51作为温度测试系统的核心器件。
该器件是INTEL公司生产的MCS-51系列单片机的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。
不仅结合了HMOS的高速和高密度技术及HMOS的低功耗特征,而且继承和扩展了MCS-48单片机的体系结构和指令系统。
单片机小系统的电路图如图所示。
AT89C51:AT89C51单片机的主要特征:1)与MCS-51兼容,4K字节可编程闪烁存储器;2)灵活的在线系统编程,掉电标识和快速编程特性;3)寿命为1000次写/擦周期,数据保留时间可10年以上;4)全静态工作模式:0HZ~33HZ;5)三级程序存储器锁定;128×8位内部RAM,32位可编I/O线;6)16位定时器/计数器,5个中断源,4个8位并行的I/O接口,1个全双工I/O 接口。
基于单片机89C51的数码管显示时钟设计
基于单片机的数字时钟摘要单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。
但是却很少知道它的内部结构以及工作原理。
由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行校时、定时等功能。
输出设备显示器可以用液晶显示技术和数码管来显示技术。
本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”,“分”,“秒”的现代计时装置。
与传统机械表相比,它具有走时精确,显示直观等特点。
另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
关键词:数字钟系统;单片机;数码管显示Digital clock systemAbstractSCM in multi-function digital clock in the application is already very common, people on the digital clock function and are very familiar with the work order. But very few know that its internal structure and working principles. SCM as a digital clock from the core controller, it can achieve the clock signal timing, its time data by the MCU output, use of monitors displayed. Keyboard can be carried out at the school, timing, and other functions. Output devices can be used liquid crystal display monitors and digital technology to display the technology.The system uses MCU with time, the school features such as the digital clock, SCM AT89C51 is also used as the core components of the LED digital display dynamic display "when" and "points" and "seconds" of the modern time device . Compared with the traditional mechanical watches, it has a precise path that intuitive, and other characteristics. In addition a school function, stopwatch function, and the timer function to achieve MCU use of the digital clock with programming flexibility to facilitate the expansion of functional advantages.Key words: digital clock system; SCM; LED Monitor目录设计任务书 (I)摘要 (III)ABSTRACT (IV)1.系统方案 (I)系统概述设计任务书 (I)摘要 (III)ABSTRACT (IV)1.系统方案 (1)1.1 系统概述 (1)1.2 方案论证 (1)1.3 扩展功能 (2)2.设计过程 (2)2.1 设计原理 (2)2.2 所需元器件 (2)3. 电路与程序 (2)3.1 电路设计 (2)3.2 程序设计 (3)3.2.1 程序流程图 (3)3.2.2 主要程序分析 (7)参考文献 (6)4. 总结体会 (16)1、系统方案1.1 系统概述本系统可模拟电子时钟,实现时钟,秒表,倒计时定时器功能,主从CPU数据处理、键盘控制与数据显示。
基于89C51单片机电子数字时钟的设计本科毕业论文
本科毕业论文基于89C51单片机电子数字时钟的设计目录第一章第一章 电子时钟的总体设计电子时钟的总体设计 ....................................................................................................... ...................................................................................................... 44 1.1 设计目的设计目的.......................................................................................................................... 4 1.1.1 课程设计课程设计 ............................................................................................................... 4 1.1.2 AT89C51芯片的串口功能芯片的串口功能.................................................................................... 4 1.1.3用keil 软件进行编程与调试 .................................................................................. 4 1.2 设计任务设计任务 .......................................................................................................................... 4 1.3 设计思路设计思路.......................................................................................................................... 4 第二章第二章 硬件系统的设计硬件系统的设计............................................................................................................... .............................................................................................................. 66 2.1 电路原理图设计电路原理图设计 .............................................................................................................. 6 2.1.1 电子钟的硬件电路框图电子钟的硬件电路框图...................................................................................... 6 2.2 AT89C51引脚及其功能 (6)2.2.1 AT89C51的原理及说明的原理及说明 ........................................................................................ 6 2.2.2 引脚功能引脚功能 ............................................................................................................... 7 2.3 驱动部件驱动部件 .......................................................................................................................... 8 2.4 显示部分显示部分.......................................................................................................................... 9 第三章第三章 软件系统的设计软件系统的设计............................................................................................................. ............................................................................................................ 110 3.1 电子钟的主程序电子钟的主程序............................................................................................................ 11 3.2 电子钟的显示子序电子钟的显示子序 ........................................................................................................ 12 3.3 定时器中断服务程序定时器中断服务程序 .................................................................................................... 13 3.4 电子时钟设计程序清单电子时钟设计程序清单 ................................................................................................ 15 3.5 程序进行编译仿真程序进行编译仿真........................................................................................................ 18 3.5.1 89C51程序 ......................................................................................................... 18 3.5.2 用PROTEUS ISIS 进行电子万年历的仿真测试 . (20)第四章第四章对89C51设计的电子时钟的总结................................................................................. 22 参考文献 ........................................................................................................................................ . (2)23摘要本次实训是基于AT89C51单片机电子钟的设计,对时、分、秒的显示的控制,时、分、秒用六位数码管显示LED 数码管时钟电路采用24小时计时方式。
基于at89c51的电子时钟设计
课程设计2:设计一个数字时钟。
要求如下:1.利用51开发板上LED数码管,LED灯,按键等设备,设计一个电子时钟。
2.电子钟使用4位数码管显示小时(24小时制)和分钟,秒可以使用LED灯或其他形式表现。
3.具有设置时钟功能,设置时间时,时间停止计时。
需要设置的位置数码管处于闪烁状态,如你想设置小时的数值时,显示小时的数码管需要处于闪烁状态,而显示分钟的数码管不可以处于闪烁状态,应处于正常显示状态。
4.按键可以选择独立键盘或矩阵键盘。
5.其他扩展功能(选做,能力强的可以做):如闹钟,时制切换等。
一.key.c#include "reg52.h"#include "key.h"extern unsigned char min_flag ;//标志位,控制分数码管闪烁extern unsigned char hour_flag ;//标志位,控制时数码管闪烁extern unsigned char shi ;extern unsigned char fen ;unsigned char key_flag = 0;//标志位,有按键被按下unsigned char key_con = 0;//控制位,控制按键(K1)被按下/*独立按键P12连接到51单片机P1端口k1对应的端口为P1.3k2对应的端口为P1.2k3对应的端口为P1.1k4对应的端口为P1.0*/code unsigned char arr[]={0xf7,0xfb,0xfd,0xfe};unsigned char read_key(unsigned char key){unsigned char i;for(i=0;i<8;i++){if(!(key & 1)){return i+1;}key>>=1; //key = key >> 1 ;}return 0;}void key_scan2(void){unsigned char temp;//键盘扫描temp = key4_scan();if(temp){if(!key_flag){if(temp==4)//K1被按下{key_con++;if(key_con==1) //第一次按下调整小时的数值{hour_flag=1;min_flag =0;}else if(key_con==2) //第二次按下调整分的数值{hour_flag=0;min_flag =1;}else //第三次按下取消调整{hour_flag=0;min_flag =0;key_con = 0;}}if(temp == 3) //增加数值{if(hour_flag){shi++;if(shi>23){shi = 0;}}else if(min_flag){fen++;if(fen>59){fen = 0;}}}if(temp == 2) //减少数值{if(hour_flag){shi--;if(shi>250){shi = 23;}}else if(min_flag){fen--;if(fen>250) //非负数,减的时候不会小于0{fen=59;}}}}key_flag = 1;}else{key_flag = 0;}}/*扫描独立键盘,输入参数:无返回值:有键按下时:返回对应的数字没有按键:返回0*/unsigned char key4_scan(void){unsigned char temp;P1 = 0xf;if(P1 != 0xf)//有按键被按下{temp = P1 & 0xf;//1110return read_key(temp);}return 0;}unsigned char sub_key_scan(unsigned char key) {unsigned char temp;P1 = key; //判断第一行temp = P1 >> 4;if(temp != 0xf){return read_key(temp);}return 0;}/*矩阵键盘硬件连接:P13连接到51单片机P1端口P1.0对应P13的1脚P1.1对应P13的2脚P1.2对应P13的3脚……P1.7对应P13的8脚输入参数:无返回值:有键按下时:返回对应的数字没有按键:返回0*/unsigned char key16_scan(void){unsigned char temp;unsigned char i=0;P1 = 0xf0;if(P1 != 0xf0)//有按键被按下{for(i=0;i<4;i++)//用函数扫描4行{temp = sub_key_scan(arr[i]);if(temp){return temp+(i*4);}}}return 0;}二.Key.h#ifndef KEY_H#define KEY_Hunsigned char key4_scan(void); unsigned char key16_scan(void);void key_scan2(void);#endif三.Led_reg.c#include "reg52.h"/*P2连接位码,P2.0连接Q4B,P2.1连接Q3B,P2.2连接Q2B,P2.3连接Q1B P0端口连接段码,P0.0连接A,。
基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告
课程设计报告课程名称:LED点阵显示时钟专业班级:课程设计参与人员:指导老师:宁波技师学院2013年9月26日摘要文章论述了基于AT89C52单片机的LED点阵显示电子钟设计控制系统, 并且可以对其进行设置。
基于AT98C52单片机的LED点阵显示电子钟具有结构简单,性能靠,价格低和灵活等优点,因此得到了广泛应用。
LED点阵显示屏是利用发光二极管或像素组成的平面式显示屏。
它具有发光效率高,使用寿命长,组态灵活等特点。
本文设计的是用4块8×8点阵显示屏制作的室内时钟,数字采用静止显示方式。
电子钟是一种利用数字电路来显示分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
本文介绍了LED点阵显示电子钟的发展历史及其应用范围。
目录1.总体设计方案及思路 (4)2.硬件设备及电路图 (5)3.所用的材料清单 (10)4.单片机汇编程序及解释 (13)5.组员分工 (27)5.1倪坤.单片机汇编程序的设计 (27)5.2倪翔.原理图及PCB的绘制 (27)5.3采佳浩.硬件设计思路和控制思路设计 (28)6课程报告的总结及调试程 (29)1总体的设计方案及思路:由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。
用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。
由此可见,通过A T89C51单片机的控制功能,完全可以实现LED点阵显示电子钟。
1.1硬件结构:根据项目的功能和要求,可采用A T89C51单片机作为核心控制器。
LED点钟电子钟系统组成包括:晶振电路模块、复位电路模块、显示电路模块、显示行驱动电路模块、蜂鸣器电路模块、按键电路模块以及电源模块。
基于AT89C51单片机多功能数字钟
1.引言数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
一、题目基于AT89C51的新一代单片机多功能数字钟。
二、课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
(4)了解数字钟的组成及工作原理.四、课程设计要求(1)掌握AT89C51实验开发系统中的实验模块原理,画出电路原理图;;(2)综合运用实验模块,用C51开发设计具有一定功能的单片机控制系统,进行软、硬件设计及调试;(3)写出完整的设计任务书:课题的名称、系统的功能、硬件原理图、软件框图、程序清单、参考资料;(4)时间以60分为一个周期;电子钟的格式为:XX XX,由左向右分别为:分、秒。
完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00,有上电自动复位功能1.1 单片机发展历史:单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
基于89C51单片机的多功能时钟设计
课程设计成果说明书题目:基于89C51单片机多功能时钟的设计学生姓名:学号:学院:机电工程学院班级:指导教师:李良儿浙江海洋学院教务处2012年12 月 16 日1摘要本设计是基于89C51单片机,主要以51单片机为控制核心,采用汇编语言进行编程。
设计的单片机多功能时钟系统由1块AT89C51芯片,1个7SEG八位LED数码管,2块74HC244列驱动及按键电路和闹铃电路组成。
具有正常的时钟显示,秒表计时和时钟校时等基本功能,同时发挥部分的功能也得到了实现,并且还具有一定的创新功能。
关键词单片机;多功能时钟;AT89C51;51单片机;目录一、设计任务及主要技术指标和要求 (6)1.1 设计任务 (6)1.2 主要技术指标和要求 (6)二、引言 (6)三、设计方案 (6)3.1 系统方案的选定 (6)3.2 系统总体设计框图 (6)四、系统硬件的设计 (7)4.1 系统总电路 (7)4.2 显示器 (7)4.3 按键电路 (7)五、系统软件的设计 (8)5.1 主程序 (8)5.2 显示子程序 (8)5.3定时器T0中断服务程序 (8)5.4 T1中断服务程序 (9)5.5 调时功能程序 (9)5.6 秒表功能程序 (9)5.7闹钟时间设定功能程序 (9)六、系统调试 (10)6.1 硬件调试 (10)6.2 软件调试 (10)6.3 综合调试 (10)七、指标测试 (10)7.1 测试仪器 (10)7.2 指标测试 (10)八、设计总结 (10)九、参考文献 (11)一、设计任务及主要技术指标和要求1.1 设计任务:单片机多功能时钟的设计。
1.2 主要技术指标和要求:基本要求:(1)、能实现正常的时钟功能。
分别由6个数码管显示实时的时、分、秒。
时、分后面加小数点区分。
(2)、能实现秒表的功能。
以0.01秒为计数单位,显示范围在0——9999.99秒。
有秒表的开始、停止和清零功能。
(3)具有时钟校时功能:能对时、分按实际时间进行手动校正。
基于AT89C51单片机的定时闹钟设计
学号: 班级: 姓名:基于89C51单片机的电子闹钟设计一、设计要求(1)设计并实现一个具有计时功能的电子时钟系统,电子表的时间精确到秒,并可以显示年、月、日、时、分、秒。
(2)利用液晶显示器显示定时器的日期和时间。
(3)使用键盘进行设置时间和设置闹钟。
(4)定时时间到通过蜂鸣器报警和发光二极管闪烁通知,并持续60s 。
二、硬件设计(1)系统设计框图(2)选择硬件设备单片机:选择AT89C51;液晶显示器:具有16字符显示功能的1601 键盘:选择4行*4列的矩阵键盘 LED :选择红色的发光二极管 E 2PROM :X2545基本元件:蜂鸣器,电容,晶体振荡器 ,电阻,开关 电源:使用+5v 直流稳压源 基本模块的构成①时钟信号发生单元如右图2 利用晶振和电容以及单片机内部 电路,构成晶体并联振荡器,产 生12MHz 的时钟频率 ②复位电路如右图3利用一个简单的电容和按键实现*SI SO SCK CSR/S R/W E 单片机 89C51液晶显示蜂鸣器LED E 2PROM X2545 512*8bit键盘P2口P1口图1定时器系统框图数码管显示统P0口P3.0P3.6、P3.7基本模块图2时钟信号发生单元实现对系统的复位功能由此基本模块可以实现最小的单片机系统(3)电子时钟硬件原理图图4硬件电路原理电路(4)主要器件的原理①液晶显示原理液晶显示器种类繁多,按输出样式分为,图案式,数码式,点阵式。
本设计方案利用的是点阵式液晶显示器,而液晶驱动方式又和数码管驱动截然不同,虽然比数码管需要更小的工作电压,但是其结构所需要的扫描方式较数码管来说,是比较复杂的,而且输入输出数据速度慢,市场上是常用点阵式液晶驱动器的,常用的有1601、1602……,“16”代表显示字符共有几列,“01”、“02”代表输出字符共有几行。
下面是驱动1601的驱动方法。
驱动1601的一个很重要的方面就是液晶显示器的初始化,主要是利用控制、数据复用总线来输入指令,进行初始化。
基于89C51系列单片机的电子钟设计
目录1设计要求 (2)2设计方案和论证 (2)2.1总设计原理框图 (2)2.2设计方案的选择 (2)2.2.1计时方案 (2)2.2.2显示系统的方案 (3)3硬件部分 (3)3.1主要器件 (3)3.2 IO口分配说明 (3)3.3详细器件介绍 (4)3.3.1 STC89C51单片机介绍 (4)3.3.2电源 (6)3.3.3复位电路 (7)3.3.4 ULN2003(大电流驱动阵列) (7)3.3.5储存芯片:EEPROM (AT24C02) (8)3.3.6 PL2302(USB转RS232控制器) (8)3.3.7液晶显示1602 (10)3.3.8时钟芯片DS1302 (11)4 软件部分 (13)4.1主程序流程图 (13)4.2液晶初始化流程图 (14)4.3时间与日期显示流程图 (15)4.4温度显示流程图 (16)4.5键扫描流程图 (17)5调试和结果分析 (19)5.1调试 (19)5.2问题和结果分析 (20)6心得体会 (20)1.设计要求设计产品实现一个依据时段可变显示亮度电子钟,具体如下:(1)能够实现基本时钟的走时,显示范围是00:00:00——23:59:59。
能够实现时钟的调整, 通过按键可以对“时”位和“分”位进行加1调节,并能当加至最大值时能重新归零。
(2)能够实现当前室温的测量功能,并在数码管上予以显示(3)能够实现年月日的显示与切换。
(4)能够实现温度的显示与切换。
(5)能够实现根据时段自动改变显示亮度。
2.设计方案和论证本次设计时钟电路,使用了STC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒、年、月、日、星期。
使用C 语言程序来控制整个时钟显示,主要这样通过四个模块:键盘、时钟芯片、温度传感器、1602lcd 显示即可满足设计要求。
2.1总设计原理框图 如下图所示:2.2 设计方案的选择2.2.1 计时方案方案一:采用实时时钟芯片现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。
单片机课程设计89C51数字时钟
单片机课程设计报告课题:基于89C51的数字时钟学院:理学院专业:光信息科学与技术**:***学号:*************:**淮海工学院2010年12月23日摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而51单片机是各单片机中最为典型和最有代表性的一种。
本实验是基于MCS51系列单片机所设计的,可以实现键盘按键与数字动态显示并可以用音乐倒数的计数器。
本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出时间。
一、设计目的1、学会掌握KeilC51汇编语言程序的设计和调试。
2、学会将所学的单片机原理的有关知识应用于实践,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养理论联系实际的学习作风,提高动手能力、分析并解决实际问题的能力。
3、使我们进一步了解掌握所学的专业知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解。
4、通过设计、分析、调试,培养我们工程意识,激发大家对产品开发的兴趣,及培养对科技革新、开发和创新的基本能力。
二、设计要求1.开机时,显示12:00:00的时间开始计时;2.P3.0/ AD0控制”秒”的调整,每按一次加1秒;3.P3.1/ AD0控制”分”的调整,每按一次加1分;4.P3.2/ AD0控制”时”的调整,每按一次加1小时;5.用protues画出原理图并仿真实现,写出源程序;6.在万用板上焊接元件调试;7.写出详细的实验报告。
三、所需电子元器件单片机89C51. 1个非门74LS04. 1个缓冲器74 LS373. 1个LG3611AH数码管. 6个电阻1(1KΩ). 8个电阻2(10KΩ). 1个电阻3(510Ω). 3个电容.(33pf) 2个电解电容. 1个四设计原理及其框图1.数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.⑴晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路.⑵分频器电路分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数.分频器实际上也就是计数器.⑶时间计数器电路时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器.⑷译码驱动电路译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流.⑸数码管数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管.2.数字钟的工作原理设计原理主要利用AT89C51单片机,由单片机的p2口控制数码管的位显示,p1口控制数码管的段显示,p3.0——p3.2与按键相接用于时间校正。
基于AT89C51单片机的数字时钟设计
摘要本文是基于AT89C51单片机数字时钟的设计,阐述了数字时钟的设计思路,详细叙述了系统硬软件设计的具体过程。
数字时钟的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,LCD显示电路,复位电路,时钟电路,晶振电路以及报时电路。
采用AT89C51作为主控器件,用DS1302实现时钟功能,用LCD1602为显示器件。
通过DS1302直接读取时间和星期。
具有整点报时的功能。
关键词:数字时钟,AT89C51,LCD1602,DS1302一系统总体方案采用数字芯片DS1302计算日期,输出信号全数字化。
采用AT89C51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
用LCD1602液晶显示芯片进行显示再加之键盘及报时等。
总体方案框图如下:图1 系统总体方案框图二系统硬件设计2.1 控制器本部分采用AT89C51作为主控制器。
AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
[1]下面介绍主要引脚功能功能如下:1 I/O接口MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图2。
P0.0~P0.7 P0口8位双向口线;P1.0~P1.7 P1口8位双向口线;P2.0~P2.7 P2口8位双向口线;P3.0~P3.7 P2口8位双向口线。
基于AT89C51芯片制作的数字时钟
龙岩学院课程设计报告课程设计题目基于AT89C51芯片制作的数字时钟班级05 电本(2)班姓名邵利威学号2005040324任务书一.任务利用(AT89C51芯片)单片机定时器制作数字时钟二.设计目的通过课程设计的教学实践,进一步学习、掌握单片机应用系统的有关知识,加深了解单片机的工作原理。
初步掌握简单单片机应用系统的设计、制作、调试的方法。
提高动手实践能力、提高科学的思维能力。
要求三.设计要求1)数码管显示当前的时间值;2)时间精度为0.5秒,由时、分之间的分隔点的闪烁体现;3)两个按钮,一个用作“时”的设定另一个做“分”的设定;四.制作要求1.掌握单片机最小系统的电路原理图;2.硬件的焊接、连接;3.独立编辑、编译软件;数字时钟目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。
要知道当前的时间,必须先开灯,故较为不便。
现在市场上也出现了一些电子钟,它以四只LED数码管来显示时分,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,只适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。
此外无论是机械钟、石英钟还是电子钟,都价格比较昂贵。
针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,经济实惠,且正确度高,又便于在无照明的情况下查看时间。
是一款真正价廉物美的电子时钟。
1 系统主要功能电子钟的主要功能有:四只LED数码管显示当前时分;两个按钮,一个用作“时”的设定另一个做“分”的设定。
长按按钮可进行快进调节。
2 系统的硬件构成及功能电脑钟的原理框图如图1所示。
它由以下几个部件组成:单片机89C2051、电源、时分显示部件以及显示驱动部分。
时分显示采用静态扫描,用74LS164驱动数码管显示时分,显示驱动的数据输出和时钟信号输出都通过AT89C2051的P1.0和P1.1口控制。
电源部分:电源部分有二部分组成。
单片机课程设计_基于89C51的数字电子时钟的设计.docx
.单片机系统课程设计成绩评定表设计课题基于 89C51 的数字电子时钟设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:指导教师意见:成绩 :签名:年月日.单片机系统课程设计课程设计名称:基于 89C51 的数字电子时钟设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:2014-01-01 ~2015-01-12学生姓名题目课题性质指导教师主要内容(参数)任务要求(进度)主要参考资料审查意见.单片机系统课程设计任务书专业班级学号工程设计课题来源自拟利用 89C51设计数字电子时钟,实现以下功能:1.开机时显示00-00-00 ,并开始连续计时;2.记时满 23-59-59 时,返回 00-00-00 重新开始计时;3.在单片机的 P1.0~ P1.3 口分别接入 4 个按键,P1.0 ~P1.2 分别用于“秒”“分”“时”的调整, P1.3 用做复位键。
第1-2 天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。
第3-4 天:按照确定的方案设计单元电路。
要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。
第5-6 天:软件设计,编写程序。
第7-8 天:实验室调试。
第9-10 天:撰写课程设计报告。
要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000 字。
[1]张迎新等 . 《单片微型计算机原理、应用与接口技术》 . 北京:国防工业出版社 ,2009.8 ;[2]谢维成等 . 《单片机原理与运用及汇编程序设计》 . 北京:清华大学出版社 2006.8 ;[3]周润景,刘晓霞等 . 《单片机实用系统设计与仿真经典实例》 . 北京:电子工业出版社, 2014.1 ;[4]夏路易,石宗义 . 《 Protel 99s]SE 设计教程》 . 北京:北京希望电子出版社 .2002.6 。
系(教研室)主任签字:年月日目录1引言 (5)2设计目的 (5)3系统方案与总体结构设计 . (5)3.1系统方案设计 (5)3.2数字时钟框图设计 (6)4数字时钟的硬件构成 (8)4.1选用芯片简介 . (8)4.2LED 数码显示器简介 (12)5各个模块工作原理及原理图 (12)5.1计时模块 (13)5.2数字时钟控制模块 (13)5.3振荡模块 (14)5.4显示模块 (14)6系统软件设计 (15)6.1软件设计的要点 (15)6.2AT89C51 内部定时器 / 计数器 0 的使用方法 (15)6.3程序设计流程图 . (16)7系统调试与总结 (17)7.1电路调试 (17)7.2软件调试 (17)8结论与心得 (18)附录 A 系统原理图 . (18)附录 B 源程序 (20)参考文献 (26)1引言数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,无机械装置,具有更长的使用寿命。
基于89C51的电子时钟设计课程设计论文
课程设计(论文)题目名称基于89C51的电子时钟设计课程名称单片机原理及应在电气测控学科中的应用学生姓名李珊学号1141201012系、专业电气工程系电气工程及其自动化指导教师朱群峰2013年6月14日邵阳学院课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。
指导教师(签字):学生(签字):邵阳学院课程设计(论文)评阅表学生姓名李珊学号1141201012系电气工程系专业班级电气工程及其自动化一班题目名称基于89C51的电子时钟设计课程名称单片机原理及应在电气测控学科中的应用二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
摘要单片计算机即单片微型计算机。
由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
本设计主要设计了一个基于AT89C51单片机的电子时钟。
并在数码管上显示相应的时间。
并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。
应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键字:单片机;子时钟;键盘控制。
目录摘要 (4)1 电子时钟 (6)1.1电子时钟简介 (6)1.2电子时钟的基本特点 (6)1.3电子时钟的原理 (6)2 单片机识的相关知识 (6)2.1单片机简介 (6)2.2单片机的发展史 (7)2.3单片机的特点 (8)2.489C51单片机介绍 (8)3 控制系统的硬件设计 (10)3.1单片机型号的选择 (10)3.2数码管显示工作原理 (10)3.3键盘电路设计 (11)3.4整个电路原理图 (12)4 控制系统的软件设计 (12)4.1程序设计 (12)4.2程序流程图 (15)4.3仿真图 (18)4.4仿真结果分析 (19)5 结束语 (19)6 附录 (20)参考文献 (28)1电子时钟1.1 电子时钟简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1 基于单片机的数字钟设计 (1)1.1 设计的背景意义 (1)1.2 设计的现状 (1)1.3 毕业设计要求 (1)1.4 毕业设计目的 (1)2 设计方案的论证 (2)2.1 主控器件的选择 (2)2.2 计时方案的选择 (2)3 AT89C51简介 (2)3.1 主要特性 (3)3.2 管脚说明 (3)3.3 振荡器特性 (4)3.4 芯片擦除 (5)3.5 键盘检测原理 (5)3.6 单片机中断与定时器/计数器简介 (7)4 电路设计 (9)4.1 单片机最小系统 (9)4.2 LED显示电路 (11)4.3 键盘与AT89C51 的连接电路 (13)5 软件设计 (13)5.1 设计的思路 (13)5.2 系统软件设计流程图 (13)6 结束语 (17)主要参考文献: (18)附录A (19)附录B (20)致谢 (24)1 基于单片机的数字钟设计1.1设计的背景意义20世纪末,电子技术获得了飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记要做的事情,当事情不是很重要的时候,这种忘记无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
1.2设计的现状目前,单片机在朝着高性能和多品种的方向发展的同时也进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛地使用。
数字钟是采用数字电路实现对时、分、秒,数字显示的计时装置,广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、校时自动打铃、时间程序自动控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用有着非常现实的意义。
1.3毕业设计要求(1)掌握AT89C51实验开发系统中的实验模块原理,利用Proteus画出电路原理图;(2)使用C语言进行程序编写,利用Keil进行程序的调试;(3)利用LED数码管进行时分秒的显示;(4)设计三个功能键,分别为调节时、调节分和调节秒键;(6)写出完整的设计任务书:课题的名称、系统的功能、硬件原理图、软件框图、程序清单、参考资料;1.4 毕业设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(4)掌握Proteus及Keil软件的使用;(3)通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤;2 设计方案的论证2.1 主控器件的选择51系列单片机技术成熟,资源丰富,使用灵活,足够满足需要,是最好的选择,但由于万年历功能由程序实现,程序算法较复杂,而且需控制液晶屏幕,字库占用很大存储空间,因此在单片机的选择上应采用Flash存储器较大的单片机,Atmel公司的AT89C51可以满足要求。
2.2 计时方案的选择用单片机的定时中断,可实现精确计时,完全可以满足数字钟的要求,如使用专用的时钟芯片,增加成本,使硬件繁琐,降低了系统的稳定性,故选择用单片机计时器计时。
3 AT89C51简介AT89C51 是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8 位微处理器,俗称单片机。
AT89C2051 是一种带2K 字节闪烁可编程可擦除只读器的单片机。
单片机的可擦除只读存储器可以反复擦除100 次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。
由于将多功能8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051 是它的一种精简版本。
AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机内部结构图为如图1[1]。
图1:单片机内部结构图3.1 主要特性·与MCS-51 兼容·4K 字节可编程闪烁存储器·寿命:1000 写/擦循环·数据保留时间:10 年·全静态工作:0Hz-24Hz·低功耗的闲置和掉电模式·片内振荡器和时钟电路3.2 管脚说明VCC:供电电压GND:接地。
P0 口:P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8个TTL门电流。
当P1 口的管脚第一次写1 时,被定义为高阻输入。
P0 能够用于外部程序数存储器,它可以被定义为数据/地址的第8位。
在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)这是由于上拉的缘故。
P3 口也可作为AT89C51 的一些特殊功能口,如下表1所示。
表1:P3口的其他特殊功能P3 口同时为闪烁编程和编程校验接收一些控制信号。
P0,P1,P2,P3 口引脚图为如图2所示。
图2:单片机引脚图RST:复位输入。
当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH 编程期间,此引脚用于输入编程脉冲。
在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。
如想禁止ALE 的输出可在SFR8EH 地址上置0。
此时,ALE只有在执行MOVX,MOVC 指令是ALE 才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE 禁止,置位无效。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出[4]。
3.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.4 芯片擦除整个PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU 停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
MCS-51 单片机是美国INTE 公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51 的5 倍,实际使用方面已经被市场淘汰)和8751 等通用产品,一直到现在,MCS-51 内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51 等),各高校及专业学校的培训教材仍与MCS-51 单片机作为代表进行理论基础学习[5]。
3.5 键盘检测原理键盘实际上就是一组按键,在单片机外围电路中,通常用到的按键都是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开,图4是集中单片机系统常见的按键。
图3:单片机系统常见的按键单片机检测按键的原理是:单片机的I/O口既可以作为输出也可作为输入使用,当检测按键时,用的是它的输入功能,把按键的一段接地,另一端与单片机的某个I/O 口相连,开始时先给该I/O口赋一高电平,然后让单片机不断地检测该I/O是否变为低电平,当按键闭合时,即当该I/O口通过按键与地相连,变为低电平,程序一旦检测到I/O口变为低电平则说明按键被按下,然后执行相应的指令。
按键的连接方法如图4所示,右侧的I/O端与单片机的任一I/O口相连,按键在被按下时,其触点的电压变化过程如图5所示。
图4:按键与单片机连接图图5:按键被按下时电压的变化由图5可看出,理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms,通常我们手动按下键后立即释放,这个动作中稳定闭合的时间超过20ms。
因此单片机在检测键盘是否按下时要加上去抖动操作,通常我们用软件延时的方法就能很容易解决抖动问题。
编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时,检测松手时就不用加了。