银GNDC2U1560R119¥3922pFXTAL1PO.OIADO838PO.1/AD1X1¥37口PO.21AD2361812MHzXTAL2PO.3/AD335C1PO.4IAD434PO.51AD533PO.6/AD6329R7.560RSTPO.71AD722pF36888868P2.0/A84VocP2.11A9R9P2.2/A10福PSEN.P2.3/A11.创会220P2.4/A1231P2.5/A13P2.6/A14P2.7iA15RRRRRP1.0P3.0/RXD10uFP1.1P3.1/TXDR88#8P3.2ANTO110kP3.3ANT1VcoP3.4/TOP3.5/T1P3.6RP1.7P3.7RDAT89C51图5-6控制数码管循环显示单个数字的电路及仿真6
6 图5-6 控制数码管循环显示单个数字的电路及仿真
#include<reg51.h>#defineucharunsignedchar#define uint unsigned int#defineoutPouchar codeseg[j={0x3f,0x5b,0x66,0x7d,0x7f0x06,0x4f,0x6d,0x07,0x6f);Ⅱ共阴极段码表voiddelay1000ms();void main(void)tuchari;while(1)Kout=seg[i];delay1000ms();i++;IⅡ如段码为6f,表明一个循环显示已结束if(seg[i]==0x6f)i=0;77
#include <reg51.h> #define uchar unsigned char #define uint unsigned int #define out P0 uchar code seg[]={0x3f,0x5b,0x66,0x7d,0x7f,0x06,0x4f,0x6d,0x07,0x6f}; //共阴极段码表 void delay1000ms(); void main(void) { uchar i; while(1) { out=seg[i]; delay1000ms(); i++; if(seg[i]==0x6f)i=0; // 如段码为6f,表明一个循环显示已结束 } } 7
voidDelay1oms(uintk)I/@12.000MHztunsignedchari,j;for(;k>o;k--)(i= 117;j=184;do(while (--j);} while (--i);17说明:语句if(seg[i]==0x6f)i=0;含义:如果欲送出的数组元素为0x6f(数字“9”段码0x6f,即结束码),表明一个循环显示已结束,则i=0,则重新开始循环显示,从段码数组表的第一个8
void Delay10ms(uint k) //@12.000MHz { unsigned char i, j; for(;k>0;k-) { i = 117; j = 184; do { while (-j); } while (-i); } } 说明:语句if(seg[i]==0x6f)i=0; 含义:如果欲送出的数组元素 为0x6f(数字“9”段码0x6f,即结束码),表明一个循环显示已结 束,则i=0,则重新开始循环显示,从段码数组表的第一个 8
元素seg[0],即段码0xc0(数字o)重新开始显示。5. 3. 2LED数码管的静态显示与动态显示两种显示方式:静态显示和动态显示。1.静态显示方式无论多少位LED数码管,都同时处于显示状态。多位LED数码管工作于静态显示方式时,各位共阴极(或共阳极全接在一起并接地(或接+5V);每位数码管段码线(a~dp)分别与一个8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字符的段码一经确定,则相应/O口锁存器9
9 元素seg[0],即段码0xc0(数字0)重新开始显示。 5.3.2 LED数码管的静态显示与动态显示 两种显示方式:静态显示和动态显示。 1. 静态显示方式 无论多少位LED数码管,都同时处于显示状态。 多位LED数码管工作于静态显示方式时,各位共阴极(或共阳极) 连接在一起并接地(或接+5V);每位数码管段码线(a~dp)分别 与一个8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字 符的段码一经确定,则相应I/O口锁存器
锁存的段码输出将维持不变,直到送入下一个显示字符段码。静态显示方式显示无闪烁,亮度较高,软件控制较易。图5-7为4位LED数码管静态显示电路,各数码管可独立显示,只要向控制各位I/O口锁存器送相应显示段码,该位就能保持相应的显示字符。这样在同一时间,每一位显示的字符可各不相同。静态显示方式占用1/0口端口线较多。图5-7电路,要占用4个8位1/0口(或锁存器)。如数码管数目增多,则需增加I/O口数目。10
锁存的段码输出将维持不变,直到送入下一个显示字符段码。静态 显示方式显示无闪烁,亮度较高,软件控制较易。 图5-7为4位LED数码管静态显示电路,各数码管可独立显示, 只要向控制各位I/O口锁存器送相应显示段码,该位就能保持相应的 显示字符。 这样在同一时间,每一位显示的字符可各不相同。静态显示方 式占用I/O口端口线较多。图5-7电路,要占用4个8位I/O口(或锁存 器)。如数码管数目增多,则需增加I/O口数目。 10