数码管动态显示模块设计

上传人:jin****ng 文档编号:194511060 上传时间:2023-03-13 格式:DOCX 页数:11 大小:244.88KB
收藏 版权申诉 举报 下载
数码管动态显示模块设计_第1页
第1页 / 共11页
数码管动态显示模块设计_第2页
第2页 / 共11页
数码管动态显示模块设计_第3页
第3页 / 共11页
资源描述:

《数码管动态显示模块设计》由会员分享,可在线阅读,更多相关《数码管动态显示模块设计(11页珍藏版)》请在装配图网上搜索。

1、数码管动态显示模块设计实验目的1、理解数码管动态显示原理2、理解数码管动态显示电路的设计方法3、掌握数码管动态显示程序的设计方法4、掌握单片机定时器与中断系统的使用方法实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理1、数码管动态显示原理几乎所有的单片机应用系统都要用到数码显示。数码显示是一个占用IO资源较多、程 序设计较复杂的模块。在设计时,应从IO占用与软件复杂程度两方面考虑。这里以8位数数码管显示器的8个笔划段a-hp同名端连在一起,而每一位数码管显示器的公共端(1, 2, 3, 4)各自独立地受三极管控制。CPU向字段输出口送出字形码时,所有显示器接收到 相同的字形码,但究竟

2、是那个显示器亮,则取决于数码管的公共端,而这一端是由74LS164 控制的,所以我们只要控制164的输出数据就可以决定何时显示哪一位了。而所谓动态扫描 就是指我们采用分时的方法,轮流控制各个显示器的公共端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的 视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描 的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。图中100欧电阻起限流作用,保护发光二极管。电阻值越小,发光二极管越亮。2K电阻是位选端限流电阻,保 护位选三极管。由上图可知,这里的数码管是共阳极

3、型。数码管上显示一些符号,必须给数码管的笔形 口接低电平信号,给要显示的位公共端送高电平,相应位的数码管就可以显示所要的符号2、数码管动态显示程序设计数码管动态显示程序包含显示数字、部分字母符号、小数点、数码管闪烁、数码管消隐 等。其它程序输出到显示程序的数据既可以是BCD码、二进制码、ASCII码、自定义显示 码等。假设显示的符号与数据的对应关系如下:显示符号0123456789数据00H01H02H03H04H05H06H07H08H09H显示符号ABCDEFH全亮全暗-数据OAH0BH0CH0DH0EH0FH10H11H12H13H由硬件电路工作原理可知,为了显示稳定的数据,每秒必须显示

4、数据50 次以上,才能达到预期目的。首先设计一个能显示一位数的程序,然后重复执行这段程序,并改变所显示的内容。由上一实验内容可知,可把位选数据的输出用两 种方法实现:位选数据每显示一位送一字节; 位选数据每显示一位送一位二进制数。程序流 程图如 4-5 所示。输出位选数据-1第一位显示数据?_0 写入 74LS1641 写入 74LS1641 r返回输出位选数据-2DIN=O, CLK=O,位选数据设定为左边第1位显示位选数据左移一位,移出的位 送到DIN,CLK产生正脉冲输出数据位数减1返回图 4-5 数码管动态显示程序流程图3、小数点显示原理在显示数据时,显示小数是一个必要功能。但在前面的

5、分析中,并没有包含显示小数点 的内容。小数点的显示方式有:(1)固定式:小数点的显示位置不能改变,程序设计较简单。(2)特征位式:每位二进制数控制一个小数点的亮暗情况,一个字节同时控制 8 个。(3)计数式:用数字控制第N位的小数点亮。如:5表示第5位小数点亮,其它暗。(4)ASCII码式:送到显示缓冲区的数是ASCII码数据,在包含“.“时,相应位的小 数点亮。这里以第(2)种为例说明,其它方式由读者自行设计。假定小数点控制数据dispdot的各位情况如下所示。D7D6D5D4D3D2D1D0第1位小 数点开关第2位小 数点开关第3位小 数点开关第4位小 数点开关第5位小 数点开关第6位小

6、数点开关第7位小 数点开关第8位小 数点开关当对应位为1 时,小数点亮;当对应位为0 时,小数点暗。小数点显示的信息可以在显 示码输出之前,也可以在扫描一帧结束后单独显示小点数。原理说明:当显示第一位数据时, 判断dispdot的D7是否为1,如果为1点亮第一位小数点,为0熄灭第一位小数点。流程图 如图4-6所示。图 4-6 小数点控制程序流程图4、单片机定时器的工原理MCS-51单片机内部有两个16位可编程的定时器/计数器T0和T1。它们即可用作定时 器方式,又可用作计数器方式。其中T0由TH0和TL0计数器构成;T1由TH1和TL1计 数器构成。工作于定时器方式时,通过对机器周期(新型51

7、单片机可以对振荡周期计数)的计数, 即每一个机器周期定时器加1,来实现定时。故系统晶振频率直接影响定时时间。如果晶振 频率为12MHZ,则定时器每隔(1/12MHZ)X12=1us力口。工作于计数器方式时,对P3.4或P3.5管脚的负跳变(1 一0)计数。它在每个机器周期 的S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数 器加 1。因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。特殊功能寄存器TMOD用于定时器/计数器的方式控制。高4位用于设置T1,低4位用图4-7 定时器模式控制字格式TCON 寄存器用于定时器的计数控制和中断标志

8、。如图4-8所示。D7D6D5D4D3D2D1D0TCONTF1TR1TF0TR0圧1IT1IE0ITO用于外部中断图4-8 定时控制寄存器数据格式编写程序控制这两个寄存器就可以控制定时器的运行方式。单片机内部定时器/计数器的使用,简而概之:(1)如需用中断,则将EA和相关中断控 制位置1; (2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TR0或 TR1置1。(4)如使用中断,则计数溢出后硬件会自动转入中断入口地址;如使用查询,则 必须对溢出中断标志位TF 0或TF1进行判断。5、用定时器编写一个秒计时器假设系统使用的晶振频率为12MHZ,即每个机器周期为1us。如使用

9、方式1,则定时时间 最长是216X1us=65536us=65.536ms,小于1s。故必须设置一个软件计数单元,即假设定时器 定时中断时间为50ms,贝9必须定时中断20次才达到1s并对秒计时单元加1, 20即为软件计数 次数。最后再把秒计时单元的值转成显示数码送显示缓冲区。图 4-9 定时器应用程序流程图6、单片机中断系统结构及工作原理标准 51 单片机的中断系统有五个中断源。分别为:中断源入口地址优先级别(同级)外部中断00003H最咼定时器0 溢出000BH外部中断10013H定时器1 溢出001BH串行口中断0023H最低使用中断之前,必须对中断允许寄存器IE进行设置,将中断允许标志

10、EA和对应中断位置1,图4-10 MSC51中断结构图CPU中断的过程为:当有中断源发生中断信号时,首先对IE中对应的中断位判断;如打开, 则进行EA判断;如EA=1,将根据中断优先级IP的设置情况进行优先级判别;如该中断优 先级较高,在硬件控制下,先将程序计数器PC的内容压入堆栈,同时把被响应的中断服务 程序的入口地址装入PC中,以执行中断服务程序。中断服务程序的最后一条指令必须是中 断返回指令RETI。CPU执行完这条指令后,将从堆栈中弹出两个字节内容(断点地址)装 入PC中,从而执行被中断的程序。实验内容1、在数码管上显示学号的后8位程序如下includevreg51.h/*动态数码管显

11、示,共阳极*/#define uint unsigned int#define uchar unsigned char#includevintrins.hsbit CLK=P3人4;sbit DIN=P2A3;uint i;uchar code duan=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;小数点不亮, 段码0-9void delay(uint xms)uint i,j;for(i=xms;i0;-i)for(j=110;j0;-j);void mach()DIN=1;CLK=0;_nop_();CLK=1;_nop_(); vo

12、id main() while(1) for(i=0;i8;i+) mach();DIN=0;CLK=0;_nop_();CLK=1;_nop_();P0=0xff;P0=duan2;显示第一个数码管delay(2);mach();P0=0xff;P0=duan2;显示第二个数码管delay(2);mach();P0=0xff;PO=duanO;显示第三个数码管delay(2);mach();P0=0xff;P0=duan2;显示第四个数码管delay(2);mach();P0=0xff;P0=duan8;显示第五个数码管delay(2);mach();P0=0xff;PO=duanO;显示第

13、六个数码管delay(2);mach();P0=0xff;P0=duan4;显示第七个数码管delay(2);mach();P0=0xff;P0=duan9;显示第八个数码管delay(2);2、设计一个以学号后两位加10秒的倒计时程序 程序如下#include#include#define uchar unsigned char#define uint unsigned intuchar code number=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;uchar a8;uint counter=0;sbit CLK=P3人4;sbi

14、t DIN=P2A3;void Delay(uchar t)uchar i;while(t-)for(i=120;i0;i-);void refresh_led()static uchar j=0;switch(j)_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();case0:DIN=0;CLK=0;CLK=0;j+;P0=numbera0;Delay(2);/break;case1:DIN=1;CLK=0;CLK=0;j+;

15、P0=numbera1;Delay(2);/break;case2:DIN=1;CLK=0;CLK=0;j+;P0=numbera2;Delay(2);/break;case3:DIN=1;CLK=0;CLK=0;j+;P0=numbera3;Delay(2);/break;case4:DIN=1;CLK=0;CLK=0;j+;P0=numbera4;Delay(2);/break;_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();_nop_();CLK=1;_nop_();case 5: DIN=1;CLK=0;CLK=0;j+;P0=numbera5;

16、Delay(2);/break;case6:DIN=1;CLK=0;CLK=0;j+;P0=numbera6;Delay(2);/break;case7:DIN=1;CLK=0;CLK=0;j=0;P0=numbera7;Delay(2);break;default:break;void main()TMOD|=0x10; TH1=0xfc; TL1=0x67;TR1=1; ET1=1; EA=1; while(1);void timer1() interrupt 3static uchar sec=32; uchar i;TH1=0xb1;TL1=0xe0; counter+;if(coun

17、ter=50) counter=0; a0=sec%10; a1=sec/10%10; a2=sec/100%10; a3=0; a4=0; a5=0; a6=0; a7=0;sec-;for(i=0;i8;i+)DIN=1;CLK=0;_nop_();CLK=1;_nop_(); refresh_led();思考题1、运行上面的程序,计算显示程序每秒运行的次数? 2、请说明数码管的消隐(数据不显示,内容保持不变)如何实现答在每位位选后点亮该位,延时15ms,再关掉位选。共阴管,delay(3); P2=0x00;设位控 为 P23、在实验程序基础上编写一个24 小时计时时钟。4、说说把显示程序放在主程序和定时中断程序的优缺点答 显示程序放在主程序时会一直占用空间执行,但执行速度比较快 显示程序放在中断程序是通过中断服务程序中被调用而执行的,每中断一次调用一次,故执 行耗时间。5、如何提高单片机定时器的定时精度。答 1.选用温度补偿晶振。2.把你的程序运算指令的时间也算在定时器内。3把PWM的时钟源设置为定时器0再调整一下,改变PWM的频率。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!