AT89C51单片机的电子表设计 精品

合集下载

基于AT89C51单片机的可调式电子时钟设计

基于AT89C51单片机的可调式电子时钟设计

摘要电子时钟主要是利用了电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。

对当前的电子时钟开发手段进行了比较和分析,最终确定了采用单片机技术实现的电子时钟。

本次课题介绍了以AT89C51单片机为主控芯片的可调式电子时钟,功耗小,能在3V的低压工作。

时钟芯片采用美国DALLAS公司提供的具有涓细电流低功耗的DS1302。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

显示部分采用LCD1602液晶显示,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,与普通数码管相比功耗较小,硬件连接简单,较直观。

软件使用高级C语言编程,具有灵活的可移植性,同时该时钟具有按键可调的功能,能够对日期时间调整。

本设计说明书首先介绍的是总体方案设计,接着是硬件设计,本部分详细的介绍了各模块的工作原理及相互的连接,再接着介绍了软件设计部分,最后是仿真调试。

经仿真验证,该设计能满足所有的功能。

关键词:可调式;AT89C51;DS1302;C语言ABSTRACTElectronic clock basically is to use the electronic technology will clock electronic, digital, has the clock accurate, small volume, friendly interface, can be expanded performance is strong and other characteristics, are widely used in life and work. On the current development of the electronic clock means were compared and analyzed, finally determined by single chip microcomputer technology to the electronic clock. This subject introduces the AT89C51 as the controller chip adjustable electronic clock, power consumption is small, can be in 3 V of low-pressure work. The clock chip adopt American DALLAS company has Juan fine current DS1302 of low power consumption. It can be to year, month, day, Sunday, when, minutes and seconds for the time, also has a leap year compensation and other functions, and the DS1302 long service life and small error. Show LCD1602 part adopts LCD display, LCD screen shows powerful, can show a large text, graphics, show diversity, clearly visible, compared with common digital tube power consumption is small, hardware connect a simple, more intuitive. Senior software use the C programming language, has the flexible portability, and the clock is the key adjustable function to adjust to a time and date. The design manual introduced is first overall design, then the hardware design. This part describes in detail the modules and working principle of the mutual connection, then introduces the design of the software in part, and finally the simulation test. The simulation results, this design can meet all functions.Keywords: adjustable;AT89C51;DS1302;C language目录绪论 (1)1 总体方案设计 (2)1.1设计要求 (2)1.2总体设计框图 (2)1.3 芯片的选择 (2)2硬件设计与实现 (4)2.1电路图 (4)2.1.1 Protel连接图 (4)2.1.2 硬件概述 (4)2.1.3 工作原理 (5)2.2主要单元电路的设计 (5)2.2.1 单片机主控制模块 (5)2.2.2时钟信号产生模块 (6)2.2.3 液晶显示模块 (8)3 软件设计 (11)3.1设计主程序流程图 (11)3.1.1 DS1302读写操作 (12)3.1.2 LCD1602初始化 (12)3.1.3 时间调整子程序 (12)3.2延时函数 (12)4 综合仿真 (13)4.1编辑工具KEIL U V ISION3 (13)4.1.1 软件安装 (13)4.1.2 创建工程 (13)4.1.3 代码编辑 (13)4.2仿真软件P ROTEUS (14)4.3软件仿真 (14)结论 (16)参考文献 (17)附录 (18)致谢 (27)绪论20世纪末,电子技术获得了飞速的发展,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

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

基于AT89C51单片机的数字电压表设计
3、
AT89C51提供以下标准功能:4KB得Flash闪速存储器,12构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选得节电工作模式.空闲方式停止CPU得工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中得内容,但震荡器停止工作并禁止其她所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图3-1所示。
2
(1)根据设计题目,选择AT89C51单片机为核心控制器件。
(2)A/D转换采用ADC0808实现,连接单片机得P1口与P3口得四位引脚。
(3)电压显示采用4位一体得LED数码管。
(4)LED数码管得段码输入由端口P0产生;位码输入用端口P2产生。
2
本设计选择AT89C51单片机作为核心控制器件。A/D转换采用ADC0808来实现。输入采用0~5V得直流电压源,电压显示采用4位一体得LED数码管,LED数码管得段码输人由端口P0输出,位码输人由端口 P2输出。
硬件电路设计由6个部分组成: A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路.硬件电路设计如图2-1所示。
图2—1 系统设计框图
第3章
3
3
AT89C51就是美国ATMEL公司生产得低电压,高性能CMOS8位单片机,片内含有4KB得可反复擦写得只读程序存储器与128字节得随机存储器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准得MCS-51指令集与输出管脚相兼容,由于将多功能8位CPU与闪烁存储器组合在单个芯片中,ATMEL得AT89C51就是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉得方案。

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

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

课程设计说明书课程:单片机应用技术课程设计题目:基于AT89C51单片机的电子表设计姓名:学号专业:机械设计制造及其自动化班级:2011级院系:工学院机械系指导老师:朱煜钰课程设计时间:2014.10.27至2014.11.10黄河科技学院课程设计任务书工学院机械系机械设计制造及其自动化专业 11 级班学号姓名指导教师朱煜钰题目: 基于AT89C51单片机的电子表设计课程: 单片机应用技术课程设计课程设计时间 2014年 10月27 日至2014年11 月 10 日共 2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)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…指导老师签字:日期:基于AT89C51单片机的电子表设计1.设计目的(1).将所学的单片机原理与系统设计中的相关的知识应用于实践;(2).掌握单片机应用系统主要环节的设计、调试方法;(3).培养创新意识,提高动手能力和分析问题、解决问题的能力。

AT89C51单片机电子时钟设计资料(word文档良心出品)

AT89C51单片机电子时钟设计资料(word文档良心出品)

AT89C51单片机电子时钟设计学院:专业:学号:学生:目录1 电子时钟 (4)1.1 电子时钟简介 (4)1.2 电子时钟的基本特点 (4)1.3 电子时钟的原理 (4)2 单片机识的相关知识 (4)2.1单片机简介 (4)2.2 单片机的特点 (5)2.3 AT89C51单片机介绍 (5)3 设计方案的选择 (7)3.1计时方案 (7)3.2 显示方案 (7)3.3 数码管显示工作原理 (8)3.4 键盘电路设计 (9)3.5 主控模块AT89C51 (9)4 系统软件设计 (9)附录 (12)摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。

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

由于具有上述优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

关键词:单片机;电子时钟;AT89C511 电子时钟1.1 电子时钟简介本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。

1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

毕业设计(论文)-基于AT89C51单片机的电子时钟的设计与实现

毕业设计(论文)-基于AT89C51单片机的电子时钟的设计与实现

重庆信息技术职业学院毕业设计题目电子时钟的设计与实现选题性质: 设计□报告□其他院系电子工程学院专业电子信息工程技术班级 09 级(2)班学号学生姓名指导教师教务处制年月日20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。

对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。

数码管显示的时间简单明了而且读数快、时间准确显示到秒。

而机械式的依赖于晶体震荡器,可能会导致误差。

数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。

数字钟的精度、稳定度远远超过老式机械钟。

在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。

在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。

数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。

关键字:数字电子钟、单片机、AT89C51、LED数码显示摘要 (I)目录 (II)第1章绪论 (1)1.1数字电子钟的背景 (1)1.2数字电子钟的意义 (1)1.3数字电子钟的应用 (2)第2章整体设计方案 (3)2.1单片机的选择 (3)2.2单片机的基本结构 (4)第3章数字钟的硬件设计 (9)3.1最小系统设计 (9)3.2LED显示电路 (12)第4章数字钟的软件设计 (14)4.1系统软件设计流程图 (14)4.2数字时钟的仿真图 (20)4.3设计主程序 (21)第5章系统仿真 (23)5.1PROTUES软件介绍 (23)5.2电子钟系统PROTUES仿真 (23)第6章调试与功能说明 (22)6.1硬盘调试 (22)6.2系统性能测试与功能说明 (22)6.3系统时钟误差分析 (22)总结 (23)参考文献 (24)第1章绪论1.1 数字电子钟的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

AT89C51单片机电子时钟设计说明

AT89C51单片机电子时钟设计说明

AT89C51单片机电子时钟设计目录1 电子时钟 (4)1.1 电子时钟简介 (4)1.2 电子时钟的基本特点 (4)1.3 电子时钟的原理 (4)2 单片机识的相关知识 (4)2.1单片机简介 (4)2.2 单片机的特点 (5)2.3 AT89C51单片机介绍 (5)3 设计方案的选择 (7)3.1计时方案 (7)3.2 显示方案 (7)3.3 数码管显示工作原理 (8)3.4 键盘电路设计 (9)3.5 主控模块AT89C51 (9)4 系统软件设计 (9)附录 (12)摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。

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

由于具有上述优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

关键词:单片机;电子时钟;AT89C511 电子时钟1.1 电子时钟简介本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。

1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

基于-单片机AT89C51的电子时钟的课程设计汇本

基于-单片机AT89C51的电子时钟的课程设计汇本

机械与电子工程学院课程设计报告课程名称传感器技术设计题目数字电子钟所学专业名称自动化班级自动化111班学号2011210985学生姓名叶明昭指导教师磊2014年5月12日目录第一章电子时钟11.1电子时钟简介 (1)1.2电子时钟的基本特点 (1)1.3电子时钟的原理 (1)第二章单片机识的相关知识22.1单片机简介 (2)2.2单片机的发展史 (2)2.3单片机的特点 (3)2.489C51单片机介绍 (3)第三章控制系统的硬件设计63.1单片机型号的选择 (6)3.2数码管显示工作原理 (6)3.3键盘电路设计 (7)3.4系统工作原理 (7)3.5整个电路原理图 (9)第四章控制系统的软件设计94.1程序设计 (9)4.2程序流程图 (12)4.3伟福硬件仿真器简介 (14)4.4仿真图及结果分析 (15)第五章附录程序17第六章结束语19参考文献 (20)第一章电子时钟1.1 电子时钟简介本作品采用Atmel公司的AT89C51单片机,以汇编语言为程序设计的基础,设计一个用四位数码管显示时、分的时钟。

现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.3 电子时钟的原理该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。

基于AT89C51的电子定时闹钟设计

基于AT89C51的电子定时闹钟设计

单片机课程设计题目名称:基于AT89C51的电子定时闹钟设计专业班级:测控1404学生姓名:高博学号:201423030418指导教师:郭广灵单片机系统课程设计任务书1 系统概述 (5)1.1单片机技术和数字钟简介 (5)1.2设计本电子定时闹钟的目的 (6)1.3本电子定时闹钟的功能和特点介绍 (6)2方案论证 (6)2.1总体方案 (6)2.2 AT89C51的优越性 (7)3硬件设计 (7)3.1系统的原理方框图 (7)3.2 主电路 (8)3.3 I/O分配 (8)3.4 I/O接线图 (9)4 软件设计 (10)4.1主流程 (10)4.2闹钟的实现 (11)5 系统调试 (11)6 设计心得 (12)7 参考文献 (13)8 源程序 (13)1 系统概述1.1单片机技术和数字钟简介单片机是单片微型计算机的简称,它是一种特殊的计算机。

它特别适合于控制领域,故又称为微控制器MCU(micro control unit). 采用了嵌入系统,通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。

单片机集成度高、功能强、通用性好,而且体积小、重量轻、能耗、低价格便宜,只要和适当的软件及硬件设备相结合,便可成为一个独立的单片机控制的功能系统,单片机也成为目前测量控制应用系统的优选机种和新电子产品的关键部件。

目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。

单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,和传统控制技术相比有革命性的进步。

时钟是将小时、分种、秒种显示于人的肉眼的计时装置。

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黄河科技学院课程设计任务书课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1.设计要求利用AT89C51单片机作为微控制器,在数码管通过一个控制键转换来显示相应的时间和日期,能通过多个控制键用来实现时间和日期的调节。

2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。

要求用Proteus绘制整个系统电路原理图。

2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。

2.3 Proteus仿真用Proteus对系统软硬件进行仿真调试并通过。

2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于5000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要(用visio20XX画图软件)绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并注明各程序功能块的功能。

3.工作计划4.主要参考资料单片机课程设计指导书皮大能北京理工大学出版社 20XX.7 8051单片机实践与应用吴金戎清华大学出版社20XX.8单片机技术基础教程与实践夏路易电子工业出版社20XX.1单片机原理及应用张毅刚高等教育出版社 20XX.11基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社一、电子表1.1电子表简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子表的基础,电子表开始迅速发展起来。

现代的电子表是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。

从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子表的原理该电子表由AT89C51,74LS373,BUTTON,数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天,满三十天(闰年二月满二十九天,平年二月满二十八天)为一个月,满十二个月为一年。

电路中的键控1实现“年”和“分”的调节,键控2实现“月”和“时”的调节,键控3实现“日”和“分”的调节。

每按一次就加一。

二、控制系统的硬件设计2.1 单片机型号的选择通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。

89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。

2.2 数码管显示工作原理数码管是一种把多个LED(7SEG-MP*8-CA-BLUE)显示段集成在一起的显示设备。

有两种类型,一种是共阳型,一种是共阴型。

共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。

共阴型就是把多个LED显示段的阴极接在一起,即为公共商。

阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。

通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。

而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。

即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。

数码管显示方法可分为静态显示和动态显示两种。

静态显示就是数码管的8段输入及其公共端电平一直有效。

动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。

利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

共阴数码管2.3 74LS373介绍:373为三态输出的八 D 透明锁存器,373 的输出端O 0~O7 可直接与总线相连。

当三态允许控制端OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。

当OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,锁存器内部的逻辑操作不受影响。

当锁存允许端LE 为高电平时,O 随数据 D 而变。

当LE 为低电平时,O 被锁存在已建立的数据电平。

当LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400m V。

引出端符号:D0~D7 数据输入端;OE 三态允许控制端(低电平有效;LE 锁存允许端;O0~O7 输出端图3 74LS3732.4系统硬件电路设计三、控制系统的软件设计3.1软件设计程序清单#include<reg52.h>#include<stdio.h>sbit P20=P2^0; /****定义端口****/sbit khour=P3^0;sbit kmin=P3^1;sbit knian=P3^2;sbit tiaonian=P3^3 ;sbit speaker=P3^7 ;int j=-1 ; /*****定义变量,j用以控制扫描********/ bit flag=0,leap=0; /*****定义flag控制时分秒和年月日的显示,leap判断是否为闰年***/char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0; chardayshi=0,dayge=0,monthshi=0,monthge=0,yearshi=0,yearge=0 ; unsigned int num=0,sec=0,min=0,hour=0; /****设置初始时间为00时0分0秒****/unsigned int day=1,month=1,year=10; /****设置初始日期为20XX年1月1日****/char saomiao[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /****扫描数组,控制位选******/charshijian[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 0x90};/*******共阴数码管的0,1,2,3,4,5,6,7,8,9********/void delay(unsigned int z)/*******延时子程序******/{ unsigned int x,y;for(x=z;x>0;x--)for(y=10;y>0;y--) ;}void timer() interrupt 1/*********定时器中断0********/{TH0=(65535-5000)/256;/******重新装入初值*****/TL0=(65535-5000)%256;num++;j++;if((year%4==0&&year%100!=0)||(year%400==0))/*******判断是否为闰年******/leap=1;/*******闰年,使leap=1******/elseleap=0;/*******平年,使leap=0******/if(num==150) /*****实验微调得num=150时大概为1s******/{ num=0;sec++;/****秒自动加1*****/}if(sec==60){sec=0;min++;/****60s时,分自动加1,秒归0*****/}if(min==60){min=0;hour++; /****60分时,小时自动加1,分归0*****/}if(hour==24){hour=0;min=0;sec=0;day++; /****24时,天自动加1,时分秒归0*****/}/**************************************************** ***************************************************** ***************************************************** ***********月份的判断,平年时的2月和闰年时的2月,以及30天和31天的判断***************************************************** ***************************************************** ****************************************************/ if((leap==1&&month==2&&day==30)||(leap==0&&month==2& &day==29)){day=1;month++; /*****2月28天或29天时月自加1*****/}if(month==1||month==3||month==5||month==7||month==8||month ==10||month==12){if(day==32){day=1;month++; /*****月为31天达到时月自动加1*****/}}if( month==4||month==6||month==9||month==11){if(day==31){day=1;month++; /*****月为30天达到时月自动加1*****/}}if(month==13){year++;month=1; /*********新的一年的开始**********/}secge=sec%10;secshi=sec/10;minge=min%10;minshi=min/10;hourge=hour%10;hourshi=hour/10;dayge=day%10;dayshi=day/10;monthge=month%10;monthshi=month/10;yearge=year%10;yearshi=year/10;P1=saomiao[j]; /*******数码管的位选设置*********/if(flag==1)/*******flag=1,显示年月日*******/{if(P1==0x80) P2=shijian[dayge];if(P1==0x40) P2=shijian[dayshi];if(P1==0x20) P2=0xbf; /******年与月之间的分隔符"-"的显示*****/if(P1==0x10) P2=shijian[monthge];if(P1==0x08) P2=shijian[monthshi];if(P1==0x04) P2=0xbf; /******月与天之间的分隔符"-"的显示*****/if(P1==0x02) P2=shijian[yearge];if(P1==0x01) P2=shijian[yearshi];}else/*******flag=0,显示时分秒*******/{if(P1==0x80) P2=shijian[secge];if(P1==0x40) P2=shijian[secshi];if(P1==0x20) P2=0xbf;if(P1==0x10) P2=shijian[minge]; //xian shiif(P1==0x08) P2=shijian[minshi];if(P1==0x04) P2=0xbf;if(P1==0x02&&hour<24) P2=shijian[hourge];/*****显示小时0~23*****/if(P1==0x01&&hour<24) P2=shijian[hourshi];}if(j==7){j=-1;}}void timer1() interrupt 0/**************************************************** ***************************************************** ****************************************************外部中断0,设置标志flag, 按键未按下,flag=0,显示时分秒,按键按下,flag=1,显示年月日***************************************************** ***************************************************** ***************************************************/ {flag=!flag; /******按下knian按钮****flag=1,x显示年月日*******/}void control() /*******时分的调整子程序********/{if(flag==0) /****显示时分秒的情况下做时分的调整******/{if(kmin==0){min++;while(kmin==0);if(min==60)min=0;}if(khour==0){hour++;// sec=0xc0;while (khour==0) ;if(hour>23)hour=0;}}if(flag==1) /********显示年月日的情况下做年月日的调整**********/{if(kmin==0){day++;while(kmin==0);}if(khour==0){month++;while (khour==0) ;if(month>12)month=1;}if(tiaonian==0&&speaker==1){year++;while (tiaonian==0);}}}void baoshi()/******整点报时子程序********/{if(min==0&&sec<10) /*****整点闹钟响,响10秒*****/{speaker=0;delay(1) ;speaker=1 ;}elsespeaker=1;}void alarm()/******闹钟子程序*******/{bit ring=1;char xx=10;if(tiaonian==0){ring=0;delay(100);while(tiaonian==0); /******关闭正在叫的闹钟*****/}if(hour==6&&min==xx&&ring==1)/*******闹钟按时鸣叫1分钟******/{speaker=0;delay(1) ;speaker=1 ;}if(hour==6&&min==xx+1) /*****1分钟后闹钟停止鸣叫*******/{speaker=1;}}void main(){TMOD=0x01; /*******设置工作方式******/TR0=1;P2=0;TH0=(65535-5000)/256; /******装入计时初值*****/TL0=(65535-5000)%256;IE= 0x82;IP=0x00; /*******设置中断优先级*****/EA=1;EX0=1; /****开外部中断0******/while(1){control() ;alarm() ;baoshi() ;}}3.2 Proteus仿真图5.a时间仿真图(此时时间为2点8分31秒)图5.b 日期仿真图(此时日期为20XX年9月3日)四、心得进过不懈的努力,我们顺利完成了这次单片机课程设计课题中的个性化电子表设计,本次仿真总的来说是实现了预期的效果,但是喇叭把的效果不是很好。

相关文档
最新文档