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

正文內容

畢業(yè)設計-基于at89s51單片機控制的帶有溫度顯示的電子鐘設計(編輯修改稿)

2025-02-13 00:14 本頁面
 

【文章內容簡介】 12 日歷、時鐘寄存器與控制字對照表 寄存器名稱 7 6 5 4 3 2 1 0 1 RAM/CK A4 A3 A2 A1 A0 RD/W 秒寄存器 1 0 0 0 0 0 0 分寄存器 1 0 0 0 0 0 1 小時寄存器 1 0 0 0 0 1 0 日寄存器 1 0 0 0 0 1 1 月寄存器 1 0 0 0 1 0 0 星期寄存器 1 0 0 0 1 0 1 年寄存器 1 0 0 0 1 1 0 寫保護寄存器 1 0 0 0 1 1 1 慢充電寄存器 1 0 0 1 0 0 0 時鐘突發(fā)寄存器 1 0 1 1 1 1 1 最后一位 RD/W 為“ 0”時表示進行寫操作,為“ 1”時表示讀操作。 DS1302 內部寄存器列表如表 13 所示 。 表 13 DS14302 內部主要寄存器分布表 寄存器名稱 命令字 取值范圍 各位內容 寫 讀 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 0059 CH 10SEC SEC 分寄存器 82H 83H 0059 0 10MIN MIN 小時寄存器 84H 85H 0112 或 0023 12/24 0 A HR HR 日期寄存器 86H 87H 0128,29,30,31 0 0 10DATE DATE 月份寄存器 88H 89H 0112 0 0 0 10M MONTH 周寄存器 8AH 8BH 0107 0 0 0 0 0 DAY 年份寄存器 8CH 8DH 0099 10YEAR YEAR DS1302 內部的 RAM 分為兩類,一類是單個 RAM 單元,共 31 個,每個單元為一個 8 位的字節(jié),其命令控制字為 COH~FDH,其中奇數(shù)為讀操作,河南工程學院畢業(yè)設計 13 偶數(shù)為寫操作;再一類為突發(fā)方式下的 RAM,此方式下可一次性讀寫所有的RAM 的 31 個字節(jié),命令控制字為 FEH(寫)、 FFH(讀)。 我們現(xiàn)在已經知道了控制寄存器和 RAM 的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。單片機是通過簡單的同步串行通訊與DS1302 通訊的,每次通訊都必須由單片機發(fā)起,無論是讀還是寫操作,單片機都必須先向 DS1302 寫入一個命令幀,這個幀的格式如表 1 所 示,最高位 BIT7固定為 1, BIT6 決定操作是針對 RAM 還是時鐘寄存器,接著的 5 個 BIT 是 RAM或時鐘寄存器在 DS1302 的內部地址,最后一個 BIT 表示這次操作是讀操作抑或是寫操作。 物理上, DS1302 的通訊接口由 3 個口線組成,即 RST, SCLK, I/O。其中RST 從低電平變成高電平啟動一次數(shù)據(jù)傳輸過程, SCLK 是時鐘線, I/O 是數(shù)據(jù)線。具體的讀寫時序 如 圖 18,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效是在下降沿( DS1302 正是如此的, 但是在芯片手冊里沒有明確說明),如果不是特別確定,則把程序設計成這樣:平時 SCLK 保持低電平,在時鐘變動前設置數(shù)據(jù),在時鐘變動后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在 SCLK 保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。 圖 18 DS1302 的命令字結構 河南工程學院畢業(yè)設計 14 第二章 電路 硬件設計 及分析 第一節(jié) 時鐘 電路 系統(tǒng)的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。51 單片機內部有一個用于構成振蕩器的高增 益反相放大器。引腳 XTAL1 和XTAL2 分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容 C1 和 C2 構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為 12MHz,電容應盡可能的選擇陶瓷電容,電容值約為 22μF。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震 蕩器穩(wěn)定和可靠地工作。 時鐘電路如圖 21 所示 。 圖 21 時鐘電路圖 第二節(jié) 復位電路 復位是由外部的復位電路來實現(xiàn)的。片內復位電路是復位引腳 RST 通常采用上電自動復位和 按鍵手動 復位兩種方式,此電路系統(tǒng)采用的是 按鍵手動 復位電路, 高電平時復位, 如圖所示。當時鐘頻率選用 12MHz 時, C 取 22μF, R 約為河南工程學院畢業(yè)設計 15 1K。 復位電路如圖 22 所示 圖 22 復位電路圖 第三節(jié) DS1302 時鐘電路 DS1302 內含一個實時時鐘 /日歷和 31 字節(jié)靜態(tài) RAM,可以通過 串行接口與單片機進行通信。實時時鐘 /日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數(shù)和閏年的天數(shù)可自動調整,時鐘操作可通過 AM/PM 標志位決定采用 24 或 12 小時時間格式。 DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需三根 I/O 線:復位( RST)、 I/O 數(shù)據(jù)線、串行時鐘( SCLK)。DS1302 時鐘電路如圖 23 所示 。 圖 23 DS1302 時鐘電路圖 第四節(jié) DS18B20 溫度計電路 DS18B20 它具有 3 引腳 TO- 92 小體積封裝形式,溫度測量范圍為- 55℃~河南工程學院畢業(yè)設計 16 + 125℃,可編程為 9 位~ 12 位 A/D 轉換精度,測溫分辨率可達 ℃,被測溫度用符號擴展的 16 位數(shù)字量方式串行輸出,其工作電源既可在遠端引入,也可采用寄生電源方式產生,多個 DS18B20 可以并聯(lián)到 3 根或 2 根線上, CPU 只需一根端口線就能與多個 DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使 DS18B20 非常適用于遠距離多點溫度檢測系統(tǒng) 。電路圖如圖 24 所示 。 圖 24 DS18B20 溫度計電路 第五節(jié) 鍵盤電路 鍵盤接口是單片機應用系統(tǒng)中最常用的接口之一,鍵盤的類型很多,常用的有 獨立式鍵盤和矩陣式鍵盤,因為本設計需要的鍵盤比較少,所以采用獨立式鍵盤。 在鍵盤的應用中,需要解決鍵盤消抖的問題,一般使用的是軟件消抖的方法。鍵盤的電路圖如圖 25 所示 。 河南工程學院畢業(yè)設計 17 圖 25 鍵盤電路圖 第六節(jié) 顯示電路 顯示器是單片機常用的功能單元之一,顯示器的主要功能是 為單片機系統(tǒng)使用者提供必要的單片機工作信息,或者提供工作狀態(tài)的提示信息,顯示器的工作是由單片機通過顯示接口 驅動的。本設計采用的是 LCD1602 顯示電路圖如圖 26所示 。 圖 26 LCD1602 顯示電路圖 河南工程學院畢業(yè)設計 18 第七節(jié) 按鍵提示 電路 本設計具有 按鍵蜂鳴器響的功能,使得按鍵可靠工作。 按鍵提示 電路如圖 27所示 。 圖 27 按鍵提示電路如圖 河南工程學院畢業(yè)設計 19 第三章 軟件設計 第一節(jié) 主函數(shù)流程圖 主函數(shù)流程圖如圖 31 所示 。 初始化 LCD160DS130DS18B定時器鍵盤掃描開始結束讀DS18B20的溫度值和DS1302寄存器的值將讀出的值顯示到LCD1602上 圖 31 主函數(shù)流程圖 第二節(jié) DS18B20 溫度計程序流程圖 DS1820 溫度計程序流程圖如圖 32 所示 。 河南工程學院畢業(yè)設計 20 開 始初 始 化 D S 1 8 B 2 0跳 過 讀 序 列 號啟 動 溫 度 轉 換延 時初 始 化 D S 1 8 B 2 0跳 過 讀 序 列 號讀 取 溫 度 值結 束 圖 32 DS1820 溫度計程序流程圖 河南工程學院畢業(yè)設計 21 第三節(jié) 按鍵程序 流程圖 按鍵程序流程圖如圖 33 所示 。 開 始鍵 盤 掃 描蜂 鳴 器 響加 健 功 能 健 減 健相 應 的 按 鍵 操 作結 束 圖 33 按鍵程序流程圖 河南工程學院畢業(yè)設計 22 第四節(jié) 定時器 T0 中斷服務程序流程圖 定時器 T0 中斷服務程序流程圖如圖 34 所示 。 中 斷 程 序 入 口讀 1 8 B 2 0 的 溫 度 值 和D S 1 3 0 2 寄 存 器 的 值將 讀 出 的 值 顯 示 到L C D 1 6 0 2 上結 束 圖 34 定 時器 T0 中斷服務程序流程圖 河南工程學院畢業(yè)設計 23 第四章 結束語 帶時鐘顯示的溫度計 Proteus 仿真 效果圖如圖 41 所示。 圖 41 帶時鐘顯示的溫度計 Proteus 仿真效果圖 河南工程學院畢業(yè)設計 24 附錄 1 電路圖 河南工程學院畢業(yè)設計 25 附錄 2 主 程序清單 include include define uint unsigned int define uchar unsigned char uchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp。 define yh 0x80 //LCD 第一行的初始位置 ,因為 LCD1602 字符地址首位 D7 恒定為 1( 100000000=80) define er 0x80+0x40 //LCD 第二行初始位置(因為第二行第一個字符位置地址是 0x40) sbit rs=P2^0。 sbit en=P2^2。 sbit rw=P2^1。 //如果硬件上 rw 接地,就不用寫這句和后面的 rw=0 了 sbit led=P2^6。 //LCD 背光開關 sbit IO=P1^1。 sbit SCLK=P1^0。 sbit RST=P1^2。 sbit ACC0=ACC^0。 sbit ACC7=ACC^7。 sbit key1=P1^5。 //設置鍵 sbit key2=P1^6。 //加鍵 sbit key3=P1^7。 //減鍵 sbit buzzer=P1^3。//蜂鳴器,通過三極管 9012 驅動,端口低電平響 uchar code tab1[]={20 }。 //年顯示的固定字符 uchar code tab2[]={ : : }。//時間顯示 的固定字符 void delay(uint xms)//延時函數(shù),有參函數(shù) { uint x,y。 for(x=xms。x0。x) for(y=110。y0。y)。 } write_1602(uchar )//****液晶寫入指令函數(shù) **** { rs=0。//數(shù)據(jù) /指令選擇置為指令 rw=0。 //讀寫選擇置為寫 P0=。//送入數(shù)據(jù) delay(1)。 en=1。//拉高使能端,為制造有效的下降沿做準備 delay(1)。 en=0。//en 由高變低, 產生下降沿,液晶執(zhí)行命令 } write_1602dat(uchar dat)//***液晶寫入數(shù)據(jù)函數(shù) **** { rs=1。//數(shù)據(jù) /指令選擇置為數(shù)據(jù) rw=0。 //讀寫選擇置為寫 河南工程學院畢業(yè)設計 26 P0=dat。//送入數(shù)據(jù) delay(1)。 en=1。 //en 置高電平,為制造下降沿做準備 delay(1)。 en=0。 //en 由高變低,產生下降沿,液晶執(zhí)行命令 } lcd_init()//***液晶
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1