基于51单片机的电子表设计

合集下载

基于51单片机的电子表设计

基于51单片机的电子表设计

1 绪论电子表是20世纪50年代才开始出现的新型计时器。

最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。

这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。

它的走时部分与机械手表完全相同,被称为第一代电子手表。

1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。

这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。

它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。

1969年,日本精工舍公司推出了世界上最早的石英电子表。

石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。

石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。

当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。

这样的性质在很多结晶体上也可见到,称为“压电效果”。

石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。

1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

51单片机实现数码管电子表

51单片机实现数码管电子表
//
// 按button1切换时间显示状态, 时:分 <--> 分:秒
// 按button3开关整点报时
void checkButtonTime()
{
if(isButton(0))
{
mode = 0; //调时间
PILOT_LIGHT |= 0xc0; //开启前两个灯
k = 5;
while(k != 0 && (P2 & 0x0f) ==p)
{
k--;
j = 100;
while(j != 0 && (P2 & 0x0f) == p)
{
j--;
if(mode == 0)
displayTime(hour,min,0);
//在进入调时间模式时flag标志是否调过时间
unsigned char flag = 0,tellTime = 1;
//当前时间
unsigned char hour = 5,min = 59,sec = 40;
//起床和熄灯时间
unsigned char getUpH = 6,getUpM = 0,sleepH = 22,sleepM = 30;
PILOT_LIGHT |= 0x0c;
tempP3 = P3;
while(1)
{
displayTime(sleepH,sleepM,0);
if(isButton(0))
{
EA = 1;
mode = 3; //恢复正常走表形式
PILOT_LIGHT &= 0x03;
tempP3 = P3;

基于51单片机的电子表设计

基于51单片机的电子表设计

1 绪论电子表是20世纪50年代才开始出现的新型计时器。

最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。

这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。

它的走时部分与机械手表完全相同,被称为第一代电子手表。

1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。

这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。

它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。

1969年,日本精工舍公司推出了世界上最早的石英电子表。

石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。

石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。

当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。

这样的性质在很多结晶体上也可见到,称为“压电效果”。

石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。

1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

基于80C51单片机的智能电表设计

基于80C51单片机的智能电表设计

基于80C51单片机的智能电表设计智能电表的推广与使用是一项惠及百姓的民生工程,它大大改善了农村居民用电条件,提高了配电网的自动化水平,对于减少电力能源的消耗具有重大的意义。

采用单片机80C51为核心,同时增加电能计量芯片CS5460A、LCD显示器1602、Wifi通信电路、SD存储卡等芯片,来实现电能的计量与显示、无线通信、数据存储等功能。

用户可以通过电表上的按键来选择是显示用户当前用电量,还是某一时段用电量。

随着计算机技术和通信技术的发展,建筑智能化程度越来越高。

住宅的智能化抄表系统在建筑智能化中是必不可少的。

在我国,对用户的电表仍采用人工抄表的方法。

这种原始的查表方法不仅造成了人力、物力的浪费,打扰居民正常生活,而且其精度差,电量数据需要人为读数不能实时传输。

为了从根本上解决这个问题,因此设计一种基于单片机的智能电表。

电表若以单片机为主体取代传统仪器仪表的常规机械及电子线路,可以容易地将计算技术与测量控制技术结合在一起,形成智能化测量仪表。

这种仪表由计量电路、微处理器、LCD显示器、实时时钟、通信接口及电源等组成,具有电能量计量、信息存储及处理、实时监测、自动控制、信息交互等功能。

1 智能电表的工作原理智能电表的硬件方案框图如图1 所示。

电能表主要由计量、电源管理、存储、显示、按键处理、脉冲输出和通信单元7 个部分组成。

本文的智能电表是以80C51为核心处理器。

除此之外,加入了电能计量芯片CS5460A 和LCD 显示芯片1602,用于用户用电量的计量与显示。

但是,由于CS5460A芯片只能测量瞬时的电量,所以,还需要采用时间芯片DS1302将时间分段,这样电表就可以通过按键,不但可以显示出用户的瞬时用电量,而且还能显示某个时段的用电量。

WiFi通信电路的使用,可以实现智能电表的无线通信,这样查电表的工作人员不用再挨家挨户的登门查询,而是直接接收WiFi信号,就可以了解到用户的用电情况,比较方便、省时。

基于51单片机的电能表的课程设计任务书

基于51单片机的电能表的课程设计任务书

基于51单片机的电能表的课程设计本次设计主要是利用单片机和接口技术设计、研制一种新型电能表,可实现峰谷用电量和剩余金额,并用LCD显示。

进一步了解有关单片机、存储电路、IC卡的应用;掌握信号获取、传输、处理及检测的一般方法;综合运用已有的理论和技术,制定设计方案,掌握用电量的测量方法;学会应用存储电路、IC 卡、单片机组建一个实际测量系统,提高设计者的应用能力;通过测量、计算、显示,能运用所学知识并学会查阅有关资料,培养仪器仪表设计的基本技能,为今后的深入学习等奠定基础。

1.1、设计要求参考利用存储电路、IC卡、单片机及其接口技术研制出一种新型电能表,设计内容包括:(1)详细了解所选用的存储电路、IC卡、单片机的工作原理和工作特性;(2)设计合理的计算测量电路;(3)用单片机、IC卡、LCD的显示技术实现测量电路,单片机的指令系统开发相关的应用程序,并对程序作详细的分析和解释。

(4)列出制作该装置的元器件,搭建试验电路,并进行试验验证调试。

(5)撰写详细的设计技术报告。

1.2、方案设计与分析此电能表主要由计量模块、单片机、IC卡模块、LCD显示、EEPROM存储器、实时时钟电路及电源电路等部分组成。

其硬件系统框图如下图1所示。

其中,单片机以AT89C51为电能表的核心控制芯片,它是电能表的“大脑”,外围所有的硬件模块都是在它的控制协调下进行工作的。

单片机通过控制在其中的各种程序,控制着其它硬件模块的工作状态,由它智能化地形成并可靠地提供电能计算、时段判断、费率切换、IC卡读写、电能量控制及负荷控制等功能。

1.3、AT89C51单片机本电能表的硬件设计原则是在低功耗的前提下,实现多功能目的,该芯片功耗低,特别适用于电能表控制线路多、功能全、功耗低的要求。

它能方便地读取IC卡的数据,并控制液晶显示器的工作,同时还可以将电能表的数据存入EEPROM进行永久保存并可通过串口送至表外的数据终端,大大地提高了电能表的智能化功能。

#基于51单片机的简易电子表设计与仿真

#基于51单片机的简易电子表设计与仿真

智能仪器及使用实验报告项目名称:基于51单片机的简易电子表设计和仿真专业名称:测控技术和仪器班级:测控0901班学生姓名:指导教师:一、任务要求使用Keil uVision编程软件以及ISIS 7 Professional仿真软件制作一个简易电子表,要求具备电子表基本功能(时间显示、时间调整等)。

二、总体设计方案利用AT89C51作为控制以及1602LCD作为显示,通过6个按键实现出入时间设置状态、出入闹铃设置状态、小时位调整、分钟位调整、开关闹铃等功能。

系统的流程图如下:图1-1 系统仿真流程图三、系统硬件1、AT89C51引脚功能说明:AT89C51芯片如图1-2所示图1-2 AT89C51VCC:供电电压。

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编程和校验时接收高八位地址信号和控制信号。

单片机电子表设计

单片机电子表设计

目录第1章单片机和数字钟概述 (5)第2章系统总体方案设计 (6)2.1课程设计内容要求 (6)2.2设计思路简要分析 (6)第3章硬件设计 (8)3.1 结构框图 (8)3.2工作原理 (8)3.2主要硬件功能及机构介绍 (10)3.2.1、晶振电路 (10)3.2.2、AT89C51 (10)3.2.3、6位7段共阳显示器 (11)3.2.4、8255芯片 (12)第4章软件设计与调试 (13)4.1 系统软件方案的设计 (13)4.2 系统应用程序设计 (13)4.2.1主程序设计 (13)4.2.2子程序设计 (15)第5章调试和使用说明 (17)第六章总结与体会 (18)参考文献 (20)附录 (34)第1章单片机和数字钟概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

我们都知道,设计系统的关键是思路,而系统通常又由各个模块所组成,所以必须先把所要设计系统模块化,再把各个模块组合在一起,实现一个完整的系统。

这就要求我们先要有较扎实的理论知识,特别对芯片的各个管脚功能必须了解,这样才能进行硬件设计。

同时,又必须掌握MCS51的指令功能,通过编程实现其功能,这就能让我们更好地理解《单片机原理及应用》这门课程,也是一种理论在实践中的运用。

如果说我们以前学的都只是些理论,包括c语言,微机原理,c++,微机接口,protel,单片机,那么这次的课程设计就是一个贯穿多学科的综合性实践!单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

基于51单片机的电子表设计

基于51单片机的电子表设计

目录目录 (1)第1章概述 (1) (1)第2章设计思路及框图 (1) (1) (2)第3章系统的硬件设计 (2) (2) (3) (3) (4) (4)第4章电路设计原理图 (4) (4)第5章程序设计 (5) (5) (7)第6章系统的验证及调试 (43) (43) (43) (44)第7章总结 (45)第8章参考文献 (45)第1章概述单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广阔领域。

单片机有两种基本结构形式:一种是在通用微型电脑中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。

另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。

本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。

利用AT89C51单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为0,每中断一次中断计数初值加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。

为了将时间在6位LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

第2章设计思路及框图设计思路针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,第一,熟悉AT89S51单片机,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。

51单片机设置的电子表(带闹钟调节)

51单片机设置的电子表(带闹钟调节)

上图为正常运行时间上图为设置闹钟时显示模式上图为设置时间显示模式程序如下:#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit key1=P3^0; // 时间暂停/开始sbit key2=P3^1; // 时间/闹钟设置sbit key3=P3^2; // 增加sbit key4=P3^3; // 减少sbit alarm=P3^6; // 闹铃uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, // 0-90xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; // 0.-9.(带小数点)uchar data1[]={0,0,0,0,0,0};uchar data2[]={0,0,0,0,0,0};uint t,k,kk,k1,flag;uint bbh,bbm,bbs,bbh1,bbm1,bbs1;uint sec,min,hour,sec1,min1,hour1; // 定义秒,分,时void init();void display();void display_bb();void delay( uint );void keyscan();void main(){init();while(1){keyscan();if(k1==0||k1==1||k1==2||k1==3) // 显示调节时间{display();}if(k1==4||k1==5||k1==6) // 显示调节闹钟{display_bb();}if((bbh==hour)&&(bbm==min)&&data1[1]==0&&data1[0]==5) // 5s报时{alarm=~alarm;delay(1);}if((bbs==sec)&&(bbm==min)&&(bbh==hour)) // 可调报时{alarm=~alarm;delay(1);}}}void init(){flag=0;sec=min=hour=0; // 将0赋给时分秒TMOD=0x01; // 方式1 P129(见课本)TH0=0x3c; // 65536-50000=15536=0x3cb0(50ms) P128(见课本)TL0=0xb0;EA=1; // 开总中断P161(见课本)TR0=1; // 定时/计数器0开启ET0=1; // 定时器/计数器0溢出中断启动P161(见课本)}void delay( unsigned int t) // 延时函数{unsigned int i;while(t--)for(i=0;i<125;i++);}void display() // 显示时间函数{uchar i,j;if(TF0==1) // 定时器/计数器溢出P130(见课本){TF0=0; // 清中断标志位t++;if(t==20) // (50ms*20=1s){t=0;sec++; // 秒加1if(sec==60) // 秒为60,则清零,分加1{sec=0;min++;}if(min==60) // 分为60,则清零,时加1{min=0;hour++;}if(hour==24)// 时为24,则清零{hour=0;}}}data1[0]=sec%10;data1[1]=sec/10;data1[2]=min%10+10;data1[3]=min/10;data1[4]=hour%10+10;data1[5]=hour/10;j=0xdf; // 1111 1110 低电平显示for(i=0;i<6;i++){P2=j;P0=tab[data1[i]]; // 显示数值delay(1);j=_cror_(j,1); // 字符循环右移指定P221(见keil-c51数据手册)}}void display_bb() // 显示闹钟函数{uchar i,j;data2[0]=bbs%10;data2[1]=bbs/10;data2[2]=bbm%10+10;data2[3]=bbm/10;data2[4]=bbh%10+10;data2[5]=bbh/10;j=0xdf; // 1111 1110 低电平显示for(i=0;i<6;i++){P2=j;P0=tab[data2[i]]; // 显示数值delay(1);j=_cror_(j,1); // 字符循环右移指定P221(见keil-c51数据手册)}}void keyscan() // 键盘扫描{if(key1==0) // 暂停/开始{++kk;while(!key1){display();if(kk==1){TR0=0;if(k1==0||k1==1||k1==2||k1==3) // 显示调节时间{display();}if(k1==4||k1==5||k1==6) // 显示调节闹钟{display_bb();}if(key2==0) // 模式选择(调节时){k1++;while(!key2){if(k1==1) // 第1次按下{sec1=sec; // 保存秒的数值sec=88; // 显示88display();delay(1);sec=sec1;}if(k1==2){min1=min;min=88;display();delay(1);min=min1;}if(k1==3){hour1=hour;hour=88;display();delay(1);hour=hour1;}if(k1==4){sec1=bbs; // 保存秒bbs=66; // 显示66,表示可display_bb(); // 显示66delay(1);bbs=sec1; // 恢复前一刻秒的}if(k1==5){min1=bbm;bbm=66;display_bb();delay(10);bbm=min1;}if(k1==6){hour1=bbh;bbh=66;display_bb();delay(10);bbh=hour1;}if(k1==7){k1=0;display();}}}if(key3==0) // 时间/闹钟增加设置{while(!key3){if(k1==1){sec++; // 秒加1delay(60);if(sec==60)sec=0;display();}if(k1==2){min++;delay(60);if(min==60)min=0;display();}if(k1==3){hour++;delay(60);if(hour==24)hour=0;display();}if(k1==4){bbs++; // 秒加1delay(60);if(bbs==60)bbs=0;display_bb();}if(k1==5){bbm++;delay(60);if(bbm==60)bbm=0;display_bb();}if(k1==6){bbh++;delay(60);if(bbh==24)bbh=0;display_bb();}if(k1==7){k1=0;display();}}}if(key4==0) // 时间/闹钟减少设置{while(!key4){if(k1==1){sec--; // 秒加1delay(60);if(sec==0)sec=60;display();}if(k1==2){min--;delay(60);if(min==0)min=60;display();}if(k1==3){hour--;delay(60);if(hour==0)hour=24;display();}if(k1==4){bbs--; // 秒减1delay(60);if(bbs==0)bbs=60;display_bb();}if(k1==5){bbm--;delay(60);if(bbm==0)bbm=60;display_bb();}if(k1==6){bbh--;delay(60);if(bbh==0)bbh=24;display_bb();}if(k1==7){k1=0;display();}}}}}if(kk==2){kk=0;k1=0;TR0=1;}}}。

基于51单片机数字万用表的制作

基于51单片机数字万用表的制作

基于51单片机数字万用表摘要:本设计采用AT89C52为主控芯片配以振荡电路设计设计了一个数字万用表,可用于测量直流电压,直流电流,电阻和电容,并配以档位转换。

本系统使用ADC0832作为数据转换芯片,LM358作为放大芯片,通过LCD1602显示,各模块主要通过AD转换以及电压放大实现测量功能。

绪论:数字多用表(GMM)就是在电气测量中要用到的电子仪器。

它可以有很多特殊功能,但主要功能就是对电压、电阻和电流进行测量。

传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片机制作的数字万用表,具有精度高、抗干扰能力强,可扩展力强、集成方便等优点,目前,由各种单片机芯片构成的数字电万用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。

总体设计设计方案:1.电压测量原理与AD转换电路ADC0832是美国国家半导体公司生产的一种8 位分辨率、双通道A/D 转换芯片。

其最高分辨可达256级,可以适应一般的模拟量转换要求。

其部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V 之间。

芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI 数据输入端,可以轻易的实现通道功能的选择。

本系统只对CH0 进行单通道转换。

电压测量流程图对于本设计分压电路模块介绍之前首先分析以下两种设计方案。

多量程分压电路多量程分压器原理上述两图所制作的多量程电压测量,其阻比较小,不能达到测量要求,对电路做以下改进。

对于本次设计的电压模块只设置5V,30V两个档位,如图直接采用一组分压电路既可达到要求。

2.电流测量原理与放大电路对于电流模块此处给予多种方案:(本系统采用的方案二)方案一:原理:通过改变检流电阻的大小实现不同档位的转换。

图中保险丝可保护电流过大,二极管防止电压过大,当二极管两端电压达到导通电压,检流电阻连端电压将达到稳定,从而有效的控制输入电压的大小。

基于51单片机的数字万用表毕业论文(设计)

基于51单片机的数字万用表毕业论文(设计)

第1章概述1.1 本课题研究背景及意义数字万用表是电测技术中的一种常用仪表。

它把电子技术、计算技术、自动化技术的成果和电测技术结合在一起,具有使用方便、灵敏度高、测量速度快、量程宽、过载能力强、输人阻抗高、指示值具有客观性(不存在视觉误差)、扩展能力强等优点。

数字万用表迄今已有几十年的发展历史,最初它是由电子管或晶体管等分送立器件构成的,然后逐步向高精度,多功能,集成代,智能化的方向发展。

数字万用表的最大特点就是准确度高,测量误差较小,如 3 位(三位半)数字表准确度在~<i-0.5%~±21.5%的范围(数字表的准确度随机档限的扩展而相应增大,以最小量限准确度最高)简直可以与实验室中0.5级(误差≤0.5%)的指针表媲美。

而4 位的数字表准确则更高,在≤±0.05%~±0.15%的范围。

是0.1级、0.2级(误差≤±0.1%、i-0.2%)的高精密度指针仪表所无法比拟的。

而且数字表显示直观,观察数据极为方便,又不会引入视觉较差。

1.2 本课题的设计要求使用硬件的搭建及软件的编写实现简易数字万用表的功能,能进行直流电压、交流电压、直流电流和电阻的简单测量。

1.3 本课题的主要设计方案及预期研究成果本设计使用软硬件结合的方法,首先介绍了设计的方案,并简单说明了本设计与传统传统数字万用表设计方案的区别,主要是对一些主芯片的简介,其中有ICL7106、ICL7107、AT89S52、AD1674等;其次介绍前向通道各个模块的设计,包括芯片的选择和各个元器件参数的选择以及选参前的分析;接着介绍电路的焊接和调试,包括各个模块的分步调试和最后的整机调试以及对调试过程中碰到的具体问题的分析和解决;然后是对各类数据的测量与分析;最后是对本次设计的总结。

第2章设计过程2.1 方案介绍传统方案为:传统数字万用表一般都采用一片万用表专用A/D转换芯片和外围少量元件构成,此即纯硬件方案。

基于51单片机的电子式单相智能电表设计

基于51单片机的电子式单相智能电表设计

山东农业大学毕 业 论 文 基于51单片机的电子式单相智能电表设计 院系: 机械与电子工程学院 专业班级: 电气工程及其自动化专业三班 届次:20**届 学生姓名: 学号: 指导教师: 二0**年六月六日……………………. ………………. …………………装订线……………….……. …………. …………. ………目录引言 (3)1传统电能表 (3)1.1电能表的发展 (3)1.2 电能表的发展前景 (3)2 智能电能表 (4)2.1智能电表的概念 (4)2.2 智能电能表的典型结构 (4)2.3智能电表的主要特点 (4)3系统设计的基本思路和具体设计任务以及结构框图 (4)3.1系统设计的基本思路 (4)3.2具体设计任务 (5)3.3 系统结构框图 (5)4系统硬件电路设计 (6)4.1 计量芯片ADE7757 (6)4.1.1 ADE7757功能及特点概述 (6)4.1.2 ADE7757计量芯片的内部结构和各引脚功能 (6)4.1.3 ADE7757的原理特性 (7)4.1.4 ADE7757与单片机的接口 (8)4.2电能计量电路设计 (8)4.2.1电压采集通道设计 (9)4.2.2电流采集通道设计 (10)4.2.3计量芯片与单片机之间连线 (11)4.3单片机外围电路设计及器件选择 (11)4.3.1 单片机STC89C52概述、引脚配置及功能概述 (11)4.3.2 单片机控制电路最小系统 (13)4.3.3 LCD显示器模块设计 (14)4.3.3.1 LCD显示器工作原理简介 (14)4.3.3.2 芯片1602简介 (14)4.3.3.3 显示电路设计 (16)4.3.4 数据存储模块设计 (16)4.3.4.1芯片24C02简介 (16)4.3.4.2 存储模块电路设计图 (17)4.3.5时钟模块设计 (18)4.3.5.1 DS1302简介 (18)4.3.5.2 时钟电路设计 (19)4.3.6 通信模块设计 (19)4.3.6.1单片机串行通信基础 (19)4.3.6.2 RS232串行口标准简介 (20)4.3.6.3 MAX232简介 (20)4.3.6.4 接口电路设计 (21)4.3.7 电源模块设计 (21)5 系统软件程序流程图以及上位机设计 (23)5.1主程序设计框图 (23)5.2 功率计量流程图 (23)5.3 按键查询流程图 (25)5.4上位机设计 (25)6 总结 (26)参考文献 (27)致谢 (28)附录 (29)ContentsAbstracts (1)Introduction (1)1Traditional meters (1)1.1 The development of meters (1)1.2 The prospects of meters (2)2 Smart meters (2)2.1The concept of smart meters (2)2.2 The typical structure of smart meters (2)2.3The main features of smart meters (3)3The basic idea of system design and detailed design tasks and structure diagram (3)3.1The basic idea of system design (3)3.2The detailed design tasks (3)3.3 System structure diagram (4)4System hardware circuit design (4)4.1 Metering chip ADE7757 (4)4.1.1 ADE7757 functions and features Overview (5)4.1.2 ADE7757 chip's internal structure and function of each pin (6)4.1.3 The principle of ADE7757 (6)4.1.4ADE7757 and microcontroller interface (6)4.2 Energy Metering Circuit Design (7)4.2.1Design of voltage acquisition channels (8)4.2.2Design of the current acquisition channel (9)4.2.3Metering connection between the chip and the microcontroller (9)4.3 Single-chip peripheral circuit design and component selection (9)4.3.1 SCM STC89C52 overview, pin configuration and function overview .. 124.3.2 Minimum System of MCU control circuit (13)4.3.3 LCD display module design (13)4.3.3.1 LCD monitor works Introduction (13)4.3.3.2 Chip 1602 Introduction (14)4.3.3.3 Display circuit design (15)4.3.4 Design Data storage module (15)4.3.4.1 Chip 24C02 Introduction (16)4.3.4.2 The memory module circuit design (16)4.3.5Clock Module Design (16)4.3.5.1 DS1302 Introduction (17)4.3.5.2 Clock circuit design (18)4.3.6 Communication Module (18)4.3.6.1Serial communication infrastructure (18)4.3.6.2 RS232 serial port standard profiles (19)4.3.6.3 MAX232 Introduction.................................. 错误!未定义书签。

基于单片机的数字电子表的设计

基于单片机的数字电子表的设计

摘要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

通过本次课程设计对51单片机的学习以及应用,已经对单片机有了初步的了解和简单的应用能力。

本课程设计设计了一个基于AT89C4051单片机的电子表。

并且通过一个控制按键来实现时间的调节和是否进入省电模式,并且在数码管上显示相应的时间。

应用Proteus的ISIS软件实现了单片机电子表系统的设计与仿真。

此方法仿真效果真实、准确,并且节省了硬件资源。

关键字:单片机;子时钟;键盘控制;数码管引言 (2)1 电子表 (3)1.1 电子表简介 (3)1.2 电子表的原理 (3)1.3 电子表的基本优点 (3)2 单片机的相关知识 (4)2.1 单片机简介 (4)2.2 单片机的特点 (4)2.3单片机的发展史 (4)2.4 AT89C4051单片机介绍 (5)3 控制系统的硬件设计 (8)3.1 单片机型号的选择 (8)3.2 数码管显示工作原理 (8)3.3 键盘电路设计 (9)3.4电路原理图 (10)4 控制系统的软件设计 (11)4.1 主程序代码和流程图 (11)4.2 仿真图 (23)4.3 仿真结果分析 (24)结束语 (25)参考文献 (26)数字电子表是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字表的精度,远远超过老式的钟表,钟表的数字化给人们生产带来了极大的方便,而且大大的拓展了钟表的报时功能。

数字表已经成为人们日常生活中的必须品,广泛应用于家庭,车站,码头,剧院,办公场所等,给我们的生活和学习,工作带来了极大的方便。

1电子表1.1电子表简介电子表是20世纪50年代才开始出现的新型计时器。

基于51单片机的跑表设计

基于51单片机的跑表设计

4种工作方式 (方式0-方式3):
选用方式1——16位定时 /计数器,由TH的8位和TL的 8位组成。选用工作方式1, 则为16位的定时/计数器, 其最长计时为65536。若要 定时时间为50ms,则初值为
TH0=(65536-50000)/256;
TR0、TR1——计数运行控制位
TL0=(65536-50000)%256;
P0=b[ms/10];
//十位
P2=0xfd;
//11111101
delay(2);
P0=b[ms%10];
//个位
P2=0xfe;
//11111110
delay(2);
}
பைடு நூலகம்
相关程序:(中断-定时器0程序)
void time0_TSR(void) interrupt 1 {
TF0=0; TH0=(65536-10000)/256; //高4位 TL0=(65536-10000)%256; //低4位 ms++; if(ms==100) { ms=0; s++; if(s==60) { s=0; m++; if(m==60) m=0; } }
任务要求:
1.使用6位数码管显示时间,时间包括分、秒、 0.01秒,格式如下:mm.ss.ms 2.可以通过按键启动或者停止跑表。按键只能使 用四个独立键。 3.时间通过定时器产生
数码管显示原理:
数码管由7个发光二极管组 成,形成一个日字形,它们可以 共阴极,也可以共阳极,通过解 码电路得到的数码接通相应的发 光二极管而形成相应的字。
动态显示的亮度比静态显示要差一些,所 以在选择限流电流时应小于静态显示电路中的。
按键识别原理:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 绪论电子表是20世纪50年代才开始出现的新型计时器。

最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。

这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。

它的走时部分与机械手表完全相同,被称为第一代电子手表。

1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。

这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。

它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。

1969年,日本精工舍公司推出了世界上最早的石英电子表。

石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。

石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。

当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。

这样的性质在很多结晶体上也可见到,称为“压电效果”。

石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。

1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

它最早是被用在工业控制领域。

1.2单片机应用的特点●控制功能和可靠性高单片机是为了满足工业控制而设计的,所以实时控制功能特别强,其CPU 可以对I/O接口直接进行操作,位操作能力更是其它计算机无法比拟的,另外,由于CPU,存储器,以及I/O接口集成在同一芯片内,各部件之间的连接紧凑,数据在传送时受到干扰小,且不易受环境条件的影响,所以单片机的可靠性非常高。

●体积小,价格低,易于产品化每一片单片机既是一台完整的微型计算机,对于批量的专用场合,一方面可以在众多的单片机品种间进行匹配选择,同时还可以专门进行芯片设计,使芯片功能与应用具有良好和对应关系。

对单片机产品的引脚封装方面,有的单片机引脚已减少到8个或更少,从而使应用系统的印刷板减小,按插件减少,安装简单。

在现代的各种电子器件中,单片机具有良好的性能价格比,这正是单片机得以广泛应用的重要原因。

1.3单片机的应用领域(1)能仪器仪表单片机用于各种仪表,一方面提高了仪表仪器的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表的升级代换。

如各种智能化电气测量仪表,智能传感器等。

(2)机电一体化机电一体化产品是集机械技术,微电子技术,自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。

单片机在机电一体化产品的开发中可以发挥巨大的作用。

典型的产品如:机器人,数控机床,自动包装机,点钞机,医疗设备,打印机,传真机,复印机等。

(3)实时工业控制单片机还可以用于各种物理量的采集与控制。

电流,电压,温度,液位,流量等物理参数的采集和控制均可以利用单片机方便地实现。

在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。

典型应用如电动机转速控制,温度控制,自动生产线等。

(4)分布系统的前端模式在较复杂的工业系统中,经常要采用分布式控制系统完成大量的分布参数的采集。

在这类系统中,采用单片机作为分布式系统的前端采集模块。

系统具有运行可靠,数据采集方便灵活,成本低廉等一系列有点。

(5)家用电器家用电器是单片机的又一重要应用领域,前景十分广泛如空调,电冰箱,洗衣机、电饭煲,高档洗浴设备,高档玩具。

另外,交通领域中,汽车,火车,飞机,航天等均有单片机的广泛应用。

1.4 51系列单片机51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。

目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是52系列的单片机一般不具备自编程能力。

当前常用的51系列单片机主要产品有:*Intel 的:80C31、80C51、87C51,80C32、80C52、87C52等;*ATMEL的:89C51、89C52、89C2051等;*Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品。

目前,国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。

1.5 硬件设计当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明你的单片机编程水平相当不错了。

接下来就应该研究的硬件了。

硬件设计包括电路原理设计和PCB板设计。

学习做硬件要比学习做软件麻烦,成本更高,周期更长。

但是,学习单片机的最终目的是做产品开发----软件和硬件相结合形成完整的控制系统。

所以,做硬件也是学习单片机技术的一个必学内容。

电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。

否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。

电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。

虽然有些资料也都是在DATASHEET的基础上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。

当然,阅读DATASHEET需要具备一定的英文阅读能力,这也是阻碍单片机学习者晋级的绊脚石。

良好的英文阅读能力能让你在单片机技术知识的海洋里自由遨游。

做PCB板就比较简单了。

只要懂得使用Protel软件或 AltimDesigner软件就没问题了。

但要想做的板子布局美观、布线合理还得费一番功夫了。

娴熟的单片机C语言编程、会使用Protel软件或 AltimDesigner软件设计PCB板和具备一定的英文阅读能力,你就是一个遇强则强的单片机高手了。

1.6 芯片简介AT89C51单片机引脚图如下:图1.1 AT89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片其各引脚功能如下:VCC:+5V电源。

VSS:接地。

RST:复位信号。

当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。

XTAL1和XTAL2:外接晶体引线端。

当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。

P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。

P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q 端。

P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。

当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。

当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。

2设计方案2.1 主程序设计思路通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。

采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。

先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。

2.2 定时器/计数器T0中断服务程序T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。

秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。

在对各单元计数的同时,把他们的值放到存储器单元的指定位置。

2.3 示意图图2.1 程序示意图2.4 按键处理按键设置为:如果没有按键吗,则时钟正常走时。

当按下K0键时,进入调分状态,时钟停止走动;按K1和K2按键可以进行加一和减一操作;继续按K0键可以分别进行分和小时的调整;最后按K0键启动计时。

3 汇编语言程序ORG 0000HLJMP STARTORG 000BHLJMP INIT0START: MOV R0,#70H ;主程序开始MOV R7,#0CHINIT: MOV @R0,#00HINC R0DJN Z R7,INITMOV 72H,#10 ;对连字符进行装值MOV 75H,#10MOV TMOD,#01H ;选择定时器/计数器T0的方式1MOV TL0,#0B0H ;对低位赋初值MOV TH0,#03CH ;高位赋初值SETB EASETB ET0SETB TR0START1: LCALL SCANLCALL KEYSCANSJMP START1DL1MS: MOV R6,#14H ;延时1子程序DL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1RETDL20MS: ACALL SCAN ;延时20ms子程序ACALL SCANACALL SCANRET ;数码管显示程序开始SCAN: MOV A,78HMOV B,#0AHDIV AB ;时间秒的十位送给A,时间秒的个位送BMOV 71H,A ;时间秒要显示的十位MOV 70H,B ;时间秒要显示的个位MOV A,79HMOV B,#0AHDIV AB ;时间分的十位送给A,时间分的个位送BMOV 74H,A ;时间分要显示的十位送地址MOV 73H,B ;时间分要显示的个位送地址MOV A,7AHMOV B,#0AHDIV AB ;时间时的十位送给A,时间时的个位送BMOV 77H,A ;时间时显示的十位送地址MOV 76H,B ;时间时要显示的个位送地址MOV R1,#70HMOV R5,#0FEHMOV R3,#08HSCAN1: MOV A,R5 ;数码管的显示程序MOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTR ;对字段表取值显示MOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RL AMOV R5,ADJNZ R3,SCAN1MOV P2,#0FFHMOV P0,#0FFHRET ;"0~9"和"-"的字段表TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;定时/计数器T0中断程序INIT0: PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0 ;50ms是否到20次,没有到就继续执行50ms的延时MOV 7BH,#00INC 78HCJNE A,#3CH,OUTT0 ;一秒的延时是否计到60次,没有就继续执行MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有就继续执行程序MOV 7AH,#00OUTT0:SETB ET0 ;启动定时器T0POP PSWPOP ACCRETI;按键处理程序KEYSCAN:CLR EAJNB P1.0,KEYSCAN0 ;P1.0有按键按下则跳转到子程序JNB P1.1,KEYSCAN1 ;P1.1有按键按下则跳转到子程序JNB P1.2,KEYSCAN2 ;P1.2有按键按下则跳转到子程序KEYOUT: SETB EARETKEYSCAN0:LCALL DL20MS ;20ms的延时消抖JB P1.0,KEYOUTWAIT0: JNB P1.0,WAIT0 ;判断按键是否松手,松手就往下执行程序INC 7CHCLR ET0CLR TR0CJNE A,#03H,KEYOUT ;按下第一次和第二次对时、分选定MOV 7CH,#00 ;按下第三次时就启动计时SETB ET0SETB TR0SJMP KEYOUTKEYSCAN1:LCALL DL20MS ;按键加一的程序JB P1.1,KEYOUTWAIT1: JNB P1.1,WAIT1MOV A,7CHCJNE A,#02H,KSCAN11 ;如果功能键按下则对时加一调整INC 79HCJNE A,#3CH,KEYOUT ;如果加到60则清零MOV 79H,#00SJMP KEYOUTKSCAN11:INC 7AH ;如果功能键是按下第二次则对分进行加一调整MOV A,7AHCJNE A,#18H,KEYOUTMOV 7AH,#00SJMP KEYOUTKEYSCAN2:LCALL DL20MS ;延时消抖程序JB P1.2,KEYOUTWAIT2: JNB P1.2,WAIT2 ;判断是否放开按键MOV A,7CHCJNE A,#02H,KSCAN21 ;如果功能键是按下第一次对时进行减一MOV A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BHSJMP KEYOUTKSCAN21:DEC 7AH ;如果功能键是按下第二次则对分进行减一CJNE A,#0FFH,KEYOUTMOV 7AH,#17HSJMP KEYOUTEND4 硬件系统4.1硬件概况硬件系统包括系统的硬件主要包括单片机芯片,数码管显示,按键开关电路等,其运作方式如下图:图4.1 单片机时钟的基本框图片机系统中的时钟是一切与时间有关过程的运行基础,在实时控制系统中尤其如此。

相关文档
最新文档