熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
用我的數(shù)碼管驅(qū)動(dòng)絕對(duì)不會(huì)有任何問(wèn)題存在,唯有段值陰陽(yáng)區(qū)別,取反即可,看我帖子。 |
shenqiwei 發(fā)表于 2022-8-31 00:15 樓主抄書的,消隱代碼錯(cuò)誤,按圖例改碼。 ![]() |
走單步,自己一步步的調(diào)試,看看問(wèn)題出在哪了,要學(xué)會(huì)自己調(diào)試程序。 |
本帖最后由 名字不是重點(diǎn) 于 2022-8-31 06:45 編輯 上一貼已說(shuō)過(guò)了: 573的OE被接地了,沒(méi)有消隱,沒(méi)有消隱,沒(méi)有消隱!!! 咋就不聽(tīng)不做呢??? 我?guī)湍阏{(diào)試好了,你可以直接用。 ![]() ////打字太辛苦,畫圖更難受 #include <reg51.h> #include <stdio.h> #include <intrins.h> sbit d1=P2^0; //鎖存段碼 sbit d2=P2^1; // 鎖存位選 unsigned char dis_buf[8]; //顯示緩存 unsigned char dig; //位選 unsigned code segout[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0--9共陽(yáng)段碼表 void disp_8_num(void); //顯示函數(shù) void main(void) //主程序 { unsigned char i; while (1) //主循環(huán) { for(i=0;i<8;i++) dis_buf=i; //緩存刷新:01234567 disp_8_num(); //顯示一幀 } } void disp_8_num() //顯示函數(shù),顯示8個(gè)數(shù)字 { unsigned char i,j; dig=0xfe; //從第一位開(kāi)始掃顯 for (i=0;i<8;i++) //共8個(gè)位的數(shù)碼管 { P0=segout[dis_buf]; //送段碼 d1=1; d1=0; P0=dig; //送位碼 d2=1; d2=0; j=60; //簡(jiǎn)單延時(shí),以穩(wěn)定顯示 while(j--); P0=0xff; //消隱位碼,段碼和位碼2選1或全選都可以 d2=1; d2=0; P0=0x00; //消隱段碼 d1=1; d1=0; dig= _crol_(dig,1); //準(zhǔn)備下一位的位碼 } } |
不知道什么問(wèn)題,查不出來(lái) |
Powered by 單片機(jī)教程網(wǎng)