新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC單片機(jī)I/O口控制程序(兩個(gè)不同的跑馬燈效果)

STC單片機(jī)I/O口控制程序(兩個(gè)不同的跑馬燈效果)

作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
STC公司的單片機(jī)主要是基于8051內(nèi)核,是新一代增強(qiáng)型單片機(jī),指令代碼完全兼容傳統(tǒng)8051,速度快8~12倍,帶ADC,4路PWM,雙串口,有全球唯一ID號,加密性好,抗干擾強(qiáng).控制靈活!且價(jià)格便宜!也就幾塊錢吧!但你讓她發(fā)揮出了性能,就不止幾塊錢了哦!單片機(jī)叫什么?o(∩_∩)o...微型計(jì)算機(jī)···
ORG 000H ;起始地址
START: ;開始
MOV R2,#10;設(shè)置循環(huán)次數(shù)
D0:
MOV R0,#8 ;設(shè)置左移次數(shù)
MOV A,#07FH;向A寄存器輸入初始值
D2: RL A;將A中數(shù)據(jù)向左移一位
CALL DL;調(diào)入延時(shí)
MOV P1,A;輸出到P1口
DJNZ R0,D2;檢測是否左移八次,否則繼續(xù)執(zhí)行左移命令
MOV R1,#7;設(shè)置右移次數(shù)
D3: RR A;將A中數(shù)據(jù)向右移一位
CALL DL;調(diào)入延時(shí)
MOV P1,A;將A中數(shù)據(jù)輸出到P1口
MOV P0,A;并聯(lián)輸出至P0口
DJNZ R1,D3;檢測是否右移了七次,否則繼續(xù)執(zhí)行右移命令
DJNZ R2,D0;檢測是否循環(huán)了十次,否則繼續(xù)循環(huán)
MOV A,#0FFH;向A中載入新數(shù)據(jù)
D4:SUBB A,#01;執(zhí)行減法運(yùn)算
CALL DL1;調(diào)入延時(shí)程序1
MOV R3,A;將A中數(shù)據(jù)傳送給R3
MOV P1,R3;將R3(寄存器)中數(shù)據(jù)輸出至P1口
DJNZ R3,D4;檢測R3是否為零,否則繼續(xù)執(zhí)行減法運(yùn)算
JMP START;跳到開始執(zhí)行
DL1: MOV R7,#90;延時(shí)程序1
L4: MOV R6,#20
L3: MOV R5,#50
DJNZ R5,$
DJNZ R6,L3
DJNZ R7,L4
RET ;子程序返回
DL: ;延時(shí)程序
MOV R3,#20
L1:MOV R4,#15
L2:MOV R5,#50
DJNZ R5,$
DJNZ R4,L2
DJNZ R3,L1
RET ;子程序返回
END ;結(jié)束


評論


技術(shù)專區(qū)

關(guān)閉