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

正文內容

基于單片機的電子萬年歷的設計制作(已修改)

2024-12-03 20:58 本頁面
 

【正文】 單片機 設計 報告 題 目 : 電子萬年歷的設計與制作 一、設計目的及意義 ( 1) 在學習了《數字電子技術》和《單片機原理及接口技術》課程后,為了加深對理論知識的理解,學習理論知識在實際中的運用,培養(yǎng)動手能力和解決實際問題的經驗 讓學生接觸專用時鐘芯片 DS1302,并會用 DS1302芯片開發(fā)時鐘模塊,應用到其他系統(tǒng)中去。熟悉 WAVE軟件調試程序和仿真 . ( 2)、通過實驗提高對 單片機的認識; ( 3)通過實驗提高焊接、布局、電路檢查能力; ( 4)、通過實驗提高軟件調試能 力; ( 5) 進一步熟悉和掌握單片機的結構及工作原理。 ( 6) 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。 ( 7) 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。 ( 8) 通過完成一個包括電路設計和程序開發(fā)的完整過程,使學生了解開發(fā)一單片機應用系統(tǒng)的全過程,為今后從事相應打下基礎。 二、設計內容要求 電子萬年歷能顯示陽歷年、月、日、星期、 [小 ]時、分、秒和陰歷月、日,在顯示陰歷時間時能標明是否為閏年。 三、方案選擇與實驗基本原理。 按照系統(tǒng)設計功能的 要求,初步確定設計系統(tǒng)由主控模塊、時鐘模塊、顯示模塊、鍵盤接口模塊共 4個模塊組成,電路系統(tǒng)構成框圖如圖 L1所示。主控芯片使用 51系列 AT89c52單片機,時鐘芯片使用美國 DALLAs 公司推出的一種高性能、低功耗、帶 RAM的實時時鐘DSl302。采用 DSl 302作為主要計時芯片,可以做到計時準確。更重要的是, DSl302可以在很小電流的后備電源 (2. 5— 5. 5v電源,在 2. 5v時耗電小于 300 nA)下繼續(xù)計時,并可編程選擇多種充電電流來對后備電源進行慢速充電,可以保證后備電源基本不耗電。 顯示模塊采用普通 的共陽 LED數碼管,鍵輸入采用查詢法實現(xiàn)調整功能。 圖 1 電子萬年歷電路系統(tǒng)構成框圖 系統(tǒng)硬件電路的設計 圖 2為電子萬年歷電路設計原理圖,系統(tǒng)由主控制器 AT89C5時鐘芯片 DSl30串口顯示電路及鍵掃描電路組成。 圖 2電子萬年歷電路設計原理圖 主控制器 AT89C52 ATMEL公司生產的 AT89C52 單片機采用高性能的靜態(tài) 80C51設計,由先進工藝制造, 并 帶有非易失性 F1ash程序存儲器。它是一種高性能、低功耗的 8位 cMos微處理芯片,市 場應用最多。主要性能特點有: ● 8KH F1ash ROM,可以擦除 1000次以上,數據保存 10年 ● 256字節(jié)內部 RAM。 ●電源控制模式 —— 時鐘可停止和恢復 —— 空閑模式; —— 掉電模式。 ● 6個中斷源。 ● 4個中斷優(yōu)先級。 ● 4個 8位 I/ O口。 ●全雙工增強型 UART。 ● 3個 16位定時/計數器, To、 T1(標準 80c51)和增加的 T2(捕獲和比較 )。 ●全靜態(tài)工作方式: 024MH z。 . 2 時鐘電路 DSl302 1. ds1302的性能特性 ●實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償的年進行計數; ●用于高速數據暫存的 31 8位 RAM; ●最少引腳的串行 I/ o; ● 2. 5— 5. 5V電壓工作范圍; ● 2. 5V時耗電小于 300 nA; ●用于時鐘或 RAM數據讀/寫的單字節(jié)或多字節(jié) (脈沖方式 )數據傳送方式; ●簡單的 3線接口; ●可選的慢速充電 (至 Vcc1)的能力。 D51302 時鐘芯片包括實時時鐘/日歷和 3l 字節(jié)的靜態(tài) RAM。它經過一個簡單的串行 接口與微處理器通信。實時時鐘/ 日歷提供秒、分、時、日、周、月和年等信息。對于小于 31天的月利月末的日期自動進行調整,還包括閏年校正的功能。時鐘的運行可以采用 24H或帶AM(上午 )/ PM(下午 )的 12H格式。采用三線接口與 cPu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM數據。 Dsl302有主電源/后備電源雙電源引腳: Vcc1在單電源與電他供電的系統(tǒng)中提供低電源,并提供低功率的電池備份; Vcc2在雙電源系統(tǒng)中提供主電源,在這種運用方式中, Vcc1連接到備份電,以便在沒有主電源的情況下能保 存時間信息以及數據。 Ds1302由 Vcc1或 vcc2中較大者供電。當 vcc2大于 Vcc1十 o. 2v時,vcc2v給 DSl302 供電;當 vcc2小于 Vcc1時, DSl302由 Vcc1供電。 2. DSl302數據操作原理 Dsl 302在任何數據傳送時必須先初始化,把 RsT腳置為高電平,然后把 8位地址和命令字裝入移位寄存器,數據在 scLK的上升沿被輸入。無論是讀周期還是寫周期,開始 8位指定 40個寄存器中哪個將被訪問到。在開始 8個時鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時鐘周期在讀操作時輸出數據,在 寫操作時寫人數據。時鐘脈沖的個數在單字節(jié)方式下為 8加 8,在多字節(jié)方式下為 8加字節(jié)數,最大可達 248字節(jié)數。 如果在傳送過程中置 RsT腳為低電平,則會終止本次數據傳送,并且 I/ ()引腳變?yōu)楦咦钁B(tài)。上電運行時,在 Vcc≥ V之前 , RsT腳必須保持低電平。只有在 scLK為低電平時,才能將 RsT置為高電平。 D引 302的引腳及內部結構圖如圖 3. 3所示,表 3. 1為各引腳的功能 圖 3 DS1302 引腳及內部結構 表 1 DS102引腳功能 Dsl302 的控制字如圖 3. 4所示。控 制字節(jié)的最高有效位 (位 7)必須是邏輯 1;如果它為 0,則不能把數據寫入到 Dsl302 中。位 6如果為 0,則表示存取日歷時鐘數據 。為 1表示存取 RAM數據。位 5— 1(A4一 A0)指示操作單元的地址。最低有效位 (位 0)如為 0,表示要進行寫操作;為 1表示進行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。 為了提高對 32個地址的尋址能力 (地址/命令位 1~ 5=邏輯 1),可以把時鐘/日歷或RAM寄存器規(guī)定為多字節(jié) (burst)方式。位 6規(guī)定時鐘或 RAM,而位 0規(guī)定讀或寫。在時鐘/日歷寄存器中的地址 9— 31或 RAM寄 存器中的地址 31不能存儲數據。在多字節(jié)方式中,讀或寫從地址 0的位 0開始。必須按數據傳送的次序寫最先的 8個寄存器。但是,當以多字節(jié)方式寫 RAM時,為了傳送數據不必寫所有 31字節(jié)。小管是否寫了全部 31字節(jié),所寫的每一字節(jié)都將傳送至 RAM。 圖 4 DS1302 的控制字 圖 5 DS1302 數據讀 /寫時序 Dsl302共有 12個寄存器,其中有 7個寄存器與日歷、時鐘相關,存放的數據位為 BCD碼形式。其 H歷、時間寄存器及其控制字見表 3. 2,其中奇數為讀操作,偶數為寫操作。 時鐘暫停:秒寄存器的位 7定義位時鐘暫停位。當它為 1時, DS1302 停止振蕩,進入低功耗的備份方式 .通常在對 Dsl302進行寫操作時 (如進入時鐘調整程序 ),停止振蕩。當它為 0時,時鐘將開始啟動。 AM— PM/ 12— 24[小 ]時方式: [小 ]時寄存器的位 7定義為 12或 24[小 ]時方式選擇位。它為高電平時,選擇 12[小 ]時方式。在此方式下,位 5是 AM/ PM位,此位是高電平時表示 PM,低電平表示 AM。在 24[小 ]時方式下,位 5為第二個 10[小 ]時位 (20一 23h)。 表 2 內部寄存器地址和內容 Dsl302的品振選用 32. 768kH z,電容推薦值為 6PF,因為振蕩頻率較低,也可以不接電容.對計時精度影響不大。 3. 3. 3 顯示電路的設計 顯示部分采用普通的共陽數碼管顯示,采用動態(tài)掃描,以減少硬件電路??紤]到一次掃描 19位數的管顯示時會出現(xiàn)閃爍情況,設計時 19個數碼管分 3排同時掃描。第一排 6個數碼 管分別為千年、百年、十午、年、十月、月,第二排 6位數碼管分別為十時、時、十分、分、十秒、秒,第三排 7位數碼管分別為星期、陰歷十月、陰歷月、陰歷十日、陰歷日、十日、日。顯示時采用串行口輸出段碼,用 3片 74ls164來驅動 3排數碼管,這樣掃描一次只需7ms。 741ls164內部為 8個 D觸發(fā)器,用以實現(xiàn)數據的串行移位, 741ls164 特性見表 3。單片機以串行口方式 0〔移仿寄存器方式 )輸山數據, 3片 74Lsl64作為 3排共陽數碼管的串/并轉換顯示接口。 74ls164 為 TTL單向 8位移位寄存器,可實現(xiàn)串行輸入,并行輸出。其中 A、 B(第 2腳 )為串行數據輸入端, 2個引腳按邏輯“與”運算規(guī)律輸入信號,共一個輸入信號時可并接,共同作為輸入腳。 cP(第 8腳 )為時鐘輸入端,可連接到串行口的 TxD端。每一個時鐘信號 的上升沿加到 cP端時,移位寄存器移一位。 8個時鐘脈沖過后, 8位二進制數全部移入 74lsl 64 中。 MR腳 (第 9腳 )為復位端,當該腳為低電平時,移位寄存器各位復 0;只有當它為高電平時,時鐘脈沖才起作用。 Q1一 Q8(第 3— 6和 10一 13引腳 )并行輸出端分別接數碼管的 h— a(因為串行 n從低位開始傳送 )各段對應的引腳上。在給出了 8個脈沖后,最先進入 741。 s164的第 1個字 Ll數據到達廠最高位。再來 1個脈沖,第 1個脈沖就會從最高位移出,進入下個 74L5164 的第 1位。 3片 741‘ S164首尾相串,而時鐘端則接在一 起。這樣,當輸入 8個 脈沖時,從 — 9片機 RXD端輸出的第 1字節(jié)數據就進入了第 1片 74LSl64 中,而當第 2個 8個脈沖到來后,第 l字節(jié)數據就進入了第 2片 74Lsl64,而隨后的第 2字節(jié)的數據則進入了第 1片 74LS164。這樣,當第 3個 8個脈沖完成后,首次送出的數據被送到了最下面的 164(第3片 )中,其它數據依次出現(xiàn)在第二和第一片 74LS164 中,實現(xiàn)了數據在 74LS164 中的串行輸入、并行輸出。 表 3 74LS164 特性表 在方式 0狀態(tài)下,串行口為同步移位寄存器方式,其波特率是固定的,為 fosc/ 12。數據由 RxD()端輸入或輸出,同步移位脈沖由 TxD()端輸出。發(fā)送、接收數據時低位在先。所以,根據本小節(jié)下面提供的硬件電路圖,在編寫程序時,查共陽數碼管的段碼的二進制數據應該將正常的共陽數碼管 0一 9的二進制值按位反序排序,如原來的二進制為11000000(C0H),要改為 00000011(03H),就能使數碼管正常顯示。 鍵盤接口的設計 由于按鍵只有 3個,用普通按鈕接 10kw上拉電阻,用查詢法完成讀鍵功能。 系統(tǒng)程序的設計 因為使用了時鐘芯片 Dsl302, 陽歷程序只需從 Dsl302 各寄存器中讀出年、周、月、日、 [小 ]時、分、秒等數據,再處理即可。在首次對 Dsl302進行操作之前,必須對它進行初始化,然后從 Dsl302中讀出數據,再經過處理后,送給顯示緩沖單元。陽歷程序流程圖見圖3. 6所示。 圖 6 陽歷程序流程圖 3. 4. 2 時間調整程序設計 調整時間用 2個調整按鈕, 1個作為移位、控制用,另外 1個作為加和減用,分別定義為控制按鈕、加按鈕。在調整時間過程中,要調整的位與別的位應該有區(qū)別,所以增加了閃爍功能,即調整的位一直在閃爍,直到調整下一位。 閃爍原理就是,讓要調整的一位每隔一定時間熄滅一次,比如說 50 m s。利用定時器計時,當達到 50 ms溢出時,就送給該位熄滅符,在下一次溢出時。再送正常顯示的值,不斷交替,直到調整該位結束。此時送正常顯示值給該位,再進人下一位調整閃爍程序。時間調整程序程序流程圖如圖 3. 7所示。 3. 4. 3 陰歷程序設計 陰歷程序的實現(xiàn)是要靠陽歷日期來推算的。要根據陽歷來推算陰歷日期,首先要設計算法。推算方法是,根據陽歷當前日期在一年中的天數來計算陰歷日期。陽歷一個月不是 30天就是 3l天 (2月除外,閏年 2月為 29天 ,平年 2月為 28 天 )。陰歷一年有 12個月或 13個月 (含閏月 ),一個月為 30天或 29天。如果把一個只有 29天的月稱為小月,用 1為標志,把 30天的月稱為大月,用 0為標志,那么 12位二進制就能表示一年 12個月的大小。如果有閏月,則把閏月的月份作為“一個字節(jié)的高 4位,低 4位表示閏月大小,大月為 0,小月為 1.這樣一個 字節(jié)就包含了所有閏月的信息。陰歷春節(jié)和陽歷元旦相差的天數也用一個字節(jié)表示??偣灿?字節(jié)就可以存儲一年中任何一天陽歷和陰歷的對應關系的有關數據,例如 2020年的陰歷和陽歷對應關系如表 3. 4所列。 圖 7
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1