|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
新手寫的C51程序,求教! |
| 作者:liming6430 欄目:單片機(jī) |
#include <reg51.h> sbit RD_sig=P3^7; sbit WR_sig=P3^6; sbit AD13=P2^5; sbit AD14=P2^6; sbit AD15=P2^7; unsigned int j_low,j_high,c_low,c_high; void INT0_interrupt(void)interrupt 0 { /************************************讀數(shù)據(jù)***********************************************/ P0=0x04; //選通j1 這種選通方法對(duì)馬? j_low=P1&0xFF; //從P1口讀低8位 P0=0x05;//選通j2 j_high=P1&0xFF;//從P1口讀高8位 P0=0x00;//選通c1 c_low=P1&0xFF;//從P1口讀低8位 P0=0x01;//選通c2 c_high=P1&0xFF;//從P1口讀高8位 WR_sig=0;//寫選通 RD_sig=1;//讀禁止 P0=0xF2; //選通信號(hào) P1=(P1&0x00)|j_low; P0=0xF3; P1=(P1&0x00)|j_high; P0=0xF6; P1=(P1&0x00)|c_low; P0=0xF7; P1=(P1&0x00)|c_high; } void main(void) { IP=0x04; //置INT1高優(yōu)先級(jí)中斷 IE=0x9D; //CPU 開中斷,串口中斷允許,定時(shí)器1開中斷,外部中斷0,1開中斷 10011101 TMOD=0x20; //定時(shí)器1方式2 TH1=0xF3; //波特率4800,fosc=12 TL1=TH1; TR1=1; //啟動(dòng)定時(shí)器1 TCON=0x10; PCON=0x00; SCON=0x50; while(1); } 該程序應(yīng)該很簡(jiǎn)單的,就是在中斷要實(shí)現(xiàn)P0口發(fā)送選通信號(hào)(選通38譯碼器),然后通過(guò)245,進(jìn)行P1口的讀入和寫出,怎么連讀寫都實(shí)現(xiàn)不了哪?(外部中斷有1K中斷),問(wèn)題在哪?是不是選通的寫法不對(duì)啊? |
| 2樓: | >>參與討論 |
| 作者: liming6430 于 2005/6/9 8:03:00 發(fā)布:
弱弱的問(wèn):怎么沒(méi)有人說(shuō)話?還是程序問(wèn)題太多啊? |
|
| 3樓: | >>參與討論 |
| 作者: 雁舞白沙 于 2005/6/9 9:20:00 發(fā)布:
好好,看看,P0是做什么用的! |
|
| 4樓: | >>參與討論 |
| 作者: liming6430 于 2005/6/9 9:41:00 發(fā)布:
不理解! P0口是數(shù)據(jù)和地址復(fù)用口啊,給我的電路是這樣設(shè)計(jì)的:用P0口收道數(shù)據(jù)之后,經(jīng)過(guò)51處理再送出來(lái)的!所以我懷疑是P0的選通方法不對(duì)的!但不知道具體是哪的問(wèn)題! |
|
| 5樓: | >>參與討論 |
| 作者: hexiaoxiao 于 2005/6/9 9:43:00 發(fā)布:
D 中斷用得有點(diǎn)亂. 為什么要定義全局變量,而且用int數(shù)據(jù)類型. |
|
| 6樓: | >>參與討論 |
| 作者: liming6430 于 2005/6/9 10:19:00 發(fā)布:
畢竟新手,還是不理解! 其他中中斷再這里并沒(méi)有用的,而且P0口是數(shù)據(jù)地址復(fù)用口,拿到的原理圖是這樣:先通過(guò)P0口給51送數(shù)據(jù),然后處理后再?gòu)腜0口送出來(lái)。 現(xiàn)在還有一個(gè)問(wèn)題,對(duì)于P3口可不可以這樣置位: 先定義 sbit RD=P3^7; 然后再 令 RD=0;以達(dá)到讀選通的目的,可以馬? |
|
| 7樓: | >>參與討論 |
| 作者: tywyangjie 于 2005/6/9 14:21:00 發(fā)布:
可以啊.P3^7也可以作為普通的I/O口用的! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |