|
編程實現:1、打開開工開關后,七道工序(led)循環動作;2、有中斷信號(按鍵檢測)輸入時,立即停止工序動作(即:所有燈熄滅)并發出報警;3、中斷去除后,工序恢復到中斷來時刻的工序動作。
#include<reg51.h>
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit key=P3^3;
sbit beep=P1^7; //音頻脈沖輸出端
void delay(int x)
{
int i,j;
for(i=1; i<=x; i++)
for(j=1; j<=110; j++);
}
void song(int x) //蜂鳴器蜂鳴函數
{ //形參x的值可以改變聲音頻率
int y=x;
beep=0;
for(; y>0; y--);
beep=1;
for(; y>0; y--);
}
void init()//初始化函數
{
IT1=0; //低電平觸發
EX1=1;
EA=1;
}
void int1() interrupt 2
{
delay(10);
if(key==0)
{
P1=0X7f; //0111 1111
song(100);
}
}
void xunhuan()
{
while(1)
{
led1=0;
delay(1000);
led1=1;
led2=0;
delay(1000);
led2=1;
led3=0;
delay(1000);
led3=1;
led4=0;
delay(1000);
led4=1;
led5=0;
delay(1000);
led5=1;
led6=0;
delay(1000);
led6=1;
led7=0;
delay(1000);
led7=1;
}
}
void main()//主函數
{
init();//系統初始化函數調用
key=1;
xunhuan()
}
|
-
1.png
(52.31 KB, 下載次數: 51)
下載附件
2020-6-28 17:25 上傳
-
-
程序和仿真圖.zip
2020-6-28 17:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
106.94 KB, 下載次數: 13, 下載積分: 黑幣 -5
評分
-
查看全部評分
|