單片機(jī)實(shí)驗(yàn)報(bào)告簡易報(bào)警器_第1頁
單片機(jī)實(shí)驗(yàn)報(bào)告簡易報(bào)警器_第2頁
單片機(jī)實(shí)驗(yàn)報(bào)告簡易報(bào)警器_第3頁
單片機(jī)實(shí)驗(yàn)報(bào)告簡易報(bào)警器_第4頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)實(shí)驗(yàn)報(bào)告簡易報(bào)警器 簡易 報(bào)警器 一、本次根據(jù)單片機(jī)課程設(shè)計(jì)題目與要求,我選擇的就是設(shè)計(jì)一個簡易報(bào)警器。 二、課程設(shè)計(jì)要求:自制一個單片機(jī)最小系統(tǒng),包括串口下載、復(fù)位電路,采用兩路外部中斷輸入門禁與紅外探測兩路信號(采用兩個小按鍵模擬),中斷信號輸入后能將報(bào)警信息在四位一體數(shù)碼管上顯示,并輸出聲光報(bào)警信號。 三、設(shè)計(jì)所需的硬件:0、1uf 的無極性電容五個;10uf 的極性電容兩個;發(fā)光二極管兩個;三極管 9013 四個; 4、7 千歐的排阻一個;100,1k,10k 的電阻若干;芯片插座若干;11、0592mhz 的晶振一個;單片機(jī) stc89c54rd 芯片一塊;max232 串口芯

2、片一塊;導(dǎo)線若干; 四、課程設(shè)計(jì)要求就是用按鍵紅外探測與輸入門禁。但就是由于實(shí)驗(yàn)室設(shè)備的條件,我采用的就是紅綠兩個二極管代替紅外探測的發(fā)光顯示與輸入門禁的報(bào)警裝置。 五、總體設(shè)計(jì)思想 六、晶振電路 振蕩器就是數(shù)字鐘的核心。振蕩器的穩(wěn)定度及頻率的精確度決定了數(shù)字鐘計(jì)時的準(zhǔn)確程度,通常選用石英晶體構(gòu)成振蕩器電路。石英晶體振蕩器的作用就是產(chǎn)生時間標(biāo)準(zhǔn)信號。因此,一般采用石英晶體振蕩器經(jīng)過分頻得到這一時間脈沖信號。 七、按鍵模塊 stc89c54rd+ 復(fù)位電路 時鐘電路 電源 lcd1602 發(fā)光二極管模擬紅外探測與輸入門禁 按鍵模塊 鑒于使用中斷電路會增加硬件電路的復(fù)雜度,本電路采用獨(dú)立按鍵的方法

3、,只需在程序中加入掃描程序即可。其中 p2、0 接按鍵光標(biāo)移位,p2、1 接按鍵時間加數(shù),p2、2 接按鍵時間減數(shù),p3、2 接按鍵模擬紅外探測,p3、3 接按鍵模擬輸入門禁,。 九、speaker 電路 報(bào)警器裝置的原理就就是利用 p3、7 出來的高低電平交換使得揚(yáng)聲器發(fā)出聲音。但就是由于實(shí)驗(yàn)室的器材有限,所以我們改用了發(fā)光二極管來代替 speaker 電路。 十、實(shí)驗(yàn)仿真程序如下 : #include reg52、h #include intrins、h #define uchar unsigned char #define uint unsigned int uchar code tab

4、le_data=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00; uchar code table_select=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; uchar table_buffer=0,0; uchar count0,count1; sbit ledredcon=p00; sbit ledgreencon=p01; sbit spe=p02; sbit kint0=p32; sbit kint1=p33; sbit rs=p37; sbit rw=p36; sbit e=p35;

5、uchar frq=0x00; void delay(uint ms) uchar i; while(ms-) for(i=0;i120;i+); void check_busy() /判斷 lcd 忙,要不停的檢測,所以需要有個大循環(huán) while(1) e=0; /當(dāng) rs=0 與 rw=1 時,可以讀 忙信號。 delay(3); rs=0; delay(3); rw=1; delay(3); e=1; delay(3); if(p10x80)=0) break; e=0; void write_command(uchar tempdata) e=0; /當(dāng) rs=0 與 rw=0 時,可

6、以寫入指令或者顯示地址。 delay(3); rs=0; delay(3); rw=0; p1=tempdata; delay(3); e=1; /此處高電平就是將數(shù)據(jù)鎖存起來 delay(3); e=0; check_busy(); void init_1602() /lcd1602 的初始化子函數(shù) write_command(0x38);/寫指令 write_command(0x0c);/顯示開與光標(biāo)位置 write_command(0x01);/顯示清屏 write_command(0x06);/顯示光標(biāo)移動設(shè)置 void write_data(uint j) /向 lcd1602 液晶

7、顯示器寫數(shù)據(jù) e=0; /當(dāng) rs=1 與 rw=0 時,可以寫 入數(shù)據(jù)。 delay(3); rs=1; delay(3); rw=0; p1=j; delay(3); e=1; /此處高電平就是將數(shù)據(jù)鎖存起來 delay(3); e=0; check_busy(); void init() /初始化子函數(shù) tmod = 0x11; th0 = 0x00; tl0 = 0xff; it0 = 1; it1 = 1; ie = 0x8f;/ea=1;et1=1;ex1=0;et0=1;ex0=1; ip = 0x05; tr0 = 0; tr1 = 0; void main() init();

8、 init_1602(); while(1) frq+; delay(10); void external_int0() interrupt 0 write_command(0x01); ledgreencon=1; count1+; if(count1=1) if(ledredcon=1) ledredcon=0; else ledredcon=1; if(kint0=0) while(!kint0); delay(5); ledredcon=0; write_data(0); spe=1; if(count1=2) count1=0; ledredcon=1; write_command(

9、0x01); void external_int1() interrupt 2 write_command(0x01); ledredcon=1; count0+; if(count0=1) if(ledgreencon=1) ledgreencon=0; else ledgreencon=1; if(kint1=0)/低電平有效 while(!kint1); delay(5); ledgreencon=0; write_data(1);/顯示數(shù)據(jù) spe=1; if(count0=2) count0=0; ledgreencon=1; write_command(0x01); void ti

10、mer0() interrupt 1 th0=0xfe; tl0=frq; spe=spe; void timer1() interrupt 3 th0=-5000/256; tl0=-5000%256; ledgreencon =_crol_(ledgreencon,1); ledredcon =_crol_(ledredcon,1); 十一、實(shí)驗(yàn)仿真圖如下: xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0

11、1p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51x1crystalc122pc222pvccvccd1led-redd2led-greenr31kr41kvccd714d613d512d411d310d29d18d07e6rw5rs4vss1vd

12、d2vee3lcd1lm016lc310usw1sw-spstr1470rr24k7ls1sounder 十二、硬件焊接及檢測 在電腦上操作完成之后,我們開始硬件實(shí)現(xiàn)。我按照設(shè)計(jì)好的電路圖的將芯片槽口焊好,并用萬能表進(jìn)行檢測。電路的焊接就是否虛焊,就是否短路,地與電源分配。在檢查過程中,出現(xiàn)一個問題。我就是將芯片插好后檢測,結(jié)果萬能表一直報(bào)錯。我將線路一個個的排查,最后才發(fā)現(xiàn)原來就是芯片內(nèi)部出現(xiàn)短路。這次的焊接,我明白了,在檢測過程中如果采用分部份進(jìn)行查找,檢測錯誤的效率會大大提高。 .、軟件下載 將編好的實(shí)驗(yàn)程序燒到 atc89c54 芯片中。加上電源,出現(xiàn)實(shí)驗(yàn)要求的結(jié)果。 十四、課程設(shè)計(jì)的心得體會 本次實(shí)驗(yàn)就是在上學(xué)期的單片機(jī)課程學(xué)習(xí)后的一次實(shí)踐。單片機(jī)課程主要就是采用匯編語言進(jìn)行編寫程序,而這次我就是用 c 語言進(jìn)行編寫實(shí)驗(yàn)程序的。為此我在課程設(shè)計(jì)過程中,對 c 語言在單片機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論