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

正文內(nèi)容

基于51單片機和8279芯片的電子時鐘設計報告-文庫吧

2025-03-30 03:20 本頁面


【正文】 傳感器不是存儲器。它存放著傳感器矩陣中的每一個傳感器狀態(tài)。在此方式中,若檢索出傳感器的變化,IRQ信號變?yōu)楦唠娖?,向CPU申請中斷。顯示RAM用來存儲顯示數(shù)據(jù)。容量為168位。在顯示過程中,存儲的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分別為A、B兩組,OUTA0~3和OUTB0~3可以單獨送數(shù),也可以組成一個8位的字。顯示寄存器的輸出與顯示掃描配合,不斷從顯示RAM中讀出顯示數(shù)據(jù),同時輪流驅(qū)動被選中的顯示器件,以達到多路復用的目的,使顯示器件呈現(xiàn)穩(wěn)定的顯示狀態(tài)。顯示地址寄存器用來寄存由CPU進行讀/寫顯示RAM的地址,它可以由命令設定,也可以設置成每次讀寫或?qū)懭胫笞詣舆f減。 DS1302介紹及基本原理說明 主要功能DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,~。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。特性:● 實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M行計數(shù)● 用于高速數(shù)據(jù)暫存的 318 RAM● 2引腳的串行 I/O● ● 用于時鐘或RAM數(shù)據(jù)讀寫的單字節(jié)或 多字節(jié)數(shù)據(jù)傳送● 雙電源引腳● 可選慢速充電至VCC1 內(nèi)部結構及引腳功能DS1302內(nèi)部主要包括實時時鐘(real time clock)、輸入移位寄存器(input shift registers)、31字節(jié)靜態(tài)RAM、電源控制部分(power control)、命令控制邏輯(mand and control logic)、振蕩器和分頻器(oscillator and divider)等部分。DS1302內(nèi)部結構如圖25所示。圖25 DS1302內(nèi)部結構26 DS1302引腳排列DS1302具有8腳DIP引腳排列如圖26所示。VCC1:后備電源,在主電源關閉的情況下,也能保持時鐘的連續(xù)運行;當VCC2大于VCC1+,VCC2給DS1302供電。VCC2:主電源,當VCC2小于VCC1時,DS1302由VCC1供電。XX2:振蕩源,外接32768Hz晶振。GND:接地端SCLK:串行時鐘輸入端I/O:串行數(shù)據(jù)輸入輸出端(雙向)。RST:復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。 工作原理DS1302工作時為了對任何數(shù)據(jù)傳送進行初始化,需要將復位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址。命令字裝入移位寄存器后,在之后的時鐘周期,讀操作時輸出數(shù)據(jù),寫操作時輸入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8(8位地址+8位數(shù)據(jù)),在多字節(jié)方式下最多可達8+248。 控制字節(jié)及寄存器DS1302的一次數(shù)據(jù)傳送是從發(fā)送控制字節(jié)開始的。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果該位為0,則無法把數(shù)據(jù)寫入到DS1302中;位6表示要讀寫的數(shù)據(jù)類型,為0表示存取日歷時鐘數(shù)據(jù),為1表示存取 RAM數(shù)據(jù);位5至位1指示要操作單元的地址;最低有效位(位 0)表示命令類型,為0表示要進行寫操作,為 1 表示要進行讀操作??刂谱止?jié)總是從最低位開始輸出。其控制字節(jié)格式如圖27所示。圖27 控制字節(jié)格式 時鐘/日歷存儲區(qū)(時分秒) 數(shù)據(jù)的傳送向 DS1302 寫入數(shù)據(jù)時,數(shù)據(jù)在控制字節(jié)輸入后的下一個 SCLK周期的上升沿被寫入,多余的 SCLK將被忽略。數(shù)據(jù)寫入時從低位(位0)開始;同樣,從DS1302 讀取數(shù)據(jù)時,數(shù)據(jù)在緊跟控制字節(jié)后的下一個 SCLK的下降沿讀出,讀出數(shù)據(jù)時也是從低位(0位)到高位(7 位),只要RST保持高電平,額外的 SCLK將導致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個特性用于實現(xiàn)該芯片的突發(fā)讀模式。對DS1302 的每一次讀寫需 16個時鐘脈沖,前 8 個脈沖輸入操作地址和讀寫命令,后8個脈沖寫入或讀出數(shù)據(jù)。數(shù)據(jù)傳送時序如圖28。圖28 數(shù)據(jù)讀寫時序圖 DS18B20介紹及基本工作方式說明DS18B20總體介紹:DS18B20溫度傳感器是美國達拉斯(DALLAS)半導體公司推出的應用單總線技術的數(shù)字溫度傳感器。該器件將半導體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上。本設計中溫度傳感器之所以選擇單線數(shù)字器件DS18B20,是在經(jīng)過多方面比較和考慮后決定的,主要有以下幾方面的原因:(1)系統(tǒng)的特性:測溫范圍為55℃~+128℃ ,℃;溫度轉(zhuǎn)換精度9~12位可變,能夠直接將溫度轉(zhuǎn)換值以16位二進制數(shù)碼的方式串行輸出;12位精度轉(zhuǎn)換的最大時間為750ms;可以通過數(shù)據(jù)線供電,具有超低功耗工作方式。(2)系統(tǒng)成本:由于計算機技術和微電子技術的發(fā)展,新型大規(guī)模集成電路功能越來越強大,體積越來越小,而價格也越來越低。一支DS18B20的體積與普通三極管相差無幾,價格只有十元人民幣左右。(3)系統(tǒng)復雜度:由于DS18B20是單總線器件,微處理器與其接口時僅需占用1個I/O端口且一條總線上可以掛接幾十個DS18B20,測溫時無需任何外部元件,因此,與模擬傳感器相比,可以大大減少接線的數(shù)量,降低系統(tǒng)的復雜度,減少工程的施工量。(4)系統(tǒng)的調(diào)試和維護:由于引線的減少,使得系統(tǒng)接口大為簡化,給系統(tǒng)的調(diào)試.DS18B20的復位時序圖:由上位機拉低總線480960us的時間然后拉高總線,等待1560us的時間,如果在總線上有DS18B20這個器件,并且將總線拉低60240us的話,就證明該器件復位成功,已經(jīng)準備好發(fā)送或接受數(shù)據(jù)了。圖29復位時序圖DS18B20的寫時序圖: DS18B20的寫時序分為寫0時序和寫1時序兩個過程。DS18B20寫0時序和寫1時序的要求不同,當要寫0時序是,單總線要被拉低至少60us,保證DS18B20能夠在15us~45us之間能夠正確地采樣I/O總線上的低電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。圖210寫時序圖DS18B20的讀時序圖: DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時序是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20完成一個讀時序過程,至少需要60us。三、系統(tǒng)硬件電路設計 proteus仿真接線圖全圖除了分塊電路之外,沒有明線,看起來簡潔明了,并且各個電路的區(qū)域不同,也便于查找。將鍵盤、數(shù)碼管、二極管電路整合在一塊,對系統(tǒng)的調(diào)試可以方便很多。 ds1302時鐘電路,內(nèi)部RAM的內(nèi)容即為當前日期 ds18b20溫度傳感器電路,進而進行顯示。 8279電路經(jīng)測驗,將SHIFT和CTRL/STB口接地,可以使鍵盤的前兩位為1,進而可以方便的讀出鍵盤位置,P0口的數(shù)據(jù)通過圖中藍色總線傳入8279芯片。 二極管電路,顯示溫度的溫馨提示。、控制燈的開關,進行節(jié)日顯示。 數(shù)碼管顯示電路段選部分直接與8279芯片中OUTA和OUTB相連,用于控制每一位的顯示,而片選部分則通過38譯碼器與8279中SL0SL2相連,用于控制位的選擇。 4*5鍵盤電路鍵盤部分的行部分通過38譯碼器與8279中SL0SL2相連,用于返回行值,鍵盤列部分直接與RL0RL4相連,用于返回列值。 鬧鐘及音樂播放電路第一部分為鬧鐘電路,進行鬧鐘響鈴和整點報時功能。第二部分為音樂電路,進而構成音樂。 軟件設計及實現(xiàn)過程主程序先進行8279初始化,輸出HELLO及開機音樂后,再進行整個系統(tǒng)的初始化。進入如圖所示的程序循環(huán)過程,并在循環(huán)過程中不斷判斷是否滿足相應的判斷語句,進行鬧鐘的響鈴和節(jié)日以及溫度的提示,并且等待中斷、進行鍵盤掃描。當檢測到鍵值時,進入中斷,根據(jù)鍵值判斷所需要進行的功能,轉(zhuǎn)到相應的子函數(shù)中進行。主函數(shù)程序設計流程圖顯示子函數(shù)流程圖五、系統(tǒng)的調(diào)試過程1. 由于word 的編寫功能較為強大,開始使用word進行編寫,然后復制如keil進行調(diào)試,由于使用word的原因,導致程序中出現(xiàn)了很多中問字符的空格,進行了仔細查找將空格抹去之后,方可正常運行。2. 用proteus話電路,進行程序調(diào)試時,發(fā)現(xiàn)提示硬件錯誤,出現(xiàn)器件重名,導致無法運行。1. 數(shù)碼管輸出錯誤,與所要輸出的相反。分析原因:程序中數(shù)碼管輸出部分順序不對。改進方法:為了防止對程序進行大改,將命令字改為左端輸入。2. 鬧鐘時明明輸出高電平,但喇叭并不響。分析原因:上網(wǎng)查詢之后發(fā)現(xiàn)所用喇叭需要震蕩,及高低電平交替輸出才行。改進方法:在程序中加入void di()子函數(shù),使用時進行引用。3. 對網(wǎng)上找的歌曲代碼進行截取時發(fā)現(xiàn)截取后的蜂鳴器亂響。分析原因:歌曲代碼中沒兩位表示一個音符,截取過程中將兩位拆開,出現(xiàn)混亂,改進方法:以兩位字符為單位進行截取。4. 節(jié)日提示的二極管不亮。分析原因:運行時,發(fā)現(xiàn)二極管相應的端口顯示低電平,故程序沒有問題,最終發(fā)現(xiàn)馬虎大意導致二極管接反。改進方法:反接二極管。5. 溫度顯示錯誤,正值時正常顯示,負值時顯示零。分析原因:溫度讀取子函數(shù)有錯誤,但無論怎么修改,扔無法解決上述問題。將4去掉之后發(fā)現(xiàn)顯示為正常的16倍,多次調(diào)試未果,改進方法:將4放入顯示子函數(shù)中,系統(tǒng)則正常顯示溫度。6. 系統(tǒng)運行太卡,特別是秒表和時鐘走的過慢,系統(tǒng)運行過程中出現(xiàn)死機現(xiàn)象。分析原因:開始以為是電腦的問題,故換了電腦進行嘗試,發(fā)現(xiàn)雖然有改進,但改進不大,并且系統(tǒng)運行過程中出現(xiàn)死機現(xiàn)象一點沒有改變。于是上網(wǎng)查找之后,認為程序有問題,一是函數(shù)調(diào)用過于頻繁,二是采用if語句不正確。改進方法:仔細從頭查看程序,將函數(shù)中的調(diào)用能去掉的盡量去掉。讓后,將if語句改成if else 和switch語句。7. 調(diào)整時間的過程中出現(xiàn)邊調(diào)整時間,時間邊走的問題。分析原因:程序循環(huán)的過程中,一直從1302中讀取時間,并顯示。改進方法:設置“確定”鍵,用來將時間寫入1302,并在主函數(shù)中設定只有的光標為零時才讀取時間并顯示。六、新增功能及實現(xiàn)方法開機歡迎、日期與星期顯示、時間和日期的調(diào)節(jié)、秒表功能、人性化溫馨提示、整點報時功能。 開機歡迎功能通過函數(shù)開始向8279中輸入HELLO的字型碼和經(jīng)T1定時器與delay()函數(shù)混合使用播放開機音樂實現(xiàn)開機歡迎功能2. 日期與星期顯示通過DS1302芯片讀取當前日期和星期,經(jīng)8279在數(shù)碼管上進行顯示3. 時間、日期調(diào)節(jié)通過移動光標(圖中小數(shù)點)確定調(diào)節(jié)哪一位,只需要在原來顯示的基礎上+0x80。通過串行I/O將調(diào)整好的日期時間輸入ds1302芯片,進而往后可以繼續(xù)進行顯示。4. 秒表功能通過定時/計數(shù)器T0實現(xiàn),由于使用12MHz的晶振,故設置初值為50000,每20次中斷,可在秒數(shù)上加1,通過按鍵控制T0的開關,進而對秒表進行控制。5. 人性化溫馨提示通過判斷當前時間與所設定節(jié)日日期的比較,控制相應I/O口的輸出,實現(xiàn)節(jié)日的溫馨提示,通過判斷當前溫度在某一溫度范圍,控制I/O口的輸出,進而實現(xiàn)溫度的溫馨提示。6. 整點報時功能通過判斷分鐘位與秒位同時為零,進入di()子函數(shù),進行整點報時功能。七、小節(jié)與體會歷時約兩個星期的單片機課程設計很快就結束了,在本次課程設計中,在楊老師的悉心指導和精心教導下,在設計的過程中,我已經(jīng)對單片機的原理與應用有了深刻認識,也學習和應用了處理一些問題的基本方法,在老師和各位同學的幫助與支持下,順利的完成了本次單片機課程設計:89C51電子時鐘設計,并完成報告的編制。在本次課程設計過程中,我為能理解和應用專業(yè)課學習成果而感悟頗深,學習到了PROTEUS和KEIL兩個軟件的使用方法,同時我也深深的感受到了基礎知識的重要性。在以后的學習生活中切不可急于求成而忽略了基礎的夯實,對一門系統(tǒng)學科,應該扎實的學習他的每一部分知識,充分利用各種實踐環(huán)節(jié),切實做到理論聯(lián)系實踐,學以致用。同樣,通過這次課程設計我也體會到我們學習上的不足。課程設計的這段時間過得相當充實,在日后的學習與工作中,我仍將認真鞏固對專業(yè)基礎知識的學習,繼續(xù)扎實的學習單片機的相關知識。而本次的電子時鐘裝置的設計過程可謂是一波三折。我們的設計程序可謂是七易其稿,最初的程序在我們的不斷改動中不斷豐富,不斷完善,不斷趨于精確和穩(wěn)定,雖然這個過程是十分痛苦的,有時候我們真的會為一個管教信號的糾正而花費以晚上的時間。雖然過程十分辛苦和糾結,但是這讓我們明白了,每一個華麗而精妙的程序,都是以不斷的琢磨和改善為前提的,不斷完善,遲滯易恒,是每一個設計者、每一次設計都要牢記的最寶貴的也是最根本的守則。在此更要感謝楊志堅老師,是您帶領我走進單片機這一廣闊高深的領域,是您的悉心指導和關懷,使我能夠順利的完成此次課程設計。在我的學業(yè)和課程設計工作中無不傾注著老師辛勤的汗水和心血。老師的嚴謹治學態(tài)度、淵博的知識、無私的奉獻精神使我深受啟迪。從尊敬的老師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。在此我要向我的老師致以最衷心的感謝和深深的敬意。同時,也感謝我們成長路上的每一位老師給我們的無微不至的關懷和細致入微的指導,是他們教會了我生存的方法,是他們給了我們獨立的力量,是他們讓我心懷夢想,積極的面對未來的一切。愿所有老師和同學工作順利,身體健康!參考文獻:[1] 肖看、李群芳《單片機原理、接口及
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1