项目6__简易数字电子时钟设计.ppt
《项目6__简易数字电子时钟设计.ppt》由会员分享,可在线阅读,更多相关《项目6__简易数字电子时钟设计.ppt(49页珍藏版)》请在沃文网上搜索。
1、项目项目6 6 简易数字电子时钟设计简易数字电子时钟设计 知识目标:1.1.了解了解 7 7段段LEDLED数码管的结构及其工作原理;数码管的结构及其工作原理;2.2.掌握单片机对数码管的静态、动态显示控制方式;掌握单片机对数码管的静态、动态显示控制方式;3.3.应用单片机进行计数控制的原理。应用单片机进行计数控制的原理。能力目标:1.1.能根据设计任务要求编制不同进制计数器的程序流程图,理解能根据设计任务要求编制不同进制计数器的程序流程图,理解 程序对数字电子时钟的控制原理;程序对数字电子时钟的控制原理;2.2.会利用电路仿真软件绘制简易数字电子时钟的电路原理图;会利用电路仿真软件绘制简易数
2、字电子时钟的电路原理图;3.3.会用会用keilkeil C51 C51软件对源程序进行编译调试及与软件对源程序进行编译调试及与protuesprotues软件联软件联 调,实现电路仿真。调,实现电路仿真。引言引言单片机控制实现的数字电子时钟要完成的功能是显示小时、单片机控制实现的数字电子时钟要完成的功能是显示小时、分和秒,是一台按秒计数并显示的计数器。其中小时采用分和秒,是一台按秒计数并显示的计数器。其中小时采用24进制,秒和分采用进制,秒和分采用60进制。进制。本项目从本项目从1位计数器的实现入手,逐步介绍不同进制的多位计数器的实现入手,逐步介绍不同进制的多位计数,最终达到设计简易数字电子
3、时钟的目的。位计数,最终达到设计简易数字电子时钟的目的。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计一、知识储备一、知识储备1.1 1.1 数码管的基本知识数码管的基本知识 数码管是一类显示屏通过对其不同的管脚输入相对的电流使其发亮从而显示出数字。可以显示时间、日期、温度等可以用数字代替的参数。由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等绝大多数用的都是数码管。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计1.1 1.1 数码管的基本知识数码管的基本知识 LEDLE
4、D数码管是一种半导体发光器件,其基本单元是发光数码管是一种半导体发光器件,其基本单元是发光二极管,如图二极管,如图6.46.4。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计1.1 1.1 数码管的基本知识数码管的基本知识(1)按段数可以分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);(2)按能显示多少个“8”可以分为1位、2位、4位、8位数码管;(3)按发光二极管单元连接方式划分可分为共阳极/共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。当某一字段发光二极管的
5、阴极为低电平时,相应字段就点亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。当某一字段发光二极管的阳极为高电平时,相应字段就点亮。如图6.4。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计1.2 LED1.2 LED数码管的静态驱动方式数码管的静态驱动方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码
6、器译码进行驱动。显示数据时,直接将要显示的数字的编码通过单片机送到段码显示端即可。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,而一个AT89S51单片机芯片可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,硬件电路较复杂。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计 一位计数器是单片机控制数码管计数显示的最简单的例一位计数器是单片机控制数码管计数显示的最简单的例子,本任务采用子,本任务采用AT89S51单片机控制数码管静态显示的方式实单片机控制数码管静态显示的
7、方式实现从现从0到到9的加的加1计数显示。计数显示。1.1 1.1 提出任务提出任务 用AT89S51的P2口做输出口,接一位LED数码管,编写程序,使数码管显示从0到9的加1计数,时间间隔为0.5s。即每显示一个数字后,保持0.5s,再显示下一个,显示到数字“9”之后再从“0”开始循环。二、设计示例二、设计示例1.2 1.2 分析任务分析任务1.硬件电路设计任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计电路组成:这里选择具有内部程序存储器的AT89S51单片机作为控制电路(未做特殊说明,则本项目4个任务设计时均采用该单片机芯片),P2口接1个1位共
8、阳数码管,其中P2.0到P2.6分别连接数码管的af引脚,P2.7连接小数点h端。硬件电路原理图如图6.1所示。电路分析:要使LED数码管依次显示数字,则P2口对应输出七段数码管数字显示对应的编码即可。由于流过LED的电流通常较小,为了在仿真实验中让数字显示的更亮一些,所以一般还要在回路中接入合适的限流电阻。一般情况下,根据驱动LED的电流电压计算,在这里取限流电阻为150。当P2.x输出为低电平时,对应的LED亮,输出高电平时,对应的LED不亮。任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计1.2 1.2 分析任务分析任务2.软件设计思路任务任务1
9、 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计LED数码管hgfedcbaP2口输出(16进制)功能说明P2口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0输出电平110000000 xc0显示数字显示数字“0”111110010 xf9显示数字显示数字“1”101001000 xa4显示数字显示数字“2”101100000 xb0显示数字显示数字“3”100110010 x99显示数字显示数字“4”100100100 x92显示数字显示数字“5”100000100 x82显示数字显示数字“6”111110000 xf8显示数字显示数字“7”
10、100000000 x80显示数字显示数字“8”100100000 x90显示数字显示数字“9”1.2 1.2 分析任务分析任务2.软件设计思路任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静态)设计计数显示(静态)设计根据前面分析,实现任务的思路是:(1)程序开始时,给数组元素的变量赋初始值0,并将数组中第1个元素送P2端口;(2)延时0.5s后,将变量i加1,并判断是否已读取到第10个元素;(3)如果已经读取完,则对变量i重新赋值0,如果没有,则继续读取数组中第i个元素送到P2端口,依次循环。思考与练习思考与练习 任务任务1 1 从从0 0到到9 9的加的加1 1计数显示(静
11、态)设计计数显示(静态)设计1.若该从0到9的加1计数显示采用共阴极数码管,则单片机控制的硬件电路及程序如何修改?2.修改程序lsd5-1中显示的数据,使其显示范围扩大到0F共16个十进制数。一、知识储备一、知识储备1.1 LED1.1 LED数码管动态显示驱动方式数码管动态显示驱动方式 1.动态驱动是将所有数码管的8个显示笔划adp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制;2.当单片机输出字形码时,所有数码管都接收到相同的字形码,我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。3.通过分时轮流控制
12、各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计 数码管动态显示接口是单片机中应用最为广泛的一种显示数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一方式之一;1.1 LED1.1 LED数码管动态显示驱动方式数码管动态显示驱动方式 关于视觉暂缓效应:在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一
13、样的,但动态显示更能够节省大量的I/O端口,而且功耗更低。任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计1.2 601.2 60进制计数程序设计说明进制计数程序设计说明 两位数计数函数可以采用一位数的计算方法实现,本任务实现60进制计数即是采用一位计数方法:unsigned char time=0/定义变量time为计数值,初值为0void calc()/计数程序time0+;/计数值加1if(time059)/判断计数是否到59time0=0;/到59,则计数从0重新开始任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数
14、显示(动态)设计1.2 601.2 60进制计数程序设计说明进制计数程序设计说明 由于数据存储结构的改变,导致计算的数据结构与原有的显示程序数据结构不一致,于是本任务中将计算的数据通过一个数据转换程序后送到原有的数据结构中,实现加1计数并显示。数据转换程序:由于是一位(time)计数,两位(059)显示,因此将计数器所计数time转换为数码管显示所需要的十位和个位数值,转换方法是:将计数值time对10去整得到十位,对10求余得到个位。程序如下:void convert()/计数转换程序 display_data0=time/10;/对计数值取整得到计数的十位 display_data1=ti
15、me%10;/对计数值求余得到计数的个位 任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计1.2 601.2 60进制计数程序设计说明进制计数程序设计说明 (2)分别计数方法 两位数计数函数的实现方法还可以在原有的加1计算的程序基础上进行改进,即将个位数和十位数分别计数,个位计数每到9(满10),向十位进1,十位就加1,个位再从0开始计数。将计数值从数码管编码表读出且送端口显示数据,并控制个位显示在十位的右边,就完成了两位数的计数显示。其计数程序可以简要写作:int time=0,0 /time0用于个位计数,time1用于存放十位计数void ca
16、lc()/计算程序time0+;/个位计数,if(time09)/判断是否计数到9time0=0;/若计数到9,则十位加1,个位重新从0开始time1+;if time15;/判断十位是否计数到5time1=0 /若十位计数到5,则计数重新开始 任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计 在时钟计数时,分和秒计数一般均为60进制,也就是说从0开始到59,之后重复。基于数字电子钟设计由浅入深的原则,在实现一位数计数的基础上,本任务介绍采用AT89S51单片机控制数码管实现两位数计数。主要解决多位数计数以及不同位数的计数显示控制。1.1 1.1 提
17、出任务提出任务 用AT89S51的P2口做输出口,接一个8位LED数码管,编写程序,使数码管从0开始计数,到59时复位为0,即一个两位的加法计数器,数字显示时间间隔为0.5s。二、设计示例二、设计示例任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计1.2 1.2 分析任务分析任务1.硬件电路设计任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计电路组成:仍然选用 AT89S51单片机作为控制核心,1个8位共阳极数码管作为输出显示端。AT89S51的P0口接数码管的段码控制,其中P0.0P0.6分别连接数码管的
18、AG引脚,P0.7连接DP端,低电平有效。P2口接数码管位码选通部分,P2.0口控制第1个数码管,一直到P2.7口控制第8个,高电平有效。硬件电路原理图如图6.5所示,选择8位数码管的前面两位进行计数显示。电路分析:要使8位数码管显示实现从0到59的动态计数,实际上就是通过P2口输出控制信号轮流选通数码管,共阳型数码管公共端为高电平方可选通,因此要求P2口由P2.7到P2.0依次输出高电平,然后在数码管段码控制端口P0按照一定规律送出要显示的数字09。由于P0口带负载能力较小,因此仿真电路中P0接入一排上拉电阻。任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(
19、动态)设计1.2 1.2 分析任务分析任务2.软件设计思路AT89S51端口输出电平分析:根据数码管的动态显示方式,要显示的数码管的8个笔画端接在单片机的P0端口的8位上,而单片机的另一个端口P2的各个位分别控制8位数码管的公共端,控制数码管是否点亮选通。在程序的控制下依次快速输出要显示的各个数,并同时控制对应的数码管工作,在这里选择最左侧两个数码管输出。P0端口输出电平如表6-2所示。任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计表表6-2 6-2 数码管数码管6060进制动态显示段码任务分析表(一)进制动态显示段码任务分析表(一)任务任务2 2
20、 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计表表6-2 6-2 数码管数码管6060进制动态显示段码任务分析表(二)进制动态显示段码任务分析表(二)任务任务2 2 从从0 0到到5959的加的加1 1计数显示(动态)设计计数显示(动态)设计2.软件设计思路 从表6-2可以看出,各个数码管的段码都是P0口的输出,即各个数码管输入的段码都是一样的,其计数过程是先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。可是,单片机控制的数码管选通一次只能有一位数码管显示,在计数超过9之后进入两位数计数过程,,即怎样才能使人在视觉上同时看到两位数?实际上
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 _ 简易 数字 电子 时钟 设计