//單片機頭文件#include//訪問絕對地址#include#include//輸入輸出流#defineCOM8279XBYTE[0X5FFF]//">
光電計數(shù)器源程序

光電計數(shù)器源程序

ID:37962414

大小:45.50 KB

頁數(shù):6頁

時間:2019-06-04

光電計數(shù)器源程序_第1頁
光電計數(shù)器源程序_第2頁
光電計數(shù)器源程序_第3頁
光電計數(shù)器源程序_第4頁
光電計數(shù)器源程序_第5頁
資源描述:

《光電計數(shù)器源程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、#include//單片機頭文件#include//訪問絕對地址#include#include//輸入輸出流#defineCOM8279XBYTE[0X5FFF]//8279控制命令地址#defineDATA8279XBYTE[0X5EFF]//8279數(shù)據(jù)地址#defineuintunsignedint#defineucharunsignedchar//定義無字符變量uintx;//高位計數(shù)值uinty;//定時中斷重復(fù)值uintke

2、yboard;//鍵值uinti;uintnow;uintz;ucharcodetable[]={0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0x0F8,0x80,0x90,0x88,0x83,0x0C6,0x0A1,0x86,0x8E};//共陽極LED段碼表,0x表示十六進制,表示0~9,a~fuintLED[]={0,0,0,0,0,0};//六個數(shù)碼管的初值voidshow1(void);//數(shù)碼管顯示程序voidshow2(void);voidmain(void){

3、COM8279=0xDC;//清除顯示RAM和FIFO命令字COM8279=0x34;//程序時鐘編程命令(11000)24分頻COM8279=0x00;//鍵盤方式設(shè)置(8*8字符顯示左邊輸入,編碼方式掃描鍵盤,雙鍵互鎖)COM8279=0x92;//設(shè)置寫顯示命令(AI=1每次寫入后地址自動加1;顯示RAM一個單元地址0010)for(i=0;i<6;i++){DATA8279=table[LED[i]];//數(shù)據(jù)地址,數(shù)碼管置零}x=0;TMOD=0x16;//T1定時50ms,方式1;T0計數(shù),方式2

4、TH0=0x00;TL0=0x00;//計數(shù)賦初值,計數(shù)值為256TH1=0x3C;TL1=0x0B0;//50ms定時器賦初值(65536-50ms/1us=15536=0x3CB0)ET0=1;//開中斷,計數(shù)器,P3.4(光電門)ET1=1;//開中斷,定時器TR0=1;TR1=1;IT0=0;//外部中斷0選用電平觸發(fā)方式,低電平觸發(fā)中斷EX1=1;//開外部中斷EA=1;//打開總中斷while(1);//等待中斷}voidinter0(void)interrupt1//外部中斷程序{COM8279

5、=0x40;//讀鍵盤命令(AI=0僅讀一個單元)keyboard=DATA8279;/*掃描鍵盤輸入值*/if(keyboard==0)//清零重新計數(shù){TL0=0;x=0;}elseif(keyboard==1)//暫停計數(shù){TR0=0;TR1=0;now=TL0;//存儲當前計數(shù)值}elseif(keyboard==2)//開始計數(shù){TR0=1;TR1=1;TL0=now;//將原計數(shù)值賦給計數(shù)器}elseif(keyboard==3)//計數(shù)加1{TL0++;}elseif(keyboard==4)/

6、/計數(shù)總值{TR1=0;z=256*x+TL0;show2();}elseif(keyboard==5)//重新顯示計數(shù)值{TR1=1;TL0=z%256;}else{TR0=1;TR1=1;}//繼續(xù)計數(shù)}voidtimer0(void)interrupt2//計數(shù)器中斷程序{x++;//高位計數(shù)}voidtimer1(void)interrupt3//50ms定時器中斷程序{while(y<10){TH1=0x3C;//50msTL1=0x0B0;y++;}y=0;show1();}//目的是每0.5s掃

7、描一次數(shù)值,使計數(shù)值一直顯示在數(shù)碼管上/*顯示函數(shù)*/voidshow1(void){COM8279=0x92;//設(shè)置寫顯示命令,8279命令字LED[0]=TL0%10;//顯示低位計數(shù)0-255LED[1]=TL0%100/10;LED[2]=TL0%1000/100;LED[3]=x%10;//顯示高位計數(shù)LED[4]=x%100/10;LED[5]=x%1000/100;for(i=0;i<6;i++){DATA8279=table[LED[i]];//顯示display數(shù)組}}voidshow2(

8、void)//顯示計數(shù)總值{COM8279=0x92;//設(shè)置寫顯示命令,8279命令字LED[0]=z%10;LED[1]=z%100/10;LED[2]=z%1000/100;LED[3]=z%10000/1000;LED[4]=z%100000/10000;LED[5]=z%1000000/100000;for(i=0;i<6;i++){DATA8279=table[LED[i]];//顯示d

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。