任务四键控流水灯和LED数码管显示

任务四键控流水灯和LED数码管显示

ID:41406567

大小:852.01 KB

页数:49页

时间:2019-08-24

任务四键控流水灯和LED数码管显示_第1页
任务四键控流水灯和LED数码管显示_第2页
任务四键控流水灯和LED数码管显示_第3页
任务四键控流水灯和LED数码管显示_第4页
任务四键控流水灯和LED数码管显示_第5页
资源描述:

《任务四键控流水灯和LED数码管显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务四键控流水灯和LED数码管显示LED显示的原理数码管的每段笔画其实就是一个单独的发光二极管,内部有两种不同的连接方式,若将各二极管的阳极都连在一起引出个公共端——称共阳数码管,如图(a);若将各二极管的阴极都连在一起引出个公共端——称共阴数码管如图(b);使用时将共阴数码管公共端接低电平,若某笔画端接高电平则对应笔画点亮,共阳反之。所以购买和使用时必须高清是共阳还是共阴的。4.1LED显示LED的显示可分静态和动态显示。静态显示是各只数码管单独用一只显示译码器,单片机与显示器的连接如下图如示:当某只数码管要显示某一数或字符时单片机向该管的锁存端发允许写入电平,并

2、向P1口发出显示的十六进制数,其余管不允许写入,接着发锁存信号。共阳数码管组成的动态扫描电路LED显示动态显示的原理静态显示的优点显示稳定,不存在闪烁。与CPU并行工作。但从静态显示的硬件可以看出,当选用的数码管越多,译码器的数量也随之增多,这样会增加硬件的开销。为此人们采用动态显示。如图所示位选口字型口动态显示的原理某一时刻位选先选通其中一位,如对图中的共阳数码管,要使最左边位能点亮,则令P2.0为0,其余位选位均为1;这时在字型口输出该位要显示的数字(或字符)的字型,亮1ms左右;接着位选选通另一位,其余位选关闭,字型口输出该位要显示的数字(或字符)的字型,虽然

3、这时前一位位选已关闭,但基于眼睛的惰性,前一位显示的数字或字型还留在眼中,依次一位位循环显示下去,直至最后一位显示完毕,一个动态扫描显示过程结束。可见动态扫描显示是在执行动态扫描显示程序的。要连续显示必须反复的去执行动态扫描显示程序。一般可把动态扫描显示编成个子函数,主函数反复去调用它。人眼的惰性有一定时间,一般10ms左右,超过这一时间再去执行显示程序,它就会闪烁,所以LED的位数不能太多。动态扫描具体实现方法:显示缓冲区首先在内部数据存储器的若干连续单元中开辟一个显示缓冲区数组,每个单元顺序对应一个数码管,在调用动态扫描子函数以前,先在数组中写入各数码管要显示的

4、数字和字符在字型表中离开表头位置的值,这样当动态扫描显示程序要向字型口输出字型时,只要读得该对应缓冲区内的值,通过查字型表获得输出字型。注意不是把缓冲单元的值直接输出。待显示信息数组动态扫描子程序流程图:P1←TAB[a1]P3←ri←0r←01a1←dt[i]r=0x20?或i=6i←i+1r←r<<1调用延时1MS子函数TAB[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67。。。0x71};#includeunsignedcharcodedt[]={0x01,0x02,0x03,0x04

5、,0x05,0x06};//待显示的信息在显示缓冲区数组;unsignedcharcodeTAB_Font[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x8C,0xFF,0x89};//共阳字型表数组unsignedr=1;//位输出口初值,选中最左位LEDvoiddelay1(unsignedint);//延时1ms子函数原型说明main()//主函数{unsignedchaari=0,a;//定义变量i—显示缓冲区数组元素指针,a—某位待输

6、出信息while(1){P2=r;//选中某一位a=dt[i];//从显示缓冲区数组取出该位显示信息P0=TAB_Font[a];//查字型表,输出字型delay1(1);//延时1msr<<=1;//扫描位左移(在实际图中即右移)i++;//指针加1if(r==0x40){r=1;//6位扫描结束判断i=0;}//结束后指针复位}}//延时程序1voiddelay1(unsignedintms){unsignedinti,j;for(i=0;iuns

7、ignedcharcodedt[]={0x01,0x02,0x03,0x04,0x05,0x06};unsignedcharcodeTAB_Font[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x8C,0xFF,0x89};unsignedr=1;unsignedi=0,a;voiddelay1(unsignedint);display();main(){while(1)display();}display()//LED动态扫描显示子函数{

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。