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

正文內(nèi)容

基于單片機(jī)c51的萬年歷設(shè)計課程設(shè)計-文庫吧資料

2025-07-01 13:58本頁面
  

【正文】 **************/void write_1302(uchar DS_ADD,uchar DS_DAT)//寫操作{ rst=0。 sck=0。 ACC7=sda。i0。 }}/*************************讀數(shù)據(jù)字節(jié)子函數(shù)**************************************/uchar Output_1byte(void)//讀一字節(jié)數(shù)據(jù){ uchar i。 sck=0。i) { sda=ACC0。 for(i=8。 }/***************************寫數(shù)據(jù)字節(jié)子函數(shù)************************************/void Input_1byte(uchar TD) //寫一字節(jié)數(shù)據(jù){ uchar i。 //一周七天,因此只需個位 write_(0x80+14)。 // 不用重新光標(biāo)寫位} /**************************顯示周子函數(shù)*****************************************/ void write_zhou(uchar time1)//用于在1602上顯示周信息,與顯示 { //時間日期子函數(shù)類似 uchar gewei。 //初使化中設(shè)定了寫一個字符后,地址指針加1,因此這里 write_(0x80+0x40+14)。 //定義顯示在液晶的什么位置 write_data(0x30+shi)。 //進(jìn)制十位 xshu=temp%10。 shi=temp/100。 //初使化中設(shè)定了寫一個字符后,地址指針加1,因此這里} // 不用重新光標(biāo)寫位void write_temp(uchar add,uint temp)//用于在1602上顯示年、月、日、時、分、秒。 //定義顯示在液晶的什么位置 write_data(0x30+shiwei)。 //將從DS1302中讀取的BCD碼數(shù)據(jù)轉(zhuǎn)化成十六進(jìn)制十位 gewei=time%16。Add為顯示位置,time為要顯示的內(nèi)容{ uchar shiwei,gewei。i++) write_data(table3[i])。 for(i=0。i++) write_data(table2[i])。 for(i=0。}/**************************顯示初始化界面函數(shù)*************************************/void displaystar(void) { uchar i。num116。 write_(0x80+0x40)。num116。 write_(0x80)。num++) //功能與上同,用于將 : : 寫入 write_data(table1[num])。 //將指針指向1602液晶的第二行 for(num=0。num++) //循環(huán)函數(shù),用于將 2012 寫入液晶 write_data(table[num])。 //將指針指向初始位置 for(num=0。}/*******************************************************************************/void gudingtime_1602(){ uchar num。//寫一個字符后,地址指針加1 write_(0x01)。//設(shè)置LCD為16*2顯示、5*7點陣、8位數(shù)據(jù)接口模式 write_(0x0c)。 lcden=0。 lcden=0。 lcden=1。 //與寫指令類似,這里lcdrs設(shè)為1 P0=date。 // 就寫入到LCD了 lcden=0。 //由1602讀寫操作時序圖,先將指令賦給P0口,延時后將使能 lcden=1。 //液晶rs接口為0時,寫指令,rs為1時寫數(shù)據(jù) P0=。 }}/*****************向1602液晶中寫一個指令**************************************/void write_(uchar ){ lcdwr=0。 BELL = 1。i++) { BELL = 0。 for(i=0。 //對結(jié)果進(jìn)行4舍5入 return(t)。 tt=t*。 t=8。 b=ReadOneChar()。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 // 啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 float tt=0。 unsigned char b=0。 dat=1。 delay0(5)。 DQ = datamp。 i0。}//DS18B20寫一個字節(jié)void WriteOneChar(unsigned char dat){ unsigned char i=0。 delay0(4)。 DQ = 1。i){ DQ = 0。 for (i=8。}//DS18B20讀一個字節(jié)uchar ReadOneChar(void){ unsigned char i=0。 x=DQ。 //精確延時 大于 480us DQ = 1。 //稍做延時 DQ = 0。 DQ = 1。y)。x) for(y=110。 for(x=z。//*********************短暫延時********************************void delay0(uint z) { while(z)。 //歡迎界面//*****************星期編碼表**********************************uchar code Weeks[][3]={{SUN},{MON},{TUE},{WED},{THU},{FRI},{SAT},{SUN}}。 //字庫中的字可直接以外加號的形式直接寫入uchar code table2[]={ Wan Nian Li !}。 //要寫入1602液晶的數(shù)據(jù)uchar code alarm1[]={ : }。uchar code table[]={ 2013 }。sbit BELL=P1^4。 //定義DS18B20通信端口sbit ACC0=ACC^0。 //定義確定按鈕sbit s4=P3^3。 //定義設(shè)置按鈕sbit s2=P3^1。 //DS1320復(fù)位sbit sck=P1^0。 //定義選數(shù)據(jù)寄存器選指令寄存器控制端sbit sda=P1^1。 //定義下面通過lcden來操作P2^7口,1602液晶使能控制端sbit lcdwr=P2^5。本次課程設(shè)計是一個要求動手能力很強(qiáng)的設(shè)計,而且也是一個有嚴(yán)謹(jǐn)?shù)膽B(tài)度才能完成的設(shè)計,它要求我必須一絲不茍,這在很大程度上考驗了我的耐心。經(jīng)過課程設(shè)計,更好的學(xué)習(xí)和使用DXP軟件,了解制圖和仿真的全過程,使我受益匪淺。從而認(rèn)識到了自己的不足,使自己明白還多東西還需加強(qiáng)學(xué)習(xí),彌補不足。5. 收獲與致謝 這次為期兩個星期萬年歷的課程設(shè)計實驗,經(jīng)過了原理的了解,開始進(jìn)行方案設(shè)計,然后在經(jīng)過理論驗證,然后開始進(jìn)行原理圖設(shè)計與仿真,之后又行了PCB制作,最后進(jìn)行焊接與調(diào)試。在整個設(shè)計過程中,硬件方面主要設(shè)計了AT89S52單片機(jī)的最小系統(tǒng)、DS1302接口電路、DS18B20接口電路、鬧鐘及LCD顯示;軟件方面借助各個渠道的資料,主要設(shè)計了陽歷數(shù)據(jù)讀取程序、溫度采集程序、鬧鈴程序以及LCD顯示程序;系統(tǒng)的調(diào)試主要是通過一塊AT89S52開發(fā)板,再借助于Kiel、STC以及少許自己搭建的外圍電路實現(xiàn)的;再此過程中,分步調(diào)試時顯示出了陽歷的日期及時間,還有實時溫度,集中調(diào)試時沒有達(dá)到預(yù)期效果。 (3)能夠準(zhǔn)確在LCD上顯示室溫。焊接完成后,然后進(jìn)行測試,發(fā)現(xiàn)LCD1602無法正常顯示,經(jīng)檢查發(fā)現(xiàn)存在虛焊,然后加以修改后,顯示屏可以顯示數(shù)字,最終顯示功能:(1)能顯示年、月、日、星期、小時、分、秒 、溫度。4. 結(jié)果與結(jié)論 結(jié)果設(shè)計好原理圖后,在proteus軟件進(jìn)行仿真,可知能夠?qū)崿F(xiàn)正常的功能,實現(xiàn)時間和定時的設(shè)置,但在進(jìn)行按鍵調(diào)整時,不是按單位遞增和遞減,然后在鍵盤程序中,按鍵一次,向芯片寫入一個新的數(shù)字,在寫入數(shù)字后必須有一定延時才再寫入另一個數(shù)字,修改之后就可以正常調(diào)整。2) 當(dāng)SET鍵未按下時,UP關(guān)閉鬧鐘。SET 鍵:按下SET鍵進(jìn)入時間校準(zhǔn)狀態(tài),按一下進(jìn)入秒調(diào)整,兩下分調(diào)整,依此類推可進(jìn)行各年月日,時分秒以及星期的校準(zhǔn);UP鍵:當(dāng)SET鍵按下時,UP進(jìn)行SET選定項(如:小時)的加操作。 按鍵模塊 : 按鍵電路本系統(tǒng)用到了5個按鍵,其中一個用作系統(tǒng)手動復(fù)位,另外4個采用獨立按鍵,該種接法查詢簡單,程序處理簡單,可節(jié)省CPU資源,、。15腳背光正極,16腳背光負(fù)極。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高。第1腳:VSS為電源地。 鬧鐘模塊 : 鬧鐘電路 我們采用的有源蜂鳴器,由于單片機(jī)的輸出電流較小所以我們采用PNP形的三極管作為驅(qū)動電路,來驅(qū)動蜂鳴器發(fā)聲,當(dāng)單片機(jī)給低電平時蜂鳴器響。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。 DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。當(dāng)“WP”為1時,寫保護(hù)位防止對任一寄存器的寫操作。DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時,時鐘開始運行。位0是讀/寫操作位,進(jìn)行讀操作時,該位為1;進(jìn)行寫操作時,該位為0。對于位6,若對時間進(jìn)行讀/寫時,CK=0,對程序進(jìn)行讀/寫時RAM=1。當(dāng)VCC2小于VCC1時,DS1302由VCC1供電。DS1302由VCC1或VCC2 兩者中較大者供電。VCC1在單電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。在輸出端5V電壓處接一個紅色發(fā)光二極管來做為電源指示燈。然后經(jīng)過濾波電容和微
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1