數碼管動態掃描顯示01234567程序二——51單片機動態顯示共陽數碼管01234567
原理圖
c語言程序
程序如下:
#include
#define uint unsigned int
#define uchar unsigned char
//共陽數碼管段碼表0-F
uchar code smg_dw[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
//數碼管段位碼表0-F
//uchar code smg_wm[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //顯示01234567
uchar code smg_wm[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//顯示76543210
void delay_ms(uint); //延時子函數聲明
void main()
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
P2=smg_wm[i];//選位碼
P0=smg_dw[i];//選段碼
delay_ms(5);//延時5ms
}
}
}
void delay_ms(uint z) //帶參數延時子函數
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}