匯編例子
4M;2T;2TCC250us
.................
d1 equ 1ah ;;延時寄存器
d2 equ 1ch ;;延時寄存器
delay_1 equ 1dh ;;延時寄存器
delay_2 equ 1eh ;;延時寄存器
delay_11 equ 1fh ;;延時寄存器
delay_22 equ 20h ;;延時寄存器
ys1 equ 21h ;;延時寄存器
ys2 equ 22h ;;延時寄存器
a1 equ 23h ;;記次數
a2 equ 24h ;;記次數
a3 equ 25h ;;記次數
es equ 26h ;;記次數
fs equ 27h
gs equ 28h ;;記次數
hs equ 29h
is equ 2ah
R1 EQU 2FH // 24C02地址寄存器
R2 EQU 30H // 24C02數據寄存器
....................
#define a biao2,0 //3秒定時標志
#define b biao2,1 //解碼成功標志位
#define d biao2,2 //30ms解碼限時標志位
#define e biao2,3 // 500ms雙擊限時
#define f biao2,4 // 狀態2指示,學習狀態指示
#define zs biao2,5 // 自鎖
#define hss biao2,6 // 互鎖
#define ds biao2,7 // 點動
#define grs biao1,0 //
// 24c02的30h地址存編碼存儲的位數
// 24c02的31h地址存開關模式標志位, 自鎖,互鎖,點動 biao2的數據
//24c02的32h地址存3, 用來驗證是否是新存儲器,是就要初始化
//24c02的33h地址存開關狀態, 自鎖狀態 在斷電后來電都會 恢 復斷電前的開關狀態
//r1是操作24c02的間接地址寄存器 r2是操作24c02的間接數據寄存器
;***********************************
org 3ffh //復位地址
goto start
org 08h
goto into
start:
call loop
bsr inten,7
bsr inten,0
clrr intflag
main:
btrss sdc //檢測遙控器 有沒有發射信號
goto sw12 //沒有遙控按下, 就轉到按鍵檢測
call d7s
btrss sdc //檢測遙控器 有沒有發射信號
goto sw12 //沒有遙控按下, 就轉到按鍵檢測
call jiema //有遙控按下,就轉到解碼子程序
btrsc b //判斷解碼是否成功
goto sw12 //解碼不成功,轉下一步按鍵檢測
goto duibi //解碼成功,對比數據,執行相應任務
sw1 : btrsc zs //解碼成功比對比數據作出任務以后,.......
goto sw12 //不在自鎖模式,不用保存狀態數據
sw8: movr zszt,0 //保存數據子程序
movar r2
movia 33h
movar r1
call i2c_w //數據寫入24C02
sw12:
btrss sw //檢測按鍵有沒有按下
goto anjian //有按鍵按下轉按鍵處理子程序
.............
goto main //程序執行完,返回循環執行, 1:檢測有無遙控信號, 2:檢測有沒有按鍵
duibi: movia 01h //第一段對比數據程序 ,任務是 D1T
...............
duibi2: movia 04h //第二段對比數據程序 ,任務是 D2T
··········
|
義烏思普電子科技有限公司
義烏思普電子科技有限公司成立于2009年, 2017年由金華市浩恒電子更改為義烏思普電子科技有限公司。
公司專業MCU單片機電路板開發和生產。
美甲燈控制板,噴筆控制板,物聯網控制板, 藍牙控制板, 溫控板,配套上位機APP等。
擁有SMT生產線,公司自給生產外可接代工,SMT貼片加工業務。
|

|