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

正文內(nèi)容

電子鐘溫度計(jì)課程設(shè)計(jì)--電子鐘溫度計(jì)的設(shè)計(jì)-文庫吧

2025-01-02 02:59 本頁面


【正文】 力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,使用方便等優(yōu)點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。測(cè)量溫度范圍寬,測(cè)量精度高 ,在使用中不需要任何外圍元件,支持多點(diǎn)組網(wǎng)功能 多個(gè) DS18B20 可以并聯(lián)在惟一的單線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫,供電方式靈活 DS18B20 可以通過內(nèi)部寄生電路從數(shù)據(jù)線上獲取電源。因此,當(dāng)數(shù)據(jù)線上的時(shí)序滿足一定的要求時(shí),可以不接外部電源,從而使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。因此非常適合本系統(tǒng)使用。 單總線介紹n 單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線完成。n 單總線通常要求外接一個(gè)約為 —10K 的上拉電阻,這樣,當(dāng)總線閑置時(shí)其狀態(tài)為高電平。 DS18B20管腳介紹1 GND為電源 地;2 DQ為數(shù)字信號(hào)輸入/輸出端3 VDD為外接供電電源輸入端,在寄生電源 DS18B20時(shí)序介紹DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲(chǔ)器操作指令→數(shù)據(jù)傳輸。其工作時(shí)序包括:l 初始化時(shí)序l 寫時(shí)序l 讀時(shí)序 DS18B20與單片機(jī)的接口電路 設(shè)置模塊采用4個(gè)獨(dú)立按鍵,接口電路如下。第五章 調(diào)試與驗(yàn)證本設(shè)計(jì)采用protues軟件進(jìn)行仿真,經(jīng)過反復(fù)的調(diào)試最終仿真通過??梢詫?shí)現(xiàn)預(yù)期的功能。部分功能演示如圖51所示附錄一:程序includeincludedefine uint unsigned intdefine uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp。//flag用于讀取頭文件中的溫度值,和顯示溫度值define yh 0x80 //LCD第一行的初始位置,因?yàn)長CD1602字符地址首位D7恒定為1(100000000=80)define er 0x80+0x40 //LCD第二行初始位置(因?yàn)榈诙械谝粋€(gè)字符位置地址是0x40)//液晶屏的與C51之間的引腳連接定義(顯示數(shù)據(jù)線接C51的P0口)sbit rs=P2^5。sbit rw=P2^6。 //如果硬件上rw接地,就不用寫這句和后面的rw=0了sbit en=P2^7。sbit SCLK = P1^6。 /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 */sbit IO = P3^5。 /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */sbit RST = P1^7。 /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳 */sbit ACC0=ACC^0。sbit ACC7=ACC^7。//校時(shí)按鍵與C51的引腳連接定義sbit key1=P3^2。 //設(shè)置鍵sbit key2=P3^3。 //加鍵sbit key3=P3^4。 //減鍵uchar code tab1[]={20 }。 //年顯示的固定字符uchar code tab2[]={ : : }。//時(shí)間顯示的固定字符//延時(shí)函數(shù),后面經(jīng)常調(diào)用void delay(uint xms)//延時(shí)函數(shù),有參函數(shù){ uint x,y。 for(x=xms。x0。x) for(y=110。y0。y)。}/********液晶寫入指令函數(shù)與寫入數(shù)據(jù)函數(shù),以后可調(diào)用**************/write_1602(uchar )//****液晶寫入指令函數(shù)****{ rs=0。//數(shù)據(jù)/指令選擇置為指令 rw=0。 //讀寫選擇置為寫 P0=。//送入數(shù)據(jù) delay(1)。 en=1。//拉高使能端,為制造有效的下降沿做準(zhǔn)備 delay(1)。 en=0。//en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令}write_1602dat(uchar dat)//***液晶寫入數(shù)據(jù)函數(shù)****{ rs=1。//數(shù)據(jù)/指令選擇置為數(shù)據(jù) rw=0。 //讀寫選擇置為寫 P0=dat。//送入數(shù)據(jù) delay(1)。 en=1。 //en置高電平,為制造下降沿做準(zhǔn)備 delay(1)。 en=0。 //en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令}lcd_init()//***液晶初始化函數(shù)****{ write_1602(0x38)。//設(shè)置液晶工作模式,意思:16*2行顯示,5*7點(diǎn)陣,8位數(shù)據(jù) write_1602(0x0c)。//開顯示不顯示光標(biāo) write_1602(0x06)。//整屏不移動(dòng),光標(biāo)自動(dòng)右移 write_1602(0x01)。//清顯示 write_1602(yh+1)。//日歷顯示固定符號(hào)從第一行第1個(gè)位置之后開始顯示 for(a=0。a14。a++) { write_1602dat(tab1[a])。//向液晶屏寫日歷顯示的固定符號(hào)部分 //delay(3)。 } write_1602(er+2)。//時(shí)間顯示固定符號(hào)寫入位置,從第2個(gè)位置后開始顯示 for(a=0。a8。a++) { write_1602dat(tab2[a])。//寫顯示時(shí)間固定符號(hào),兩個(gè)冒號(hào) //delay(3)。 }}/***************DS1302有關(guān)子函數(shù)********************/void write_byte(uchar dat)//寫一個(gè)字節(jié){ ACC=dat。 RST=1。 for(a=8。a0。a) { IO=ACC0。 SCLK=0。 SCLK=1。 ACC=ACC1。 }}uchar read_byte()//讀一個(gè)字節(jié){ RST=1。 for(a=8。a0。a) { ACC7=IO。 SCLK=1。 SCLK=0。 ACC=ACC1。 } return (ACC)。}void write_1302(uchar add,uchar dat)//向1302芯片寫函數(shù),指定寫入地址,數(shù)據(jù){ RST=0。 SCLK=0。 RST=1。 write_byte(add)。 write_byte(dat)。 SCLK=1。 RST=0。}uchar read_1302(uchar add)//從1302讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù)來源地址{ uchar temp。 RST=0。 SCLK=0。 RST=1。 write_byte(add)。 temp=read_byte()。 SCLK=1。 RST=0。 return(temp)。}uchar BCD_Decimal(uchar bcd)//BCD碼轉(zhuǎn)十進(jìn)制函數(shù),輸入BCD,返回十進(jìn)制{ uchar Decimal。 Decimal=bcd4。 return(Decimal=Decimal*10+(bcdamp。=0x0F))。}//void ds1302_init() //1302芯片初始化子函數(shù)(20100107,12:00:00,week4){RST=0。SCLK=0。write_1302(0x8e,0x00)。 //允許寫,禁止寫保護(hù) //write_1302(0x80,0x00)。 //向DS1302內(nèi)寫秒寄存器80H寫入初始秒數(shù)據(jù)00//write_1302(0x82,0x00)。//向DS1302內(nèi)寫分寄存器82H寫入初始分?jǐn)?shù)據(jù)00//write_1302(0x84,0x12)。//向DS1302內(nèi)寫小時(shí)寄存器84H寫入初始小時(shí)數(shù)據(jù)12//write_1302(0x8a,0x04)。//向DS1302內(nèi)寫周寄存器8aH寫入初始周數(shù)據(jù)4//write_1302(0x86,0x07)。//向DS1302內(nèi)寫日期寄存器86H寫入初始日期數(shù)據(jù)07//write_1302(0x88,0x01)。//向DS1302內(nèi)寫月份寄存器88H寫入初始月份數(shù)據(jù)01//write_1302(0x8c,0x10)。//向DS1302內(nèi)寫年份寄存器8cH寫入初始年份數(shù)據(jù)10write_1302(0x8e,0x80)。 //打開寫保護(hù)}//溫度顯示子函數(shù)void write_temp(uchar add,uchar dat)//向LCD寫溫度數(shù)據(jù),并指定顯示位置{ uchar gw,sw。 gw=dat%10。//取得個(gè)位數(shù)字 sw=dat/10。//取得十位數(shù)字 write_1602(er+add)。//er是頭文件規(guī)定的值0x80+0x40 write_1602dat(0x30+sw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0x30+gw)。//數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1