《任务九数码管显示器接口.ppt》由会员分享,可在线阅读,更多相关《任务九数码管显示器接口.ppt(16页珍藏版)》请在三一办公上搜索。
1、任务九 数码管显示器接口扩展,任务分析:扩展LED数码管显示器接口,硬件 LED数码管显示器的结构 LED数码管显示器的静态和动态显示 软件 LED数码管显示器的动态显示编程 编译、下载、调试 编译软件:keil 下载软件:STC-ISP,LED数码管显示器的结构与原理,单片机应用系统中使用的显示器分类:按器件的工艺分类:LED(发光二极管显示器):价格更低廉、结构更简单LCD(液晶显示器):功耗低,显示清晰度更高按显示方式分类:数码管点阵,LED数码管显示器的结构与原理,LED数码管显示器:发光二极管来显示字段的器件公共端的连接方式:共阴极、共阳极,LED数码管显示器的结构与原理,字段选码(
2、字形码):送往数码管的实际数值,共阴极与共阳极的字段选码互为反码。,LED数码管显示器的显示方式,LED数码管显示器的显示方式静态显示方式:当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,直到显示另一个字符为止。优点:亮度较高,编程容易,管理较简单。缺点:占用I/O口资源较多,每位占用8根I/O线。连接:每位的每根字段选连接一跟I/O线,公共端接 地(或电源)。应用:一般用于显示位数较少的场合。在显示位数较多时,一般采用动态显示方式。,LED数码管显示器的显示方式,LED数码管显示器的显示方式,例、输出分别显示字符“1”、“2”、“3”的程序如下:#include unsigned
3、 char code dis_tab16=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E;void main()while(1)P1=dis_tab1;P2=dis_tab2;P3=dis_tab3;,LED数码管显示器的显示方式,串行扩展LED显示器静态显示,LED数码管显示器的显示方式,动态显示方式基本特点:一位一位地分时轮流点亮各位显示器,对每一位显示器来说,每隔一段时间轮流点亮一次。显示亮度:显示器的亮度既与导通电流有关,也与点亮和熄灭时间的比
4、例有关。连接方式:将LED显示器的所有字段选线并联在一起,由一个8位I/O口控制,公共端(位选端)分别由另外的I/O口控制,实现各位显示器的分时选通。,LED数码管显示器的显示方式,例、最右边数码管显示1。分析:74LS377(1):字段选码(地址为7FFFH)74LS377(2):位选码(地址为0BFFFH),#include unsigned char code dis_tab16=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/字段选码表uns
5、igned char data dis_data,bit_data,seg_data;unsigned char xdata*add377seg=0 x7fff;/字段选码地址unsigned char xdata*add377bit=0 xbfff;/位选码地址,void display()bit_data=0 xfe;/位选码初始化为最右边数码管*add377seg=dis_tabdis_data;/查表得字段选码,并送出*add377bit=bit_data;/送出位选码 void main()dis_data=1;while(1)display();,#include#include
6、unsigned char code dis_tab16=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/共阴极字段选码表unsigned char data dis_data,bit_data,seg_data;unsigned char xdata*add377seg=0 x7fff;/字段选码地址unsigned char xdata*add377bit=0 xbfff;/位选码地址void mDelay(unsigned int Delay)
7、unsigned int i;for(;Delay0;Delay-)for(i=0;i114;i+);,例、6个数码管显示654321。,void display()unsigned char data i;bit_data=0 xfe;/初始化位选码 dis_data=1;/初始化显示的字符 for(i=0;i6;i+)*add377seg=dis_tabdis_data;/查表的字段选码,并送出*add377bit=bit_data;/送位选码 mDelay(5);bit_data=_crol_(bit_data,1);/位选码左移1位 dis_data+;/更新显示字符 void main()while(1)display();,1、实现实验板上的LED数码管从左到右显示87654321。,LED数码管显示器的动态显示,