|
|||||||||||
| 技術(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 |
RB0中斷奇怪問(wèn)題:把輸入脈沖電平大大拉低 |
| 作者:carsinogen 欄目:單片機(jī) |
用f877,不斷的燒入程序調(diào)試 調(diào)試現(xiàn)象: 該輸入脈沖經(jīng)過(guò)施密特整形輸入到rb0引腳,輸入脈沖不加到rb0上或不受影響時(shí)有4v左右,被拉低后為1v左右 若程序中不用到portb的任何資源也不對(duì)與portb有關(guān)的寄存器操作,輸入信號(hào)不受影響 去掉對(duì)trisb操作的指令,無(wú)影響,重新燒入一遍程序再試,又被拉低 被拉低的脈沖偶爾也能觸發(fā)rb0中斷,多數(shù)時(shí)候不能觸發(fā) 還有個(gè)現(xiàn)象:書(shū)上說(shuō)trisb上電復(fù)位值為0xff, 將指令movlw 0x01, movwf trisb去掉后,后面的代碼中把rb1-4當(dāng)led的位選,居然也能讓led正確顯示 程序中原意是rb0用于輸入中斷信號(hào),rb1-4用于4個(gè)led位選 非典型問(wèn)題讓俺非典型郁悶,請(qǐng)大俠給解釋解釋! * - 本貼最后修改時(shí)間:2003-6-12 14:34:58 修改者:carsinogen |
| 2樓: | >>參與討論 |
| 作者: fxmxh 于 2003/6/12 14:58:00 發(fā)布:
???????? RB0已是內(nèi)帶施密特緩沖的,干嗎還要加施密特整形輸入? rb1-4當(dāng)led的位選是直接驅(qū)動(dòng)的還是加了三極管的?如果是加三極管的,那有可能將指令movlw 0x01, movwf trisb去掉后讓led正確顯示。 干嘛不用正常的方法? |
|
| 3樓: | >>參與討論 |
| 作者: carsinogen 于 2003/6/13 14:00:00 發(fā)布:
犯的低級(jí)問(wèn)題,已解決 我的同伙在我寫(xiě)的代碼里加了一個(gè)簡(jiǎn)單自檢程序,我沒(méi)有想到他的程序把portb初始化的值修改掉了,我不懷疑他的代碼,一直在我的沒(méi)錯(cuò)的代碼里找原因.有些ft 輸入脈沖不夠好故后來(lái)補(bǔ)加上施密特整形 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |