|
|||||||||||
| 技術(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 |
W78E58B 純軟件方式ISP不成功,有勞大蝦指點(diǎn). |
| 作者:用戶 欄目:單片機(jī) |
W78E58B 純軟件方式ISP不成功,有勞大蝦指點(diǎn). 我把華邦提供的代碼加入我的項(xiàng)目,可以正常地下載. 但當(dāng)我把三個(gè)中斷全用上時(shí),問(wèn)題出現(xiàn)了:\ T0: 加入代碼中定時(shí)用. void time_10ms() interrupt 3 using 0 T1:自己的工程中使用 void Timer0ISR (void) interrupt 1 using 1 T2:用作串口通訊波率發(fā)生 void SerialInt(void) interrupt 4 using 3 經(jīng)調(diào)試發(fā)現(xiàn)問(wèn)題出現(xiàn)在初始化時(shí),如果僅用華邦提供的初始化,可以ISP. InitialPowerON_ISP(),如下: (為華邦提供,未改動(dòng)) turbo_CKCON=0x01; ie=0x00; et0=1; // timer0 interrupt enable es=1; // RS-232 interrupt enable ea=1; // all interrupt enable Timer2BaudRate(); 但加上我自己初始化T1的代碼后,isp就不成功了.如下: void init_power_ON_System(void) { // 均為16位定時(shí)器 TMOD = 0x11; TH1 = 0xec; TL1 = 0x78; ET1 = 1; TR1 = 1; EA = 1; // 初始化訪問(wèn) xdata , 注意 78e58b 與 78E516B 不同. CHPENR=0x87; CHPENR=0x59; CHPCON|=0x10; CHPENR=0x00; } 對(duì)函數(shù)的調(diào)用順序?yàn)橄日{(diào)InitialPowerON_ISP(),再調(diào)init_power_ON_System(). 檢查后發(fā)現(xiàn)對(duì)TMOD的設(shè)置會(huì)影響T0,但在華邦提供的代碼中,也是將其設(shè)為 0x11. 我的BUG到底在哪兒呢 |
| 2樓: | >>參與討論 |
| 作者: 用戶 于 2005/11/29 22:36:00 發(fā)布:
解決了,進(jìn)入ISP前未關(guān)T1中斷. |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |