亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機流水燈實驗三 按鍵控制流水燈方向速度 不用等待放手立即響應
[打印本頁]
作者:
cangyuan
時間:
2021-7-17 16:46
標題:
單片機流水燈實驗三 按鍵控制流水燈方向速度 不用等待放手立即響應
本次是流水燈最后一個實驗,主要目的是為了讓大家初步認識和掌握中斷的運用,當進行中斷時,我們就可以不用管是否放手,程序會立即響應而不是像之前一樣要將程序進行完才進入下一階段。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif
(148.52 KB, 下載次數: 55)
下載附件
2021-7-17 23:24 上傳
單片機源程序如下:
#include "reg52.h"
#define u8 unsigned char
u8 code tab[15]={1,2,4,8,16,32,64,128,64,32,16,8,4,2,1};
u8 m=0,fang=0,n;
void delay(long k){while(k--);}
void loop1(u8 a,u8 b)// //流水燈的起始位置
{
u8 i,j;
j=fang;
n=m;
for(i=a;i<b;i++)
{
if(j==fang && n==m)
{P1=~tab[i];
delay(3000);}
else break;
}//建議添加判斷方向是否改變的代碼,實現按下立即break循環
}
void loop2(u8 a,u8 b)// //流水燈的起始位置
{
u8 i,j;
j=fang;
n=m;
for(i=a;i<b;i++)
{
if(j==fang && n==m)
{P1=~tab[i];
delay(60000);}
else break;
}//建議添加判斷方向是否改變的代碼,實現按下立即break循環
}
void loop3(u8 a,u8 b)// //流水燈的起始位置
{
u8 i,j;
j=fang;
n=m;
for(i=a;i<b;i++)
{
if(j==fang && n==m)
{P1=~tab[i];
delay(2000);}
else break;
}//建議添加判斷方向是否改變的代碼,實現按下立即break循環
}
void main()
{
EA=1;IT0=1;EX0=1;//總中斷允許=1,下降沿觸發=1,P32允許啟動=1
IT1=1;EX1=1;
while(1)
{
if(m==0)
{
switch(fang)
{case 0: loop1(0,15);break;
case 1: loop1(7,15);break;
case 2: loop1(0,8);break;
default: P1=0xff;break; }
}
if(m==1)
{
switch(fang)
{case 0: loop2(0,15);break;
case 1: loop2(7,15);break;
case 2: loop2(0,8);break;
default: P1=0xff;break; }
}
if(m==2)
{
switch(fang)
{case 0: loop3(0,15);break;
case 1: loop3(7,15);break;
case 2: loop3(0,8);break;
default: P1=0xff;break; }
}
}
}
void bao() interrupt 0
{
if(fang>=3) fang=0;
else fang++;
}//出現中斷,例如按下按鍵了,就改變方向
void bbo() interrupt 2
{
if(m>=2) m=0;
else m++;
}
復制代碼
所有資料51hei提供下載:
摁鍵控制流水燈方向速度 不用等待放手立即響應.rar
(72.52 KB, 下載次數: 15)
2021-7-17 16:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1