![]() |
發布時間: 2021-12-19 00:45
正文摘要:十位成了個位,百位成了十位,個位成了百位。 不知錯在哪?求指點 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit wela=P2^7;//位 sbit dula=P2 ... |
lkc8210 發表于 2021-12-20 11:27 謝謝! |
dlbg654321 發表于 2021-12-19 22:37 正正是因為延時錯誤 dula=1; P0=table[bai];//段選百位 dula=0; P0=0xff; delay(5);//延時,視覺停留 wela=1; P0=0xfe;//位選WE1 wela=0; dula=1; P0=table[shi];//段選十位 dula=0; P0=0xff; delay(5);//延時,視覺停留 wela=1; P0=0xfd;//位選WE2 wela=0; dula=1; P0=table[ge];//段選個位 dula=0; P0=0xff; delay(5);//延時,視覺停留 wela=1; P0=0xfb;//位選WE3 wela=0; 你的代碼是位選后立即進入段選讓后才延時 正常流程應改是 1.消影 2.位選/段選 3.段選/位選 4.延時 |
這段代碼不是抄的,找不到答案,自己思考的,或者叫模仿吧。 延時改個位子就行了。問題雖然解決了,但還是不知道怎么解釋。 |
郭天祥的這段代碼是有缺陷的,樓主抄的又不準確就錯上加錯。
|
估計是位選出錯了吧。 |
|