單片機(jī)學(xué)習(xí)中常見(jiàn)問(wèn)題
答:偽指令不是真正的指令,無(wú)對(duì)應(yīng)的機(jī)器碼,在匯編時(shí)不產(chǎn)生目標(biāo)程序(機(jī)器碼),它只是用來(lái)對(duì)匯編過(guò)程進(jìn)行某種控制。標(biāo)準(zhǔn)的MCS—5l匯編程序(如Intel的ASM51)定義的偽指令常用的有以下幾條:(1) ORG
c起始命令 格式: ORG 16位地址
其功能是規(guī)定該偽指令后面程序的匯編地址,即匯編后生成目標(biāo)程序存放的起始地址,
例如: ORG 2000H
START: MOV A,#64H
既規(guī)定了標(biāo)號(hào)START的地址是2000H,又規(guī)定了匯編后的第一條指令碼從2000H開(kāi)始存放。
ORG可以多次出現(xiàn)在程序的任何地方,當(dāng)它出現(xiàn)時(shí),下一條指令的地址就由此重新定位。
(2) END ——匯編結(jié)束命令
END命令通知匯編程序結(jié)束匯編。在END之后所有的匯編語(yǔ)言指令均不予以處理。
(3) EQU 賦值命令
格式: 字符名稱 EQU 項(xiàng)(數(shù)或匯編符號(hào)) EQU命令是把“項(xiàng)”賦給“字符名稱”,注意這里的字符名稱不等于標(biāo)號(hào)(其后沒(méi)有冒號(hào)),其中的項(xiàng),可以是數(shù)也可以是匯編符號(hào)。
用EQU賦過(guò)值的符號(hào)名可以用作數(shù)據(jù)地址、代碼地址、位地址或是一個(gè)立即數(shù)。因此,它可以是8位的、也可以是16位的。如:
AA EQU R1 ;AA就代表了工作寄存器Rl
MOV A, AA ;
(4) DATA 數(shù)據(jù)地址賦值命令
格式: 字符名稱 DATA 表達(dá)式
(5) DB 定義字節(jié)命令
格式: DB〔項(xiàng)或項(xiàng)表]
(6) DW 定義字命令
格式: DW 16位數(shù)據(jù)項(xiàng)或項(xiàng)表
(7) DS 定義存儲(chǔ)空間命令
格式: DS表達(dá)式
(8) BIT 位地址符號(hào)命令
格式: 字符名 BIT 位地址
五.什么是尋址?又什么是尋址方式?
答:尋址就是尋找指令中操作數(shù)或操作數(shù)所在地址。
尋址方式就是如何找到存放操作數(shù)的地址
也就是把操作數(shù)提取出來(lái)的方法,要十分熟悉,牢固掌握。
六.通過(guò)TCON可以選擇中斷觸發(fā)方式,那么低電平觸發(fā)和跳變觸發(fā)有什么不同呢?
解釋一:電平觸發(fā)即51單片機(jī)每執(zhí)行完一個(gè)指令都將INT0/INT1的信號(hào)讀入IE0/IE1。因此IE0/IE1的中斷請(qǐng)求信號(hào)隨著INT0/INT1變化。如果送入INT0/INT1的中斷請(qǐng)求信號(hào)時(shí),51單片機(jī)未能及時(shí)檢查到,而INT0/INT1的信號(hào)也隨著變化,IE0/IE1的信號(hào)也發(fā)生變化,這樣就會(huì)漏掉INT0/INT1的中斷要求。
解釋二:下降沿觸發(fā)只要檢測(cè)到送至INT0/INT1上的信號(hào)由高電平變?yōu)榈碗娖綍r(shí),中斷請(qǐng)求標(biāo)志位IE0/IE1就被設(shè)定為1,并且一直維持著1,直到此中斷請(qǐng)求被接收為止,且必須用軟件來(lái)清除IE0/IE1。
所以一般設(shè)置為跳變觸發(fā),除非有特殊需要。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論