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

正文內容

多功能電子萬年歷設計_畢業(yè)論文(參考版)

2025-06-05 22:39本頁面
  

【正文】 delay1()。 //E端時序 delay1()。 //將 中的命令字寫入 LCD 數(shù)據(jù)口 delay1()。 // RW=1, RS=0,寫 LCD 命令字 delay1()。 delay1()。//充電 ds1302_write(0x8e,0x80)。 ds1302_write(0x8c,0x10)。 ds1302_write(0x88,0x12)。 ds1302_write(0x84,0x23)。 //寫允許 ds1302_write(0x80,0x58)。 ds1302_sclk=1。 return temp。 ds1302_sclk=1。 write_byte(add)。 ds1302_sclk=0。 } uchar ds1302_read(uchar add) { uchar temp。 ds1302_sclk=1。 write_byte(add)。 51 ds1302_sclk=0。 } return ACC。 //拉高 sclk ds1302_sclk=0。k) { ACC7=ds1302_io。 for(k=8。 //拉高 sclk ACC=1。 ds1302_sclk=0。k0。 ACC=dat。 return wen。 // 讀取溫度值高位 wen=a。 b=read_onechar()。 //跳過讀序號列號的操作 write_onechar(0xbe)。 ds18b20_init()。 // 跳過讀序號列號的操作 write_onechar(0x44)。 ds18b20_init()。 } uint read_wendu() 50 //DS18B20 讀溫度 { uchar a=0,b=0。 ds18b20_delay(4)。 else valueamp。 DQ=1。 DQ=0。i0。 } } uchar read_onechar() //讀一字節(jié) { uchar value=0,i。 ds18b20_delay(1)。 ds18b20_delay(5)。0x01==0x01) DQ=1。i) { DQ=0。 for(i=8。 ds18b20_delay(20)。 ds18b20_delay(14)。 ds18b20_delay(80)。 ds18b20_delay(8)。 } /**********************ds18b20***********************/ void ds18b20_init() //DS18B20 初始化 { uchar x=0。 _nop_()。y)。z) for(y=110。 for(z=x。 sbit ACC7=ACC^7。 //減 sbit nao = P2^7。 //選擇按鍵 sbit up = P2^5。 // 1602 寫 sbit lcd1602_e = P2^2。 sbit lcd1602_rs = P2^0。 //數(shù)據(jù)輸入輸出 sbit ds1302_sclk= P1^3。 //ds18b20 溫度傳送數(shù)據(jù) IO 口 sbit ds1302_rst = P1^1。 uint wendu。 uchar miao,fen,shi,nian,yue,ri,week,wendu_shi,wendu_ge,wendu_shu,variate,alarm_shi,alarm_fen,alarm_miao。 //液晶一直顯示的字符 uchar code tabe2[]= : : 。導師的指導將使我終生受益 。 其中無不凝聚著 指導老師王老師 的汗水和心血 , 在此 本人 深表感謝! 首 先我要感謝我的畢業(yè)論文指導老師王濤老師,從論文最初的選題,到后來的開題報告,直到論文完成的整個過程都的到了王老師的精心指導。 在論文完成之際,我的心情萬分激動。 此 多功能電子 萬年歷具有讀顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。 在整個設計過程中,硬件方面主要設計了 STC89C52RC 單片機的最小系統(tǒng)、 DS1302 接口電路、 DS18B20 接口電路、鬧鐘及 LCD 顯示;軟件方面借助各個渠道的資料,主要設計了陽歷數(shù)據(jù)讀取程序、陽歷轉陰歷程序、溫度采集程序、鬧鈴程序以及 LCD 顯示程序;系統(tǒng)的調試主要是通過一塊 STC89C52RC 開發(fā)板,再借助于 Keil、 STC 以及少許自己搭建的外圍電路實現(xiàn)的;再此過 程中,分步調試時顯示出了陽歷的日期及時間,還有實時溫度,集中調試時沒有達到預期效果。 通過調式證實本系統(tǒng)可以完成上文介紹的有共能,但在測試過程中發(fā)現(xiàn)本系統(tǒng)沒有記憶功能。電子萬年歷中 DS1302 電路使用專用的晶振,經測試制作的電子萬年歷,一個小時快了 1s 左右,誤差較大,實驗設計中可換用標準晶振或用軟件進行修正。按下鬧鈴設置按鈕,光標從鬧鈴開關狀態(tài)“ ON”開始閃爍;接下來的調整與前面時間日期設置相同。調整順序依次為:秒、分、時、星期、日期、月份、年。按一次,數(shù)字加 1。 鬧鐘程序的流程圖如圖 所示: 41 圖 將所定時間寫入存儲器 響鈴 繼續(xù)響鈴 停止響鈴 是否停止鬧鈴 當前時間與所定時間是否相等 鬧鈴是否響夠 10s Y Y Y N N N 開始 42 6 系統(tǒng)的測試 本多功能電子萬年歷實物如圖 和 所示 圖 多功能電子 萬年歷實物圖 圖 初始開啟實物圖 (1)時間、日期和鬧鈴 設置 的測試: 43 打開開關顯示器顯示初始化數(shù)據(jù),按時間調節(jié)按鈕,光標會從秒位開始閃爍,進入設定調整狀態(tài)。所以本設計中把鬧鐘信息寫先寫入AT24C02 存儲器中,然后在程序中讀出數(shù)據(jù)與當前時間進行比較,如果相等則發(fā)出鬧鐘警告。 ( 1) DS1302 的時鐘部分子程序主要涉及以下幾個主要函數(shù): ① void DS1302InputByte(unsigned char d); **功能: 實時的時鐘寫到里面一字節(jié) (內部函數(shù) ) ② unsigned char DS1302OutputByte(void); **功能: 實時的時鐘讀取一個字節(jié) (內部函數(shù) ) ③ Write1302() **功能: DS1302 寫到里面數(shù)據(jù)函數(shù) ④ Read1302() **功能: 讀取 DS1302 某某地址地數(shù) ⑤ void DS1302_GetTime(SYSTEMTIME *Time)。在初始八個時鐘周期之后就把命令字裝入到移位的寄存器,之外的時鐘正在讀操作時的輸出 /輸入的數(shù)據(jù)。數(shù)據(jù)應該串行輸入在脈沖信號( SCLK)的上升沿。下面是幾個驅動函數(shù): ( 1) Init_DS18B20(void) **功能: DS18B20 初始化 ( 2) ReadTemp(void) **功能:讀取溫度值 溫度采集模塊流程圖如圖 所示: 圖 溫度采集模塊流程圖 開始 DS18B20 初始化 溫度采集 送 STC89C52RC 處理 LCM1602 顯示 是否超范圍? Y N 38 時間數(shù)據(jù)采集 串行的 DS1302 時鐘芯片的期中主要包括了控制邏輯、移位寄存器、實時時鐘、振蕩器以及內、外部 RAM。操作協(xié)議為:初始化 DS18B20(發(fā)復位的脈沖信號) —— 發(fā) ROM 的功能命令 —— 發(fā)存儲操作命令 —— 處理此次數(shù)據(jù)。 溫度數(shù)據(jù)采集 由于 DS18B20 的單線通信功能是分時完成的,而且會有很嚴格的時隙的概念,因此讀 /寫時序就會顯的很重要。在主函數(shù)里面查詢SET、 SET1P 兩個按鍵是否按下, UP、 DOWN 鍵的功能由 SET 和 SET1 鍵激活。 按鍵識別及處理 本設計中按鍵采用查詢法識別按鍵,程序簡單 。 ( 1)主程序流程圖如圖 35 圖 主函數(shù)流程圖 初始化標志位 DS1302 初始化 鬧鐘模塊初始化 LCD1602 初始化 DS18B20 初始化 模式標志位 done=? 調整模式 LCD 顯示模塊 鬧鐘模塊 按鍵掃描模塊 =0 =1 程序開始 36 LCD 驅動及液晶顯示 LCD 驅動: LCD 的驅動包括初始化操作、寫指令、寫數(shù)據(jù)、顯示模塊的設定等操作。 34 5 軟件設計 整個軟件系統(tǒng)采用 C 語言編程,主要實現(xiàn)以下功能: ( 1) LCD 的驅動; ( 2)按鍵的識別處理; ( 3)溫度的采集; ( 4)時間數(shù)據(jù)的采集; ( 5)鬧鈴的設置。本產品按鍵較少可實驗 RS 觸發(fā)器來克服抖動,如下圖所示: 圖 RS 觸發(fā)器按鍵消抖電路圖 蜂鳴器設計 為鬧鐘響鈴而設計的蜂鳴器電路圖如圖 所示: 33 圖 蜂鳴器電路圖 在本設計中,蜂鳴器連接關系如圖所示單片機 T1 腳輸出接 Q1 基極,通過控制 Q1 導通或截止 來控制蜂鳴器上是否有電流,從而發(fā)出聲音。 解決鍵的抖動可使用軟件或硬件的方法。 SET 鍵:按下 SET 鍵進入時間校準狀態(tài),按一下進入秒調整,兩下分調整,依此類推可進行各年月日,時分秒以及星期的校準; UP 鍵:當 SET 鍵按下時, UP 進行 SET 選定項(如:小時)的加操作; DOWN 鍵:當 SET 鍵按下時, DOWN 進行 SET 選定項(如:小時)的減操作; 32 SET1 鍵:當 SET 鍵按下時,此鍵功能為設置鬧鐘時間和開關鬧鐘功 能。 按鍵模塊設計 本系統(tǒng)用到了 5 個按鍵,其中一個用作系統(tǒng)手動復位,另外 4 個采用獨立按鍵,該種接法查詢簡單,程序處理簡單 ,可節(jié)省 CPU 資源,按鍵電路如圖 所示, 4 個獨立按鍵分別與單片機的 、 、 接口相連。 引腳圖腳描述如下: 圖 AT24C02 引腳圖 A0 A1 A2 器件地址選擇 SDA 串行數(shù)據(jù)和地址 28 SCL 串行時鐘 WP 寫保護 VCC +~ GND 接地 接口電路的設計 AT24C02 與單片機的接口電路如圖 所示: AT24C02 與 STC89C52RC 的接口電路 LCD 顯示模塊 LCM1602 的特性及使用說明 ( 1) LCM1602 的接口信號說明表 表 3 LCM1602 的接口信號 編號 引腳符號 功能說 明 編號 引腳符號 功能說明 1 VSS 電源地 9 D2 DATA I/O 2 VDD 電源正極 10 D3 DATA I/O 29 3 VL 液晶顯示的偏壓信號 11 D4 DATA I/O 4 RS 數(shù)據(jù) /命令選擇端( H/L) 12 D5 DATA I/O 5 R/W 讀 /寫選擇端( H/L) 13 D6 DATA I/O 6 E 使能信號 14 D7 DATA I/O 7 D0 DATA I/O 15 BLA 背光正極 8 D1 DATA I/O 16 BLK 背光負極 ( 2)基本地操作 時序如下: ① 讀狀態(tài): RS=L, RW=H, E=H;② 寫指令: RS=L, RW=L, D0~D7=指令碼, E=高脈沖;③ 讀數(shù)據(jù): RS=H, RW=H, E=H;④ 寫數(shù)據(jù):RS=H, RW=L, D0~ D7=數(shù)據(jù), E=高脈沖。 數(shù)據(jù)傳送的控制是由產生串行時鐘以及所有起始停止信號的主器件決定的。 ( 2) AT24C02 功能說明 AT24C02 支持的是 I2C 為總線數(shù)據(jù)的傳送協(xié)議。 圖 溫度傳感器 DS18B20 接口電路 鬧鐘模塊系統(tǒng)設計于性能分析 此部分硬件上利用 AT24C02 存儲鬧鐘時間,普通蜂鳴器作為鬧鈴播放器件。計數(shù)器 1 對低溫度系數(shù)晶
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1