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

正文內(nèi)容

單片機(jī)的數(shù)字時鐘設(shè)計(編輯修改稿)

2025-08-05 12:48 本頁面
 

【文章內(nèi)容簡介】 反白顯示,ST7920 控制器的 12864 點(diǎn)陣液晶其實原理上等同 25632 點(diǎn)陣,第三行對應(yīng)的 DDRAM 地址緊接第一行;第四行對應(yīng)的 DDRAM 地址緊接第二行。 因此在使用行反白功能時,第一行反白,第三行必然反白。第二行反白,第四行必然反白。文字循環(huán)左移只需要寫入擴(kuò)充指令0x18就可以實現(xiàn)。而文字向上滾動的實現(xiàn),本設(shè)計定義了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四個變量用來實現(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)容,第二行變?yōu)榈谌械膬?nèi)容,第三行變?yōu)榈谒男械膬?nèi)容,而第四行則變?yōu)榈谝恍械膬?nèi)容,如此循環(huán)就實現(xiàn)文字向上滾動的效果。本設(shè)計掃描鍵盤方式采用行列反轉(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ī)內(nèi)置的T0定時器,AT89S52單片機(jī)的定時器由兩個16位定時器T0、T方式寄存器TMOD和定時器控制器TCON組成。其中T0、T1又可分成獨(dú)立的8位計數(shù)器即TH0、TL0和THTL1,用于存儲定時器、計數(shù)器的初值;TMOD為方式寄存器,主要用來設(shè)置定時器/計數(shù)器和方式;TCON為控制寄存器,用來控制定時器/計數(shù)器的啟動與停止。TMOD是一個專用寄存器,用來控制定時器T0和T1的工作方式用操作模式,其中TMOD的高4位用于對T1的控制,低4位用于對T0的控制,各位定義及格式如圖11所示。圖11工作模式控制寄存器TMOD示意圖其中GATE為門控制,用來控制定時器啟動方式。當(dāng)GATE=0時,定時器由軟件控制位TR0或TR1來控制啟動。GATE=1時,定時器由外中斷請求信號來控制啟動。為定時或計數(shù)方式選擇位,當(dāng)為0時為定時工作方式,為1時計數(shù)工作方式。MM0為工作模式選擇位,兩個工作模式選擇位可以形成4種編碼,對應(yīng)4種工作模式:M1=M0=0時為模式0;M1=0,M0=1時為模式1;M1=1,M0=0時為模式2;M1=M0=0時為模式3。此設(shè)計用定時器0,工作模式1,所以對應(yīng)TMOD=0x01。同時定時50ms,對應(yīng)的TH0=(6553650000)/10,TL0=(6553650000)%10。TCON既參與中斷控制,又參與定時器/計數(shù)器控制,本設(shè)計只用到它的定時器/計數(shù)器功能。TCON各位定義如圖12所示,其中D0D3與外部中斷有關(guān),此設(shè)計未用到。圖12 定時器控制寄存器TCON示意圖TR0為定時器/計數(shù)器T0的運(yùn)行控制位,為0時停止定時器/T0計數(shù)器T0;為1時啟動定時器/計數(shù)器T0。TR1為定時器/計數(shù)器T1的運(yùn)行控制位,功能與T0相同。TF0、TF1本設(shè)計用不到,不做說明。本設(shè)計只用到T0,當(dāng)設(shè)置好TMOD后令TR0=1就啟動T0定時器/計數(shù)器開始工作。設(shè)置好TMOD和TCON后,每過50ms定時器就會溢出產(chǎn)生中斷,同時令變量deda另1,當(dāng)deda加到20后一秒鐘就到了,這里令秒變量sec加1,同時令deda=0重新計數(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è)計采用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ù)谌伟聪?號鍵時,回到顯示基本內(nèi)容狀態(tài),同時LCD顯示開機(jī)畫面。實現(xiàn)方式為單片機(jī)掃描到相應(yīng)按鍵時,相應(yīng)的變量就是做出相應(yīng)的變化。本設(shè)計的單片機(jī)采用12Mhz晶振,那么單片機(jī)的周期T=1us,單片機(jī)每運(yùn)行一次循環(huán)大概要10us,采用三層dowhile語句來實現(xiàn)精確1ms延時,如圖13所示。圖13 延時程序1計算公式為t總={[3j+(n+2)ij+3]t+5}T,T為晶振周期。此延時是供其他函數(shù)調(diào)用,而LCD寫入命令、數(shù)據(jù)時若用上面的延時會出現(xiàn)“反應(yīng)慢”的問題,因為每次寫入一個命令和數(shù)據(jù)都要經(jīng)過延時,累加起來就多了,即使是只延時1ms也是一樣,所以本設(shè)計提供第二個延時函數(shù)delay1(),通過參考LCD的時序,證明使用這個延時函數(shù)沒有問題。圖14 延時程序26 硬件安裝制作用PROTEL99SE畫好原理圖,導(dǎo)入PCB圖,并布好局畫好線后就開始做板,以便程序的調(diào)試。元件布局時要遵循就近原則,即兩個元件之間的電氣連接的最好放近一點(diǎn),方便布線,還有單片機(jī)的晶振要盡量靠近單片機(jī)的119號腳。布線時電源線和地線要比其他信號線寬,而地線要比電源線寬,規(guī)則是地線電源線信號線。本設(shè)計的線寬為:地線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è)計的調(diào)試涉及到硬件和軟件的調(diào)試,硬件調(diào)試是建立在軟件調(diào)試的基礎(chǔ)上,只有保證硬件正常工作后才能對軟件進(jìn)行調(diào)試。 硬件調(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ù)位功能,因為電容的作用是要讓RC充放電時間TRC
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1