A. 單片機匯編語言里 DB
單片機匯編語言中的DB是以位元組為單位定義一個數據段,一般用於查表程序中,舉例說明:
DISPLAY:
MOV DPTR,#TAB
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
RET
TAB: ; 共陰極數碼管顯示代碼表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
B. 單片機匯編語言
DATA1 BIT P1.0;DATA不能作為符號名定義,改為DATA1 BIT表示P1.0定義為DATA1
SCK BIT P1.1
noACK EQU 0;noACK 定義為0
ACK EQU 1
C. 什麼單片機的匯編語言~~~
單片機的匯編是最接近機器底層的語言,它的特點是要求你每個時刻要清楚數據或者程序執行到那裡,所有的硬體資源你都可以操縱,什麼數據要放到那個存儲單元,你能隨心所欲,但是必須要按規范,離開規范當然不行,所以要學好單片機的匯編,首先就要掌握單片機的硬體,不必很多,起碼是它的可利用資源,你不了解,根本就用不上匯編,就算是硬著頭皮去學匯編,也只是事倍功半,會有很累的感覺
D. 單片機匯編指令
DPTR數據指針,是16位的,分為兩個位元組,DPH,DPL
這組指令把DPTR的數據提出來,處理後放回去,下面一般會用於對處理後的外部數據地址進行操作
E. 單片機匯編語言中SJMP $是什麼意思
因為不循環那麼過陣單片機會從運行到最後從頭來
因為PC的值不停的增加到最後變0000就是起始了所以要有個死循環讓PC不會被溢位而導致0000發生
F. 單片機匯編
你沒有搞清楚單片機的地址,0000H為系統復位的入口地址,0003H為外部中斷0的入口地址,000BH為定時器0的中斷入口地址0013H為外部中斷1的入口地址001BH為定時器T1的中斷入口地址,0023H為串口中斷的入口地址,002BH為定時器T2的中斷入口地址,而你把START定義為0000H,就是說當程序上電復位後,直接運行到此處,你前面定義的Count EQU 30H
SP1 BIT P3.7 沒有起作用,其二,你的程序把中斷入口地址都給佔了,所以不能運行,你改成如下的程序就可以了:
org 0000h
ajmp START
org 0030h
START:
Count EQU 30H
SP1 BIT P3.7
MOV Count,#00H
NEXT: MOV A,Count
MOV B,#10
DIV AB
loop:clr p2.0
setb p2.1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
clr p2.1
setb p2.0
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
JNB SP1,WT
WT:JB SP1,loop
LCALL DELY10MS
JB SP1,loop
INC Count
MOV A,Count
CJNE A,#100,NEXT
LJMP START
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
G. 單片機匯編語言
mov a,40h; A=50H
mov r0,a ;R0=50H
mov @r0,20h ;(50H)=30h
mov 50h,r0 ;(50H)=50H
mov a,@r0 ; A=50H
按照順序執行最後的結果是:
(20H)=30H,(30H)=40H,(40H)=30H,(50H)=50H ,A=50H。
H. 單片機匯編語言與計算機匯編語言有什麼區別
每種CPU都有對應的匯編指令,不同CPU的匯編指令一般都不同,這跟CPU的結構有關,計算機用的CPU大部分都是X86系列,單片機分很多種,常見的有51、AVR、430等等,它們的結構都不一樣所以匯編也不一樣,但x86和51都是INTEL開發的,它們的匯編語言相似度比較大,如果你學過單片機匯編語言與計算機匯編語言就很容易理解
I. 單片機,匯編語言
51單片機是Keil 軟體
pic單片機是MPLAB軟體
匯編要將編輯文件要保存為.asm為後綴的文件(c語言則是.c為後綴)
avr單片機是avr studio 或iccavr軟體
匯編要將編輯文件要保存為.s為後綴的文件(c語言則是.c為後綴)
51單片機可以很多下載軟體 將你的匯編程序 在Keil 軟體中設置為:
options for target 1->output->create HEX file
生成hex文件 然後將這個hex文件通過下載軟體下載到單片機中.
下載軟體有兩類:串口下載和ISP介面下載
ISP介面下載軟體是對應你的下載器的(一般買下載器都會給你對應的下載軟體的)
串口下載:STC類的51單片機可以用STC_ISP_V486.exe,但是對於Atmel類的就不行
微機原理的上機課都是在DOS下輸入EDIT XX.ASM後編寫的,單片機也是這樣嗎?
單片機不是這樣的 因為微機機器碼和單片機機器碼是不一樣的
所以單片機需要在windows下用對應的軟體生成單片機的機器碼 在單片機中才能運行啊
祝你學習進步
J. 單片機匯編程序
SJMP $就是「原地踏步走」的意思,即當程序執行的該處時,什麼事也不做。一般用來進行延時作用
SJMP $是在原地循環,一般都用在等待中斷到來,然後進入中斷處理程序。
處理完了,再繼續在原地循環。
比如你的手機現在不用了,估計也在這里循環,你按下鍵,它就當是有中斷
來了,就去處理,處理完了,它又開始循環等待你的操作了。
END是每個程序必須寫的指令,如果你的程序走到了這條指令就停下來了。
一般的程序是不會讓它走到這條指令的,因為走到了就結束了,不能去處理
你的實時中斷了。
引用:http://..com/question/92880942.html
dxw0712的回答