使用單片機STC12C4052AD,內部晶振,P1口分別接數碼管相應接口。源碼如下:
/*********************************************************************************************
程序名: 數碼管數字輪換顯示
編寫人: 天涯風云
編寫時間: 2012年11月17日
硬件支持: STC12C4052AD 內部6Mhz晶振
接口說明: 單片機P1各口接數碼管
修改日志:
/*********************************************************************************************
說明:
/*********************************************************************************************
程序名: 數碼管數字輪換顯示
編寫人: 天涯風云
編寫時間: 2012年11月17日
硬件支持: STC12C4052AD 內部6Mhz晶振
接口說明: 單片機P1各口接數碼管
修改日志:
/*********************************************************************************************
說明:
/*********************************************************************************************/
#include <STC12C2052AD.H> //頭文件
/*********************************************************************************************
函數名:毫秒級CPU延時函數
調 用:DELAY_MS (?);
參 數:1~65535(參數不可為0)
返回值:無
結 果:占用CPU方式延時與參數數值相同的毫秒時間
/*********************************************************************************************/
/*******************************************************************************************/
void DELAY_MS (unsigned int a){
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}
/*********************************************************************************************/
/*********************************************************************************************/
/*********************************************************************************************
函數名:主函數
調 用:無
參 數:無
返回值:無
結 果:程序開始處,無限循環
備 注:
/*********************************************************************************************/
函數名:主函數
調 用:無
參 數:無
返回值:無
結 果:程序開始處,無限循環
備 注:
/*********************************************************************************************/
void main (void){ //主函數
unsigned char i; //定義字符型變量i (8位)
unsigned char m[11]={0x03,0xCF,0x25,0x85,0xC9,0x91,0x11,0xC7,0x01,0x81,0xFF};//從數字0到9的字碼表,FF為全部關燈不顯示
unsigned char m[11]={0x03,0xCF,0x25,0x85,0xC9,0x91,0x11,0xC7,0x01,0x81,0xFF};//從數字0到9的字碼表,FF為全部關燈不顯示
for(i=0;i<11;i++){ //P1段, 無限循環
P1 = m[i];
DELAY_MS(600);
}
}
/*********************************************************************************************/