欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
按鍵控制的單片機流水燈(上至下再下至上)
[打印本頁]
作者:
wzh4562
時間:
2016-11-22 13:00
標題:
按鍵控制的單片機流水燈(上至下再下至上)
C51的流水燈 老師布置的作業,上至下再下至上的流水燈,并且可以用按鍵來控制.
0.png
(29.42 KB, 下載次數: 96)
下載附件
2016-12-5 02:57 上傳
0.png
(61.73 KB, 下載次數: 105)
下載附件
2016-12-5 02:57 上傳
資料下載:
按鍵控制的流水燈(上至下再下至上).zip
(79.29 KB, 下載次數: 14)
2016-11-22 12:59 上傳
點擊文件名下載附件
老師要求的按鍵流水燈 C51
下載積分: 黑幣 -5
c語言的流水燈程序:
#include<reg51.h>
#include<intrins.h> //包含循環左、右移位函數的頭文件
#define led P1
sbit key1=P3^2;
sbit key2=P3^3;
unsigned char a,b;
void delay(unsigned char m)
{
unsigned i,j;
for(i=0;i<=m;i++)
for(j=0;j<=120;j++); //這條語句大概延時1ms
}
void key1ch()
{
while(key2) //如果鍵2沒有按下,循環執行這段程序
{
for(a=0;a<8;a++)
{
delay(500);
led=_crol_(led,1);//左移一位
while(!key2) return;//如果鍵2按下,退出
}
}
}
void key2ch()
{
while(key1) //如果鍵1沒有按下,循環執行這段程序
{for(b=0;b<8;b++)
{
delay(500);
led=_cror_(led,1);//右移一位
while(!key1) return;//如果鍵1按下,退出
}
}
}
void main()
{
led=0xfe;
while(1)
{if(!key1)
{
delay(10);
while(key1);
key1ch();
}
else
if(!key2)
{
delay(10);
while(key2);
key2ch();
}
}
}
復制代碼
匯編語言的流水燈程序:
org 0000h
ajmp main
org 0003h
ajmp int00
org 0013h
ajmp int01
org 0030h
main:mov sp,#60h
clr 20h.0
clr 20h.1
setb it0
setb it1
setb ex0
setb ex1
setb ea
key1:jnb 20h.0,key2
mov a,#0feh ;按鍵1處理,從上往下流動
mov r2,#8
loop1:mov p1,a
acall delay
rl a ;左移一位
jnb 20h.1,loop2 ;判斷按鍵2是否按下,沒有則按照按鍵1的功能執行
djnz r2,loop1
mov r2,#8
sjmp loop1
key2:jnb 20h.1,key1
mov a,#07fh
loop2: mov p1,a
acall delay
rr a
jnb 20h.0,loop1
djnz r2,loop2
mov r2,#8
sjmp loop2
int00:setb 20h.1
clr 20h.0
reti
int01:setb 20h.0
clr 20h.1
reti
delay:mov r5,#4
dl1:mov r6,#200
dl2:mov r7,#250
djnz r7,$
djnz r6,dl2
djnz r5,dl1
ret
end
復制代碼
org 0000h
key:jnb p3.2,key11 ;判斷是否按鍵1,如果是則進行按鍵處理
jnb p3.3,key21 ;判斷是否按鍵2,如果是則進行按鍵處理
sjmp key
key11:call delay10ms ;延時10毫秒進行按鍵消抖
jnb p3.2,[ DISCUZ_CODE_5 ]nbsp; ;按鍵還是按下的,則等待鍵釋放
acall key1
sjmp key
key21:call delay10ms
jnb p3.3,$
acall key2
sjmp key
key1:mov a,#0feh ;按鍵1處理,從上往下流動
mov r2,#8
loop1:mov p1,a
acall delay
rl a ;左移一位
jnb p3.3,back1 ;判斷按鍵2是否按下,沒有則按照按鍵1的功能執行
djnz r2,loop1
sjmp key1
back1: mov r2,#8
ret
key2:mov a,#07fh
loop2: mov p1,a
acall delay
rr a
jnb p3.2,back2
djnz r2,loop2
sjmp key2
back2: mov r2,#8
ret
delay:mov r5,#4
dl1:mov r6,#200
dl2:mov r7,#250
djnz r7,$
djnz r6,dl2
djnz r5,dl1
ret
delay10ms:
mov r6,#200
ddl2:mov r7,#250
djnz r7,$
djnz r6,ddl2
ret
end
復制代碼
作者:
xiehua132
時間:
2020-4-7 15:53
完整文件嗎
作者:
dilongking
時間:
2020-4-7 16:37
太好了,但還有沒有另的模式編碼?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1