㈠ 光電計數器 電路圖
光電計數器 (2008-06-03 21:42:32)轉載▼
標簽: 學術論文 單片機 紅外發射接受管 雜談 分類: 論文
設計要求:
1、實現0―999范圍計數,能在超出最大值後溢出報警;
2、要求使用紅外發光二極體、光電管檢測;
3、能在設定值報警,能在報警後延時3秒鍾自動關閉報警並自動重新計數;可以手動清除報警;
4、要求光電發射管與接收管有1米以上的間距;
5、畫出完整的電路原理圖(包含電源部分)和PCB板圖。
摘要 數字式電子計數器有直觀和計數精確的優點,目前已在各種行業中普遍使用。數字式電子計數器有多種計數觸發方式,它是由實際使用條件和環境決定的。有採用機械方式的接觸式觸發的,有採用電子感測器的非接觸式觸發的,光電式感測器是其中之一,它是一種非接觸式電子感測器。這種計數器在工廠的生產流水線上作產品統計,有著其他計數器不可取代的優點。該例光電觸發式電子計數器只有兩位數,但通過級聯可以擴展為四位,甚至多位。本文針對光電計數器的設計要求,翻閱了一些資料,基本能實現其所要求的功能。
關鍵詞 光電計數器,protel ,555計時器,電源部分,發射部分,接受部分,數碼顯示與報警部分
1·總體設計
首先是想出一個大致的整體規劃:
想到紅外發射管與接受管之間相距要 1米,所以在實際成品中考慮分成兩大部分:
2·單元電路分析
2.1 電源部分
220V交流電經過變壓器降壓成10V,經過橋式整流器整流,C1濾波,成為約14V直流電,再經三端穩壓集成電路7809穩壓,形成9V穩定直流電,作為發射,接受電路和顯示報警電路的工作電源。如下圖所示:
2.2發射部分
發射部分由LM555CJ時基集成電路及外圍元件構成。555及R3,R4,C3構成多諧振盪器,振盪頻率約為5KHz。這個振盪信號由555的3腳輸出,經R1加到Q1放大。隨著Q1的導通與截止,紅外發射管發出頻率為5KHz的斷續紅外信號。R2為限流電阻。
如下圖所示:
2.3接受部分
接收電路中紅外接收管Q2接收紅外信號,再經C4耦合後加到U3B的5腳,由運放U3B放大後從7腳輸出。R6,R7決定U3B的5腳直流電平,R8,R9為這一級的負反饋電阻,同時又和C5構成高通濾波器,以有效濾除雜散光干擾。這一級主要起電流放大作用。U3B的7腳輸出5KHz間歇信號經過由C6,D5,D6構成的二倍壓整流電路倍壓整流,在C7兩端得到雙倍於信號峰值的電壓。這個電壓使U3A同相端3腳電壓超過2腳,U3A的1腳輸出高電平,加在四位BCD計數器SN74160N的時鍾端,同時,經R11使發光二極體DS1發光。
電路如下圖所示:
2.4計數解碼顯示電路
把脈沖送給SN74160N,由兩片SN74160N組成兩位數,SN74160N送給解碼驅動器MC54HC4511J,驅動數碼管。把U18的進位連到報警部分就能使系統在超出最大值後溢出報警。用另一個兩位數與計數器做比較,若數值相等就報警,這就能實現定值報警。用S2控制三態門來切換定值部分與計數部分的顯示。用開關按鈕Ten,Entries來設定數值。
電路圖見附錄3
2.5報警器
一個脈沖給報警器,由JK觸發器構成T觸發器,接高電平,當脈沖過來時,T觸發器Q』由高電平變成低電平,是三態門截止,這時555的外圍元件C2充電,過了時間T,555的3管腳由高電平變低電平。時間T就是設計所需要的報警器延時時間。如果直接把555的3腳接蜂鳴器,會發現一開始蜂鳴器就響,不符合要求,所以考慮到實際操作,把3腳接RS觸發器的R端,報警脈沖信號接S端。這樣就能實現報警器延時3秒後自動關閉。開關S1可以手動關閉蜂鳴器。
電路圖如下:
(回復之後再考慮要不要告訴你)
附錄:
發射部分PCB
接受部分PCB
http://blog.sina.com.cn/s/blog_4b7106b301009ej0.html
㈡ 單片機控制光電計數器計數的問題
剛把上面的程序在Keil 4 中軟體模擬了一下,沒有任何問題!
建議你測試一下硬體電路,看看光電計數器輸出是否正常,直接在P3.2(即外部中斷0輸入埠)測試看看有無電壓跳變
建議中斷函數做如下測試
void interrupt_exter() interrupt 0
{
num3++;
P1_0^=0x01; //進入一次中斷 電平狀態切換一次
if(num3==20) //先試試小的數值,正常之後再修改
{
P1_1=0;
EA=0;
}
}
㈢ 用51單片機設計一個簡易定時/計數器
定時器的運用,我博客上有類似的定時程序,只是顯示要改一改,按鍵可以用外部中斷來做。
㈣ 求光電計數器課程設計
回答:myxiaowenzi3.
學弟
6月16日 14:07 http://www.chinalunwen.com
http://www.zwye.com
㈤ 基於51單片機的光電感測器的計數器設計
你好哦樓主~
很高興看到你的問題。
但是又很遺憾到現在還沒有人回答你的問題。也可能你現在已經在別的地方找到了答案,那就得恭喜你啦。
可能是你問的問題有些專業了,沒人會。或者別人沒有遇到或者接觸過你的問題,所以幫不了你。建議你去問題的相關論壇去求助,那裡的人通常比較多,也會比較熱心,能快點幫你解決問題。
希望我的回答能夠幫到你!
祝你好運。。
㈥ 基於51單片機的簡易計數器設計c程序
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9
uchar scanled;
uchar disdat[4];
uint ss,time;
sbit led=P1^0;
void dischg()
{
disdat[3]=ss%10;
disdat[2]=(ss/10)%10;
disdat[1]=(ss/100)%10;
disdat[0]=(ss/1000)%10;
}
void t0isr() interrupt 1
{
ss++;
dischg();
}
void t1isr() interrupt 3//顯示
{
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
P2=1<<scanled;
P0=~ledtab[disdat[scanled]];
scanled++;
scanled%=4;
time++;
if(time>100){time=0;led=~led;}
}
main()
{
TMOD=0x16;
TH0=0xff;
TL0=0xff;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
led=0;
scanled=0;
ss=0;
dischg();
while(1);
}
㈦ 怎麼用單片機設計一個計數器
把T0設為計數器模式,初值為FFFFH,來一個脈沖即中斷,定義一個變數放在中斷函數里加1,這個變數即計數值
㈧ 51單片機設計兩位計數器C語言
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
#define dataport P1
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit wei1=P2^4;
sbit wei2=P2^5;
signed char a=0;
uchar TABLE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//延時子程序
void delay1ms(uint t)
{
uint i;
uint j;
for(i=0;i<t;i++)
for(j=0;j<116;j++);
}
//顯示子程序
void display(uchar n)
{
wei1=1;
dataport=TABLE[n/10];
delay1ms(1);
wei1=0;
wei2=1;
dataport=TABLE[n%10];
delay1ms(1);
wei2=0;
}
void main(void)//主程序
{
while(1)
{
if(s1==0)
{
delay1ms(20);
if(s1==0)
{
a++;
}
}
if(a=100)a=0;
if(s2==0)
{
delay1ms(20);
if(s2==0)
{
a--;
}
}
if(a<0)a=99;
if(s3==0)
{
delay1ms(20);
if(s3==0)
{
a=0;
}
}
display(a);
}
}
㈨ 基於單片機的光電感測器的計數器設計
計數顯示電路可完成對上述脈沖信號的計數和顯示。圖3是由單片機構成的計數系統框圖。 計數系統以MCS-51系列單片機的8031為核心,8013單片機的外圍擴展了程序存儲器27C256和數據存儲器WM0016DRH,此外,用8255擴展了I/O口,同時具有時鍾單元、掉電保護、看門狗單元、通信單元以及LED(發光二極體)顯示器、鍵盤等。 1)8031單片機及存儲器 8031內含4kb EEPROM程序存儲器,具有功耗低、抗干擾能力強的特點,可安置於監測現場,數據存儲器WM0016DRH是一種多功能非易失性SRAM,特點如下:高速高抗干擾自保持,不怕掉電,上下電百萬次數據無丟失,斷電保護10年有效,既可高速連續讀寫,也可任意地址單位元組操作,無需拼湊頁面,隨機讀寫不需等待,立即有效,輸入輸出TTL/CMOS兼容,上電復位輸出,掉電保護,內置看門狗,電源監測,不用外加電路和電池,且引腳與標准SRAM兼容。 2)計數及顯示 多車道車流量數對應的脈沖通過光電隔離耦合並行輸入至8031單片機的P1口,通過軟體控制和鍵盤設定計數值並用LED加以顯示,可自動循環顯示或定點顯示兩種方式,且兩者相互間可任意切換[4]。 當熱釋電感測器安裝位置固定後,輸入脈沖的脈寬和占空比均取決於高速公路上車輛的車速和車距(脈寬對應車輛感測器有效監視方位內的時間,車速和車距有限定),占空比q小於50%,為了准確拾取車流量信息,通過軟體可實現單片機對每一路並行輸入數據的讀取周期小於脈寬,且將每路各自相鄰的兩讀取周期讀取的數據進行運算(暫存前一個周期讀取的數據),若兩數據為01,則自動計1,否則計0。其中0為前一個周期的讀取數據,此時脈沖為低電平,1為後一個周期的讀取數據,此時脈沖為高電平,從而避免了對脈沖的漏計和重復計數,再把4路的讀數每一周期進行一次加運算,累加後的和就是總的車流量。 將8031單片機內的定時器/計數器設定為工作方式1,構成16位二進制計數器[5],採用動態掃描方式直接驅動5位十進制計數器[5]。採用動態掃描方式直接驅動5位十進制LED顯示,最大計數值達到65536,可記錄4車輛的車流量並顯示一個月內的日流量,累計4車道一個月內的日流量總和,計數器內數據保護時間可達一個月之久。當計數器達到設定值時,聲光報警,可存儲數據,並手動復位。 3)時鍾單元 採用DS12C887實時時鍾晶元,具有顯示具體時間信息的功能,若設計調整和設置按鍵,可方便地對時間進行調整和設置,從而為車流量的統計提供准確的時間數據。 4)串列通信單元 由於單片機系統的數據存儲能力和數據處理能力有限,以及現場實時性要求較高,故單片機現場只能暫時存儲採集到的數據和對數據進行簡單處理,至於大量的數據存儲和後續復雜的數據處理可交給上位機完成,由於大型機具有RS-232標准串列口,所以通過8031單片機TTL電平全雙工串列口,附加RS-232電平轉換電路MAX3232可與上位機實現數據通信。 3 軟體設計 計數系統的程序主要包括系統自檢程序、系統初始化程序、鍵盤掃描程序、按鍵處理程序、顯示程序以及數據採集處理程序等,圖4所示為主程序流程。 4 安裝與調試