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

正文內(nèi)容

基于at89s51單片機(jī)的電子時(shí)鐘(帶溫度顯示)設(shè)計(jì)(編輯修改稿)

2025-01-11 02:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 60us保證 DS18B20能夠在 15us到 45us之間能夠正確地采樣 IO總線上的0 電平當(dāng)要寫(xiě) 1 時(shí)序時(shí)單總線被拉低之后在 15us 之內(nèi)就得釋放單總線 4 系統(tǒng)硬件設(shè)計(jì)所需的器材 5V 電源 3V 電源 AT89S51 單片機(jī) 1 個(gè) 液晶顯示器 1 個(gè) DS1302 1 個(gè) DS18B20 一個(gè) 電阻 1 K 的 2 個(gè) 8550 三極管 晶振 12M 的一個(gè) 32768K 的一個(gè) 電容 30P 的兩個(gè) LED 二極管 1 個(gè) 22μ f 電容 1 個(gè) 輕觸開(kāi)關(guān) 5 個(gè) 5 系統(tǒng)軟件總體設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì)采用匯編語(yǔ)言對(duì)單片機(jī)進(jìn)行 編程實(shí)現(xiàn)各項(xiàng)功能程序在WindowsXP 環(huán)境下采用 Keil 軟件編寫(xiě)軟件控制程序主要有主控程序電子時(shí)鐘的時(shí)間控制程序 h 和溫度顯示程序組成主控程序中對(duì)整個(gè)程序進(jìn)行控制進(jìn)行了初始化程序還有鍵盤(pán)功能程序以及顯示程序和時(shí)間控制程序是電子時(shí)鐘中比較重要的部分時(shí)間控制程序體現(xiàn)了年月日時(shí)分秒的計(jì)算方法 6 主程序流程圖 圖 16 主流程框圖 Fig16 The process flow chart 源程序 使用說(shuō)明按 s1 進(jìn)入日期設(shè)置進(jìn)入設(shè)置后進(jìn)行光標(biāo)左移 按 s2 進(jìn)入時(shí)間設(shè)置設(shè)置完成后進(jìn)行確認(rèn) 按 s3 進(jìn)行減 按 s4 進(jìn)行加 include define uint unsigned int define uchar unsigned char sbit rw P26 sbit rs P25 1602 IO 口位定義 sbit en P27 sbit rst P35 sbit sclk P36 1302 IO 口位定義 sbit io P34 sbit key1 P10 sbit key2 P11 獨(dú)立按鍵位 定義 sbit key3 P12 sbit key4 P13 sbit DQ P22 uchar tempL 0 臨時(shí)變量低位 uchar tempH 0 臨時(shí)變量高位 uint temperature uint hour minute second year month day uint key 0 uchar tab_num[] 0x300x310x320x330x340x350x360x370x380x390x3a0x2d 對(duì)應(yīng)字符為 0 1 2 3 4 5 6 7 8 9 uchar tab_time[] 1210341056 uchar tab_date[] 202111091127 延時(shí)函數(shù)延時(shí) z 毫秒 void delay uint z uint x y for x 0x zx for y 0y 110y 函數(shù)功能延時(shí)子程序 入口參數(shù) k 出口參數(shù) void delay18b20 unsigned int k unsigned int n n 0 while n k n return 函數(shù)功能 DS18B20 初始化子程序 入口參數(shù) 出口參數(shù) Init_DS18B20 void unsigned char x 0 DQ 1 DQ 先置高 delay18b20 8 延時(shí) DQ 0 發(fā)送復(fù)位脈沖 delay18b20 85 延時(shí) 480ms DQ 1 拉高數(shù)據(jù)線 delay18b20 14 等待 1560ms 函數(shù)功能向 DS18B20 讀一字節(jié)數(shù)據(jù) 入口參數(shù) 出口參數(shù) dat ReadOneChar void unsigned char i 0 unsigned char dat 0 for i 8i 0i DQ 1 delay18b20 1 DQ 0 dat 1 DQ 1 if DQ dat 0x80 delay18b20 4 return dat 函數(shù)功能向 DS18B20 寫(xiě)一字節(jié)數(shù)據(jù) 入口參數(shù) dat 出口參數(shù) WriteOneChar unsigned char dat unsigned char i 0 for i 8i 0i DQ 0 DQ dat0x01 delay18b20 5 DQ 1 dat 1 delay18b20 4 函數(shù)功能向 DS18B20 讀溫度值 入口參數(shù) 出口參數(shù) temperature uint ReadTemperature void Init_DS18B20 初始化 WriteOneChar 0xcc 跳過(guò)讀序列號(hào)的操作 WriteOneChar 0x44 啟動(dòng)溫度轉(zhuǎn)換 delay18b20 125 轉(zhuǎn)換需要一點(diǎn)時(shí) 間延時(shí) Init_DS18B20 初始化 WriteOneChar 0xcc 跳過(guò)讀序列號(hào)的操作 WriteOneChar 0xbe 讀溫度寄存器頭兩個(gè)值分別為溫度的低位和高位 tempL ReadOneChar 讀出溫度的低位 LSB tempH ReadOneChar 讀出溫度的高位 MSB 溫度轉(zhuǎn)換把高低位做相應(yīng)的運(yùn)算轉(zhuǎn)化為實(shí)際溫度 temperature tempH256 tempL 58 delay18b20 200 return temperature 1302 寫(xiě)一個(gè)字節(jié) void write_byte uchar dat uchar i dat_w dat_w dat for i 0i 8i io 0 if dat_w 0x01 io 1 else io 0 dat_w dat_w 1 sclk 0 sclk 1 sclk 0 1302 讀一個(gè)字節(jié) uchar read_byte uchar i k k 0 for i 0i 8i k k 1 if io k k0x80 sclk 1 sclk 0 sclk 0 return k 1302 把數(shù)據(jù)寫(xiě)入地址 void write_add uchar add uchar dat rst 0 sclk 0 rst 1 write_byte add write_byte dat 10 4 dat 10 sclk 0 rst 0 1302 從地址讀出數(shù)據(jù) uchar read_add uchar add uchar temp dat1 dat2 rst 0 sclk 0 rst 1 write_byte add temp read_byte sclk 0 rst 0 dat1 temp 16 dat2 temp 16 temp dat1 10 dat2 return temp 1302 時(shí)間初始化 void ds1302_init write_add 0x8e0x00 打開(kāi)寫(xiě)保護(hù)寫(xiě)入時(shí)間 write_add 0x8050 初始化 秒 50 write_add 0x8259 初始化 分 59 write_add 0x8423 初始化 時(shí) 23 write_add 0x8631 初始化 日 31 write_add 0x8812 初始化 月 12 write_add 0x8c10 初始化 年 2021 write_add 0x8e0x80 關(guān)閉寫(xiě)保護(hù)禁止寫(xiě)入 1302 讀出時(shí)間 void ds1302 write_add 0x8e0x00 打開(kāi)寫(xiě)保護(hù)讀出時(shí)間 second read_add 0x81 從 1302 讀出時(shí)間 秒 minute read_add 0x83 從 1302 讀出時(shí)間 分 hour read_add 0x85 從 1302 讀出時(shí)間 時(shí) day read_add 0x87 從 1302 讀出時(shí)間 日 month read_add 0x89 從 1302 讀出時(shí)間 月 year read_add 0x8d 從 1302 讀出時(shí)間 年 write_add 0x8e0x80 關(guān)閉寫(xiě)保護(hù)禁止讀出 寫(xiě)命令函數(shù) void write_ uchar rs 0 rw 0 en 0 delay 5 P0 delay 5 en 1 delay 5 en 0 寫(xiě)數(shù)據(jù)函數(shù) void write_data uchar date rs 1 rw 0 en 0 delay 5 P0 date delay 5 en 1 delay 5 en 0 1602 顯示一個(gè)字符 void DisplayOne uchar p write_data p
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1