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

正文內(nèi)容

基于單片機(jī)數(shù)字時鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-04-03 11:54 本頁面
 

【文章內(nèi)容簡介】 左移只需要寫入擴(kuò)充指令 0x18 就可以實(shí)現(xiàn)。而文字向 上 滾動 的實(shí)現(xiàn),本設(shè)計(jì)定義了 8 個變量aa,bb,cc,dd,j,k,l,m,其中 aa,bb,cc,dd 對應(yīng) LCD 的 四行 DDRAM 地址 0x80,0x90,0x88,0x98,j,k,l,m 四 個 變 量 用 來 實(shí) 現(xiàn) DDRAM 地 址 的 變 換 , 變 換 方 法 為 :j=bb,bb=aa,k=cc,cc=j,l=dd,dd=k,m=aa,aa=l,運(yùn)行第一次后,第一行變?yōu)榈诙械膬?nèi)容,第二電子信息工程技術(shù) 行變?yōu)榈谌械膬?nèi)容,第三行變?yōu)榈谒男械膬?nèi)容,而第四行則變?yōu)榈谝恍械膬?nèi)容 ,如此循環(huán)就實(shí)現(xiàn)文字向上滾動的效果。 鍵盤掃描部分 本設(shè)計(jì)掃描鍵盤方式采用行列反轉(zhuǎn)掃描法 讀取按鍵編碼。單片機(jī)先讓鍵盤行線輸出全為 0,然后讀入列線值,再檢測有無按鍵按下,去抖,再讀入列線值,輸出當(dāng)前列線值,讀入行線值,最后組合行、列線值,得到鍵盤的碼值供調(diào)用 ,代碼如圖 10 所示 。當(dāng)有按鍵按下單片機(jī) 讀取出鍵值后,給主程 序、調(diào)整時間和日期函數(shù) 調(diào)用,同時送出編碼給 P1,讓數(shù)碼管顯示當(dāng)前按鍵對應(yīng)的 16 進(jìn)制代碼 0f。 圖 10 鍵盤掃描程序 時鐘 部分 本設(shè)計(jì)時鐘走時部分采用單片機(jī)內(nèi)置的 T0 定時器, AT89S52 單片機(jī) 的定時器由兩個16 位定時器 T0、 T方式寄存器 TMOD 和定時器控制器 TCON 組成。其中 T0、 T1 又可分成獨(dú)立的 8 位計(jì)數(shù)器即 TH0、 TL0 和 TH TL1,用于存儲定時器、計(jì)數(shù)器的初值; TMOD為方式寄存器,主要用來設(shè)置定時器 /計(jì)數(shù)器和方式; TCON 為控制寄存器,用來控制定時器 /計(jì)數(shù)器的啟動與停止。 TMOD 是一個專用寄存器,用來控制定時器 T0 和 T1 的工作方式用操作模式,其中TMOD 的高 4 位用于對 T1 的控制,低 4 位用于對 T0 的控制,各位定義及格式如圖 11 所示。 圖 11工作模式控制寄存器 TMOD示意圖 其中 GATE 為門控制,用來控制定時器啟動方式。當(dāng) GATE=0 時,定時器由軟件控制位 TR0 或 TR1 來控制啟動。 GATE=1 時,定時器由外中斷請求信號來控制啟動。 為定時或計(jì)數(shù)方式選擇位,當(dāng)為 0 時為定時工作方式,為 1 時計(jì)數(shù)工作方式。 電子信息工程技術(shù) M M0 為工作模式選擇位,兩個工作模式選擇位可以形成 4 種編碼,對應(yīng) 4 種工 作模式: M1=M0=0 時為模式 0; M1=0, M0=1 時為模式 1; M1=1, M0=0 時為模式 2; M1=M0=0時為模式 3。此設(shè)計(jì)用定時器 0,工作模式 1,所以對應(yīng) TMOD=0x01。同時定時 50ms,對應(yīng)的 TH0=( 6553650000) /10, TL0=( 6553650000) %10。 TCON 既參與中斷控制,又參與定時器 /計(jì)數(shù)器控制,本設(shè)計(jì)只用到它的定時器 /計(jì)數(shù)器 功能。 TCON 各位定義如圖 12 所示,其中 D0D3 與外部中斷有關(guān),此設(shè)計(jì)未用到。 圖 12 定時器控制寄存器 TCON示意圖 TR0 為定時器 /計(jì) 數(shù)器 T0 的運(yùn)行控制位,為 0 時停止定時器 /T0 計(jì)數(shù)器 T0;為 1 時啟動定時器 /計(jì)數(shù)器 T0。 TR1 為定時器 /計(jì)數(shù)器 T1 的運(yùn)行控制位,功能與 T0 相同。 TF0、 TF1本設(shè)計(jì)用不到,不做說明。本設(shè)計(jì)只用到 T0,當(dāng)設(shè)置好 TMOD 后令 TR0=1 就啟動 T0 定時器 /計(jì)數(shù)器開始工作 。 設(shè)置好 TMOD 和 TCON 后,每過 50ms 定時器就會溢出產(chǎn)生中斷,同時令變量 deda另1,當(dāng) deda 加到 20 后一秒鐘就到了,這里令秒變量 sec 加 1,同時令 deda= 0 重新計(jì)數(shù);當(dāng) sec 加到 60,令 sec= 0,同時分變量 min 加 1;當(dāng) min= 60,令 min= 0 并讓小時變量 hour加 1, 如此就可以得到日、月、年的精確時間。當(dāng)一天到了,天加 1 時,星期也隨著加 1,當(dāng)加到星期天時令其回到星期一。每個月的天數(shù)不一樣,本設(shè)計(jì)采用 switchcase 語句讓大月為 31 天,小月為 30 天,但閏年的二月是不一樣的,這里對年進(jìn)行取余,當(dāng)判斷余為 0時,即為閏年,二月就有 29 天,其它年份為 28 天。 時間調(diào)整部分比較簡單,當(dāng)按下 8 號鍵第一次后,進(jìn)入調(diào)整日期狀態(tài),按下 9 號鍵控制年減 , 13 號鍵年加; 10 號鍵 月減, 14 號鍵月加 111 號鍵日減 115 號鍵日加; 12 號鍵星期減 ,16 號鍵星期加 。當(dāng)按下 8 號鍵第二次后,進(jìn)入時間調(diào)整狀態(tài), 9 號鍵時減, 13 號鍵時加; 10 號鍵分減, 14 號鍵分加; 15 號鍵秒清零。當(dāng)?shù)谌伟聪?8 號鍵時,回到顯示基本內(nèi)容狀態(tài),同時 LCD 顯示開機(jī)畫面。實(shí)現(xiàn)方式為單片機(jī)掃描到相應(yīng)按鍵時,相應(yīng)的變量就是做出相應(yīng)的變化。 延時部分 本設(shè)計(jì)的單片機(jī)采用 12Mhz 晶振,那么單片機(jī)的周期 T= 1us, 單片機(jī)每運(yùn)行一次循環(huán)大概要 10us,采用三層 dowhile 語句來實(shí)現(xiàn)精確 1ms 延時,如圖 13 所示。 電子信息工程技術(shù) 圖 13 延時程序 1 計(jì)算公式為 t 總 ={[3j+(n+2)ij+3]t+5}T, T 為晶振周期 。此延時是供其他函數(shù)調(diào)用,而LCD 寫入命令、數(shù)據(jù)時若用上面的延時會出現(xiàn)“反應(yīng)慢”的問題,因?yàn)槊看螌懭胍粋€命令和數(shù)據(jù)都要經(jīng)過延時,累加起來就多了,即使是只延時 1ms 也是一樣,所以本設(shè)計(jì)提供第二個延時函數(shù) delay1(),通過參考 LCD 的時序,證明使用這個延時函數(shù)沒有問題。 圖 14 延時程序 2 6 硬件安裝制作 用 PROTEL99SE 畫好原理圖,導(dǎo)入 PCB 圖,并布好局畫好線后就開始做板,以便程序的調(diào)試。 元件布局時要遵循就近原則,即兩個元件之間的電氣連接的最好放近一點(diǎn),方便布線,還有單片機(jī)的晶振 要盡量靠近單片機(jī)的 1 19 號腳。布線時電源線和地線要比其他信號線寬,而地線要比電源線寬,規(guī)則是地線 電源線 信號線。本設(shè)計(jì)的線寬為:地線 2mm,電源線 ,其他信號線 。 PCB 板制作 畫好 PCB 圖后用轉(zhuǎn)印紙打印,再用轉(zhuǎn)印機(jī)將圖紙轉(zhuǎn)入覆銅板,接下來用油性筆對不清晰或斷 的走線 進(jìn)行彌補(bǔ) ,防止腐蝕的時候把電氣線路給腐蝕掉。之后就可以開始腐蝕了,腐蝕液用鹽酸:雙氧水:水= 3: 1: 2 的比例兌 。 等銅板腐蝕好后 用直徑 的鉆針鉆孔,鉆出插件元件引腳的插孔,然后用細(xì)砂紙擦掉炭粉后立即涂上松香液 ,防止銅層氧化。松香液是用松香和 99%濃度的工業(yè)酒精按 1: 5 的比例配制的。這樣 PCB 板就出來了。 元件焊接 焊接前準(zhǔn)備好電烙鐵 、焊錫 、 吸錫器、剪線鉗、剝線鉗、鑷子等焊接工具,同時準(zhǔn)備好要焊接的元件和導(dǎo)線。 在清理元器件時,重點(diǎn)辯別認(rèn)清電阻器阻值及相應(yīng)代號,對電阻、電容、發(fā)光二極管、三極管等要用萬用表一一檢測是否 是良品 。 焊接 時, 先焊好跳線,再按從小到大、從臥到立的原則把元件焊好。 電阻、 昌振、插槽 采用臥式插裝,并 近貼電路板;瓷片電容、電解電容 、三極管 、排針、排阻 等采用立式插裝,也要近貼電路板。發(fā)光二極 管 、電解電容 、 三極管、集成電路等必須按正確的極性插裝,否則電路不會正常工作,甚至通電后還會被燒壞。焊完元器件后,用剪線鉗 剪掉多余元器件的引線 。 焊接完后, 還要 認(rèn)真對照電路原理圖 , 檢查電路板上有無漏焊、錯焊、短路、斷路等錯誤現(xiàn)象,確認(rèn)無誤后才 能通電調(diào)試。 7 電路調(diào)試 本設(shè)計(jì)的調(diào)試涉及到硬件和軟件的調(diào)試,硬件調(diào)試是建立在軟件調(diào)試的基礎(chǔ)上,只有保證硬件正常工作后才能對軟件進(jìn)行調(diào)試。 電子信息工程技術(shù) 硬件調(diào)試 一塊電路板做好后,并不能保證不會出錯,在調(diào)試與檢測過程中,利用萬能表檢測 供電是否正常; 線路是否有 短路、斷路等現(xiàn) 象 。 我們在硬件調(diào)試的時候發(fā)現(xiàn)單片機(jī)不能燒入程序,首先我們判定可能是單片機(jī)壞了,就拿來另一塊能燒程序的單片機(jī)最小系統(tǒng),把單片機(jī)放到最小系統(tǒng)上發(fā)現(xiàn)能燒錄程序,排除了單片機(jī)的可能,然后就一一檢查或替換單片機(jī)周邊晶振、電容、復(fù)位按鍵開關(guān),最后發(fā)現(xiàn)是復(fù)位電路的電解電容有問題,而換了幾個好的電解電容后還是沒能解決問題,最后把電容 換成 106 的獨(dú)石電容,而這并不影響單片機(jī)的復(fù)位功能,因?yàn)殡娙莸淖饔檬且?RC充放電時間 TRC單片機(jī)復(fù)位所需的時間 TRST 即可 。 軟件調(diào)試 我們做這個設(shè)計(jì)的時候碰到的最大的問題就是軟件的 調(diào)試, 編寫程序需要非常細(xì)心,邏輯思維要強(qiáng),頭腦要靈活, 雖然之前有做過 LCD1602 電路,但 LCD12864 比 LCD1602多復(fù)雜一點(diǎn), 還是第一次接觸它,而且 接觸單片機(jī)編程時日還不長 , 在一開始沒有一點(diǎn)眉目, 在反復(fù)仔細(xì)翻閱了它的 數(shù)據(jù)手冊,并參考網(wǎng)上別人的思路后終于一點(diǎn)一點(diǎn)的把它 弄清楚了,能實(shí)現(xiàn)了它的大部分功能。 當(dāng)程序?qū)懞煤笥?ASP 下載線和 AVR_fighter 軟件把寫好的程序燒錄進(jìn)單片機(jī)里,測試其工作情況和查找漏洞,并逐步完善整個設(shè)計(jì)功能。 8 測試結(jié)果 付出總有收獲, 經(jīng)過我們的努力,本設(shè)計(jì)能完成以下 基本要 求的功能 : ( 1) 開機(jī) LCD 液晶屏幕顯示“ 08 電子信息 X 班 XXX 畢業(yè)設(shè)計(jì)”信息。 ( 2) 設(shè)計(jì) 4X4 矩陣鍵盤,分別對應(yīng)鍵碼“ 0F” 。 ( 3) 按下任意一個按鍵, LCD 液晶屏幕顯示相應(yīng)按鍵的信息 。 發(fā)揮部分能完成以下功能: ( 1) LCD 液晶屏幕增加裝飾圖案 。 ( 2) 增加一個 LED 數(shù)碼管同步顯示相應(yīng)鍵碼。 9 結(jié)論 從設(shè)計(jì)題目下來到現(xiàn)在 歷時兩個多星期,克服了硬件和軟件上各種問題, 實(shí)現(xiàn)大部分的 功能 。 因?yàn)楸驹O(shè)計(jì)硬件比較簡單,在硬件上 碰到的就是一個電解電容引起的不能燒錄程序的問題 ,其他功能都正常。而主要的難題 是在軟件設(shè)計(jì)上,在軟件上碰到以下幾點(diǎn)問題: ( 1) 對 LCD 寫入命令和數(shù)據(jù)的格式、時序弄亂。 ( 2) 對 LCD 基本指令集、擴(kuò)充指令集比較模糊,在顯示圖片部分時滯留了很久。 ( 3) 對圖片的取模抓不住頭緒。 ( 4) 在設(shè)計(jì)時鐘部分時,單片機(jī)的定時器 /計(jì)數(shù)器、中斷部分出錯。 而這些問題都是跟自己對單片機(jī)的掌握不夠深有關(guān),這也提醒了我們要抓好基礎(chǔ)功,基礎(chǔ)好了,對付起這些問題才會得心應(yīng)手。 電子信息工程技術(shù) 本設(shè)計(jì)到目前為止還不算“智能化”,功能還比較單一,發(fā)揮部分的功能還有點(diǎn)陣顯示功能沒有完成。設(shè)計(jì)之初還 要實(shí)現(xiàn) 按鍵語音播報、用 DS1302 作時鐘芯片、用 18b20 同時顯示當(dāng)前溫度、按鍵有更多選擇等功能 ,但因?yàn)榛A(chǔ)功不扎實(shí)造成的時間不夠充裕而 沒有實(shí)現(xiàn),若有機(jī)會將會繼續(xù)完善。 參考文獻(xiàn) [1]譚立新,楊可以《單片機(jī)應(yīng)用技術(shù)》 [M].中南 大學(xué)出版社, 2021 年 9 月 [2]張志良 ,《單片機(jī)原理及控制技術(shù)》(第 2 版).北京:機(jī)械工業(yè)出版社, 2021 年 [3]余永權(quán) , MCS51 系列單片機(jī)實(shí)用接口技術(shù) [M].北京 :北京航空航天大學(xué)出版, 1993 [4]求是科技 , 單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航 [M].北京:人民郵電出版社, 2021 年 5 月 [5]張振榮 , 晉明武 , MSC51 系 列單片機(jī)原理及實(shí)用技術(shù) . 人民郵電出版社, 2021 年 [6]吉雷,《 Protel99 從入門到精通》 .西安電子科技大學(xué)出版社, 2021 年 [7]王守中, 51 單片機(jī)開發(fā)入門與典型實(shí)例,北京,人民郵電出版社, 2021 年 8 月 [8]薛小鈴,劉志群,賈俊榮,單片機(jī)接口模塊應(yīng)用與開發(fā)實(shí)例詳解, 北京航空航天大學(xué)出版社, 2021 年 1 月 [9] . Xu, Electronic design, 2021 年 [10] Microcontroller handbook. Inter [11] MCS51 Family of Single Chip Microputers User’s Manual. Inter Corp. 1981 電子信息工程技術(shù) 附錄 硬件電路 : 軟件總體設(shè)計(jì)及框圖 : 電子信息工程技術(shù) 程序 : include include include include void system_initial(void) //系統(tǒng)初始化 { TMOD=0x11。 //定時器工作在模式 1 ET0=1。 //開定時器 0 中斷 TR0=1。 //啟動定時器 0 EA=1。 //開總中斷 year=05。 month=06。 day=01。 } void main(void) //主函數(shù) { system_initial()。 //系統(tǒng)開機(jī)初始化 while(1) { scan_keyboard()。 //鍵盤掃描 timer()。 //時鐘功能 } } 電
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1