《單片機(jī)應(yīng)用技術(shù) 》中職配套PPT課件,單片機(jī)應(yīng)用技術(shù) ,《單片機(jī)應(yīng)用技術(shù),》中職配套PPT課件,單片機(jī),應(yīng)用技術(shù),配套,PPT,課件
廣告燈的左移右移
1. 實(shí)驗(yàn)任務(wù)
做單一燈的左移右移,硬件電路如圖1所示,八個發(fā)光二極管L1-L8分別接在單片機(jī)的P1.0-P1.7接口上,輸出“0”時,發(fā)光二極管亮,開始時P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重復(fù)循環(huán)。
2. 電路原理圖
圖1
3. 系統(tǒng)板上硬件連線
把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0-P1.7用8芯排線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1-L8端口上,要求:P1.0對應(yīng)著L1,P1.1對應(yīng)著L2,??,P1.7對應(yīng)著L8。
4. 程序設(shè)計內(nèi)容
我們可以運(yùn)用輸出端口指令MOV P1,A或MOV P1,#DATA,只要給累加器值或常數(shù)值,然后執(zhí)行上述的指令,即可達(dá)到輸出控制的動作。
每次送出的數(shù)據(jù)是不同,具體的數(shù)據(jù)如下表所示 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 說明
L8 L7 L6 L5 L4 L3 L2 L1 1 1 1 1 1 1 1 0 L1亮 1 1 1 1 1 1 0 1 L2亮 1 1 1 1 1 0 1 1 L3亮 1 1 1 1 0 1 1 1 L4亮 1 1 1 0 1 1 1 1 L5亮 1 1 0 1 1 1 1 1 L6亮 1 0 1 1 1 1 1 1 L7亮 0 1 1 1 1 1 1 1
L8亮
5.程序框圖
如圖2所示。
圖2
6. 匯編源程序 ORG 0
START: MOV R2,#8 MOV A,#0FEH SETB C
LOOP: MOV P1,A LCALL DELAY RLC A
DJNZ R2,LOOP MOV R2,#8
LOOP1: MOV P1,A LCALL DELAY RRC A
DJNZ R2,LOOP1 LJMP START
DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END
7. C語言源程序
#include
unsigned char i; unsigned char temp; unsigned char a,b;
void delay(void) {
unsigned char m,n,s; for(m=20;m>0;m--) for(n=20;n>0;n--) for(s=248;s>0;s--); }
void main(void) {
while(1) {
temp=0xfe; P1=temp; delay();
for(i=1;i<8;i++) {
a=temp<>(8-i); P1=a|b; delay(); }
for(i=1;i<8;i++) {
a=temp>>i;
b=temp<<(8-i); P1=a|b; delay(); } } }