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

正文內(nèi)容

全國(guó)單片機(jī)程序設(shè)計(jì)師畢業(yè)論文-基于mcs-51單片機(jī)實(shí)現(xiàn)的萬(wàn)年歷(編輯修改稿)

2024-12-18 15:52 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Trans Ideal+ 3 硬件設(shè)計(jì) 本次設(shè)計(jì)的 萬(wàn)年歷系統(tǒng)以單片機(jī)為主控芯片, 通過(guò)讀寫(xiě)日歷時(shí)鐘芯片和溫度芯片來(lái)實(shí)時(shí)的改變當(dāng)前時(shí)間和溫度,并通過(guò) LED 顯示實(shí)時(shí)數(shù)據(jù),同時(shí)輔助以鍵盤(pán)來(lái)調(diào)節(jié)顯示時(shí)間和定時(shí)時(shí)間,并帶有蜂鳴器,當(dāng)定時(shí)時(shí)間到時(shí)鬧鐘即打開(kāi)。 硬件的結(jié)構(gòu)和可靠性直接影響著整個(gè)系統(tǒng)的可靠性 ,所以合理的安排電路能提高電子產(chǎn)品的性能,但 任何電子產(chǎn)品都必須有一個(gè) 可靠的 電源為其提供能量才能工作,本設(shè)計(jì)先 介紹 電源部分,再 介紹 功能 電路 。 電源的設(shè)計(jì)是電子產(chǎn)品的最基本模塊,大部分電子產(chǎn)品都是用的直流電源,將 220V 的交流電轉(zhuǎn)化為直流電也是我們必行的,電源的穩(wěn)定性也直接影響著電子產(chǎn)品的性能, 現(xiàn)在常用的直流穩(wěn)壓電源有變壓器式和開(kāi)關(guān)式電源兩種。 變壓器式直 流穩(wěn)壓源由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路四個(gè)部分組成, 如圖 31 所示, 交流電 先經(jīng)電源變壓器變換成所須等級(jí)的交流電壓,而后經(jīng)整流電路將之整流成直流電,這時(shí)的直流電脈動(dòng)量很大,經(jīng)濾波電路以減小其脈動(dòng)量,最后經(jīng)穩(wěn)壓電路進(jìn)行穩(wěn)壓,從而得出符合要求的電壓。變壓器式直流穩(wěn)壓電源結(jié)構(gòu)簡(jiǎn)單,設(shè)計(jì)容易,但體積較大,效率也較低,過(guò)負(fù)載能力也差。 圖 31 變壓器式直流穩(wěn)壓電源 開(kāi)關(guān)式直流穩(wěn)壓電源簡(jiǎn)稱(chēng)開(kāi)關(guān)電源( Switching Power Supply),它是指起電壓調(diào)整功能的器件始終以開(kāi)關(guān)方式工作的一種直流穩(wěn)壓電源。 50Hz 單相交流 220V 電壓或三相交流 220V380V 電壓 經(jīng) EMI 防電磁干擾電源濾波器,直接整流濾波, 11 然后再將濾波后的直流電壓經(jīng)變換電路變換為數(shù)赫或數(shù)百千赫的高頻方波或準(zhǔn)方波電壓,通過(guò)高頻變壓器隔離并降壓(或升壓)后,再經(jīng)高頻整流、濾波電路,最后輸出直流電壓。通過(guò)取樣、比較、放大及控制、驅(qū)動(dòng)電路,控 制變換器中功率開(kāi)關(guān)管的占空比,便能得到穩(wěn)定的輸出電壓。 開(kāi)關(guān)電源具有功耗小、效率高、體積小、重量輕、穩(wěn)壓范圍 寬 、電路形式靈活多樣等諸多優(yōu)點(diǎn) ,但成本高, 因而本設(shè)計(jì)采用 變壓器式電源。 主電路設(shè)計(jì) 主電路的功能是完成年、月、日、星期、時(shí)、分、秒之間的轉(zhuǎn)換,對(duì)溫度傳感器進(jìn)行控制并讀取溫度轉(zhuǎn)換后的值, 再送往 LED 顯示,并且接受鍵盤(pán)操作 ,對(duì)日期和時(shí)間進(jìn)行校正, 同時(shí) 還要判斷定時(shí)時(shí)間是否到, 定時(shí)到時(shí)鬧鈴打開(kāi)。 主電路原理圖如圖 32 所示,顯示部分用 P0 口做為輸出數(shù)據(jù)接到 LED 數(shù)碼管 a 到 h,并接 8 個(gè)上拉電阻做為各段 的驅(qū)動(dòng)。 用 P3 口的低 3 位接譯碼器的A0,A1,A2 端,用 , 分別接譯碼器的使能端,通過(guò)控制 P3 口來(lái)控制 LED 的動(dòng)態(tài)掃描。單片機(jī)的 18和 19引腳接 12MHZ 的晶振,并接兩個(gè) 22PF 的電容同時(shí)接地,單片機(jī)復(fù)位端接一極性電容并連接到電源處,在極性電容的負(fù)極接一 10K 的電阻,并連接至地做為放電用。本設(shè)計(jì)用到四個(gè)獨(dú)立式鍵盤(pán)分別接到P1 口的低 4 位,用 P1 口的 , 接日歷時(shí)鐘的使能端和時(shí)鐘端及數(shù)據(jù)輸入輸出口,并在日歷時(shí)鐘上接一 的晶振,并接兩個(gè) 22PF 的電容終端和地相連,用 接溫度芯片的 DQ 引腳,作為溫度數(shù)據(jù)或命令的讀寫(xiě),用單片機(jī)的 接揚(yáng)聲器,作為發(fā)音電路,各芯片的電源部分分別接到有開(kāi)關(guān)式電源產(chǎn)生的+ 5V 電源上,芯片的接地端都接在公共地上,在這里接電源部分就不再一一詳述,讀者注意一下就行了。 設(shè)計(jì)采用動(dòng)態(tài)顯示,輪流掃描各個(gè) LED 使之顯示相應(yīng)的數(shù)型碼,當(dāng)掃描頻率大于人眼所能識(shí)別的頻率時(shí)就看不到閃爍現(xiàn)象。動(dòng)態(tài)顯示的亮度不如靜態(tài)顯示,但靜態(tài)顯示占用的 I/O 口資源較多,往往用移位寄存器 74LS164 等來(lái)擴(kuò)充其 I/O口不足的情況,當(dāng)顯示位數(shù)較多時(shí),這樣勢(shì)必增 加硬件開(kāi)銷(xiāo),增大成本,不利于開(kāi)闊市場(chǎng)。本設(shè)計(jì)的突出之處在于硬件電路簡(jiǎn)單,大大減少了硬件開(kāi)銷(xiāo),這樣又勢(shì)必增加了軟件開(kāi)發(fā)的難度,但降低了成本有利于市場(chǎng)的開(kāi)闊。 12 本設(shè)計(jì)也存在的缺點(diǎn)是顯示亮度較靜態(tài)低,增加亮度方法是在 P0 口的各口分別加一放大倍數(shù)較小的三極管和一限流電阻來(lái)驅(qū)動(dòng) LED 的各段,這樣就增加了 本設(shè)計(jì)沒(méi)有增加這一模塊,望讀者加以注意。 13 4 軟件設(shè)計(jì) 軟件的設(shè)計(jì)是設(shè)計(jì)控制系統(tǒng)的應(yīng)用程 序。其任務(wù)是在整體設(shè)計(jì)和硬件設(shè)計(jì)的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi) RAM 資源,劃分功能模塊,然后進(jìn)行主程序和各模塊程序的設(shè)計(jì),最后連接起來(lái)成為一個(gè)完整 應(yīng)用 程序 ,與硬件相結(jié)合完成相應(yīng)功能。 主程序設(shè)計(jì) 主程序才用模塊化設(shè)計(jì),流程圖如圖 41 所示。 從上面主程序看出,主程序的組成是通過(guò)分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤(pán)完成時(shí)間的調(diào)整,調(diào)用日歷子程序完成日歷時(shí)鐘的初始化和時(shí)間數(shù)據(jù)的讀寫(xiě),調(diào)用溫度子程序完成溫度芯片的初始化和讀寫(xiě),調(diào)用鬧鐘子程序 當(dāng)時(shí)間達(dá)到定時(shí)時(shí)間時(shí)鬧鈴打開(kāi),一分鐘后自動(dòng)關(guān)閉,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤(pán)程序來(lái)回循環(huán)。 初始化部分主要有初始化定時(shí)器部分和和一些寄存器、標(biāo)志位、初始化時(shí)間等 對(duì)定時(shí)器 T0 初始化時(shí),首先置初值,CPU 開(kāi)中斷,定時(shí)器 T0 開(kāi)中斷,并且開(kāi)始計(jì)數(shù),而對(duì)定時(shí)器 T1 初始化時(shí),首先置初值,定時(shí)器 T1 關(guān)中斷,并且停止計(jì)數(shù),只有收到命令時(shí)才能產(chǎn)結(jié)束 圖 41 主程序流程圖 開(kāi)始 調(diào)鬧鐘子程序 調(diào)顯示子程序 調(diào)溫度子程序 調(diào)日歷子程序 初始化時(shí)間 寄存器初始化 初始化 T0 并開(kāi)中斷 標(biāo)志位初始化 初始化 T1 并關(guān)中斷 調(diào)鍵盤(pán)子程序 14 生中斷。 寄存器的初始化主要是初始化執(zhí)行程序時(shí)用到的部分 RAM 空間,防止程序執(zhí)行時(shí)帶來(lái)混亂。 標(biāo)志位初始化是對(duì)時(shí)間調(diào)整時(shí)判斷是調(diào)分還是調(diào)時(shí)等而專(zhuān)設(shè)的位標(biāo)志,初始化過(guò)程中標(biāo) 志位全部置 0,即開(kāi)始時(shí)是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點(diǎn)在程序中相當(dāng)明了。 初始化時(shí)間是開(kāi)機(jī)時(shí)顯示的時(shí)間,并通過(guò)調(diào)用日歷時(shí)鐘的寫(xiě)程序來(lái)完成時(shí)間的置初值。 多功能鍵盤(pán)程序的設(shè)計(jì)是本設(shè)計(jì)的難點(diǎn),也是完成本設(shè)計(jì)的重點(diǎn),當(dāng)有鍵按下時(shí),調(diào)用 10ms 延時(shí)程序,再判斷是否有鍵按下無(wú)則返回,若有先調(diào)用顯示程序再判斷是否松開(kāi),否則再轉(zhuǎn)到顯示程序,這樣避免了在按鍵松開(kāi)之前能正常顯示。其中 K1 鍵功能最多,通過(guò)判斷 K1 鍵按下的次數(shù)來(lái)判斷是調(diào)時(shí)間還是定時(shí),并對(duì)對(duì)應(yīng)的位置閃爍。本鍵盤(pán)深度為 9 級(jí),即連續(xù)按下 K1 鍵 10 次時(shí)則返回到原來(lái)界面。當(dāng)判斷鍵值為 1 時(shí)則為調(diào)秒狀態(tài),對(duì)應(yīng)的秒低位閃爍,為 2 時(shí)為調(diào)分狀態(tài)并分閃爍,為 3 時(shí)為調(diào)時(shí)狀態(tài)并時(shí)閃爍,為 4 時(shí)為調(diào)日狀態(tài)并日閃爍,為 5 時(shí)為調(diào)月?tīng)顟B(tài)并月閃爍,為 6 時(shí)為調(diào)年?duì)顟B(tài)并年閃爍,為 7 時(shí)為調(diào)星期狀態(tài)并星期閃爍,為 8 時(shí)為定時(shí)器設(shè)定分狀態(tài)并分閃爍,為 9 時(shí)為定時(shí)器設(shè)定時(shí)狀態(tài)并時(shí)閃爍。 K2 為加 1 鍵, K3 為減 1 鍵, K4 為總返回鍵,即在調(diào)時(shí)見(jiàn)時(shí)不用只有按下K1 鍵值為 10 才返回,而通過(guò)按下 K4 鍵即可返回。鍵盤(pán)子程序流程圖如圖 42所示。 在鍵盤(pán)子程序中當(dāng)判斷鍵值為 1~ 7 時(shí)是對(duì)時(shí)間秒、分、時(shí)、日 、月、年、星期調(diào)整原理和調(diào)秒相同,當(dāng)判斷鍵值為 9 時(shí)是定時(shí)器分和時(shí)調(diào)整,此時(shí)秒顯示 0,分和時(shí)顯示為當(dāng)前定時(shí)值,但是沒(méi)有送 DS1302 這點(diǎn)和前不同,由于鍵盤(pán)流程圖非常復(fù)雜,在此省略了調(diào)分時(shí)等,望讀者注意加以區(qū)別。 15 N 開(kāi)始 有鍵按下? 延時(shí) 10ms K2 按下? K3 按下? K4 按下? K1 按下? 調(diào)顯示 K1 為 0? 鍵值加 1 Y 調(diào)顯示 有鍵按下? 鍵值清 0 標(biāo)志位清 0 返回回 N N N Y N Y N 下頁(yè) 1 Y Y Y 下頁(yè) 3 16 溫度子程序 由于 DS18B20 采用的是單總線協(xié)議方式,即在一根數(shù)據(jù)線上實(shí)現(xiàn)數(shù) 據(jù)的雙向傳輸,而對(duì) AT89S51 單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì) DS18B20 芯片的訪問(wèn)。由于 DS18B20 是在一根 I/O 線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。 DS18B20 有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將1 鍵值為1? 調(diào)顯示 秒閃爍 秒標(biāo)志位置1 K2 按下? K3 按下? 秒減1 秒數(shù)據(jù)送 DS1302 秒加1 3 Y N Y Y 鍵值為? N 。。 。。 。。 圖 42 鍵盤(pán)子程序流程圖 17 主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī) 需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 與 DS18B20 間的任何通迅都要從初始化時(shí)序開(kāi)始, DS18B20 的初始化時(shí)序如圖 43 所示。主機(jī)發(fā)出復(fù)位脈沖后,最多在 60us 后要收到應(yīng)答信號(hào),否則說(shuō)明 DS18B20 不存在或損壞。 DS18B20 的寫(xiě)時(shí)序如圖 44 所示。 DS18B20 的寫(xiě)時(shí)序分為寫(xiě) “0”時(shí)序和寫(xiě) “1”時(shí)序兩個(gè)過(guò)程。當(dāng)要寫(xiě) “0”時(shí)序時(shí),單總線要被拉低至少 60us,保證 DS18B20 能夠在 15us 到 45us 之間內(nèi)正確地采樣總線上的 “0”電平;當(dāng)要寫(xiě) “1”時(shí)序時(shí),單總主機(jī)發(fā)出復(fù)位脈沖 最小值: 480us 最大值: 960us 主機(jī) 接收最短時(shí)間: 480us 等待15~60us DS18B20 應(yīng)答60~240us Vcc GND 圖 43 DS18B20的初始化時(shí)序 Vcc GND 圖 44 DS18B20 的寫(xiě)時(shí)序 主機(jī)寫(xiě)“ 0”時(shí)間隙 DS18B20 采樣 最小標(biāo)準(zhǔn) 1us 15us 15us 30us 主機(jī)寫(xiě)“ 1”時(shí)間隙 DS18B20 采樣 最小標(biāo)準(zhǔn) 1us 15us 15us 30us Vcc GND 圖 45 DS18B20 的讀時(shí)序 主機(jī)讀“ 0”時(shí)間隙 1us 15us 45us 主機(jī)讀“ 1”時(shí)間隙 1us 15us 主機(jī)采樣 主機(jī)采樣 18 線被拉低之后 ,在 15us 之內(nèi)就要釋放單總線,否則寫(xiě)入的是 “0”,而不是 “1”。 DS18B20 的讀時(shí)序如圖 45 所示。當(dāng)主機(jī)把單總線拉低之后,讀時(shí)間隙開(kāi)始,且最低保持低電平 1us,但在 15us 之內(nèi)必須釋放單總線,以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€上。 DS18B20 在完成一個(gè)讀時(shí)序過(guò)程,至少需要 60us 才能完成。DS18B20 轉(zhuǎn)換后的溫度值以 2 字節(jié) 16 位補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第 2 個(gè)字節(jié)里,高位在前,低位在后。所以讀取溫度時(shí),要分兩次進(jìn)行。 讀溫度子程序如圖 46 所示。 日歷時(shí)鐘子程計(jì) DS1302 與 CPU 的連接需要三條線,即 SCLK(7)、 I/O(6)、 RST(5) 日歷時(shí)鐘 DS1302 的讀寫(xiě)和溫度芯片 DS118B20 一樣,都需要 初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送 初始化 DS18B20 發(fā)送讀溫度指令 讀溫度 計(jì)算溫度實(shí)際值 顯示溫度 啟動(dòng)下次溫度轉(zhuǎn)換 圖 46 DS18B20讀溫度流程圖 結(jié)束 19 是低位在先。 讀寫(xiě)都是 16 位數(shù)據(jù)高 8 位是地址低 8 位是數(shù)據(jù),在讀寫(xiě)時(shí)要
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1