|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
同樣的思路在51中可以,在PIC就不理想 |
| 作者:可樂泡飯 欄目:單片機 |
用PIC16F873掃描四位數(shù)碼管來顯示數(shù)據(jù)(這里用0123) 程序如下 #include<pic.h> #define uCHAR unsigned CHAR #define uint unsigned int const uCHAR segcode[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//定義段選 //const uCHAR segcode[11]={0x3f,0x06,0x3f,0x5b,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//定義段選 uCHAR wei1[4]={0x02,0x04,0x08,0x10}; //位選 //uCHAR wei2[4]={0x01,0x02,0x04,0x08}; uCHAR i,data_buf,sel,data1,k; void delay() { uint j; for(j=500;j>0;j--); } void reflash(void) { for(i=0;i<4;i++) { PORTB=0; PORTC=segcode[i]; PORTB=wei1[i]; delay(); } } void main() { TRISA=0x00; TRISB=0x00; TRISC=0x00; while(1){reflash();} } 顯示根本不是0123,但是在51中顯示很好 能說說原因嗎? |
| 2樓: | >>參與討論 |
| 作者: imwangyi 于 2006/2/17 15:31:00 發(fā)布:
你程序配置不全 關掉比較器件,關掉Uart口,關掉模擬口,然后你的顯示就對了. |
|
| 3樓: | >>參與討論 |
| 作者: yewuyi 于 2006/2/18 8:57:00 發(fā)布:
沒有正確的用開水泡飯,所以就顯示不出來了 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |