雖然一開始是用的共陽數碼管的段碼表,但使用時取了反,就相當於在使用共陰數碼管的段碼表。
unsigned char const Tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //共陽數碼管段碼表
PORTA=~Tab[k/10]; //取反了
可以直接在Tab數組中寫共陰數碼管的段碼表,但我是複製的共陽數碼管的段碼表,懶得改,所以就直接在Tab[k/10]前面加~取反。
另外關閉數碼管要用0x00,而不是0xff。0xff是共陽的才用的。
//關閉所有數碼管
void close_led()
{
//共陰要用0x00
PORTA=0x00;
PORTB=0x00;
}
每顯示完一個數碼管完成後要關閉所有數碼管,否則就會出現紅影