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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于89c51單片機(jī)的紅外通訊軟件設(shè)計(jì)-免費(fèi)閱讀

  

【正文】 在單片機(jī)仿真系統(tǒng)中使用了 Proteus , 該仿真軟件 元件庫(kù)齊全 ,使用方便,功能極其強(qiáng)大,應(yīng)用程序采用 C 語(yǔ)言編寫。正確的代碼如下: ② 算法錯(cuò)誤: 編碼過(guò)程與解碼過(guò)程的不協(xié)調(diào) , 所謂編碼過(guò)程與解碼過(guò)程的不協(xié)調(diào)就是 編寫發(fā)送的過(guò)程包括起始碼,系統(tǒng)識(shí)別碼,操作碼原碼,操作碼反碼,結(jié)束碼的編碼方式和解碼方式不匹配。 調(diào)試過(guò)程中遇到的問題及其解決辦法 在程序調(diào)試過(guò)程中遇到過(guò)許多的問題,那些問題需要一一去解決;這些問題中, 有 的是程序 編寫 過(guò)程中不小心造成的 語(yǔ)法錯(cuò)誤,這些錯(cuò)誤往往容易于修改 ;也有一些問題,是程序邏輯 問題或者算法問題,這兩種問題造成的后果往往比 語(yǔ)法錯(cuò)誤要嚴(yán)重許多,它雖然能讓程序正常編譯,但是程序并不能像預(yù)先設(shè)計(jì)的一樣正確運(yùn)行,對(duì)于這樣的問題,只有在不能正常實(shí)現(xiàn)功能的那部分代碼仔細(xì)推敲反復(fù)思考。保存該文件,加上擴(kuò)展名( .c),這里將文件保存為 。 測(cè)試方面: 要把主要精力用于測(cè)試那些重點(diǎn)功能。如果分析不到位,編寫方向出錯(cuò)或者是用到了不切合實(shí)際的技術(shù),那有可能使整個(gè)系統(tǒng)設(shè)計(jì)停滯,甚至“流產(chǎn)”。單片機(jī)系統(tǒng)的可靠性由多種因素決定,其中系統(tǒng)抗干擾性能是可靠性的重要指標(biāo)。 電機(jī)控制 軟件 設(shè)計(jì) 電視使用直流電機(jī),通過(guò)控制不同的電機(jī)電壓來(lái)達(dá)到改變轉(zhuǎn)速的效果。最后添加到 key_code 中。同起始碼一樣,判斷 16 位的數(shù)據(jù)是否接受完畢,如果完畢則 mon_code_count 為大于等于 15, 這里的系統(tǒng)識(shí)別碼主要是根據(jù)位數(shù)來(lái)識(shí)別而不是內(nèi)容,所以到達(dá) 16 位表示系統(tǒng)符合, ir_status 為 2表示系統(tǒng)碼也已經(jīng)接受完畢,接下來(lái)便開始接受操作碼 。 ir_status:操作碼接收控制位 。在定時(shí)器 0 的定時(shí)中斷函數(shù)中使用表達(dá)式T=!T(T 為 P3的 0口 )。DataCode(0XAA)。 uPD6121的位 ” 0” 組合 , 波形圖 為: 位 ” 1” 組合 , 波形圖為: 程序中用來(lái)模擬 uPD6121編碼的函數(shù)主要有: StarCode()、 DataCode(uChar SendCode)、 OverCode()、 Transmit(uChar SendCode)四個(gè)函數(shù)。 得到行和列的值后,將值返回給 KeyValTranslate()的 switch 語(yǔ)句中,根據(jù)先前設(shè)定的矩陣鍵盤位置值,然后相應(yīng)的按鍵值后,完成鍵盤的行列檢測(cè) 。 LCD1602 液晶顯示器內(nèi)部控制指令如下表所示: 在寫數(shù)據(jù)之前,應(yīng)該先指定數(shù)據(jù)在顯示器中的顯示地址;程序中用 ,WriteAddress(uChar x)來(lái)指定數(shù)據(jù)在顯示器中的顯示位置,參數(shù) x為顯示字符地址參數(shù),具體的地址映射表如下: DDRAM 提供 32 個(gè)漢字的空間,當(dāng)寫入文本顯示 RAM 時(shí),可以顯示中文字型:將兩字節(jié)編碼寫入 DDRAMK,范圍為 A1A0H~ F7FFH(國(guó)標(biāo)碼)。每接收一位 , key_bit_count就累加一次,加到 8 位后, IsNewCode=1,程序接下去運(yùn)行,根據(jù)不同的操作碼做出不同的電機(jī)操作和不同的顯示器電機(jī)狀態(tài)顯示。 接收端程序 啟動(dòng)后,先對(duì) LCD 液 晶顯示器 ,定時(shí)器 0,定時(shí)器 1,外部中斷 1。 這時(shí)候,就要求軟件開發(fā)人員在軟件開發(fā) 時(shí)要編寫完整的文檔和良好的結(jié)構(gòu),如模塊化。 軟件的可靠性 意味著該軟件在測(cè)試運(yùn)行過(guò)程中避免可能發(fā)生故障的能力,且一旦發(fā)生故障后,具有解脫和排除故障的能力。它是美國(guó) Keil Software 公司出品的主要用于 51 系列單片機(jī)主要用于 C 語(yǔ)言軟件程序開發(fā)工具。 選用 C語(yǔ)言設(shè)計(jì)程序 具有一些特點(diǎn) [14]: C 語(yǔ)言代碼簡(jiǎn)潔易讀,使用靈活方便 , 裝性好,代碼重用性高。液晶顯示器使用 LCD1602。而 本次系統(tǒng)設(shè)計(jì) 仿真 中并沒有 編碼 芯片,所以在仿真電路中單 獨(dú)繪制解碼發(fā)射模塊,用于學(xué)習(xí)不參與程序運(yùn)行。 按鍵輸入電路 用來(lái)接收用戶輸入的按鍵模塊,采用四乘四矩陣鍵盤與單片機(jī)的 P0 八個(gè)管腳相連,在程序中進(jìn)行行列檢測(cè),從而得出用戶對(duì)哪個(gè)按鍵進(jìn)行的單擊操作(具體算法實(shí)現(xiàn)在第四章軟件設(shè)計(jì)中詳解)。 SE303 實(shí)物圖如圖32 所示 圖 32 紅外接收器是紅外發(fā)光二極管的受控裝置,其里面有相應(yīng)的紅外光電轉(zhuǎn)換電路。 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 9 紅外通訊編碼解碼芯片選擇 紅外通訊電路若要將數(shù)據(jù)通過(guò)紅外發(fā)射頭和紅外接收頭發(fā)送出去,則需要在電路的發(fā)射端先進(jìn) 行編碼操作編碼成操作碼,然后通過(guò)載波電路將編碼后的芯片進(jìn)行 38KHz 的調(diào)制后,才能更遠(yuǎn)更安全穩(wěn)定地發(fā)送出去;紅外接受電路在接收到信號(hào)后,則需要進(jìn)行解碼操作,還原發(fā)射端的最原始數(shù)據(jù),才能知道發(fā)射端是發(fā)送一個(gè)什么樣的請(qǐng)求。這樣的芯片因?yàn)?具有和計(jì)算機(jī)一樣的功能,所以稱之為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。 電機(jī)電路模塊 電機(jī)電路模塊用一個(gè)電機(jī)模擬電風(fēng)扇的運(yùn)轉(zhuǎn),電機(jī)可以改變轉(zhuǎn)速檔次,定時(shí)運(yùn)行,并且在相關(guān)的線路上接有 LED指示燈,分為別為小檔指示燈,中檔指示燈,大檔指示燈,定時(shí)指示燈,停轉(zhuǎn)指示燈,用于 提示用戶電機(jī)的運(yùn)轉(zhuǎn)狀態(tài)。 基本電路模塊 基本電路分為 AT89C51 正常運(yùn)行所需的晶振電路和復(fù)位電路,主要由硬件來(lái) 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 6 控制和實(shí)現(xiàn)沒有采用軟件的控制。 HS0038 是塑封一體化紅外線接收器,它是一種集紅外線接收、放大、整形于一體的集成電路,不需要任何外接元件,就能完成從紅外線接收到 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 4 輸出與 TTL 電平信號(hào)兼容的所有工作,沒有紅外遙控信號(hào)時(shí)為高電平,收到 紅外信號(hào)時(shí)為低電平,而體積和普通的塑封三極管大小一樣,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸 。 系統(tǒng)設(shè)計(jì)思路分析 系統(tǒng)分為接收端和發(fā)射端兩部分,接收端 采用 4*4矩陣鍵盤用來(lái)接受用戶的輸入( 09 的數(shù)字輸入 ,AF 的字母輸入),經(jīng)過(guò)放大器放大后再通過(guò)載波信號(hào)的調(diào)制,把編碼信號(hào)的有用信號(hào)傳播出去;接收端接收到信號(hào)后,經(jīng)過(guò)解碼得到發(fā)射端用戶輸入的信號(hào),最后在數(shù)碼管或者 LCD 中顯示出來(lái)。 傳統(tǒng)的紅外通訊應(yīng)用主要在與家電和汽車防盜遙控器方面, 由于調(diào)制技術(shù)、相關(guān)收發(fā)器技術(shù)的快速發(fā)展,紅外傳輸應(yīng)用也發(fā)生了質(zhì)的飛躍。紅外無(wú)線通信在我國(guó)古代已有應(yīng)用,只是比較簡(jiǎn)單。自紅外通訊技術(shù)發(fā)明以來(lái),去 多早期用線纜傳輸?shù)脑O(shè)備和通訊工具都改為利用外紅線來(lái)進(jìn)行通訊,如家電產(chǎn)品、工業(yè)控制、娛樂設(shè)施等領(lǐng)域。紅外 通訊 是目前使用較多的一種 通訊方法 。紅外線 通訊 裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn)。并且經(jīng)過(guò)多年的發(fā)展,有了今天以紅外通訊為核心技術(shù)的藍(lán)牙、紅外、 等無(wú)線數(shù)據(jù)傳輸技術(shù) [1]。在第一次世界大戰(zhàn)中德國(guó)就研制并運(yùn)用了紅外通信。 1993 年國(guó)際紅外線協(xié)會(huì)在美國(guó)成立,積極整合建立紅外傳輸?shù)臉?biāo)準(zhǔn),極大地推動(dòng)了紅外產(chǎn)品的發(fā)展。因?yàn)楸鞠到y(tǒng)的功能都屬 89C51 單片機(jī)的應(yīng)用范疇,所以使用 89C51 單片機(jī)來(lái)完成設(shè)計(jì)。 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 5 2 系統(tǒng)方案設(shè)計(jì) 系統(tǒng) 功能設(shè)計(jì) 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成 [9]。 系統(tǒng) 總體 設(shè)計(jì)流程圖 進(jìn)行編碼操作 通過(guò)發(fā)射器發(fā)送到接收端 等待用戶輸 入 啟動(dòng)接收端 等待發(fā)射端發(fā)送 數(shù)據(jù) 電機(jī)做出相應(yīng)的運(yùn)行 電機(jī)停轉(zhuǎn) 啟動(dòng)發(fā)射端 LCD顯示電機(jī)狀態(tài) 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 7 系統(tǒng)總體結(jié)構(gòu)圖 系統(tǒng)設(shè)計(jì)所需用到的 主要器件 89C51 單片機(jī)作為兩個(gè)電路的核心 CPU,用 M50462 作為紅外發(fā)射器, HS0038 作為紅外接收器, LM016L 液晶顯示器,一個(gè)四乘四的矩陣鍵盤 ,綠色和紅色的 LED指示燈,電機(jī)。而單片機(jī)又主要應(yīng)用于實(shí)時(shí)控制,并通常作為其他系統(tǒng)的組成部分使用,故又稱之為嵌入式控制器。 由于我個(gè)人在用 Proteus 進(jìn)行仿真時(shí),并沒有編碼和解碼芯片可以使用,所以程序中我全面模擬了編碼和解碼芯片的功能;我選定了uPD6121 為編碼芯片, BC7210 為解碼芯片;之所以選擇這兩個(gè)芯片分別作為發(fā)射端和接收端的編碼解碼芯片是因?yàn)?BC7210 解碼芯片成本低,常見, 而且 BC7210的輸出可以 設(shè)置為并行輸出或者串行輸出,串行輸出方式兼容 SPI 和 UART 兩種接口,可以輕松完成與各種 MCU、 PC 機(jī)的接口。這里我們采用的接收器是一種紅外專用接收集成電路 HS0038,用它來(lái)完成紅外信號(hào)的光電轉(zhuǎn)換及接收。這里值得注意的是,使用 P0口時(shí),單片機(jī)內(nèi)部是沒有接上拉電阻,所以我們需要外部添加上路電阻。) 電路模塊電路圖如下圖所示: 圖 36 載波信號(hào)電路 在所有的高頻通信電路中,載波信號(hào)的存在是必不可少的。 RS,RW,E 三個(gè)控制端口分別接單片機(jī) P0 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 14 口的 , , ,外接上路電阻,而數(shù)據(jù)傳輸端口接單片機(jī)的 P2口,因?yàn)閮?nèi)部已經(jīng)有上路電阻,所以不再需要外部接上拉電阻。 C 語(yǔ)言具有函數(shù),相對(duì)于匯編語(yǔ)言來(lái)說(shuō),代碼的封裝性遠(yuǎn)遠(yuǎn)高于匯編語(yǔ)言,代碼的重用性高,并且具有一定的模塊化。 Keil 還提供了包括 C 語(yǔ)言編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等完全的開發(fā)方案。 軟件可靠性 和硬件可靠性本質(zhì)區(qū)別在于:后者為物理機(jī)理的衰變和老 化所致,而前者是由于設(shè)計(jì)和實(shí)現(xiàn)的錯(cuò)誤所致。 軟件標(biāo)準(zhǔn)化原則,軟件編寫要基于業(yè)界的一些規(guī)范、協(xié)議、接口、命名規(guī)則。顯示器顯示電機(jī)初始狀態(tài) ,主程序開始停留在 while(IsNewCode)的循環(huán)等待新的發(fā)射端用戶輸入 。 然后 IsNewCode=0,繼續(xù)回到等待發(fā)射端用戶的操作。具體的中文字型編碼可參見 ST7920 GB 中文字型碼表 。 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 24 模擬編碼芯片的編碼程序設(shè)計(jì) 這里編碼程序模擬的是 uPD6121編碼芯片。而在這四個(gè)函數(shù)中用到的函數(shù)均有定時(shí)器 0來(lái)延時(shí),做到 100%的精確。DataCode(SendCode)。 這樣便產(chǎn)生一個(gè) 38KHz的方波,輸出后在仿真中通過(guò)元件與編碼后的數(shù)據(jù)結(jié)合。 mon_code_count:已接收系統(tǒng)識(shí)別碼計(jì)位 key_bit_count:已接收操作碼計(jì)位 buf_key_code:操作碼位存儲(chǔ) key_code:完全操作碼 IsNewCode:是否有新操作碼傳送 。根據(jù)位 0和位 1的脈沖寬度可知,如果 40buf_count50 則說(shuō)明接收到一個(gè) 1,20buf_count30 則說(shuō)明接收到一個(gè) 0。 Y Y Y 若接收完 8 位,則IsNewCode=1,key_code 完整。在仿真中,控制三個(gè)不同電壓的單片機(jī)管腳選用的是 P10, P11, P12??垢蓴_措施有硬件措施和軟件措施。 編寫代碼方面: 很 開發(fā)人員 有幾個(gè)通?。合茸鲇腥せ蛉菀椎墓δ埽缓笤僮鰺o(wú)聊或者繁瑣的功能;對(duì)自己有興趣的功能投入精力多,對(duì)自己沒興趣的簡(jiǎn)單應(yīng)付。對(duì)于 最核心 功能 ,多進(jìn)行一些健壯性測(cè) 試、穩(wěn)定性、安全性等測(cè)試。在工程窗口的文件頁(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è)下拉菜單。下面就我編寫過(guò)程中,遇到的幾個(gè)比較重大的問題,并且如何發(fā)現(xiàn)及 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 33 其解決進(jìn)行分析。 這個(gè)問題之前有提到過(guò),我們解碼用的是接收端單片機(jī)的外部中斷 1,中斷觸發(fā)方式是下降沿,但是編碼的位 “ 0”和位“ 1”卻是同樣先一段 ,s 的高電平,再根據(jù) 和 的低電平來(lái)區(qū)別。 通過(guò)本論文對(duì)紅外通訊系統(tǒng)的研究發(fā)現(xiàn),紅外通訊的確是一種非常實(shí)用的遠(yuǎn)程控制 技術(shù) ,成本低,點(diǎn)對(duì)點(diǎn)控制使用方便, 資料及其技術(shù)成熟便于深入研究探討。 仿真系統(tǒng)中,主要使用的是 89C51 芯片為核心,分成紅外通訊的發(fā)射端和接收端兩部分電路,實(shí)現(xiàn)了利用紅外通訊技術(shù)對(duì)電機(jī)的控制,液晶顯示器的控制。后來(lái)我是根據(jù),接收端的反應(yīng)做出判斷,問題出在接收端的 用戶按鍵操作碼發(fā)送部分。編譯調(diào)試結(jié)果如下圖所示: 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 32 這樣便完成紅外通訊系統(tǒng)軟件編寫調(diào)試方面的內(nèi)容。項(xiàng)目 建立完成后,開始建立源文件, 使用菜單 “ FileNew”或者點(diǎn)擊工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口中輸入 C語(yǔ)言源程序。至于其它的 非 重點(diǎn)功能,只要不出明顯 bug,有點(diǎn)小缺陷無(wú)傷大雅。這個(gè)時(shí)候透徹分析程序該如何寫,是否切合實(shí)際至關(guān)重要。 基于單片 機(jī)的紅外 通訊軟件設(shè)計(jì) 1 29 軟件抗干擾技術(shù) 隨著單片微機(jī)在各個(gè)領(lǐng)域中的應(yīng)用越來(lái)越廣泛,對(duì)其可靠性要求也越來(lái)越高。這樣雙方達(dá)成共同的協(xié)議,變可以進(jìn)行通信。 key_bit_count8? 根據(jù) b
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1