這是我咋你的代碼的基礎(chǔ)上做的修改,因為電路設(shè)計的問題,輸出到P0口時做了取反處理。可以正常顯示“0.”到“F.”,已經(jīng)用proteus7.5做了驗證
#include "reg52.h"
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
char code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char i=0;
void delay(void) {
unsigned int j=0;
unsigned int k=0;
for (j=0; j < 300;j++) {
for (k=0; k < 300;k++) {
}
}
}
void main() {
LSA=0;
LSB=0;
LSC=0;
while(1) {
for (i=0; i < 17;i++) {
P0=(smgduan[i]|0x80)^0xff;
delay();
}
}
}
|