查表法&電腦IO Port二進制轉七段顯示器 通訊系 B09622048 楊穎穆
簡介 1.流程圖 2.真值表 3.程式 4.實驗結果 5.結束
流程圖 main bin2seg(int x) a←P1&0x0F P2←seg[x] bin2seg(a) return
真值表 Binary 16進制 p’ a’ b’ c’ d’ e’ f’ g’ 0x81 1 0 0 0 0 0 0 1 1 0xCF 1 1 0 0 1 1 1 1 2 0x92 1 0 0 1 0 0 1 0 3 0x86 1 0 0 0 0 1 1 0 4 0xCC 1 1 0 0 1 1 0 0 5 0xA4 1 0 1 0 0 1 0 0 6 0xA0 1 0 1 0 0 0 0 0 7 0x8F 1 0 0 0 1 1 1 1 8 0x80 1 0 0 0 0 0 0 0 9 0x8C 1 0 0 0 1 1 0 0
Binary 16進制 p’ a’ b’ c’ d’ e’ f’ g’ A 0x88 1 0 0 0 1 0 0 0 B 0xE0 1 1 1 0 0 0 0 0 C 0xB1 1 0 1 1 0 0 0 1 D 0xC2 1 1 0 0 0 0 1 0 E 0xB0 1 0 1 1 0 0 0 0 F 0xB8 1 0 1 1 1 0 0 0
#include<reg52.h> int bin2seg(int); 程式 #include<reg52.h> int bin2seg(int); unsigned char code seg [16] =(0x81,0xCF,0x92,0x86,0xCC,0xA4,0xA0,0x8F,0x80,0x8C,0x88,0xE0,0xB1,0xC2,0xB0,0xB8); int main(void)
{ // 程式開始 int a; // 宣告變數 a while(1) { a = P1&0x0F; bin2seg(a); // 呼叫副程式 } return 0; int bin2seg(int x) // 副程式開始 P2 = seg[x]; return 0; // 回主程式 } // 程式結束
實驗結果(1) 當開關撥為0000的時候,七段顯示會顯示為0。然後當我開關撥為0001的時候,七段顯示就會顯示為1。這就是利用二進制轉七段顯示,所顯示出來的結果。
實驗結果(2) 當開關撥為0010的時候,七段顯示會顯示為2。然後當開關撥為0011的時候,七段顯示會顯示為3。
實驗結果(3) 當開關撥為0100的時候,七段顯示會顯示為4。然後當開關撥為0101的時候,七段顯示會顯示為5。
實驗結果(4) 當開關撥為0110的時候,七段顯示會顯示為6。然後當開關撥為0111的時候,七段顯示會顯示為7。
實驗結果(5) 當開關撥為1000的時候,七段顯示會顯示為8。然後當開關撥為1001的時候,七段顯示會顯示為9。
實驗結果(6) 當開關撥為1010的時候,七段顯示會顯示為A。然後當開關撥為1011的時候,七段顯示會顯示為b。
實驗結果(7) 當開關撥為1100的時候,七段顯示會顯示為C。然後當開關撥為1101的時候,七段顯示會顯示為d。
實驗結果(8) 當開關撥為1110的時候,七段顯示會顯示為E。然後當開關撥為1111的時候,七段顯示會顯示為F。
End