|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
我是菜鳥,程序編譯出問題,望高手前輩們指點 |
| 作者:qiangdao 欄目:新手園地 |
我才剛剛接觸單片機(jī),都是自學(xué)的。在實際中遇到很多問題,我知道只有站在巨人的肩上才能看得更遠(yuǎn);我希望前輩給我這個雛鳥指點指點◎! 我用偉福6000的軟件模擬器編譯, mode equ 00h count equ 5000 times equ 200 disp reg p1 (編譯后說的是操作碼錯誤,我不明白,我看書書上說reg指令于equ指令類似,只不過右邊的是寄存器,輸出或輸入端口,儲存器地址;如果指令正確的話那么編譯以后也應(yīng)該沒有問題,可是編譯后確說是操作碼錯誤,望指教!) led reg p0.7 (出現(xiàn)上面的問題后,我不用reg 指令,直接用p0.7和p1) org 30h jmp start start: MOV disp,#0ffh(改為:mov p1,#0ffh) clp led(改為:mov p0.7,#0) mov tmod,#mode loop: (加上:clr p0.7用來彌補(bǔ)下面因修改clp led 后程序失去的功能,即當(dāng)r3超過60后,改變p0.7的狀態(tài)) mov r1,#0h mov r3,#60 next: mov r0,#times mov a,r1 da a mov r1,a mov p1,a again: mov th0,#(8192-count)/32 mov thl,#(8192-count).mod.32 [ 在改完程序后再編譯,程序乃還有問題,問題是說為定義標(biāo)識符:mod ;此處我也不明白望高手指教!] setb tr0 wait: jbc tf0,timeout jmp wait timeout: CLR tr0 djnz r0,again inc r1 djnz r3,next cpl led(改為setb p0.7) jmp loop end 最后我想問問你們對于da指令的應(yīng)用,什么時候需要切換到寄存器組?再單片機(jī)中寄存器組有那些,功能是都是什么! |
| 2樓: | >>參與討論 |
| 作者: maychang 于 2007/5/9 11:59:00 發(fā)布:
回 匯編器有很多種,支持的偽指令有多有少,各不相同。既然REG偽指令出問題,檢查一下你的匯編器是否支持這條偽指令。 這條偽指令既然與EQU功能相同,使用這條偽指令好像必要性不大。直接用EQU就挺好。 同樣,檢查是否支持MOD這個標(biāo)志符。這個標(biāo)志符好像也用處不大,沒有聽說過。 51單片機(jī)中有四組工作寄存器,名稱都是R0-R7.。但同一時刻只能使用一組,由PSW中的兩位指示當(dāng)前工作寄存器組。 工作寄存器并沒有什么特殊功能,但使用工作寄存器的指令短,所以快。一般情況,工作寄存器用于存放當(dāng)前模塊暫時使用而不必長時間保存供其它模塊使用的數(shù)據(jù)。 一般是在進(jìn)入中斷程序后切換工作寄存器組,這樣可以避免保護(hù)各工作寄存器的麻煩。不過需要注意,一定要將PSW寄存器入棧保護(hù),退出中斷時PSW還要出棧。 DA A指令用于數(shù)制轉(zhuǎn)換、ASCII碼轉(zhuǎn)換、十進(jìn)制運(yùn)算等。 |
|
| 3樓: | >>參與討論 |
| 作者: conwh 于 2007/5/9 19:55:00 發(fā)布:
同上,在偽指令的MOD可能前面和后面沒有"." 能夠通用的盡量使用通用指令 |
|
| 4樓: | >>參與討論 |
| 作者: ayb_ice 于 2007/5/10 8:23:00 發(fā)布:
用bit... |
|
| 5樓: | >>參與討論 |
| 作者: qiangdao 于 2007/5/11 18:16:00 發(fā)布:
謝謝大家咯 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |