#include <REG51.H>//兩無符號整型變量相乘積存于無符號字符變量在左側(cè)三位數(shù)碼管顯示實驗。 unsigned char code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//定義0-9共陽極數(shù)碼管段碼。 //******************************** void delay(unsigned int k)//定義延時函數(shù)K為無符號整形變量。 { unsigned int i,j;//定義兩個無符號整型變量i,j. for(i=0;i<k;i++){ for(j=0;j<121;j++)//兩個帶嵌套的for循環(huán)函數(shù)。 {;}} } //******************************** void main(void) //聲明主函數(shù)。 { unsigned int x=20;//聲明x=20為無符號整形變量。 unsigned int y=11;//聲明y=11為無符號整形變量 unsigned char z;//聲明z為無符號字符變量 z=( unsigned char)(x*y);//兩無符號整形變量x,y相乘,其積存于z并制轉(zhuǎn)換為無符號字符變量以節(jié)省存儲空間。 while(1)//while 循環(huán)語句開始,這里進行無限循環(huán)。 { //while 循環(huán)語句開始。 P1= SEG7[z/100];//取Z的百位數(shù)字段碼送P1口顯示。 P2=0xfe;//百位數(shù)位碼。 delay(1);//調(diào)用延時子函數(shù)模塊,維持點亮時間,便于觀察。 P1= SEG7[(z%100)/10];//取Z的十位數(shù)字段碼送P1口顯示。 P2=0xfd;//十位數(shù)位碼。 delay(1);// 調(diào)用延時子函數(shù)模塊,維持點亮時間,便于觀察。 P1= SEG7[z%10]; //取Z的個位數(shù)字段碼送P1口顯示。 P2=0xfb;//十位數(shù)位碼。 delay(1);//調(diào)用延時子函數(shù)模塊,維持點亮時間,便于觀察。 }//while循環(huán)語句結(jié)束。 }//主函數(shù)結(jié)束。
這個實驗程序出此《手把手教你學單片機C語言》這本書第六章,根據(jù)我的實驗板情況與原程序有所改動。
|