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

正文內(nèi)容

基于單片機的數(shù)字時鐘設(shè)計畢業(yè)論文-資料下載頁

2025-06-27 20:35本頁面
  

【正文】 DS18B20 芯片程序設(shè)計系統(tǒng)程序的設(shè)計主要包括 C 程序主函數(shù)、 DS18B20 復(fù)位函數(shù)、 DS18B20 寫字節(jié)函數(shù)、DS18B20 讀字節(jié)函數(shù)、溫度計算轉(zhuǎn)換函數(shù)和顯示函數(shù)等,系統(tǒng)主程序設(shè)計流程圖如圖 所示。 開始初始顯示讀取溫度值、發(fā)溫度轉(zhuǎn)換命令讀出溫度值計算、處理,送顯示模塊圖 DS18B20 芯片程序流程圖 液晶程序模塊時鐘需顯示時間、溫度。以上兩個模塊都需將數(shù)值送顯示模塊。液晶的一般初始化過程:延時 15mS寫指令 38H(不檢測忙信號)延時 5mS寫指令 38H(不檢測忙信號)延時 5mS寫指令 38H(不檢測忙信號)以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號寫指令 38H:顯示模式設(shè)置寫指令 08H:顯示關(guān)閉寫指令 01H:顯示清屏寫指令 06H:顯示光標移動設(shè)置寫指令 0CH:顯示開及光標設(shè)置void en_toggle(){en=0。//_nop_()。delay()。en=1。delay()。// _nop_()。en=0。} //液晶延時 本章小結(jié)本章介紹了本次設(shè)計的軟件部分的設(shè)計思想,即時鐘程序與溫度轉(zhuǎn)換顯示程序。5 總 結(jié)本 設(shè) 計 能 夠 準 確 顯 示 時 間 ( 顯 示 格 式 為 時 時 : 分 分 : 秒 秒 , 24 小 時 制 ) , 可 隨時 進 行 時 間 調(diào) 整 , 具 有 鬧 鐘 時 間 設(shè) 置 、 鬧 鐘 開 /關(guān) 、 止 鬧 功 能 , 能 夠 對 時 鐘 所 在 的環(huán) 境 溫 度 進 行 測 量 并 顯 示 。 設(shè) 計 以 硬 件 軟 件 化 為 指 導(dǎo) 思 想 , 充 分 發(fā) 揮 單 片 機 功 能 ,大 部 分 功 能 通 過 軟 件 編 程 來 實 現(xiàn) , 電 路 簡 單 明 了 , 系 統(tǒng) 穩(wěn) 定 性 高 ?;?于 單 片 機 的 數(shù) 字 時 鐘 系 統(tǒng) 具 有 顯 示 準 確 、 直 觀 、 易 于 調(diào) 整 等 特 點 , 單 片 機 所被 占 用 的 I/O 口 不 多 , 因 此 系 統(tǒng) 具 有 一 定 的 可 擴 展 性 。 電 子 時 代 已 經(jīng) 到 來 。 做 為 新時 代 的 我 們 , 更 應(yīng) 該 提 高 自 身 能 力 , 適 應(yīng) 新 時 代 的 發(fā) 展 。 知 識 來 自 實 踐 , 多 去 生 活中 探 詢 所 需 要 的 。 對 于 上 述 所 提 到 的 研 究 課 題 , 我 們 應(yīng) 盡 量 考 慮 到 人 的 因 素 , 增 強時 鐘 的 實 用 性 和 操 作 性 , 為 使 用 者 提 供 切 實 的 方 便 , 營 造 一 種 舒 適 的 生 活 氛 圍 。 所以 , 在 設(shè) 計 的 時 候 , 應(yīng) 該 從 多 方 面 、 多 角 度 去 考 慮 問 題 , 而 且 應(yīng) 該 進 一 步 提 高 時 鐘的 質(zhì) 量 。參 考 文 獻[1] [J]. 內(nèi)蒙古石油化工,2022 ,1. [2] 系列單片機應(yīng)用技術(shù),北京航空航天大學出版社,2022[3],北京航空航天大學出版社,2022 [4]郁有文,常健,[M] .西安:西安電子科技大學出版社,[5]張韻華. 符號計算系統(tǒng) Mathematica 教程[M]. 北京:[6]張國營,陳締纓. 傳感器實驗指導(dǎo)書[M]. 徐州:中國礦業(yè)大學物理實驗中心 .2022[7] 張曄,[M]. 高等教育出版社, 2022.[8]AT89C51 Datasheet ,ATMEL,2022[9]LCD1602 Datasheet [10]DS1302 Datasheet ,DALLAS Semiconductor,2022[11]DS18B20 Datasheet ,DALLAS Semiconductor ,2022[12] C 程序設(shè)計實例指導(dǎo)[M]. 北京:航空航天大學業(yè)出版社, 2022.[13]樓燃苗,李光飛. 51 系列單片機設(shè)計實例[M]. 北京: 航空航天大學業(yè)出版社, 2022.[14]馬忠梅等. 單片機的 C 語言應(yīng)用程序設(shè)計[M]. 北京:航空航天大學業(yè)出版社, 1999.[15]賴麒文. 8051單片機C 語言徹底應(yīng)用[M ]. 北京: 科學業(yè)出版社 , 2022.致 謝首 先 , 感 謝 學 校 四 年 來 對 我 的 培 養(yǎng) 。 本 課 題 的 前 期 準 備 以 及 整 個 研 究 過 程 是 在孫 艷 菱 老 師 的 耐 心 指 導(dǎo) 下 完 成 的 , 她 嚴 謹 的 治 學 態(tài) 度 、 扎 實 的 理 論 基 礎(chǔ) 、 全 身 心 投入 工 作 的 精 神 以 及 對 學 生 盡 心 盡 力 的 態(tài) 度 給 了 我 極 大 的 幫 助 與 鼓 勵 , 使 我 受 益 匪 淺 ,在 此 謹 對 他 表 示 崇 高 的 敬 意 和 衷 心 的 感 謝 !還 要 衷 心 感 謝 其 他 所 有 對 本 課 題 的 研 究 和 論 文 撰 寫 有 過 幫 助 的 同 學 。附 錄 多 功 能 數(shù) 字 時 鐘 設(shè) 計 程 序includeincludeincludedefine uchar unsigned chardefine uint unsigned intsbit rs=P2^0。sbit rw=P2^1。sbit en=P2^2。sbit reset=P1^5。sbit sclk=P1^6。sbit io=P1^7。sbit DQ=P3^0。uint tvalue。//溫度值//uchar tflag。//溫度正負標志//unsigned int disdata[4]。unsigned char led_seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}。//顯示段碼uchar str1[]={date: }。uchar str2[]={time: }。uchar init[]={0x00,0x10,0x16,0x05,0x08,0x03,0x09}。//秒,分,時,日,月,星期,年void delay(){uchar j。for(j=j0。j)。}//液晶模塊//void en_toggle(){en=0。//_nop_()。delay()。en=1。delay()。// _nop_()。en=0。} //注意必須加延時,否則會出問題的void is_ready(){ P0=0x00。//設(shè)置為輸入口 //注意:現(xiàn)實中應(yīng)該送 0xff rs=0。 rw=1。 en=1。 while(P0amp。0x80)。 en=0。}void write_cmd(uchar cmd)//寫指令//{ is_ready()。 rs=0。 rw=0。 P0=cmd。 en_toggle()。 _nop_()。}void write_data(uchar indata)//寫數(shù)據(jù)//{ is_ready()。 rs=1。 rw=0。 P0=indata。 en_toggle()。 _nop_()。}void write_str(uchar addr,uchar *p){uchar i。 write_cmd(addr)。while(p[i]!=39。\039。){write_data(p[i])。 i++。}}void write_position(uchar row,uchar col){uchar p。if(row==1){p=0x80+col1。 write_cmd(p)。}else{p=0xc0+col1。 write_cmd(p)。 }}void init_lcd()//初始化//{write_cmd(0x38)。write_cmd(0x0c)。write_cmd(0x06)。write_cmd(0x01)。//清屏幕}//液晶模塊結(jié)束void write_byte(uchar inbyte){uchar i。for(i=8。i0。i){ sclk=0。 //寫的時候低電平改變數(shù)據(jù) if(inbyteamp。0x01) io=1。 else io=0。 sclk=1。 //寫的時候高電平,把數(shù)據(jù)寫入 ds1302 _nop_()。 inbyte=inbyte1。}}void wr_(unsigned char )//寫指令//{ is_ready()。 rs=0。 rw=0。 P0=。 delay()。 en=1。 delay()。 en=0。}void wr_dat(unsigned char dat)//寫數(shù)據(jù)//{ delay()。 rs=1。 rw=0。 en=0。 P0=dat。 en_toggle()。 _nop_()。}void display(unsigned char *p)//顯示//{while(*p!=39。\039。){wr_dat(*p)。p++。delay()。}}init_play()//初始化顯示//{ init_lcd()。 wr_(0x80)。display(str1)。wr_(0xc0)。display(str2)。 } //ds1302 模塊開始//注意點:sclk 的上升沿輸入數(shù)據(jù),sclk 的下跳沿輸出數(shù)據(jù)//讀寫時都是從第 0 位開始uchar read_byte() //sclk 的下跳沿讀數(shù)據(jù){uchar i,temp=0。 io=1。 //設(shè)置為輸入口for(i=7。i0。i){ sclk=0。 if(io==1) temp=temp|0x80。 else temp=tempamp。0x7f。 sclk=1。 //產(chǎn)生下跳沿 temp=temp1。}return (temp)。}//往 ds1302 的某個地址寫入數(shù)據(jù)void write_ds1302(uchar cmd,uchar indata){ reset=1。 write_byte(cmd)。 write_byte(indata)。 reset=0。 sclk=0。}//讀 ds1302 某地址的的數(shù)據(jù)uchar read_ds1302(uchar addr){uchar backdata。reset=1。write_byte(addr)。backdata=read_byte()。//先寫地址,然后讀數(shù)據(jù)reset=0。sclk=0。return (backdata)。}//設(shè)置初始時間void set_ds1302(uchar addr,uchar *p,uchar n)//寫入 n 個數(shù)據(jù){ write_ds1302(0x8e,0x00)。//寫控制字,允許寫操作 for(。n0。n) {write_ds1302(addr,*p)。 p++。 addr=addr+2。 } write_ds1302(0x8e,0x80)。//寫保護,不允許寫}// 讀取當前時間void read_nowtime(uchar addr,uchar *p,uchar n){for(。n0。n){ *p=read_ds1302(addr)。 p++。 addr=addr+2。} }void init_ds1302(){ reset=0。 sclk=0。 write_ds1302(0x80,0x00)。//寫控制字,允許寫 write_ds1302(0x90,0x00)。//禁止渦流充電 }//ds1302 模塊結(jié)束/******************************ds18b20 程序*******************************/void delay_18B20(unsigned int i)//延時 1 微秒//{ while(i)。}void ds1820rst() /*ds1820 復(fù)位*/{ unsigned char x=0。DQ = 1。 //DQ 復(fù)位delay_18B20(2)。 //延時DQ = 0。 //DQ 拉低//delay_18B20(50)。 //精確延時大于 480us//DQ = 1。 //拉高//delay_18B20(20)。 } uchar ds1820rd() /*讀數(shù)據(jù)*/{ unsigned char i=0。unsigned char dat = 0。for (i=8。i0。i){ DQ = 0。 //給脈沖信號// dat=1。 DQ = 1。 //給脈沖信號// if(DQ) dat|
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1