標(biāo)題:
紅外人流量計(jì)數(shù)程序(數(shù)碼管顯示)
[打印本頁(yè)]
作者:
CJ_Z
時(shí)間:
2019-1-6 17:07
標(biāo)題:
紅外人流量計(jì)數(shù)程序(數(shù)碼管顯示)
做課設(shè)可以用的紅外人流計(jì)數(shù)
單片機(jī)源程序如下:
#include<AT89x51.H>
sbit led1 =P2^0;
sbit led2 =P2^1;
sbit led3 =P2^2;
sbit led4 =P2^3;
unsigned code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數(shù)碼管斷碼
unsigned code dis[] ={0xfe,0xfd,0xfb,0xf7}; //掃描數(shù)碼管客值
unsigned char disbuff[5]={0}; //顯示緩存
unsigned char i =0; //定義掃描數(shù)碼管字?jǐn)?shù)
unsigned int count1=0; //計(jì)左電機(jī)碼盤脈沖值
/************************************************************************/
//顯示數(shù)碼管字程序
void Display_SMG(void)
{
if(++i>=4)i=0;
P0=table[disbuff[i]];
if(i==0)
{P2_0=0;P2_1=1;P2_2=1;P2_3=1;}
if(i==1)
{P2_0=1;P2_1=0;P2_2=1;P2_3=1;}
if(i==2)
{P2_0=1;P2_1=1;P2_2=0;P2_3=1;}
if(i==3)
{P2_0=1;P2_1=1;P2_2=1;P2_3=0;}
}
/***************************************************/
///*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/
void timer0()interrupt 1 using 2
{
TH0=0XF8; //1Ms定時(shí)
TL0=0X30;
Display_SMG(); //中斷服務(wù)子程序掃描數(shù)碼管
}
/***************************************************/
void main(void)
{
TMOD=0X01;
TH0= 0XF8; //1ms定時(shí)
TL0= 0X30;
TR0= 1;
ET0= 1;
EA = 1;
count1=0; //初始化人數(shù)為1
disbuff[0]=count1/1000;
disbuff[1]=count1%1000/100;
disbuff[2]=count1%1000%100/10;
disbuff[3]=count1%1000%100%10;
while(1) /*無限循環(huán)*/
{
if(P2_7==0)
{
while(!P2_7);
count1++;
if(count1>=9999) //計(jì)到99歸零
count1=0;
disbuff[0]=count1/1000;
disbuff[1]=count1%1000/100;
disbuff[2]=count1%1000%100/10;
disbuff[3]=count1%1000%100%10;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
53.紅外人流量計(jì)數(shù)(數(shù)碼管顯示).rar
(11.34 KB, 下載次數(shù): 32)
2019-1-6 17:06 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2019-1-13 00:38
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1