微型計(jì)算機(jī)課程設(shè)計(jì)聲光報(bào)警器的設(shè)計(jì)與制作_第1頁(yè)
微型計(jì)算機(jī)課程設(shè)計(jì)聲光報(bào)警器的設(shè)計(jì)與制作_第2頁(yè)
微型計(jì)算機(jī)課程設(shè)計(jì)聲光報(bào)警器的設(shè)計(jì)與制作_第3頁(yè)
微型計(jì)算機(jī)課程設(shè)計(jì)聲光報(bào)警器的設(shè)計(jì)與制作_第4頁(yè)
微型計(jì)算機(jī)課程設(shè)計(jì)聲光報(bào)警器的設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目目 錄錄 1 1 需求分析需求分析.1 1.1 開(kāi)發(fā)背景.1 1.2 課程設(shè)計(jì)目的.1 1.3 課程設(shè)計(jì)要求.1 1.4 資源配置.1 1.5 開(kāi)發(fā)環(huán)境介紹.1 2 2 概要設(shè)計(jì)概要設(shè)計(jì).2 2.1 硬件介紹.2 2.1.1 可編程并行接口 8255a.2 2.1.2 發(fā)光二極管 led.4 2.1.3 低電壓音頻功率放大器 lm386.4 2.1.4 74 ls04.5 2.1.5 lm336- 2.5v 基準(zhǔn)二極管.5 2.2 實(shí)現(xiàn)原理.6 2.3 設(shè)計(jì)步驟.6 3 3 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì).7 3.1 繪制電路圖.7 3.1.1 電路原理圖.7 3.1.2 電路 pcb 圖.7 3.2 搭

2、建電路板.8 3.2.1 元器件清單.8 3.2.2 硬件連線.8 3.3 流程圖.8 3.4 程序設(shè)計(jì).9 4 4 調(diào)試與操作說(shuō)明調(diào)試與操作說(shuō)明.10 4.1 調(diào)試要求.10 4.2 調(diào)試與操作.10 5 5 總結(jié)體會(huì)總結(jié)體會(huì).11 致致 謝謝.12 附附 錄錄.13 參考文獻(xiàn)參考文獻(xiàn).18 1 1 1 需求分析需求分析 1.11.1 開(kāi)發(fā)背景開(kāi)發(fā)背景 現(xiàn)代生活中,報(bào)警器的應(yīng)用隨處可見(jiàn),銀行裝有防盜報(bào)警器,醫(yī)院、學(xué)校裝有安全報(bào)警 器,普通家庭中也裝有報(bào)警器,啟動(dòng)報(bào)警器,生命和財(cái)產(chǎn)安全都得到了保障。 隨著科技的進(jìn)步,報(bào)警器的制作也越來(lái)越先進(jìn),發(fā)展也越來(lái)越快。各式各樣的報(bào)警器, 也將應(yīng)用于更多領(lǐng)

3、域,深入到人們生活的各個(gè)方面。 1.21.2 課程設(shè)計(jì)目的課程設(shè)計(jì)目的 熟悉可編程并行接口芯片 8255 的使用,學(xué)習(xí)開(kāi)關(guān)量接口電路及其控制程序的設(shè)計(jì)方法。 1.31.3 課程設(shè)計(jì)要求課程設(shè)計(jì)要求 1、產(chǎn)生 8 種彩燈(8 位 led)的走馬燈花樣。 2、產(chǎn)生 8 種不同的聲音。 3、產(chǎn)生聲音的同時(shí),伴有彩燈閃亮。 4、鍵控發(fā)聲:在鍵盤上定義 8 個(gè)數(shù)字鍵(07) ,每按 1 個(gè)數(shù)字鍵,喇叭發(fā)一種頻率的 聲音,按 esc 鍵,停止發(fā)聲。 5、鍵控發(fā)光:在鍵盤上定義 8 個(gè)數(shù)字鍵(07) ,每按 1 個(gè)數(shù)字鍵,led 的 1 位發(fā)光, 按 q 或 q 鍵,停止發(fā)光。 1.41.4 資源配置資源配

4、置 1.電源:機(jī)內(nèi)供電 2.電纜線:采用單線/26 芯扁平電纜 3.i/o 端口地址:8255a 的 4 個(gè)端口地址為 300h-303h,其中 a 口300h, b 口 301h,c 口302h,命令口303h 4.軟件資源:c 語(yǔ)言集成開(kāi)發(fā)環(huán)境軟件 1.51.5 開(kāi)發(fā)環(huán)境介紹開(kāi)發(fā)環(huán)境介紹 1、 pc 兼容機(jī) 2、 windows 2000 3、 mfid 多功能微機(jī)實(shí)驗(yàn)平臺(tái)(含 pci 總線驅(qū)動(dòng)板) 4、 mf2ki 集成開(kāi)發(fā)環(huán)境,提供了豐富的匯編語(yǔ)言和 c/c+語(yǔ)言程序開(kāi)發(fā)工具 2 2 2 概要設(shè)計(jì)概要設(shè)計(jì) 2.12.1 硬件介紹硬件介紹 2.1.12.1.1 可編程并行接口可編程并行接

5、口 8255a8255a 8255a 是一個(gè)具有兩個(gè) 8 位(a 口和 b 口)和兩個(gè) 4 位(c 口高/低 4 位)并行 i/o 端口的接 口芯片;它為 intel 系列 cpu 與外部設(shè)備之間提供 ttl 電平兼容的接口,如打印機(jī),a/d,d/a 轉(zhuǎn)換器,鍵盤,步進(jìn)電機(jī)以及需要同時(shí)兩位以上信息傳送的一切形式的并行接口。 一、可編程并行接口 i8255a, 其內(nèi)部結(jié)構(gòu)如圖 2.1 所示,由以下 4 個(gè)部分組成: 圖 2.1 8255a 內(nèi)部結(jié)構(gòu)圖 數(shù)據(jù)總線緩沖器 讀/寫(xiě)控制邏輯 輸入/輸出端口 a、b、c a 組和 b 組控制電路 二、8255a 外部引腳如圖 2.2 所示 3 圖 2.2

6、8255a 引腳圖 1.和外設(shè)一邊相連的: pa7-pa0:a 組數(shù)據(jù)信號(hào) pb7-pb0:b 組數(shù)據(jù)信號(hào) pc7-pc0:c 組數(shù)據(jù)信號(hào) 2.和 cpu 一邊相連的: reset:復(fù)位信號(hào),低電平有效。當(dāng) reset 信號(hào)來(lái)到時(shí),所有內(nèi)部寄存器就被清除, 同時(shí),3 個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸入端口。 d7-d0:它們是 8255a 的數(shù)據(jù)線,和系統(tǒng)數(shù)據(jù)總線相連。 :芯片選擇信號(hào),低電平有效。在一個(gè)系統(tǒng)中,一般根據(jù)全部接口芯片來(lái)分配若干 較低位地址(比如 a5、a4、a3)來(lái)組成各種芯片選擇碼,當(dāng)這幾位地址組成某一個(gè)代碼 時(shí),譯碼器便往 8255a 的端輸出一個(gè)低電平,于是 8255a 被選中。只

7、有當(dāng)有效時(shí), 讀信號(hào)和寫(xiě)信號(hào)才對(duì) 8255a 有效。 :芯片讀出信號(hào)低電平有效。 :芯片寫(xiě)入信號(hào)低電平有效。 a1、a0:端口選擇信號(hào)。8255a 內(nèi)部有 3 個(gè)數(shù)據(jù)端口和一個(gè)控制端口,共四個(gè)端口。 規(guī)定當(dāng) a1、a0 為 00 時(shí),選中 a 端口;為 01 時(shí),選中 b 端口;為 10 時(shí),選中 c 端口; 為 11 時(shí),選中控制口。 三、8255a 的 pc 口 8255a pc 口的使用比較特殊,它的作用與 8255a 的工作方式有關(guān),它除了作數(shù)據(jù)口以 外,還作狀態(tài)口、專用(固定)聯(lián)絡(luò)(握手)信號(hào)線、按位控制用。 4 在 3 種不同工作方式下,8255a 的 c 口的功能有比較大的變化。

8、具體變化如下:1)0 方式下,c 口有兩種功能:作數(shù)據(jù)口(4 位并行數(shù)據(jù)口,分高/低 4 位) ;作按位控制,按位 輸出邏輯 1 或邏輯 0。2)1 方式下,c 口有 4 種功能:作 a 口和 b 口的固定聯(lián)絡(luò)信號(hào)線; 作 a 口和 b 口的狀態(tài)口;作位控,按拉輸出邏輯 1 和邏輯 0;作數(shù)據(jù)口,未分配作固定聯(lián) 絡(luò)信號(hào)的引腳,可作數(shù)據(jù)線用。3)2 方式下,c 口有 4 種功能,與 1 方式類似。 它的 pc 口具有按位置位/復(fù)位功能,為按位控制提供了強(qiáng)有力的支持。利用 pc 口的按位 控制特性還可以產(chǎn)生正、負(fù)脈沖或方波輸出,對(duì)外設(shè)進(jìn)行控制。按位置位/復(fù)位命令產(chǎn)生的 輸出信號(hào),可作為控制開(kāi)關(guān)的通

9、/斷,繼電器的吸合/釋放,電機(jī)的啟/停等操作的選通信號(hào)。 8255a 的編程命令包括工作方式命令和對(duì) pc 口的按位操作命令按位置位/復(fù)位命令字 作用:指定 pc 口的某一位(某一個(gè)引腳)輸出高電平或低電平。 格式:8 位,其中最高位是特征位,一定要寫(xiě) 0 2.1.22.1.2 發(fā)光二極管發(fā)光二極管 ledled 發(fā)光二極管的核心部分是由 p 型半導(dǎo)體和 n 型半導(dǎo)體組成的晶片,在 p 型半導(dǎo)體和 n 型 半導(dǎo)體之間有一個(gè)過(guò)渡層,稱為 p-n 結(jié)。在某些半導(dǎo)體材料的 pn 結(jié)中,注入的少數(shù)載流子 與多數(shù)載流子復(fù)合時(shí)會(huì)把多余的能量以光的形式釋放出來(lái),從而把電能直接轉(zhuǎn)換為光能。 pn 結(jié)加反向電壓

10、,少數(shù)載流子難以注入,故不發(fā)光。它的制作利用注入式電致發(fā)光原理, 通稱 led。 2.1.32.1.3 低電壓音頻功率放大器低電壓音頻功率放大器 lm386lm386 lm386 是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、 外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。 lm386 的外形和引腳的排列如圖 2.3 所示。引腳 2 為反相輸入端,3 為同相輸入端;引 腳 5 為輸出端;引腳 6 和 4 分別為電源和地;引腳 1 和 8 為電壓增益設(shè)定端;使用時(shí)在引 腳 7 和地之間接旁路電容,通常取 10f。 圖 2.3 lm386 外形和引腳排列圖 5

11、 lm386 典型應(yīng)用電路如圖 2.3 所示: 圖 2.3 lm386 應(yīng)用電路圖 2.1.42.1.4 7474 ls04ls04 非門的一種常見(jiàn)類型,可以用來(lái)把高電平轉(zhuǎn)換為低電平,其內(nèi)部結(jié)構(gòu)圖如圖 2.4,其引腳 排列圖如圖 2.5。 圖 2.4 74ls04 內(nèi)部結(jié)構(gòu)圖 圖 2.5 74ls04 引腳排列圖 2.1.52.1.5 lm336-lm336- 2.5v2.5v 基準(zhǔn)二極管基準(zhǔn)二極管 lm336 的管腳及電路符號(hào)如圖 2.4 所示: 6 圖 2.5 lm336 管腳及電路符號(hào)圖 2.22.2 實(shí)現(xiàn)原理實(shí)現(xiàn)原理 利用 8255a 的 pc6,產(chǎn)生方波,經(jīng)濾波和功放后,送到喇叭,能

12、產(chǎn)生不同頻率的聲音, 其程序段為: do for(j=0;j=100;j+) outportb(0 x303,0 x0d);/令pc6=1,發(fā)高頻音 delay(k); outportb(0 x303,0 x0c);/令pc6=0,關(guān)閉spk delay(k); for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(k*10);/令pc6=1,發(fā)低頻音 outportb(0 x303,0 x0c);/令pc6=0,消音 delay(k*10); while(!kbhit();/按任意鍵退出 若改變 delay1 的延時(shí)時(shí)間,即可改變喇叭發(fā)聲的頻率。 2.

13、32.3 設(shè)計(jì)步驟設(shè)計(jì)步驟 1、進(jìn)行聲光效果(報(bào)警器)系統(tǒng)電路硬件設(shè)計(jì),畫(huà)出電路原理圖、pcb 圖或 7 元器件布線圖 2、安裝或焊接元器件 3、進(jìn)行聲光效果控制程序設(shè)計(jì) 4、調(diào)試、編譯連接運(yùn)行 3 3 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 3.13.1 繪制電路圖繪制電路圖 3.1.13.1.1 電路原理圖電路原理圖 利用 protel 繪出的電路原理圖如圖 3.1 所示 圖 3.1 電路原理圖 3.1.23.1.2 電路電路 pcbpcb 圖圖 原理圖生成 pcb 圖如圖 3.2 所示 8 圖 3.2 電路 pcb 圖 3.23.2 搭建電路板搭建電路板 3.2.13.2.1 元器件清單元器件清單 發(fā)光二極管

14、 (led) 、 雙列直插封裝八路開(kāi)關(guān)(sw-dip8) 、 按鍵開(kāi)關(guān)( sw-pb ) 、 揚(yáng)聲器 (speaker) 、 完整的八單元內(nèi)封裝集成電阻器之一(respack3) 、 有極性電容器 (electr01) 、 色環(huán)電阻 、 非門 74ls04 3.2.23.2.2 硬件連線硬件連線 一、根據(jù)電路圖準(zhǔn)備所需的元器件及若干導(dǎo)線。 二、觀察面包板,弄清其內(nèi)部結(jié)構(gòu)、線路應(yīng)注意,在連線時(shí)和對(duì)應(yīng)的豎條為相互連通 的,而在 abcde 對(duì)應(yīng)的這一橫排為相互連通的。 三、搭建電路,我們具體的步驟如下: (1) 將 8 個(gè)二極管放在適當(dāng)位置。 (2) 通過(guò) 74ls04 將 8 個(gè)二極管和 825

15、5 的 pa 連接起來(lái)。 (3) 將 8 個(gè)電阻和開(kāi)關(guān) sw-dip8 放在實(shí)驗(yàn)平臺(tái)適當(dāng)位置。 (4) 通過(guò) 8 個(gè)電阻將開(kāi)關(guān) sw-dip8 和 8255 的 pb 連接起來(lái)。 (5) 將排阻放在適當(dāng)位置。 (6) 將兩個(gè)排阻分別與二極管和 8 個(gè)電阻連接起來(lái)。 (7) 將 lm386 放在適當(dāng)位置。 9 (8) 將 lm386 通過(guò)電容,電阻,開(kāi)關(guān)與 8255 的 pc 連接起來(lái)。 (9) 通過(guò)電容將喇叭與 lm386a 連接起來(lái)。 注意:74ls04 在引腳連接時(shí)應(yīng)注意引腳順序?yàn)槟鏁r(shí)針?lè)较?,依次為?4,其 中 7 應(yīng)接地,14 接電源正極。二極管兩個(gè)引腳中長(zhǎng)的引腳為陽(yáng)極,短的為陰極。l

16、m386a 的 8 個(gè)引腳的順序也為逆時(shí)針?lè)较颉?四、在微機(jī)平臺(tái)上測(cè)試電路是否搭建正確,用萬(wàn)用表和示波器進(jìn)行測(cè)試。 3.33.3 流程圖流程圖 整個(gè)設(shè)計(jì)的流程圖如圖 3.3 所示,實(shí)現(xiàn)了設(shè)計(jì)要求的五種形式。 10 開(kāi)始 8255初始化 led熄滅 spk關(guān)閉 主界面 按”1?按”2?按”3?按”4?按”5? 子界面 sw按下? led亮 任意鍵按下? led熄滅 主界面 “0”鍵按下? 子界面 sw按下? spk響 任意鍵按下? spk關(guān)閉 子界面 sw按下? led亮 spk響 任意鍵按下? led熄滅 子界面 按數(shù)字鍵? spk響 按esc? spk關(guān)閉 子界面 按數(shù)字鍵? led亮 按”

17、q”鍵? led熄滅 spk關(guān)閉 退出 y y y n n n n n n n n nn n n n n n n y y y y yy y y yy y y y y 圖 3.3 聲光報(bào)警設(shè)計(jì)流程圖 3.43.4 程序設(shè)計(jì)程序設(shè)計(jì) 見(jiàn)附錄,其中 inportb、outportb 為提供端口讀寫(xiě)函數(shù),其頭文件為 dos.h outportb 即是數(shù)據(jù)寫(xiě)到端口,inportb 即是將數(shù)據(jù)從端口讀出。 11 4 4 調(diào)試與操作說(shuō)明調(diào)試與操作說(shuō)明 4.14.1 調(diào)試要求調(diào)試要求 一、硬件要求: mfid 多功能微機(jī)實(shí)驗(yàn)平臺(tái)(含 pci 總線驅(qū)動(dòng)板) ;pc 兼容機(jī);面包板或外設(shè)功能模塊板。 二、軟件要求

18、: windows 2000;mf2ki 集成開(kāi)發(fā)環(huán)境,程序采用 c 開(kāi)發(fā)。 4.24.2 調(diào)試與操作調(diào)試與操作 一、由于 sw-dip8 開(kāi)關(guān)引腳有問(wèn)題,故在程序調(diào)試過(guò)程中將用一根導(dǎo)線代替開(kāi)關(guān),如當(dāng)電 阻為 1 時(shí),原本為開(kāi)關(guān) 1 合上去時(shí)表示接電阻 1 接通,此時(shí)用一根導(dǎo)線將電阻 1 兩腳連接起來(lái) 接通,依次類推 2,3, 。 。 。8。 二、運(yùn)行前先接好所有硬件設(shè)施:?jiǎn)?dòng)電腦,將搭建的電路板與實(shí)驗(yàn)平臺(tái)通過(guò)數(shù)據(jù)線連接 起來(lái)。打開(kāi)實(shí)驗(yàn)平臺(tái)電源開(kāi)關(guān)。 三、編譯,運(yùn)行。運(yùn)行時(shí)將操作界面將會(huì)有提示:按數(shù)字間 1,2,3,4,5 分別進(jìn)入 5 種 功能狀態(tài)進(jìn)行選擇,按 q 或 q 鍵退出。具體操作如

19、下: 1 編譯運(yùn)行進(jìn)入主界面: 2 選擇選項(xiàng)“1”:此時(shí),選擇 8 碼開(kāi)關(guān),用來(lái)選擇燈亮的方式, 按 sw 開(kāi)關(guān),控制開(kāi)始。 如需停止,按 0 鍵返回。 3 選擇選項(xiàng)“2”:此時(shí),選擇一種 8 碼開(kāi)關(guān),用來(lái)選擇聲音的方式。然后按 sw 開(kāi)關(guān), 控制開(kāi)始。如需停止,按 0 鍵返回。 4 選擇選項(xiàng)“3”:此時(shí),直接按 sw 鍵產(chǎn)生聲音的同時(shí),伴有燈閃亮,按 0 鍵退出。 5 選擇選項(xiàng)“4”:此時(shí),可以通過(guò)按 1 到 8 鍵,選擇一盞燈亮。例如:按 2 鍵: 此時(shí),電路板上就會(huì)有一盞燈亮,按 esc 鍵返回主界面。 6 選擇選項(xiàng)“5”:此時(shí),可以通過(guò)按 1 到 8 鍵,選擇一種頻率的聲音。例如:按

20、4 鍵: 此時(shí),就會(huì)發(fā)出一種頻率的聲音,按 q 或 q 鍵返回。 四、在程序編譯運(yùn)行后要同時(shí)按電路板上單刀雙擲開(kāi)關(guān)鍵才進(jìn)入工作狀態(tài),如果不按下 開(kāi)關(guān),即使程序運(yùn)行也不會(huì)看到實(shí)驗(yàn)效果。 12 5 5 總結(jié)體會(huì)總結(jié)體會(huì) 我所在的組做的是聲光報(bào)警實(shí)驗(yàn)。剛拿到課題的時(shí)候,感覺(jué)什么都不知道,對(duì)硬件的 基礎(chǔ)知識(shí)都一概不知,所以感覺(jué)難度好大。于是決定先靜下心來(lái),先學(xué)習(xí)再來(lái)做實(shí)驗(yàn)。我 們組明確分工,我主要負(fù)責(zé)畫(huà)圖和編程工作,工作量相當(dāng)大。不過(guò)經(jīng)過(guò)努力,學(xué)到知識(shí)的 感覺(jué)很不錯(cuò)哦。 第一步看書(shū),首先我把剛學(xué)過(guò)的微機(jī)接口書(shū)找出來(lái),由于我們這個(gè)實(shí)驗(yàn)中要用到 8255 芯片,所以我對(duì)著電路圖研究了一下它的端口。這樣就為

21、編程打下了基礎(chǔ)。 第二步畫(huà)圖,首先是聽(tīng)老師講課,學(xué)會(huì)了 protel 軟件的基本操作方法。然后課 下我就根據(jù)需要,對(duì)著我們的電路圖來(lái)畫(huà)原理圖。這個(gè)過(guò)程不太復(fù)雜??墒墙酉聛?lái)要轉(zhuǎn)化 成 pcb 圖,設(shè)計(jì)到封裝引腳的問(wèn)題。對(duì)物理原器件一點(diǎn)都不了解的我,到處查找資料,終 于把每種引腳的封狀方式都找了出來(lái)。然后一一添加進(jìn)去,可是調(diào)試的時(shí)候又會(huì)出現(xiàn)很多 的錯(cuò)誤。由于軟件本身的原因,那些錯(cuò)誤都看不懂,只能在圖里面慢慢的找。那天畫(huà)圖就 畫(huà)到了一點(diǎn)鐘,不過(guò)當(dāng)調(diào)試通過(guò)以后,自動(dòng)生成 pcb 圖的時(shí)候,那份喜悅真是難以形容。 第三步編程,由于實(shí)驗(yàn)指導(dǎo)書(shū)上寫(xiě)著,聲光報(bào)警器要達(dá)到 5 種要求,分別是: 1.只有燈亮,八

22、碼開(kāi)關(guān)控制 8 種燈光閃爍的形式。 2.只有聲音,八碼開(kāi)關(guān)控制 8 種發(fā)出的聲音。 3.燈光閃爍的同時(shí)伴有聲音 4.鍵控發(fā)聲,每按一個(gè)數(shù)字鍵(18)則控制一種聲音。 5.鍵控發(fā)光,每按一個(gè)數(shù)字間(18)則控制一種燈光的閃爍。 起初我的設(shè)計(jì)只能實(shí)現(xiàn)上述一種要求,即第 3 種,聲音和燈光一起??墒呛髞?lái),為了 使功能更完善,我參考了c 語(yǔ)言實(shí)訓(xùn)教程這本書(shū)后面的圖書(shū)館實(shí)例,決定做成有界面 的,可以實(shí)現(xiàn) 5 種功能的交互。 1、 分析。 我采用的是 printf 語(yǔ)句打印出主菜單界面。然后用 switch 語(yǔ)句做功能的選擇。其次,在每 個(gè)功能上都采用函數(shù)調(diào)用的形式,有的功能里面還有子功能調(diào)用。 2、畫(huà)流

23、程圖 3、采用 c 語(yǔ)言編寫(xiě),實(shí)現(xiàn)上述功能。 在實(shí)現(xiàn)的過(guò)程中也碰到了很多問(wèn)題,比如說(shuō)菜單的選擇與返回,以及在鍵控發(fā)聲與發(fā)光 時(shí)對(duì)按鍵的控制上都還是有點(diǎn)問(wèn)題,希望以后在老師的幫助下能夠?qū)⑺龅酶谩?13 致致 謝謝 整個(gè)課題的設(shè)計(jì)制作完成得比較成功,設(shè)計(jì)的任務(wù)要求都達(dá)到了,這里要感謝孫延維老師 給我們提出寶貴的意見(jiàn),給予有效的指導(dǎo)工作,幫助我們解決了很多問(wèn)題,同時(shí)設(shè)計(jì)的 順利完成也得益于小組成員的分工合作,協(xié)同作戰(zhàn),從剛開(kāi)始的毫無(wú)頭緒到最后一項(xiàng)一項(xiàng) 任務(wù)的順利解決,大家都發(fā)揮了各自特長(zhǎng),付出了勞動(dòng)。在此對(duì)大家的努力表示衷心的感謝。 14 附附 錄錄 #include /getvect(); s

24、etvect(); #include /kbhit(); #include /exit(0); #include /printf(); int f1();/函數(shù)聲明 int f2(); int f3(); int f4(); int f5(); int sound(int s); void displaymenu()/打印主菜單 system(cls); printf(nnn); printf(sound-light alarmn); printf(+- +n); printf(|1. produce 8 kinds of light |n); printf(|2. produce 8 kin

25、ds of sound |n); printf(|3. produce light and sound |n); printf(|4. press number 1 to 8,control different kinds of sound(stop when press esc) |n); printf(|5. press number 1 to 8,control different kinds of light(stop when press q ) |n); printf(+- +n); void main()/主函數(shù) char t; int quit=0; do displaymen

26、u();/顯示主菜單 t=getch(); switch(t)/菜單選擇 case 1:f1();break; case 2:f2();break; case 3:f3();break; case 4:f4();break; case 5:f5();break; case 0:quit=1;break; 15 while(!quit); outportb(0 x300,0 x00);/led 全滅 outportb(0 x303,0 x0c);/關(guān)閉 spk int f1()/發(fā)出 8 種不同的燈光 int u188=0 x81,0 x42,0 x24,0 x18,0 x81,0 x42,0

27、x24,0 x18, 0 x88,0 x44,0 x22,0 x11,0 x88,0 x44,0 x22,0 x11, 0 xc0,0 x66,0 x38,0 x18,0 xc0,0 x66,0 x36,0 x18, 0 xa0,0 x90,0 x88,0 x84,0 xa0,0 x90,0 x88,0 x84, 0 xd0,0 x07,0 xd0,0 x07,0 xd0,0 x07,0 xd0,0 x07, 0 x55,0 xaa,0 x55,0 xaa,0 x55,0 xaa,0 x55,0 xaa, 0 xf0,0 x0f,0 xf0,0 x0f,0 xf0,0 x0f,0 xf0,0

28、x0f, 0 x3c,0 xc3,0 x3c,0 xc3,0 x3c,0 xc3,0 x3c,0 xc3;/led 按順序發(fā)光 unsigned long int i=0,m=0; unsigned char portvalue; printf(npress one of swdip-8 to start!n); portvalue= inportb(0 x301);/存放 pb 口的值 for(int k=0; k= 1; /for 語(yǔ)句結(jié)束 printf(npress sw to start!n); printf( you want to quit,please hit any key!)

29、; do while(0 x04/查 sw 按下 outportb(0 x303,0 x83);/初始化 outportb(0 x300,0 x00);/led 全滅 outportb(0 x303,0 x0c);/關(guān)閉 spk do outportb(0 x300,u1mi);/按順序送發(fā)光信號(hào) delay(100); i+; if(i=8) i=0; while(!kbhit(); return 0;/0 鍵返回 /f1()結(jié)束 int f2()/發(fā)出 8 種不同的聲音 unsigned long int j=0; 16 unsigned char portvalue; printf(np

30、ress one of swdip-8 to start!n); portvalue = inportb(0 x301);/存放 pb 口的值 for(int k=0; k= 1; printf(npress sw to start!n); printf( you want to quit,please hit any key!); do while(0 x04/查 sw 按下 outportb(0 x303,0 x83);/初始化 outportb(0 x300,0 x00);/led 全滅 outportb(0 x303,0 x0c);/關(guān)閉 spk do for(j=0;j=100;j+

31、) outportb(0 x303,0 x0d);/令 pc6=1,發(fā)高頻音 delay(k); outportb(0 x303,0 x0c);/令 pc6=0,關(guān)閉 spk delay(k); for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(k*10);/令 pc6=1,發(fā)低頻音 outportb(0 x303,0 x0c);/令 pc6=0,消音 delay(k*10); while(!kbhit();/按任意鍵退出 return 0;/0 鍵返回 int f3()/發(fā)光的同時(shí)發(fā)出聲音 int u1=0 x81,0 x42,0 x24,0 x1

32、8,0 x81,0 x42,0 x24,0 x18; unsigned long int i=0,j=0; printf(npress sw to start!n); printf( you want to quit,please hit any key!); do while(0 x04/查 sw 按下 do 17 outportb(0 x300,u1i);/按順序送發(fā)光信號(hào) i+; if(i=8) i=0; for(j=0;j=100;j+) outportb(0 x303,0 x0d);/令 pc6=1,發(fā)高頻音 delay(1); outportb(0 x303,0 x0c);/令 p

33、c6=0,關(guān)閉 spk delay(1); outportb(0 x300,0 x00);/led 全滅 for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(10);/令 pc6=1,發(fā)低頻音 outportb(0 x303,0 x0c);/令 pc6=0,消音 delay(10); while(!kbhit();/按任意鍵退出 /f3 結(jié)束 int sound(int s)/發(fā)出一種頻率的聲音 unsigned long int j=0; do for(j=0;j=10;j+) outportb(0 x303,0 x0d);/令 pc6=1,發(fā)高頻音 delay(s); outportb(0 x303,0 x0c);/令 pc6=0,關(guān)閉 spk delay

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論