當前位置:編程學習大全網 - 編程軟體 - 求解釋下下面單片機程序的每壹步是什麽意思,謝謝了

求解釋下下面單片機程序的每壹步是什麽意思,謝謝了

既然妳還沒學匯編,我就不用專業術語給妳解釋了,用好理解的方法幫妳簡單解釋下,如果有必要我們再討論

org 0000h ;表示下壹條指令的地址是0000h

ljmp 0030h ;跳轉到30h處的指令

org 0030h

cword:mov a,#0c5h ;cword:人為定義的標號,mov a,#0c5h :把0c5h放入a寄存器裏

mov dptr,#0030h ;把30h放入dptr寄存器中

movx @dptr,a ;@表示存儲器地址,地址數為@後的寄存器中的內容(30h),即把a中的內容放如地址數為30h的存儲區

mov r0,#20h

mov @r0,a

mov r0,a

push acc ;把a寄存器壓入堆棧

anl a,#1fh ;a和1fh做“和”運算

movc a,@a+dptr

inc dptr ;dptr做+1處理

movx @dptr,a

mov b,a

pop acc ;彈出a

cword1:sjmp cword1 ;跳到sword1處,即做自循環

end ;結束

註:

mov:訪問片內RAM

movx:訪問片外RAM

movc:訪問ROM

RAM:數據存儲區

ROM: 程序存儲區

mov a,#0c5h 與 mov a,0c5h 是不同的,前者是將0c5h放入a;後者是將RAM地址數為0c5h處的數據放入a。

mov r0,a 與 mov @r0,a 是不同的,前者將a的內容放入r0寄存器;後者將a的內容放入數據存儲區某處,其地址為r0的內容。

這段指令把數據挪來挪去,貌似沒具體的意圖,結果不重要

希望對妳有幫助,不明白的我們可以再討論

  • 上一篇:python課程什麽意思
  • 下一篇:2023高考分數排位
  • copyright 2024編程學習大全網