1. mcu序列輸入子程式spiin
從x25f008的spiso線上接收8位資料並放入暫存器r0中的應用子程式如下:
spiin:setb p1.1使p1.1(時鐘)輸出為1
clr p1.2選擇從機
mov r1,#08h置迴圈次數
spiin1: clr p1.1使p1.1(時鐘)輸出為0
nop延時
nopmov c,p1.3從機輸出spiso送進製c
rlc a左移至累加器acc
setb p1.1使p1.0(時鐘)輸出為1
djnz r1,spiin1判斷是否迴圈8次(8位資料)
mov r0,a8位資料送r0
ret2. mcu序列輸出子程式spiout
將mcs-51微控制器中r0暫存器的內容傳送到x25f008的spisi線上的程式如下:
spiout:setb p1.1 ;使p1.1(時鐘)輸出為1
clr p1.2選擇從機
mov r1,#08h ;置迴圈次數
mov a,r08位資料送累加器acc
spiout1:clr p1.1 ;使p1.1(時鐘)輸出為0
nop延時
noprlc a左移至累加器acc最高位至c
mov p1.0,c ;進製c送從機輸入spisi線上
setb p1.1使p1.1(時鐘)輸出為1
djnz r1,spiout1 ;判是否迴圈8次(8位資料)
ret3. mcu序列輸入/輸出子程式spiio
將mcs-51微控制器r0暫存器的內容傳送到x25f008的spi si中,同時從x25f008的spi so接收8位資料的程式如下:
spiio:setb p1.1 ;使p1.1(時鐘)輸出為1
clr p1.2 ;選擇從機
mov r1,#08h ;置迴圈次數
mov a,r0 ;8位資料送累加器acc
spiio1:clr p1.1 ;使p1.1(時鐘)輸出為0
nop延時
nopmov c,p1.3 ;從機輸出spiso送進製c
rlc a左移至累加器acc最高位至c
mov p1.0,c ;進製c送從機輸入
setb p1.1 ;使p1.1(時鐘)輸出為1
djnz r1,spiio1 ;判斷是否迴圈8次(8位資料)ret
MCS51微控制器指令大全
以字母的順序排列 a z a 1 acall addr11 指令名稱 絕對呼叫指令 指令 指令功能 構造目的位址,進行子程式呼叫其方法是以指令提供的11位位址 al0 a0 取代pc的低11位,pc的高5位不變。操作內容 pc pc 2 sp sp 1 sp pc 7 0 sp sp 1 sp pc...
MCS 51微控制器指令全總結
1 運算元中有direct data bit的都是2位元組指令 2 在運算元中沒有以上三個變數卻有 標誌的都是1位元組指令 3 凡是3位元組指令的都是兩週期的指令 4 乘除是單位元組四週期的指令 5 位元組呼叫指令 位元組 位轉移指令 位元組 位邏輯指令 進 出棧指令 返回指令 inc dptr m...
MCS 51微控制器實用子程式庫
標號 功能 雙位元組 碼小數轉換成雙位元組十六進製制小數 入口條件 待轉換的雙位元組 碼小數在r4 r5中。出口資訊 轉換後的雙位元組十六進製制小數在r2 r3中。影響資源 psw a r2 r6 堆疊需求 位元組 bhd2 mov r6,10h 準備計算兩個位元組小數 bhd3 mov a,r5 ...