|
|
/*8位數碼管來回掃描顯示1~8*/
#include <reg52.h> //包含頭文件
#include <intrins.h> //包含移位函數頭文件
//段碼表
unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
//毫秒級延時函數
void delay(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主函數
void main()
{
unsigned char k,i,m=0x80; //變量定義
P0 = 0xff; //先關閉數碼管
P2 = 0x00; //
while(1)
{
for(i=8;i>0;i--)
{
for(k = 0;k < i;k++) //循環8次
{
P2 = 0x00; //每顯示一位都要關閉位選端口一次
m=_crol_(m,1); //循環左移
P2=m; //每次選通一個位選端口
P0=dis_code[k+1]; //段碼送P0口
delay(200);
}
m=0x80;
}
m=0x01;
for(i=8;i>0;i--)
{
for(k = i;k>0;k--) //循環8次
{
P2 = 0x00; //每顯示一位都要關閉位選端口一次
m=_cror_(m,1); //循環左移
P2=m; //每次選通一個位選端口
P0=dis_code[k]; //段碼送P0口
delay(200);
}
m=0x01;
}
}
}
|
-
-
數碼管循環遞減顯示數字.rar
2019-10-14 21:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
9.01 KB, 下載次數: 7, 下載積分: 黑幣 -5
|