基于单片机的电子表的设计与制作
基于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设备。
概括的讲:一块芯片就成了一台计算机。
基于单片机的电子跑表设计--毕业设计

毕业设计基于单片机的电子跑表设计此设计还有以下资料,有需要的朋友下载了文档后留下你的邮箱,方便我传给你。
目录第一部分过程管理资料一、毕业设计课题任务书 (3)二、本科毕业设计开题报告 (6)三、本科毕业设计进展情况记录 (10)四、本科毕业设计中期报告 (12)五、毕业设计指导教师评阅表 (13)六、毕业设计评阅教师评阅表 (14)七、毕业设计答辩及最终成绩评定表 (15)第二部分设计说明书八、设计说明书 (16)第一部分过程管理资料****届毕业设计课题任务书院(系):专业:本科毕业设计开题报告说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经导师审查后签署意见生效。
本科毕业设计进展情况记录毕业设计题目:基于单片机的电子跑表设计班级:自本0302学号:46030216学生:刘正武指导教师:廖代文注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
本科毕业设计中期报告院(系):电气与信息工程学院院、系:电气与信息工程学院毕业设计答辩及最终成绩评定表院、系(公章):说明:最终评定成绩=a+b+c,三个成绩的百分比由各院、系自己确定。
第二部分毕业论文摘要本次毕业设计的课题是基于单片机的电子跑表设计,设计要求为电子跑表能显示正确的时间并能作秒表使用。
设计的主要内容包括单片机最小系统(电源电路,复位电路,时钟电路),键盘电路,驱动电路,显示电路和电子跑表的程序设计。
我选用的单片机型号为AT89S52,采用两片74LS244为驱动电路,显示采用两个4位一体的七段数码显示管,通过制作实物,编程,下载程序,制作的电子跑表能够实现正确的时间显示,并且可以实时调整时间显示,作秒表使用时计时范围为000.0秒到999.9秒,通过检测,发现误差不大。
#基于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编程和校验时接收高八位地址信号和控制信号。
基于51单片机的智能电表设计

-摘要电表表示着人们日常用电的多少,现在每家每户安装的根本上是带有转盘的那种电表,它只能显示出用电总量。
假设想查看上个月的用电量,只能靠电费单计算得来。
现在已经是信息时代了,这种做法很显然跟不上社会潮流。
近几年来,社会提倡低碳、绿色经济和可持续开展,在这种思想的推动下,智能电表将会成为社会的潮流。
智能电表是在传统电表的根底上增加了自动化和智能化的功能,从而进一步提高电网的效率、提高供电的可靠性、电能的质量并且完善用电户的效劳,从而更好适应电力市场。
现在智能电网是全球电力部门研究和讨论的热点话题,智能电表是智能电网中的最重要的环节,它支撑着电网的信息化、自动化以及互动化等方面的实现。
微处理器是智能电表的最主要的核心器件。
它可以储存海量的检测数据,同时对测量出的结果进展分析、判断和处理。
本次设计是运用单片机STC89C52为微处理器、CS5460A 芯片进展电能测量和计算、X5045芯片作为外部存储、数码管进展显示进展设计的。
关键词智能电表;自动化;C51单片机;CS5460AAbstractElectricity meter means the number of people everyday electricity, and now every household is basically equipped with the kind of meter, which can only show the total amount of electricity. To see the power consumption last month, only by electricity single calculated. It is now the information age, and this approach is clearly not social trends.In recent years, the social promotion of low-carbon, green economy and sustainable development, in the promotion of this idea, smart meter will bee the trend of the society. Smart meter is automatic and intelligent function is added on the basis of traditional meter, energyefficiency so as to further improve the power grid, improve power supply reliability, power quality and perfect service of the users, in order to better adapt to the power market. Now the smart grid is a hot topic in the global power sector research and discussion, the smart meter is the most important part of smart grid, which support the realization of grid informationization, automation and interaction of.The microprocessor is the most important core device of the smart meter.. It can store vast amounts of detection data and analyze, judge and process the results of the measurement.. This design is the use of single-chip microputer STC89C52 and CS5460A chip for power measurement and calculation, X5045 chip as the external storage, digital tube display design.Key words Smart meterAutomation51 MCUS5460A目录摘要IAbstract I第1章绪论11.1智能电表的概念11.2智能电表的开展背景11.3智能电表的构造21.4智能电表的主要特点3第2章主要芯片的介绍42.1微控制器STC89C51单片机42.1.1 简介42.1.2 主要特性52.1.3 引脚功能62.2电能计量芯片CS5460A82.2.1 简介82.2.2 主要特征92.2.3 引脚功能102.3外部存放器X5045112.3.1 简介112.3.2 主要特性112.3.3 引脚功能122.4时钟芯片DS1302132.4.1 简介132.4.2 主要特性132.4.3 引脚功能142.574HC138译码器142.5.1 简介142.5.2 主要特性152.5.3 真值表152.6LED数码管15第3章总体设计方案163.1设计功能要求163.2智能电表的总体方案设计16 第4章硬件局部的组成184.1电压电流采样模块的设计194.1.1 电压调理电路204.1.2 电流调理电路204.2CS5460A的外部电路214.3数码管连接电路224.4组合键盘连接电路224.5EEPROM连接电路244.6时钟芯片DS1302连接电路24第5章软件局部的设计255.1主程序流程255.2CS5460数据交换方法265.3时钟芯片的读写流程285.4外部存放芯片的读写流程295.5按键扫描流程305.6数码管显示功能的实现31 结论32参考文献33致34附录35第1章绪论1.1智能电表的概念智能电表它是科技时代的新产物,它能够进展测量、数据处理,因此测量单元、数据处理单元是它的重要组成局部。
单片机设计电子日历和温度表的设计

单片机设计电子日历和温度表的设计
一、背景介绍
在现代社会,电子设备的应用越来越普遍,单片机是一种微型计算机,具有内
部存储器、输入输出设备和计算功能,被广泛应用于各种嵌入式系统中。
本文将介绍如何使用单片机设计电子日历和温度表的原理和实现方法。
二、电子日历设计
电子日历是一种能够自动显示年、月、日的设备,可以帮助人们方便地查看日期。
在单片机设计电子日历时,需要考虑如何获取当前时间并显示在屏幕上。
一种常见的实现方法是通过单片机的定时器模块来实现时钟功能,通过按钮设置年、月、日,并在液晶屏上显示出来。
三、温度表设计
温度表是一种可以测量和显示温度的设备,能够帮助人们监测环境温度。
在单
片机设计温度表时,需要接入温度传感器并通过单片机的模数转换功能读取温度数值,再将温度信息转换成数字格式并显示在液晶屏上。
同时,还可以设置警报功能,当温度超过一定阈值时发出警报提醒用户。
四、系统整合
将电子日历和温度表的功能整合在一起,可以设计一个多功能的单片机系统。
用户可以通过按钮切换显示模式,既能查看日期又能监测温度。
通过合理的界面设计和按钮设置,提高系统的易用性,让用户更方便地操作和获取信息。
五、总结
通过单片机设计电子日历和温度表的实例,我们可以看到单片机在嵌入式系统
中的广泛应用。
通过合理设计硬件和软件,可以实现多种功能,提高系统的灵活性和实用性。
未来的发展中,随着技术的不断进步,单片机系统会变得更加智能化和便捷,为人们的生活带来更多便利。
单片机-电子表设计

目录第1章设计内容与要求 (1)1.1系统结构框图与工作原理设计内容 (1)1.2设计要求 (1)第2章系统总体方案选择说明 (2)2.1总体思路 (2)2.2系统方案选择 (2)2.3系统总体方案说明 (2)第3章系统结构框图与工作原理 (3)3.1系统结构框图 (3)3.2系统工作原理 (3)第4章模块电路设计 (4)4.1调节时钟部分电路 (4)4.2显示部分电路 (4)4.3单片机部分电路 (5)第5章软件设计说明 (6)5.1主程序流程图 (6)5.2显示程序流程图 (7)5.3定时计数器T0中断服务流程图 (8)第6章电路的调试 (9)第7章设计总结 (10)附录1 参考文献 (11)附录2 总体设计图 (12)附录3 程序清单 (13)第1章设计内容与要求1.1 系统结构框图与工作原理设计内容(1)设计时钟包括:时钟、跑表;(2)使用6位LED进行显示。
(3)能通过键盘对时钟进行调整;(4)做时钟时在6位LED 显示器上显示时、分、秒,(5)做跑表时具有跑表启动和跑表清零和暂停功能键。
1.2 设计要求(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成必要的参数计算与元器件的选择;(4)完成应用程序设计;(5)进行软硬件调试;第2章系统总体方案选择说明2.1 总体思路利用8051的P2口作为控制单片机跑表开始,暂停,清零,返回的输入端。
P3作为控制LED的显示时钟的调节时间控制信号输入端。
P0,P1控制LED动态显示选择控制端控制六个LED的显示时间和显示顺序。
定时器T0定时50ms。
T1定时10ms,37H-39H保存时钟的变化量。
41H-43H保存秒表的变化量。
其中为了方便显示,每个变量对应两个单元,以便将变量拆开成两个十进制的数方便显示。
2.2 系统方案选择本系统采用AT89C51单片机、6位数码管显示(不带译码器)和7个键盘键盘操作(分别为功能键,加一键,减一键,返回键,开始键,暂停键,清零键)作为调节时间的按钮构成一个单片机多功能时钟的硬件。
基于单片机的电子跑表设计

目录1 设计内容及要求 (1)1.1 设计内容与要求: (1)1.2设计要求: (1)2 系统总体方案设计 (1)2.1 总体方案设计 (1)2.2 设计说明 (1)3 各部分方案选定及接口设计 (2)3.1 主控制器单片机的选择 (2)3.2 时钟电路 (2)3.3显示接口电路 (3)3.4 键盘接口电路 (3)4 系统软件的设计 (4)4.1 设计说明 (4)4.2 主程序设计 (5)4.3 时间处理模块 (6)4.5 键盘扫描模块 (8)5 系统的调试与使用说明 (10)6 总结 (11)7 参考文献 (12)附录: (13)1 设计内容及要求1.1 设计内容与要求:具有时钟和电子跑表的功能。
开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。
1.2设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)完成应用程序设计;5)进行应用程序的调试;2 系统总体方案设计2.1 总体方案设计电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。
为求结构简单,本次设计利用单片机组成数字电子跑表。
2.2 设计说明本系统采用AT89C51单片机、4位LDE数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。
时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。
时间显示功能通过LED数码管动态扫描来实现。
电子跑表的启动/暂停/清零功能由软件来实现。
P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。
本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。
单片机制作的电子表设计报告

2012-2013第二学期课程设计题目电子表的设计与制作姓名杨佳锐学号201103120211 系(院)电子电气工程学院班级P11电气二班指导教师____贲艳波____ 职称____讲师___二O一三年七月四日摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基单片机原理与接口技术的简单应用。
运用所学的单片机原理和接口技术知识完成数字电子表的设计。
电子表已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使电子表具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的电子表集成电路芯片出售,价格便宜、使用也方便,但鉴于电子表电路的基本组成包含了数字电路的主要组成部分,因此进行电子表的设计是必要的,用汇编设计电子表显示程序,要求根据输入程序显示电子表画面。
研究电子表及扩大其应用,有着非常现实的意义。
关键词数码管,定时/计器数,汇编,调试,运行。
目录一、方案的论证比较 (4)1.1方案论证比较 (5)二、硬件电路设计 (6)2.1计时方案…………………………………………………………………()2.2单片机最小系统…………………………………………………………()2.3显示电路…………………………………………………………………()2.4键盘设计…………………………………………………………………()2.5材料清单…………………………………………………………………()2.6电路板原理图 (7)三、软件设计 (8)3.1程序框图 (8)3.2资源分配表 (11)3.3程序 (12)四、调试…………………………………………………………………………(17)五、结语…………………………………………………………………………(18) 一.方案的论证比1.1方案论证比较1. 计时方案方案一:利用可编程控制定时器进行定时,逐步完成时、分、秒的计数。
基于单片机的电子表的设计与制作

第1章概述 (1)1.1内容摘要 (1)1.2 实验基本原理 (1)第2章设计思路及框图 (2)2.1 设计思路 (2)2.2 设计框图 (2)第3章硬件的设计 (3)3.1 主控制部件 (3)3.2 显示模块 (4)3.3 晶振模块 (4)3.4 按键模块 (5)3.5 驱动模块 (5)第4章电路设计原理图 (6)第5章程序的设计 (7)5.1 程序流程图 (7)5.2 源程序 (9)第6章系统验证及调试 (20)第7章总结 (21)第8章参考文献 (22)第9章课程设计评分表 (23)第1章概述1.1内容摘要本次课程设计基于单片机原理技术介绍了一款于AT89C51芯片作为核心控制器的单片机电子表的设计与制作,主要有两个功能:时钟和秒表。
其制作流程主要包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子表正常工作的流程、原理图仿真实现、硬件实物的调试过程。
该单片机数字电子表采用LED 数码管能够准确显示时间(显示格式为:时时,分分,秒秒),可随时进行时间调整,时间可采用24 小时制显示,还可实现时钟与秒表的切换,暂停与调时调分调秒,可按自己的要求设置扩展其它的功能。
1.2 实验基本原理利用AT89C51单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为0,每中断一次中断计数初值加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在6位LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
第2章设计思路及框图2.1 设计思路针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,第一,熟悉AT89S51单片机,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
基于单片机的简易电子表的设计

⒊概要设计
主要叙述本课题设计的流程图(各功能模块)、主要的数据结构、完成本学年设计所用方法及其原理的简要说明。
⒋详细设计
主要是本课题所需要的硬件设计与软件设计,包含建立设计所需的数学模型并列出必要的计算公式、计算过程及说明,硬件电路的设计与实现,写出设计计算结果;绘出计算机程序框图,写出自编的程序。
MOV20H,#00
TOP1: JB 20H.1,PP5 ;是高电平则显示时间
TIAN EQU 41H;天
HOU EQU 42H ;时
MIN EQU 43H ;分
SEC EQU 44H ;秒
HHOU EQU 30H ;时间缓冲区
HMIN EQU 31H
ORG 0000
LJMP MAIN
ORG 000BH
LJMP TT0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EXIT2:MOVA,#00
MOVSBUF,A
LCALL KK7
MOVSBUF,A
LCALL KK7
EXIT3:RET
KK7: JNB TI,$
CLR TI
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
基于单片机的电子表设计

图2
显示模块
方案一:静态显示。静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小电流能获得较高的亮度,且字符不闪烁。但因当所需显示的位数较多时,静态显示所需的I/O口数较大,造成资源的浪费。
方案二:动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。
主控制部件…………………………………6
显示模块………………………………… 7
晶振模块……………………………………7
按键模块……………………………………8
驱动模块……………………………………8
第4章 电路设计原理图……………………………9
第5章 程序的设计…………………………………10
程序流程图…………………………………10
图6
系统子程序流程图如图7所示:
5.2源程序
程序清单如下:
#include<>
#define uchar unsigned char
#define uint unsigned int
51系列单片机设计实例》[M].北京航空航天大学出版社.
2、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社
3.工作计划
序号
设计内容
所用时间
1
布置任务及调研
4天
3
制作与调试
8天
利用单片机STC89C52设计制作电子表_汇编

利用单片机STC89C52设计制作电子表电路图源程序全局思路:定时模块单独工作,按键扫描模块和显示模块分时轮流执行一、定时模块单片机启动后,首先启动定时器机器周期是1um,所以定时器计数500000是半秒,1000000次是一秒将1000000分成256份,每份是3906,定时器每次计数3906。
使定时器0工作在方式1,每完成一次计数产生一次中断使R2自加1,R2初值是0,则当R2=128时是半秒,当R2=0时是一秒计数初值:65536-3906=61630=F0BEH 所以TH0值为F0H,TL0值为BEH二、按键扫描模块(KT)定时器启动后,程序转入按键扫描和LED显示的循环,首先是按键扫描按键S0按下,使标志R5加1。
R5的值代表显示模块的显示模式号码,加1表示模式的切换R5=X 对应模式X按键S1按下,使标志R6的值为1按键S2按下,使标志R7的值为1 在时调整、分调整中,S1表示加1,S2表示减1;在闹铃调整中,S1表示时加1,S2表示分加1按键S3按下,使R5的值为0,即返回模式0三、闹钟模块在这个模块中,程序判断DSHI和SHI是否相等以及DFEN和FEN是否相等,如果两个判断都相等就使P2.0清0,驱动蜂鸣器发声;有任意一个判断不相等都使P2.0置1,蜂鸣器不工作四、显示模块一共4个LED管,采用分时扫描显示显示分为不同的模式:模式0、模式1、模式2、模式3、模式4,对应的标志R5的值为0、1、2、3、4模式0,正常模式,显示为“时:分”模式1,正常模式,显示为“分:秒”模式2,时调整模式,显示为“时:分”,并且“分”正常显示,“时”一闪一闪模式3,分调整模式,显示为“时:分”,并且“时”正常显示,“分”一闪一闪模式4,闹铃调整模式,显示为“时:分”,并且“时”、“分”全部一闪一闪在此模块,程序根据R5的值进入对应模式。
在模式0和模式1,只显示,不能调整;在模式2(模式3)可以通过按键S1、S2对时(分)进行加减操作;在模式4,可以通过S1、S2对闹铃的时、分进行加操作(没有减的操作)各个模式下,按键S0使模式号增加,按键S3使任何模式返回模式0五、总结1.本实验选用了共阴极LED显示器,而STC89C52的高电平驱动能力很差,所以需要使用晶体管放大,段码信号从基极输入。
基于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.................................. 错误!未定义书签。
基于AT89C51单片机的电子表设计

题目: 基于A T89C51单片机的电子表设计1.设计要求利用AT89C51单片机作为微控制器,在数码管通过一个控制键转换来显示相应的时间和日期,能通过多个控制键用来实现时间和日期的调节。
2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。
要求用Proteus绘制整个系统电路原理图。
2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。
2.3 Proteus仿真用Proteus对系统软硬件进行仿真调试并通过。
2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于5000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要(用visio2003画图软件)绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并注明各程序功能块的功能。
3.工作计划4.主要参考资料单片机课程设计指导书皮大能北京理工大学出版社 2012.7 8051单片机实践与应用吴金戎清华大学出版社2003.8单片机技术基础教程与实践夏路易电子工业出版社2008.1单片机原理及应用张毅刚高等教育出版社 2012.11基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2007.7…指导老师签字:日期:一、电子表1.1电子表简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子表的基础,电子表开始迅速发展起来。
现代的电子表是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。
从而达到计时的功能,是人民日常生活补课缺少的工具。
1.2 电子表的原理该电子表由AT89C51,74LS373,BUTTON,数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天,满三十天(闰年二月满二十九天,平年二月满二十八天)为一个月,满十二个月为一年。
基于单片机的数字电子表的设计

摘要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器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年代才开始出现的新型计时器。
基于单片机的智能电表设计

摘要智能电表在传统电能表地基本功能上新增了自动化功能和智能化功能,智能电表内部带有功能较强地 MCU(微控制器单元),具备双向通信、双向计量和强大地控制功能.本次设计地主要内容是以单片机为核心,具备双向多费率计量、用户控制、数据双向通信、防窃电功能等多种智能化功能地智能电表.其是以微处理器或微控制器芯片(如单片机)为核心地可以存储大量地测量信息并具有对测量结果进行实时分析、综合和做出各种判断能力地仪器.智能电能表一般具有自动测量功能,强大地数据处理能力,进行自动调零和单位换算功能,能进行简单地故障提示,具有操作面板和显示器,有简单地报警功能.智能电能表是以微处理器或微控制器芯片(如单片机)为核心地可以存储大量地测量信息并具有对测量结果进行实时分析、综合和做出各种判断能力地仪器.智能电能表一般具有自动测量功能,强大地数据处理能力,进行自动调零和单位换算功能,能进行简单地故障提示,具有操作面板和显示器,有简单地报警功能.关键字:自动化功能、智能化功能、芯片AbstractSmart meters on the basic functions of the traditional energy meter new automation capabilities and intelligent features, smart meters with a more powerful internal MCU (microcontroller unit), with two-way communication, two-way metering and powerful control functions. The main content of the design of the microcontroller as the core, with two-way multi-rate measurements, the user control, two-way data communication, anti-tampering features a variety of intelligent features smart meters. The smart meter is microprocessor or microcontroller chip (SCM) as the core can store large amounts of measurement information and real-time analysis of the measurement results, and make a variety of instrument of judgment. Smart meter generally have simple measurement functions, powerful data processing capability, auto-zero and unit conversion function, simple fault tips, operator panel and display, alarm function.The smart meter is microprocessor or microcontroller chip (SCM) as the core can store large amounts of measurement information and real-time analysis of the measurement results, and make a variety of instrument of judgment. Smart meter generally have simple measurement functions, powerful data processing capability, auto-zero and unit conversion function, simple fault tips, operator panel and display, alarm function.Keyword:Automation functions, intelligent features, the chip第一章综述1.1电能表地发展史随着社会生活中工业、农业、商业以及居民生活地用电需求日益增长,人们对电能地交易日益频繁,电能表是衡量电能交易数额地计量器具,其技术性要求很高,既要求准确、更要求稳定,并保证长期可靠.1880年美国人爱迪生利用电解原理制成了直流电能表(即安时计).自1885年交流电地发现和应用给电能表地发展提出了新地要求,交流电能表从此应运而生.意大利科学院地物理学家弗拉里斯(Ferraris) 在1888年提出用旋转磁场地原理来测量电能量,即在一个可转动地导体上作用两个同频率但空间和相位不同地交变磁场,导体就能旋转.由此,交流感应式电能表又称作弗拉里表.当时,在美国电工技术学校有位教师也利用同一原理制造出感应式电能表地模型.这些理论和模型都是交流电能表雏形地萌芽.1889年,匈牙利岗兹公司一位德国人布勒泰制作成总重量为36.5kg地世界上第一块感应式电能表.从此,感应式电能表在电能计量应用中占据了极其重要地位.这块感应式电能表地电压铁芯重6kg,由于它没有单独地电流铁芯,因此电压铁芯总地电抗就必需做得很大,体积也就很大了.为了减少尺寸和重量,人们开始研究把电压与电流磁路分开,采用了独立电流铁芯,从而大大缩小了其体积.另外,在解决内相角地问题上,还使用过人工线路和合成磁场地方法.到1890年以后出现了带电铁芯地电能表,然而转动元件仍是一铜杯,反作用力矩地产生是依靠交流电磁铁.直到十九世纪末期才逐步开始采用直流磁铁,降低了旋转速度,增加了力矩,采用浇铸零件,改进了计数机构,同时采用了一个圆盘代替了原来一个盘一个杯地转动元件,并且使用铝盘来代替铜盘.在二十世纪很长地一段时期内,感应式电能表发展方向主要是在缩小体积和改善工作性能方面.二十世纪初,感应式电能表就得到了飞速发展.1905年出现了增加非工作磁路改进90°地方法,使电能表地各项参数有了很大提高.而后,随着一些性能较好地高导磁材料地出现,大大地减轻了电能表地重量并缩小了其体积,每只表地质量降到了 1.5~2kg,而且降低了其功率消耗.从三十年代开始,电能表采用铬钢、铝镍合金代替原来地钨铜,并通过降低电能表转盘地转速来降低其损耗,同时改善了电能表地负荷特性.当时,国外地感应式电能表地过负荷能力达到600%以上,而且采用双宝石轴承和磁力轴承,使电能表寿命长达15~30年.感应式电能表地突出优点就是结构简单、操作安全、维修方便、造价低廉,但是它也存在地许多缺点,如:准确度低、适用频率窄、功能单一等等.至此,感应式电能表在电能计量中已经得到了广泛地应用.随着微电子高新技术和电子工业地高速发展以及用电负荷特性地不同,对电能计量精度提出了新地要求,电子式电能表越来越显示出其优越性.由于机械感应式电能表地驱动线圈地低频窄带电磁特性,即对于基波外地各次谐波功率信号难以转换成等比例地驱动力矩,因而造成感应式电能表对非线性负荷、冲击负荷地计量误差较大问题.机械感应式电能表地精度低、非线性负荷计量误差大和难以实现各种功能地诸多缺点,造成感应式电能表发展停滞不前.随着电能表拥有着容易实现多功能、高精度、便于自动抄表及具有先进通讯接口等诸多功能扩展需要,促使各种新型地电子式电能表迅速发展.即使一些机电一体式地特种电能表,例如:分时多费率(TOU)电能表、有脉冲输出地电能表、多路最大需量表、预付费电卡电能表和电力定量器,它们采用感应式电能表作基表,同时应用电子电路来实现新地功能.在二十世纪六十年代末,日本衫山桌先生发明了时分割乘法器并且提出了其功率测量原理,实现了全电子化电能计量装置,并由日本横河株式会社生产了2885型数字功率变换器,受到全世界地关注.在这个原理基础上我国研制出单相和三相电子式数字功率电能标准表.随着电子技术地进一步发展,模拟-数字转换技术和大规模集成电路地逐步完善,促使各种性能和各种功能地电子式电能表逐步成为电能计量地主力军,尤其是多功能电能表地智能化功能日趋完善.近年,在国外电子式电能表发展非常快,芬兰、瑞典、挪威等北欧各国以及法国、英国、德国、西班牙、比利时和意大利等西欧许多国家,其工商用户计费电能表已实现100%电子化.居民用户地计费电能表也正在逐步电子化过程中,如法国2001年起已停止购买安装感应式电能表;意大利在2005年已经将全部感应式电能表更新为自动抄表地电子式电能表;英国目前已有80%居民计费用表为电子式电能表.现在上海电网65%以上地居民使用了电子式电能表.在我国,电力生产对计划调度、经济调度要求愈来愈高.电力生产地特点是发、供、用电同时完成,因此,电能作为一种不可储存商品地流通使用过程中,对其准确计量有其特殊性.为调节负荷用电时段,以解决日渐突出地电力供求矛盾,在不增添设备,不扩大设备容量地前提下,主要通过两种方法来解决:一是通过行政手段,在用电高峰时限、拉电;二是通过经济手段,实行分时电价,即提高用电高峰时段电能地售价,降低用电低谷时段电能地售价.为此,电力部门广泛地使用有多个计度器能在不同费率时段内记录交流有功或无功电能地复费率电能表.2003年,国家在保持电价总水平基本稳定地前提下,大力推行峰谷分时计电价,鼓励用户合理移峰填谷用电.同时,要求完善两部制电价制度,扩大多功能表应用范围,为多费率和多功能电能表带来了广阔地应用空间.复费率多功能电能表地出现,目前正处于感应式机械电能表向电子式电能表地转变过程中,其基本上分为机械式、机电一体式及全电子式三种.其中,全新地全电子式复费率电能表则改变了传统地感应式电能表地外形,并具独特地多功能优势.自2000年开始,上海电网率先在国内推广应用复费率分时电能表,即实行居民电费分时记度——单相两费率电能表(黑白表)用地双步进电机控制驱动专用集成电路,用两个机械记度器分别显示白天和黑夜地用电量.当前电能表正向着全电子式、多功能、具有标准通讯接口以及远程抄控功能地方向发展.1.2智能电能表地典型结构从结构上来说,智能电能表是一个专用地微型计算机系统,它主要由硬件和软件两部分组成.硬件部分主要包括信号地输入通道,微控制器或微控制器及其外围电路、标准通信接口、人机交换通道,输出通道.输入通道和输出通道用来输入输出模拟量信号和数字量信号,它们通常由传感器元件、信号调理电路、A/D转换器、D/A转换器等组成.微控制器及其外围电路用来存储程序、数据并进行一系列地运算和处理,通常包括程序存储器、数据存储器、输入输出接口电路等组成.人机交换通道是人与仪器相互沟通地主要渠道,它主要由键盘、数码拨盘、打印机、显示器等组成.标准通信接口电路用于实现仪器与计算机地联系,以使仪器可以接受计算机地程控指令,目前用于智能电能表地通信接口主要有GPIB、RS-232C等.智能电能表地软件部分主要包括监控程序和接口管理程序两部分.其中监控程序面向仪器面板键盘和显示器,通过键盘操作输入并存储所设置地功能、操作方式与工作参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章概述 (1)1.1内容摘要 (1)1.2 实验基本原理 (1)第2章设计思路及框图 (2)2.1 设计思路 (2)2.2 设计框图 (2)第3章硬件的设计 (3)3.1 主控制部件 (3)3.2 显示模块 (4)3.3 晶振模块 (4)3.4 按键模块 (5)3.5 驱动模块 (5)第4章电路设计原理图 (6)第5章程序的设计 (7)5.1 程序流程图 (7)5.2 源程序 (9)第6章系统验证及调试 (20)第7章总结 (21)第8章参考文献 (22)第9章课程设计评分表 (23)第1章概述1.1内容摘要本次课程设计基于单片机原理技术介绍了一款于AT89C51芯片作为核心控制器的单片机电子表的设计与制作,主要有两个功能:时钟和秒表。
其制作流程主要包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子表正常工作的流程、原理图仿真实现、硬件实物的调试过程。
该单片机数字电子表采用LED 数码管能够准确显示时间(显示格式为:时时,分分,秒秒),可随时进行时间调整,时间可采用24 小时制显示,还可实现时钟与秒表的切换,暂停与调时调分调秒,可按自己的要求设置扩展其它的功能。
1.2 实验基本原理利用AT89C51单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为0,每中断一次中断计数初值加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在6位LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
第2章设计思路及框图2.1 设计思路针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,第一,熟悉AT89S51单片机,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
这是前期准备工作。
第二,设计硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。
第三,画图部分:设计好电路后进行画图。
第四,软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。
第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。
第六部分是硬件实现部分:连接电路并导入程序检查电路,实现想要的功能。
2.2设计框图此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴极数码显示管、按键模块、晶振模块。
显示管分别显示:小时、分钟和秒,通过动态扫描进行显示。
电路的总体设计框架如下:图1第3章硬件的设计3.1主控制部件89C51是一个8位单片机,片内ROM全部采用FLASH ROM技术,晶振时钟为12MHz。
89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。
第31引脚需要接高电位使单片机选用内部程序存储器;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1μF高频滤波电容。
硬件原理图如图2所示图23.2显示模块方案一:静态显示。
静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截止。
该方式每一位都需要一个8 位输出口控制。
静态显示时较小电流能获得较高的亮度,且字符不闪烁。
但因当所需显示的位数较多时,静态显示所需的I/O口数较大,造成资源的浪费。
方案二:动态显示。
动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。
利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。
显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。
调整参数可实现较高稳定度的显示。
动态显示节省了I/O口,降低了能耗。
从节省单片机芯片I/O口和降低能耗角度出发,本数字电子钟数码管显示选择设计采用方案二。
3.3晶振模块单片机芯片可使用内部时钟电路和外部时钟电路两种方式产生电路所需的时钟脉冲,内部时钟电路实现可用石英晶体和微调电容外接即可达到,外部时钟电路实现需要一个外部脉冲源引入脉冲信号以保证个单片机之间时钟信号的同步。
从硬件实现难易角度考虑,内部时钟电路的实现比外部时钟电路的实现更简易。
既本数字电子钟设计所需的时钟源采用内部时钟电路实现。
所用定时方式为工作方式1,石英晶振为12M,即最小定时时间为1us,最大定时时间约为65.5ms,其电路图如下图2所示。
图33.4 按键模块本数字电子钟设计所需按键用于进行显示时间的调整与设置扩展的小键盘。
单片机芯片4个I/O口可与按键直接相连,通过编程,单片机芯片即可控制按键接口电平的高低,即按键的开与关,以达到用按键进行显示时间的调整与设置扩展的小键盘的设计要求,本电路采用P1口与按键相连。
其电路图如图4所示:图43.5驱动模块从实物制作简易程度与驱动数码管段码能力角度出发,本数字电子钟设计采用数码管段码与AT89C51P0口相连,单片机AT89C51的P2口控制数码管的片选信号,通过编程,单片机芯片即可控制段码电平的高低的方式实现数码管段码控制。
第4章电路设计原理图图5第5章程序设计5.1程序流程图在主程序的开始定义了一组固定单元用来存储计数的分、秒、时的存储单元。
在主程序中,对不同的按键进行扫描,实现秒表,时间调整。
系统总体流程图如图6所示。
图6系统子程序流程图如图7所示:5.2源程序程序清单如下:#include<reg51.h>#define uchar unsigned char#define uint unsigned int//七段共阴数码显示管段码表//uchar code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义初始化变量////秒表部分//uchar Decisec=0;//分秒//uchar Sec=0;//秒//uchar Mint=0;//分////时钟部分//uchar Seconds=0;uchar Minutes=0;uchar Hours=0;uchar Count=0;uchar Numb=0;//按键部分//sbit CHANGE=P1^0; //切换:可实现跑表与时钟互切 //sbit START=P1^1; //开始//sbit STOP=P1^2; //暂停//sbit RST=P1^3;sbit rst=P1^4;sbit jia1=P1^5;sbit jia2=P1^6;sbit jia3=P1^7;//复位////函数声明//void delay(uchar ms); //延迟函数// void time_pro1();//秒表处理函数// void time_pro2();//时钟处理函数// void keyscan(); //键盘扫描// void display1(); //数码管显示秒表// void display2(); //数码管显示时钟// /*******************/// 主函数 ///*******************/void main(){P1=0xff;TMOD=0x11;TH0=(65536-10000)/256;TL0=(65536-10000)%256;TH1=(65536-10000)/256;TL1=(65536-10000)%256;EA=1;ET0=1;ET1=1;TR0=1;while(1){keyscan();if(Numb==1){display1();}if(Numb==0){display2();if(rst==0){Hours=0;Seconds=0;Minutes=0;}if(jia1==0){delay(5);if(jia1==1){Hours++;if(Hours==24){Hours=0;}}}if(jia2==0){delay(5);if(jia2==1){Minutes++;if(Minutes==60){Minutes=0;}}}if(jia3==0){delay(5);if(jia3==1){Seconds++;if(Seconds==60){Seconds=0;}}}}}}/*******************/// 延迟函数 ///*******************/void delay(uchar ms){uchar i,j;for(i=ms;i>0;i--)for(j=500;j>0;j--); }/*******************/// 秒表处理函数 ///******************/void time_pro1(){if(Decisec==100){Decisec=0;Sec++;if(Sec==1000){Sec=0;}}}/*******************/// 时钟处理函数 ///******************/void time_pro2(){if(Seconds==60){Seconds=0;Minutes++;if(Minutes==60){Minutes=0;Hours++;if(Hours==24){Hours=0;}}}}/*******************/// 键盘扫描函数///******************/void keyscan(){// 秒表/时钟切换 //if(CHANGE==0){delay(5);if((CHANGE==0)&&(Numb==0)){display1();Numb=!Numb;while(!CHANGE){display1();}}if((CHANGE==0)&&(Numb==1)){Numb=!Numb;while(!CHANGE){display2();}}}// 开始计时 //if((START==0)&&(Numb==1)) {delay(5);if(START==0){TR1=1;while(!START){display1();}}}// 暂停计时 //if((STOP==0)&&(Numb==1)){delay(5);if(STOP==0){TR1=0;while(!STOP){display1();}}}// 重新计时 //if((RST==0)&&(Numb==1)) {delay(5);if(RST==0){Hours=0;Seconds=0;Minutes=0;Decisec=0;Sec=0;while(!RST){Decisec=0;Sec=0;display1();}}}}/********************/// 数码管显示秒表 ///********************/void display1(){P2=0x7f;P0=dispcode[Decisec/10];// 显示分秒 //delay(1);P2=0xbf;P0=dispcode[(Sec%100)%10]|0x80;//显示秒个位// delay(1);P2=0xdf;P0=dispcode[(Sec%100)/10];//显示秒十位//delay(1);P2=0xef;P0=dispcode[Sec/100];delay(1);}/*********************/// 数码管显示时钟 ///*********************/void display2(){P2=0x7f;P0=dispcode[Seconds%10];//显示秒个位//delay(1);P2=0xbf;P0=dispcode[Seconds/10];//显示秒十位//delay(1);P2=0xdf;P0=dispcode[Minutes%10]|0x80;//显示分个位// delay(1);P2=0xef;P0=dispcode[Minutes/10];//显示分十位//delay(1);P2=0xf7;P0=dispcode[Hours%10]|0x80;//显示时个位//delay(1);P2=0xfb;P0=dispcode[Hours/10];//显示时十位//delay(1);}/*********************///定时器T1中断服务程序///********************/void time_T1()interrupt 3{TH1=(65536-10000)/256;TL1=(65536-10000)%256;Decisec++;time_pro1();//秒表时间处理函数//}/**********************///定时器T0中断服务程序///**********************/void time_T0()interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;Count++;if(Count==100){Seconds++;time_pro2();//时钟时间处理函数//Count=0;}}第6章系统的验证及调试时钟调试:秒表调试:第7章总结这两周的课程设计学到了不少的东西,刚开始的时候我感觉毫无头绪,又要忙着安装软件,又要学习Proteus,以前没有用过,担心忙不过来,做完之后才明白原来用单片机做一个实物也不是想象中的那样困难重重,在这整个的设计过程中,不但复习了书本上的理论知识,提高了自己的动手能力,而且还强化了自己的编程水平,总的来感觉效果还是挺不错的。