freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的紅外通訊軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)(存儲(chǔ)版)

  

【正文】 投入應(yīng)用產(chǎn)品的 研究與生產(chǎn),目前已經(jīng)形成一定規(guī)模。 鍵盤輸入 設(shè)計(jì)一個(gè) 4*4 的矩陣鍵盤來用接受用戶的輸入,利用 8 個(gè) IO 口,在程序中對(duì)矩陣鍵盤進(jìn)行行列的高低電平的判斷,并在程序中對(duì)某個(gè)按鍵的按下返回預(yù)先設(shè)定的數(shù)字鍵或者字母鍵,從而完成用戶的輸入。 系統(tǒng) 所帶功能 如下: -能通過發(fā)射端來控制接收端(用電機(jī)模擬的電風(fēng)扇)進(jìn)行實(shí)時(shí)的控制; -接收端(電機(jī)模擬的電風(fēng)扇)能夠分檔次的運(yùn)行在大、中、小三個(gè)檔次,并且能夠?qū)崿F(xiàn)定時(shí)功能, 電風(fēng)扇的開關(guān)。 每 16 位組成一個(gè) 操作碼,在接收端解碼操作碼得到相應(yīng)的改變電機(jī)運(yùn)轉(zhuǎn)的動(dòng)作。直至今天,單片的生產(chǎn)廠家和型號(hào)已經(jīng)是各式各樣。 uPD6121 編碼芯片 和 BC7210 解碼芯片 如圖 31所示 圖 31 紅外發(fā)射頭和接收頭 紅外發(fā)射二極管是紅外通信系統(tǒng)中用來發(fā)射信號(hào)的一個(gè)非常重要的元件,雖然它看起來比較小,不太顯眼,但是沒有它,紅外通信就只能是一句空話。所以紅外遙控器發(fā)送紅外信號(hào)時(shí),參考上面遙控串行數(shù)據(jù)編碼波形圖,在低電平處發(fā)送 38kHz 紅外信號(hào),高電平處則不發(fā)送紅外信號(hào) ?;蛳嗤拇a連續(xù)發(fā)兩次。通過這個(gè)高頻載波信號(hào)的調(diào)制,把編碼信號(hào)的有用信息“攜帶”出去,這樣信號(hào)的傳送距離就能更長(zhǎng),而且能夠有效的避免其他信號(hào)的干擾,從而提高了信息傳送的準(zhǔn)確性。 液晶顯示模塊電路和電機(jī)電路分別如圖 39所示 圖 39 總體發(fā)射 端 綜合 仿真電路 圖 1 15 總 體 接收端綜合 仿真電路圖 1 16 4 系統(tǒng)軟件設(shè)計(jì) 紅外通訊系統(tǒng)軟件設(shè)計(jì)的編程語(yǔ)言選擇 現(xiàn)在程序編程語(yǔ)言很多如 C 語(yǔ)言, C++語(yǔ)言,匯編語(yǔ)言,機(jī)器語(yǔ)言等,這些語(yǔ)言主要都應(yīng)用于嵌入式開發(fā)之中,但由于機(jī)器語(yǔ)言的 難以閱讀,所以現(xiàn)在已經(jīng)基本不再使用 。 而且 C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。 而使用 C 編譯器 在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且可以附加靈活地控制選項(xiàng), 在開發(fā)大型項(xiàng)目時(shí)非常理想,是目前應(yīng)用最廣泛的單片機(jī)開發(fā)環(huán)境之一 [15]。 擁有良好的結(jié)構(gòu)、明朗的注釋,便于修改時(shí)候的閱讀。 軟件要有先進(jìn)些和可擴(kuò)展性,軟件要能滿足客戶的要求,并且做好模塊化,便于日后對(duì)軟件的升級(jí)。外部中斷接受到下降沿的脈沖后將會(huì)進(jìn)入外部中斷函數(shù)recive,獲取 Count 的 計(jì)數(shù),根據(jù) Count 的次數(shù)來計(jì)算接受到的脈沖的寬度 ,如果脈沖的寬度不是合法的信號(hào) ,那么就去除。) 停止電機(jī) 1 20 程序流程圖如下:發(fā)射端啟動(dòng) 接收端啟動(dòng) 初始化 LCD 液晶顯示器顯示初始信息 初始化 是否有用戶輸入? 按鍵輸入檢測(cè) N Y 根 據(jù)用戶輸入,得到相關(guān)的按鍵信息后,進(jìn)行編碼 編 碼 后 數(shù) 據(jù) 與38KHz 的載波結(jié)合 將經(jīng)過載波調(diào)制后的編碼數(shù)據(jù)發(fā)送出去 等待來自發(fā)射端的數(shù)據(jù) ? 啟動(dòng)定時(shí)器 0, 50us累計(jì)一次,BI 技術(shù) 送入外部中斷函數(shù),并且獲得定時(shí)器累計(jì) 是否為 8位傳送碼 數(shù)據(jù)發(fā)送 N Y 解碼傳送碼 , 得到用戶輸入數(shù)據(jù) 控制電機(jī)運(yùn)行 LCD 液晶顯示器顯示電機(jī)相關(guān)信息 1 21 LCD1602 液晶顯示器軟件設(shè)計(jì) 串行數(shù)據(jù)傳送和并行數(shù)據(jù)傳送。四乘四矩陣鍵盤在仿真使用的是 KEYPAD 仿真元件,其內(nèi)部的各按鍵之間的接線大致如下圖所示 , C1 至 C41 23 分 別接 P0 至 P3, R1至 R4分別接 P4 至 P7。編碼主要是由用戶碼和數(shù)據(jù)碼構(gòu)成 ,通常還包括引導(dǎo)脈沖 ,引導(dǎo)脈沖總是出現(xiàn)在編碼脈沖的前頭 ,作為遙控接收的啟動(dòng)信號(hào) 。 DataCode()用于1 25 發(fā)送系統(tǒng)識(shí)別碼和操作碼 ,函數(shù)中 將參數(shù) SendCode逐位分解,從低位開始發(fā)送;如果該位是 0,則發(fā)送位 ” 0” ,即先發(fā)送 ;如果該位是 1,則發(fā)送位 ” 1” ,即先發(fā)送 電平再發(fā)送 平;連續(xù)發(fā)送八位這樣的位 0和位 1表示一個(gè)完整的操作碼。OverCode()。 也就是說,解碼的關(guān)鍵是如何識(shí)別“ 0”和“ 1”,從對(duì)位的定義我們可以發(fā)現(xiàn)“ 0”、“ 1”均以 的高電平開始,不同的是低電平的寬1 26 度不同,“ 0”為 ,“ 1”為 ,所以必須根據(jù)低電平的寬度區(qū)別“ 0”和“ 1” .而在接收端程序中,電平的寬度之前說了,是使用定時(shí)器 0中斷函數(shù)中的 Count 來計(jì)數(shù) ,定時(shí)器 50us 中斷一次。 buf_count 來計(jì)算接 受到的脈沖的寬度 ,如果脈沖的寬度不是合法的信號(hào) ,那么就去除。然后IsNewCode=0,繼續(xù)回到等待發(fā)射端用戶的操作。通信協(xié)議在“ “頭文件中。 電機(jī) P0口不同值對(duì)應(yīng)電機(jī)狀態(tài)如下表: P0口的值 電機(jī)狀 態(tài) 0x00 停止 0x02 電機(jī)低速檔運(yùn)行 0x04 電機(jī)中速檔運(yùn)行 0x08 電機(jī)高速檔運(yùn)行 除了控制電機(jī)轉(zhuǎn)速外,程序還需要控制一個(gè)接與 P37 口的 LED 燈,用來指示電機(jī)是否定時(shí)運(yùn)行。 軟件抗干擾以其設(shè)計(jì)靈活。作為一個(gè)職 業(yè)的開發(fā)人員,不應(yīng)該以自己的興趣和喜好來決定開發(fā)的輕重緩急。至于其它功能,只要進(jìn)行普通的測(cè)試,保證它不出現(xiàn)明顯和嚴(yán)重 bug即可。 編譯調(diào)試程序 1 31 完成好項(xiàng)目和 源文件的建立后,便可以 開始 編寫代碼, 代碼編寫完成后 編譯、連接:在設(shè)置好工程后,既可以進(jìn)行編譯、連接。語(yǔ)句。 對(duì)于這個(gè)問題,我是通過在紙上繪制出,編碼過程的所有方波波形 發(fā)現(xiàn)的。謝謝! 1 35 參考文獻(xiàn) [1] 百度百科 紅外通訊 [2] 激光網(wǎng) 紅外技術(shù)的現(xiàn)狀和未來 [3] 蘇長(zhǎng)贊 .紅外線與超聲波遙控 .北京 人民郵電出版社, 1997 [4] 張玉香 .新型遙控接收模塊 . HS0038[ J]無線電, 1998, 7 [5] 肖景和 .實(shí)用遙控電路 . 北京 人民郵電出版社, 1998 [6] Joseph M. Kah , John R. Barry .Wireless Infrared Communications. Junc 19,1997. Dept. of Electrical Engineering and Computer SciencesUniversity of Californ. [7] 高茹云 .通訊電子線路 . 西安 西安電子科技大學(xué)出版社, 1999 [8] 劉振海 .單片機(jī)原理及應(yīng)用技術(shù) . 北京 高等教育出版社 [9] 沈紅衛(wèi) .單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析 . 北京 北京航空航天大學(xué)出版社 [10] 原東昌 .李晉炬 .通信原理 與電路實(shí)驗(yàn)指導(dǎo)書 . 北京 北京理工大學(xué)出版社 [11] 嚴(yán)天峰 ,王耀琦 .紅外通信模塊設(shè)計(jì)例程 . 中京航空航天大學(xué)出版社 [12] 徐瑋, 51 單片機(jī)綜合學(xué)習(xí)系統(tǒng) — 紅外線遙控篇 . 北京 電子工業(yè)出版社 [13] 江世明 .基于 Proteus 的單片機(jī)應(yīng)用技術(shù) . 北京 電子工業(yè)出版社 [14] 黃迪明等 .C 語(yǔ)言程序設(shè)計(jì)教程 . 北京 國(guó)防工業(yè)出版社 [15] 周立功等 .增強(qiáng)型 80C51 單片機(jī)速成與實(shí)戰(zhàn) . 北京 北京航空航天大學(xué)出版社 1 36 1 37 致謝 經(jīng)過了這個(gè)學(xué)期不斷的努力學(xué)習(xí)和修改,我終于完成了畢業(yè)設(shè)計(jì)論文。 */ define SENDCODE0 0x60 /*數(shù)字鍵 0 的操作碼 */ define SENDCODE1 0x61 /*數(shù)字鍵 1 的操作碼 */ define SENDCODE2 0x62 /*數(shù)字鍵 2 的操作碼 */ define SENDCODE3 0x63 /*數(shù)字鍵 3 的 操作碼 */ define SENDCODE4 0x64 /*數(shù)字鍵 4 的操作碼 */ define SENDCODE5 0x65 /*數(shù)字鍵 5 的操作碼 */ define SENDCODE6 0x66 /*數(shù)字鍵 6 的操作碼 */ define SENDCODE7 0x67 /*數(shù)字鍵 7 的操作碼 */ define SENDCODE8 0x68 /*數(shù)字鍵 8 的操作碼 */ define SENDCODE9 0x69 /*數(shù)字鍵 9 的 操作碼 */ de。 通過本論文對(duì)紅外通訊系統(tǒng)的研究發(fā)現(xiàn),紅外通訊的確是一種非常實(shí)用的遠(yuǎn)程控制 技術(shù) ,成本低,點(diǎn)對(duì)點(diǎn)控制使用方便, 資料及其技術(shù)成熟便于深入研究探討。 這個(gè)問題之前有提到過,我們解碼用的是接收端單片機(jī)的外部中斷 1,中斷觸發(fā)方式是下降沿,但是編 碼的位“ 0”和位“ 1”卻是同樣先一段 ,s 的高電平,再根據(jù) 和 的低電平來區(qū)別。下面就我編寫過程中,遇到的幾個(gè)比較重大的問題,并且如何發(fā)現(xiàn)及1 33 其解決進(jìn)行分析。在工程窗口的文件頁(yè)中,出現(xiàn)了“ Target1”,前面有 “ +”號(hào),點(diǎn)擊“ +”展開,可以看到下一層的“ Source Group1” ,這時(shí)的工程還是一個(gè)空工程,里面什么文件也沒有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊“ Souce Group”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵 ,出現(xiàn)一個(gè)下拉菜單。對(duì)于 最核心 功能 ,多進(jìn)行一些健 壯性測(cè)試、穩(wěn)定性、安全性等測(cè)試。 編寫代碼方面: 很 開發(fā)人員 有幾個(gè)通?。合茸鲇腥せ蛉菀椎墓δ?,然后再做無聊或者繁瑣的功能;對(duì)自己有興趣的功能投入精力多,對(duì)自己沒興趣的簡(jiǎn)單應(yīng)付??垢蓴_措施有硬件措施和軟件措施。在仿真中,控制三個(gè)不同電壓的單片機(jī)管腳選用的是 P10, P11, P12。 Y Y Y 若接收完 8 位,則IsNewCode=1,key_code 完整。根據(jù)位 0和位 1的脈沖寬度可知,如果 40buf_count50 則說明接收到一個(gè) 1,20buf_count30 則說明接收到一個(gè) 0。 mon_code_count:已接收系統(tǒng)識(shí)別碼計(jì)位 key_bit_count:已接收操作碼計(jì)位 buf_key_code:操作碼位存儲(chǔ) key_code:完全操作碼 IsNewCode:是否有新操作碼傳送 。 這樣便產(chǎn)生一個(gè) 38KHz的方波,輸出后在仿真中通過元件與編碼后的數(shù)據(jù)結(jié)合。DataCode(SendCode)。而在這四個(gè)函數(shù)中用到的函數(shù)均有定時(shí)器 0來延時(shí),做到 100%的精確。 1 24 模擬編碼芯片的編碼程序設(shè)計(jì) 這里編碼程序模擬的是 uPD6121編碼芯片。具體的中文字型編碼可參見 ST7920 GB 中文字型碼表 。 然后 IsNewCode=0,繼續(xù)回到等待發(fā)射端用戶的操作。顯示器顯示電機(jī)初始狀態(tài) ,主程序開始停留在 while(IsNewCode)的循環(huán)等待新的發(fā)射端用戶輸入 。軟件標(biāo)準(zhǔn)化原則,軟件編寫要基于業(yè)界的一些規(guī)范、協(xié)議、接口、命名規(guī)則。 軟件可靠性 和硬件可靠性本質(zhì)區(qū)別在于:后者為物理機(jī)理的衰 變和老化所致,而前者是由于設(shè)計(jì)和實(shí)現(xiàn)的錯(cuò)誤所致。 Keil 還提供了包括 C 語(yǔ)言編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等完全的開發(fā)方案。 C 語(yǔ)言具有函數(shù),相對(duì)于匯編語(yǔ)言來說,代碼的封裝性遠(yuǎn)遠(yuǎn)高于匯編語(yǔ)言,代碼的重用性高,并且具有一定的模塊化。 RS,RW,E 三個(gè)控制端口分別接單片機(jī) P01 14 口的 , , ,外接上路電阻,而數(shù)據(jù)傳輸端口接單片機(jī)的 P2口,因?yàn)閮?nèi)部已經(jīng)有上路電阻,所以不再需要外部接上拉電阻。) 電路模塊電路圖如下圖所示: 圖 36 載波信號(hào)電路 在所有的高頻通信電路中,載波信號(hào)的存在是必不可少的。這里值得注意的是,使用 P0口時(shí),單片機(jī)內(nèi)部是沒有接上拉電阻,所以我們需要外部添加上路電阻。這里我們采用的接收器是一種紅外專用接收集成電路 HS0038,用它來完成紅外信號(hào)的光電轉(zhuǎn)換及接收。 由于我個(gè)人在用 Proteus 進(jìn)行仿真時(shí),并沒有編碼和解碼芯片可以使用,所以程序中我全面模擬了編碼和解碼芯片的功能;我選定了uPD6121 為編碼芯片, BC7210 為解碼芯片;之所以選擇這兩個(gè)芯片分別作為發(fā)射端和接收端的編碼解碼芯片是因?yàn)?BC7210 解碼芯片成本低,常見, 而且 BC7210的輸 出可以設(shè)置為并行輸出或者串行輸出,串行輸出方式兼容 SPI 和 UART 兩種接口,可以輕松完成與各種 MCU、 PC 機(jī)的接口。而單片機(jī)又主要應(yīng)用于實(shí)時(shí)控制,并通常作為其他系統(tǒng)的組成部分使用,故又稱之為嵌入式控制器。 系統(tǒng) 總體 設(shè)計(jì)流程圖 進(jìn)行編碼操作 通過發(fā)射器發(fā)送到接收端 等待用戶輸 入 啟動(dòng)接收端 等待發(fā)射端發(fā)送 數(shù)據(jù) 電機(jī)做出相應(yīng)的運(yùn)行 電機(jī)停轉(zhuǎn) 啟動(dòng)發(fā)射端 LCD顯示電機(jī)狀態(tài) 1 7 系統(tǒng)總體結(jié)構(gòu)圖 系統(tǒng)設(shè)計(jì)所需用到的 主要器件 89C51 單片機(jī)作為兩個(gè)電路的核心 CPU,用 M50462 作為紅外
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1