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

正文內(nèi)容

基于at89s52單片機(jī)的紅外遙控萬年歷的設(shè)計-資料下載頁

2024-12-04 01:01本頁面

【導(dǎo)讀】制模塊、電源模塊、時間生成模塊、遙控模塊、顯示模塊組成。由電源模塊提供保。列處理后,通過液晶模塊實時顯示輸出年、月、日、時、分、秒和星期等信息。合紅外遙控模塊對時間日期的調(diào)整。使得該系統(tǒng)操作簡單方便,非常實用。

  

【正文】 et files 將會對當(dāng)前工程中的所有文件重新進(jìn)行編譯然后再連接,確保最終產(chǎn)生的目標(biāo)代碼是最新的,而 Translate… 項則僅對該文件進(jìn)行編譯,不進(jìn)行連接。 以上操作也可以通過工具欄按鈕直接進(jìn)行。圖 41 是有關(guān)編譯 、設(shè)置的工具欄按鈕,從左到右分別是:編譯、連接、全部重建、停止編譯和對工程進(jìn)行設(shè)置。 編譯過程中的信息將出現(xiàn)在輸出窗口的 Build 頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復(fù)修改之后,最終會得到如圖 42 所示的結(jié)果,提示獲 得了名為 exam 的文件,該文件即可被編程器讀入并寫到芯片中,同時還產(chǎn)生了一些其它相關(guān)的文件,可被用于 Keil 的仿真與調(diào)試,這時可以進(jìn)入下一步調(diào)試的工作。 3. 調(diào)試主要方法和技巧 ( 1) 常用調(diào)試命令 在對工程成功進(jìn)行匯編、連接以后,按 Ctrl+5 或者使用菜單 DebugStart/Stop Debug Session 即可進(jìn)入調(diào)試狀態(tài), Keil 內(nèi)建立一個仿真 CPU 來模擬執(zhí)行程序,該仿真CPU 功能強(qiáng)大,可以在沒有硬件和仿真機(jī)的情況下進(jìn)行程序的調(diào)試。 進(jìn)入調(diào)試狀態(tài)后,界面與編輯狀態(tài)相比有明顯的變 化, Debug 菜單項中原來不能用的命令現(xiàn)在可以使用了,工具欄會多出一個用于運行和調(diào)試的工具條, Debug 菜單上的大部分命令可以在此找到對應(yīng)的快捷按鈕,從左到右依次是復(fù)位、運行、暫停、單步、過程單步、執(zhí)行完當(dāng)前子程序、運行到當(dāng)前行、下一狀態(tài)、打開跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析、性能分析、工具按鈕等命令。 學(xué)習(xí)程序調(diào)試,必須明確兩個重要的概念,即單步執(zhí)行與全速運行。全速執(zhí)行是指一行程序執(zhí)行完以后緊接著執(zhí)行下一行程序,中間不停止,這樣程序執(zhí)行的速度很快,并可以看到該段程序執(zhí)行的總體效果, 即最終結(jié)果正確還是錯誤,但如果程序有錯,則難以確認(rèn)錯誤出現(xiàn)在哪些程序行。單步執(zhí)行是每次執(zhí)行一行程序,執(zhí)行完改行程序以后即停止,等待命令執(zhí)行下一行程序,此時可以觀察該行程序執(zhí)行完以后得到的結(jié)果,是否與我們寫該行程序所想得到的結(jié)果相同,借此可以找到程序中的問題所在。程序調(diào)試中,這兩種運行方式都要用到。 ( 2) 在線匯編 畢業(yè)設(shè)計說明書 (論文 ) 第 30 頁 共 48 頁 在進(jìn)入 Keil 的調(diào)試環(huán)境以后,如果發(fā)現(xiàn)程序有錯,可以直接對源程序進(jìn)行修改,但是要使修改后的代碼起作用,必須先退出調(diào)試環(huán)境,重新進(jìn)行編譯 、 連接后再次進(jìn)入調(diào)試,如果只是需要對某些 進(jìn)行測試,或僅需要對 源程序進(jìn)行臨時的修改,這樣的過程未免有些麻煩,為此 Keil 軟件提供了在線匯編的能力,將光標(biāo)定位于需要修改的程序行上,用菜單 DebugInline Assambly… .即可出現(xiàn)如圖 43 的對話框,在 Enter New 后面的編輯框內(nèi)直接輸入需要更改的程序語句,輸入完后鍵入回車將自動指向下一條語句,可以繼續(xù)修改,如果不再需要修改,可以點擊右上角的關(guān)閉按鈕關(guān)閉窗口。 圖 43在線匯編窗口 ( 3) 斷點設(shè)置 程序調(diào)試時,一些程序行必須滿足一 定的條件才能被執(zhí)行到,這些條件往往是異步發(fā)生或難以預(yù)先設(shè)定的,這類問題使用單步執(zhí)行的方法是很難調(diào)試的,這時就要使用到程序調(diào)試中的另一種非常重要的方法 - 斷點設(shè)置。斷點設(shè)置的方法有多種,常用的是在某一程序行設(shè)置斷點,設(shè)置好斷點后可以全速運行程序,一旦執(zhí)行到該程序行停止,可在此觀察有關(guān)變量值,以確定問題所在。在程序行設(shè)置 /移除斷點的方法是將光標(biāo)定位于需要設(shè)置斷點的程序行 ,使用菜單 DebugInsert/Remove BreakPoint 設(shè)置或移除斷點:DebugEnable/Disable BreakPoint 是 開 啟 或 暫 停 光 標(biāo) 所 在 行 的 斷 點 功 能 :DebugDisable All Breakpoint 暫停所有斷點: DebugKill All BreakPoint 清除所有的斷點設(shè)置。這些功能也可以用工具條上的快捷按鈕進(jìn)行設(shè)置。 軟件調(diào)試主要有以下兩種方法: ,對整個軟件的功能進(jìn)行驗證; ,就是將系統(tǒng)分成獨立的小模塊,然后分別對這些小模塊寫入程序調(diào)試。 一般采用第二種軟件調(diào)試方法,可以提高調(diào)試效率,也容易解決調(diào)試中出現(xiàn)的問題。 在調(diào)試主程序時,必 然要調(diào)用相關(guān)的功能子程序。因此,首先應(yīng)明確子程序的具體功能,通過對子程序的分析,確定子程序的入口、出口參數(shù)及相關(guān)標(biāo)識位的狀態(tài),然后再滿足入口的條件下,設(shè)法檢查從主程序進(jìn)入子程序,再由子程序返回到主程序的運行畢業(yè)設(shè)計說明書 (論文 ) 第 31 頁 共 48 頁 過程??刹扇「欉\行的方法,檢查從主程序進(jìn)入子程序內(nèi)部程序的運行過程,再通過單步運行等方法檢查子程序內(nèi)部的運行情況和返回主程序的過程 [14]。 主程序運行后,在無任何按鍵輸入時觀察有無顯示,液晶顯示屏是否工作,年、月、日、星期、時、分以及秒顯示是否正確。若運行結(jié)果不正確,首先應(yīng)根據(jù)程 序運行的實際現(xiàn)象分析判斷哪些因素可能引起相關(guān)故障,再通過調(diào)試方法逐一認(rèn)證和排故。例如:若定時 /計數(shù)器的初始化出錯,則時鐘不能工作;若顯示程序出錯,則將不能正確顯示時鐘信息;若定時 /計數(shù)器中斷子程序出錯,則顯示時間信息規(guī)律不正常。 芯片固化 先把 AEDK51HB[15]單片機(jī)仿真機(jī)接上計算機(jī),把仿真機(jī)上的三個接口,分別接到電源的地、 +5V、 ? 12V。把 89S52 插入仿真機(jī)的卡槽內(nèi),通過軟件編譯程序,并連接仿真機(jī),在工具菜單下、芯片固化欄內(nèi),擦除、查空、固化, 就完成了程序的燒入。 燒片時應(yīng)注意的問題: ,否則有可能造成芯片燒壞。 ,例如用 STC89S52[16]就要選: MCU STC89S52。 ,應(yīng)該先擦除芯片,防止芯片內(nèi)原有遺留程序的影響。 畢業(yè)設(shè)計說明書 (論文 ) 第 32 頁 共 48 頁 參考文獻(xiàn) [1] 萬福君 ,潘松峰 ,劉芳等 .單片機(jī)原理及接口 [M].北京 :清華大學(xué)出版社 ,2021. [2] 龔運新 ,胡長勝 .單片機(jī)實用技術(shù)教程 [M].北京 :北京師范大學(xué)出版社 ,2021. [3] 胡漢才 .單片機(jī)原理及其接口技術(shù) [M].北京 :清華大學(xué)出版社 ,2021. [4] 何立民 .單片機(jī)應(yīng)用技術(shù)選編 [M].北京 :北京航空大學(xué)出版社 ,1998. [5] 吳鋒 ,吳皓東 .單片機(jī)控制簡易數(shù)字鐘 [J].電子制作 ,2021,(07):2426. [6] 王文輝 ,劉淑英 ,蔡勝樂等 .電路與電子學(xué)(第 3版 ) [M].北京 :電子工業(yè)出版社, 2021. [7] 楊拴科 .模擬電子技術(shù) [M].北京 :高等教育出版社 ,2021. [8] 邊金泉 .走進(jìn)單片機(jī)世界 (三 )[J].電子制作 ,2021(1):5154. [9] 馬忠梅,籍順心等 .單片機(jī) C語言應(yīng)用程序設(shè)計 [M].北京 :北京航空航天大學(xué)出版社,2021. [10] 譚浩強(qiáng) .C 程序設(shè)計(第三版 ) [M].北京 :清華大學(xué)出版社 2021 年 . [11] 李東生 .電子設(shè)計自動化與 IC 設(shè)計 [M].北京 :高等教育出版社 ,2021. [12] 史延 .Microchip 推出全新通用小型 PIC 單片機(jī) [J].電氣時代 ,1997:3647. [13] 孫燕 ,劉二明等 .Protel99 設(shè)計與實例 [M].北京 :機(jī)械工業(yè)出版社 ,2021. [14] 樊成山 .避免單片機(jī)死機(jī)與損壞的新方法 [J].物流技術(shù) ,2021:3656. [15] Peter Hauptmann,Ralf Lucklum,Bernd Sensors for Process Control[J].Sensors ,3(7):163207. [16] Yusuke Moritake,Hiroomi Recognition System Using Two Ultrasonic Sensors and Combinational Logic Circuit[J].Electronics and Communications in ,88(7):3342 畢業(yè)設(shè)計說明書 (論文 ) 第 33 頁 共 48 頁 致謝 四年的大學(xué)生活就快走入尾聲,我們的校園生活就要劃上句號,心中是無盡的難舍與眷戀。從這里走出,對我的人生來說,將是踏上一個新的征程,要把所學(xué)的知識應(yīng)用到實際工作中去。 經(jīng)過這次畢業(yè)設(shè)計,學(xué)到東西不少,也把以前的基礎(chǔ)知識進(jìn)行頑固,受益不少。畢業(yè)設(shè)計做的是紅外搖控萬年歷。剛開始也沒有想難度會這么大,而真正做起來問題就很多,這就是理論與實際的區(qū)別。通過在網(wǎng)上,圖書館進(jìn)行查找關(guān)于 紅外搖控解碼的資料。還跟同學(xué)、朋友交流其解碼的基本思路與方法。 在紅外搖控解碼的調(diào)試過程中,出現(xiàn)了不接收紅外碼,結(jié)合理論從電路上認(rèn)真檢查 ,發(fā)現(xiàn)有短路;而解決了這后, LCD 顯示的卻又是亂碼,分析原因修改程序后達(dá)到了目的。以前在書本上學(xué)到的東西用到了事實踐中來,雖然很多都學(xué)過,但是具體到自己做出來的時候還是有難度的,只好在去翻書,再去查閱資料。總之,很感謝這次畢業(yè)設(shè)計,學(xué)到了很多東西,但這似乎只是個開始,更多的東西需要在以后的項目中去體會。 最后,我要特別感謝 ***老師 , 是他在我畢業(yè)的最后關(guān)頭給了我們巨大的幫助與鼓勵 ,使我能夠順利完成畢業(yè)設(shè)計,在此表示衷心的感激 . 畢業(yè)設(shè)計說明書 (論文 ) 第 34 頁 共 48 頁 附錄一:電路原理圖 畢業(yè)設(shè)計說明書 (論文 ) 第 35 頁 共 48 頁 附錄二: 實物照片 畢業(yè)設(shè)計說明書 (論文 ) 第 36 頁 共 48 頁 附錄三:程序 include include define uint unsigned int define uchar unsigned char sbit DS1302_CLK = P3^5。 //實時時鐘時鐘線引腳 sbit DS1302_IO = P3^6。 //實時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P3^7。 //實時時鐘復(fù)位線引腳 sbit ACC0 = ACC^0。 sbit ACC7 = ACC^7。 char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year。 //秒 ,分 ,時到日 ,月 ,年位閃的計數(shù) sbit Set = P1^1。 //模式切換鍵 sbit Up = P1^2。 //加法按鈕 sbit Down = P1^3。 //減法按鈕 sbit out = P1^4。 //立刻跳出調(diào)整模式按鈕 char done,count,temp,flag,up_flag,down_flag。 // uchar week_value[2]。 // uchar finish。//解碼標(biāo)志位 uchar address1,address2,data1,data2。//地址位,反地址位,數(shù)據(jù)位,反數(shù)據(jù)位 uchar wireless_1,wireless_2,wireless_3,wireless_4。 uchar tt[32]。//32 位碼 sbit P32=P3^2。 void show_time()。 //液晶顯示程序 /***********1602 液晶顯示部分子程序****************/ //Port Definitions********************************************************** sbit LcdRs = P2^0。 sbit LcdRw = P2^1。 sbit LcdEn = P2^2。 sfr DBPort = 0x80。 //P0=0x80,P1=0x90,P2=0xA0,P3=端口 // 內(nèi) 部 等 待 函 數(shù)************************************************************************** unsigned char LCD_Wait(void) { LcdRs=0。 LcdRw=1。 _nop_()。 LcdEn=1。 _nop_()。 LcdEn=0。 return DBPort。 } // 向 LCD 寫 入 命 令 或 數(shù) 據(jù)************************************************************ define LCD_COMMAND 0 // Command define LCD_DATA 1 // Data define LCD_CLEAR_SCREEN 0x01 // 清屏 define LCD_HOMING 0x02 // 光標(biāo)返回原點 void LCD_Writ
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1