|
LED閃爍程序如下:
- ;外設(shè)端口切換寄存器 2 的地址
- P_SW2 DATA 0BAH
- ;端口模式配置寄存器的地址
- P1M0 DATA 092H
- P1M1 DATA 091H
- ORG 0000H
- LJMP MAIN
- ORG 0100H
- ; 主程序:
- MAIN:
- MOV SP, #5FH
- ORL P_SW2,#80H ;使能訪問(wèn) XFR
-
- MOV P1M0, #00H
- MOV P1M1, #00H
-
- MOV P1M0, #08H ;設(shè)置 P1.3 為推挽輸出模式
- MOV P1M1, #00H
-
- LJMP LOOP
- ; 循環(huán)
- LOOP:
- SETB P1.3 ; (1) P1.3 口輸出高電平,點(diǎn)亮小燈
- LCALL DELAY_1S ; (2) 延時(shí)一段時(shí)間
- CLR P1.3 ; (3) P1.3 口輸出低電平,熄滅小燈
- LCALL DELAY_1S ; (4) 延時(shí)一段時(shí)間
- AJMP LOOP ; (5) 跳轉(zhuǎn)到第一句 LOOP 處
- ;====================延時(shí)1秒子程序====================
- DELAY_1S: ;延時(shí)子程序,12MHz晶振延時(shí)1.002035秒
- MOV R4, #10 ;1指令周期
-
- L3:
- MOV R2, #200 ;1指令周期
-
- L1:
- MOV R3, #249 ;1指令周期
- L2:
- DJNZ R3, L2 ;2指令周期
-
- DJNZ R2, L1 ;2指令周期
- DJNZ R4, L3 ;2指令周期
-
- RET ;2指令周期
- ;循環(huán)體延時(shí)時(shí)間: [(249*2+1+2)*200+1+2]*10*12/12000000=1.002032s
- ;加上LCALL指令和第一條MOV指令以及最后一條RET指令算出來(lái)整個(gè)函數(shù)的時(shí)間為1.002035s
- ;=====================================================
- END
復(fù)制代碼
燒錄到 STC8H8K64U 芯片中,使用的時(shí)鐘頻率是 1MHz,這個(gè)頻率是 12MHz 的 1/12
51hei.png (69.61 KB, 下載次數(shù): 403)
下載附件
2024-1-7 01:54 上傳
LED小燈點(diǎn)亮1秒鐘、熄滅1秒鐘、點(diǎn)亮1秒鐘、熄滅1秒鐘……閃爍
51hei.png (100.22 KB, 下載次數(shù): 405)
下載附件
2024-1-7 02:28 上傳
|
|