標(biāo)題:
基于51單片機(jī)的光電傳感器程序
[打印本頁]
作者:
草莓味
時(shí)間:
2018-6-26 19:09
標(biāo)題:
基于51單片機(jī)的光電傳感器程序
基于51單片機(jī)的光電傳感器程序
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰極數(shù)碼管段碼
sbit SPK=P3^7;
sbit key1=P1^0;
sbit key2=P1^1;
uchar n,a,b;
void delay(uchar z) //延時(shí)函數(shù)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void scan()//按鍵模擬紅外光電開關(guān)
{
if(key1==0) //計(jì)數(shù)
{
delay(10);
if(key1==0)
{
while(!key1);
n++;
if(n==100)
n=0;
}
}
if(key2==0)//清零
{
delay(10);
if(key2==0)
{
while(!key2);
n=0;
}
}
}
void display()//顯示函數(shù)
{
a=n%10;
b=n/10;
P2=0xfe; //數(shù)碼管位選
P0=table[b];
delay(10);
P2=0xfd;
P0=table[a];
delay(10);
}
void alarm(uchar t)//蜂鳴器報(bào)警函數(shù)
{
uchar i,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++);
}
}
void main()//主函數(shù)
{
while(1)
{
scan();
display();
if((a==8)&&(b==0))//模擬產(chǎn)品報(bào)警個(gè)數(shù)(例如程序中的8)
{
alarm(30);
alarm(50);
}
}
}
作者:
無線強(qiáng)大
時(shí)間:
2019-6-19 22:02
nice 非常感謝
作者:
星空丶懶惰的貓
時(shí)間:
2020-11-2 22:06
樓主有仿真圖嗎
作者:
kk理想
時(shí)間:
2023-5-7 18:00
星空丶懶惰的貓 發(fā)表于 2020-11-2 22:06
樓主有仿真圖嗎
樓主有仿真圖嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1