【汇编】AT89C52点亮一盏LED灯(汇编语言)
學習利用匯編語言寫單片機程序的第一步是要學習匯編語言的相關理論知識,那么實踐操作的第一步肯定是從點燈開始啦!
編譯環境:keil4
編譯語言:匯編語言
內容:
??一、keil4建立AT89C52的工程環境
??二、程序
??三、分析
一、keil4建立AT89C52的工程環境
1、建立新工程 --> Atmel --> AT89C52
2、 選中后會彈出是否導入啟動文件
??如果是C語言環境選擇“是”,這里我們是匯編,選擇“否”
3、創建匯編文件,后綴名 .asm,將文件添加到工程
4、環境搭建完成
二、程序
這里我們直接上匯編點亮AT89C52單片機P1.0口的程序,然后再進行語句分析
ORG 0000H LJMP MAIN1 MAIN:MOV P1,#001H MAIN1:MOV P1,#00AH END分析:
1、ORG:規定程序塊或數據塊存放的起始地址,即規定程序從0000H地址開始,換句話說,以上述程序為例,ORG 0000H 使得LJMP MAIN1這條指令的機器碼就在hex文件的0x00的位置
2、LJMP:長轉移指令(64KB范圍內轉移指令)
長轉移指令的功能是:把指令碼中的目標地址裝入程序計數器PC(Program Counter)中,地址范圍:0000H - FFFFH,為了使程序設計方便易編,目標地址常采用標號地址(如:MAIN,MAIN1,LOOP…),換句話說,相當于C語言中的goto語句
3、在51單片機中P1口的字節地址為90H,位地址位90H - 97H,可位尋址
MOV P1,#00AH 語句的含義是將P1的低4位賦予立即數,即將90H - 93H 地址賦予 “1”,即將P1.0 - P1.3口拉高
4、#的作用
立即數的標志,如#0FFH,表示的是一個十六進制的數FF,若沒有“#”,0FFH則表示位直接地址為00AH的存儲單元,AT89C52單片機的RAM中有256個存儲單元,每個單元8位,即一個字節,FFH就是最后的那個單元
總結
以上是生活随笔為你收集整理的【汇编】AT89C52点亮一盏LED灯(汇编语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 行列式,线性变换,变换,雅克比行列式,二
- 下一篇: Elasticsearch华为云下载(速