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

正文內(nèi)容

基于單片機的電子萬年歷設(shè)計畢業(yè)論文-文庫吧在線文庫

2024-07-28 19:59上一頁面

下一頁面
  

【正文】 64顯示RAM相應(yīng)位置。值得注意的是,為了防止重復(fù)包含造成的編譯錯誤,習慣上在頭文件格式為如下程序:ifndef __XXXX_H__define __XXXX_H__……endifDS1302的操作方法應(yīng)嚴格按照其數(shù)據(jù)手冊中說明的時序進行。其中年份為0099,基于此,本課題電子萬年歷可顯示時間定為2000年到2099年。同時,帶字庫12864也可以自己繪制“漢字”,顯示ASCII碼。這樣完成一次寫入。12864中本課題應(yīng)用的主要函數(shù)是單行掃描函數(shù),比如用下述函數(shù)實現(xiàn)第一行的掃描:void dplay1(void){int i。掌握了12864的字符顯示,單片機萬年歷的顯示部分工作就基本完成了。unsigned int b=0,m=0。 //讀取溫度寄存器(共9個)中前兩個溫度寄存器a=Readonechar()。需要調(diào)整的位包括年、月、日、時、分、秒、鬧鐘開關(guān)、鬧鐘的時、分、秒共10位。} while(State_Set==0)。按鍵加減和確認與此函數(shù)相似,不再贅述。 DelayMs(30)。 str1fzkongy()。調(diào)整某位時,為了讓某位閃爍,需要改變顯示數(shù)組str[]的值,不斷掃描,直到調(diào)整程序退出時不再閃爍。因此實際上大部分萬年歷采用了查表法來實現(xiàn)陰陽歷轉(zhuǎn)換。將轉(zhuǎn)換后的信息賦值給顯示數(shù)組,即可完成陰陽歷轉(zhuǎn)換對應(yīng)的顯示操作。本程序采用蔡勒公式,蔡勒公式可以方便得計算出某天的星期情況。以下說明一些比較重要的問題。amp。第三,cpu占用問題。程序仿真一般情況下采用英國的protues軟件,但當protues軟件中缺乏特定型號元件的仿真模型時,protues仿真就很難實現(xiàn)了。一個成熟的產(chǎn)品,多閱讀文獻,多參考前人的做法,會使程序設(shè)計中某些問題便于解決。電路如下圖46:圖46 蜂鳴器驅(qū)動電路 12864顯示電路12864與P0口連接,由于P0口為準雙向口,所以外部接上拉排阻,然后接到12864。正點和半點蜂鳴器發(fā)聲報時。其他可以改善的地方即是優(yōu)化程序,降低功耗。在我的畢業(yè)設(shè)計終于進入尾聲之時,有很多的話要說。Teplov,A.SingleChipPeltierDelayMs(500)。 Ds1302_Read_Time()。amp。 if(count)key_set()。} } if(beepalarm==0) beep=1。 //精確延時大于 480us 小于960usDelayUs2x(200)。for (i=8。}/*寫入一個字節(jié)*/voidWriteonechar(unsigned char dat){unsigned char i=0。dat=1。 // 啟動溫度轉(zhuǎn)換DelayMs(10)。return(t)。= 0x0F。break。 } }}void dplay4_1(void){int i。i16。12864Writemand(0x88,1)。i++) { 12864WriteData(str4[i])。 LCD_E = 0。 LCD_E = 0。 LCD_RS = 0。 //顯示模式設(shè)置,開始要求每次檢測忙信號12864Writemand(0x01,1)。 //最低位置零 for (i = 0。 } //寫入數(shù)據(jù):d for (i = 0。 } RST_CLR。 0x01) { IO_SET。 if (IO_R) { temp |= 0x80。 for(i=0。 //涓流充電 Ds1302_Write_Byte(ds1302_year_add,time_buf[1])。 //周 Ds1302_Write_Byte(ds1302_control_add,0x80)。0x7F。 //RST腳置低 SCK_CLR。 /*子函數(shù),用于讀取數(shù)據(jù)表中農(nóng)歷月的大月或小月,如果該月為大返回1,為小返回0*/ bit get_moon_day(uchar month_p,uint table_addr) { uchar temp。 if (temp==0)return(0)。 case 4:{temp=year_code[table_addr]amp。else return(1)。0x20。} break。 if (temp==0)return(0)。 case 12:{temp=year_code[table_addr+1]amp。else return(1)。} break。0x02。else return(1)。 case 8:{temp=year_code[table_addr+1]amp。 if (temp==0)return(0)。} break。0x02。else return(1)。 code uint day_code2[3]={0x111,0x130,0x14e}。i++) { //BCD處理,輸出十進制,可直接用 tmp=time_buf[i]/16。 //月 time_buf[3]=Ds1302_Read_Byte(ds1302_date_add)。 //周 Ds1302_Write_Byte(ds1302_hr_add,time_buf[4])。 time_buf[i]=time_buf[i]+tmp*16。 SCK_CLR。 addr = addr 1。 //寫入目標地址:addr addr = addr | 0x01。 } else { IO_CLR。 } else { IO_CLR。//空年月日時分秒周/*向DS1302寫入一字節(jié)數(shù)據(jù)*/void Ds1302_Write_Byte(unsigned char addr, unsigned char d)//*********{ unsigned char i。 BusyC)。 LCD_E = 0。 LCD_Data = WCLCD。 LCD_Data = WDLCD。 }}//dplay4顯示程序void dplay4_0(void){int i。for(i=0。i++) { 12864WriteData(str4_1[i])。i++) { if (X = 0x0F) //X坐標應(yīng)小于0xF {12864WriteData(DData[ListLength])。break。 X2=X。 //讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度a=Readonechar()。unsigned int t=0。 DQ = datamp。 DQ = 1。 //如果x=0則初始化成功, x=1則初始化失敗 DelayUs2x(25)。 DQ = 1。amp。 DelayMs(300)。} if(time_buf1[6]==0) {if(time_buf1[5]==0) beeptime2=4。 DelayMs(500)。//空年月日時分秒周(周不用輸入)unsigned char alarm=0,al_hour=12,al_min=30,al_sec=30。ModulesThermostatting大學(xué)四年,我為自己是通信人而驕傲,感謝每一個關(guān)心和信任我的同學(xué)老師,一個完整的畢業(yè)設(shè)計,離不開所有這些人的支持。完整的畢設(shè)過程,使自己學(xué)會了如何去查閱資料,怎么查資料,為什么查資料;學(xué)會了如何去學(xué)習,如何去讀書,如何去更快地學(xué)會實踐性強的東西。如果讓掃描速度更快,按鍵反映更靈敏,效果將更好。焊接中發(fā)生的問題在于焊錫絲質(zhì)量較差,而電烙鐵功率在30w,導(dǎo)致焊錫絲不能完全融化,焊點不夠美觀。復(fù)位電路采用手動復(fù)位,晶振為12Mhz,典型晶振處電容30pF。實驗板仿真效果如圖35所示:圖35 開發(fā)板仿真效果圖 小結(jié)本章主要介紹了單片機電子萬年歷的程序設(shè)計,給出了自己程序設(shè)計和調(diào)試過程中遇到的問題和解決的方案。第四,keil軟件提示不準確,有警告。amp。c語言是高級語言,編程具有可移植性高,編程簡單,不用考慮底層寄存器細節(jié)等優(yōu)點,但是keil等編譯軟件最終仍然要完成把高級語言通過編譯器編譯成機器語言的過程。本程序中延時采用了軟件延時方法,未采用定時器和中斷,因為在12M晶振下,本系統(tǒng)能夠正常工作,延時子程序的誤差對萬年歷系統(tǒng)正常工作影響甚微。天干地支合并即可完成2000到2099年任意年對應(yīng)的干支紀年信息。月日信息數(shù)據(jù)表數(shù)據(jù)結(jié)構(gòu)為每年數(shù)據(jù)占用三個字節(jié)。 陽歷轉(zhuǎn)陰歷顯示程序陰歷轉(zhuǎn)陽歷的算法問題,可以說是單片機設(shè)計電子萬年歷中較難的問題。 key_count()。 //禁止寫入 Ds1302_Read_Time()。 do { temp=time_buf1[1]。一種是判斷延時再判斷,即先判斷鍵值,延時數(shù)毫秒后再判斷鍵值,兩次判斷一致就認為已消除抖動,這種方法在本課題中難以應(yīng)用,不僅是因為延時時間難以把握,更重要的是本課題程序循環(huán)時間較長,有可能按鍵按下了但主程序沒走到此處,這樣按鍵就不得不一直處于按下狀態(tài),一直處于按下狀態(tài)又存在重復(fù)計數(shù)而不能走到正確的調(diào)整位的問題。 if(State_Set==0) DelayMs(2)。 //高低位組合為一個無符號整形數(shù)據(jù)return(m)。 // 啟動溫度轉(zhuǎn)換DelayMs(10)。本課題只用到一個DS18B20,且使用默認精度,即四位小數(shù),每完成一次溫度轉(zhuǎn)換耗時為750ms。i++) { 12864WriteData(str1[i])。這是由于帶字庫12864對顯示RAM的地址分配引起的。本課題選擇了并行方法。 LCD12864顯示子程序12864液晶分為帶字庫型和不帶字庫型兩種。本課題采用single byte transfer模式進行傳輸,每個操作命令以字節(jié)為單位,每次讀寫數(shù)據(jù)前先寫控制命令。另外一點,大循環(huán)內(nèi)的各個模塊先后順序可以適當調(diào)整。本課題即采用了這種方法,主程序完成主要流程,子程序負責各個功能模塊的實現(xiàn)。 本章屬于元件的選型,可以看出,選的以數(shù)字芯片居多,這樣力求硬件電路簡單,使我能把本課題的主要精力放在編程上。方案二:有源蜂鳴器方案。獨立按鍵相對矩陣鍵盤來說,減少了資源占用,但是要求單個按鍵要功能復(fù)用。DS18B20通過單總線協(xié)議與單片機通信,同一條線上可掛多個芯片,可擴展性好。一屏恰好將本課題基本功能和附加功能完美呈現(xiàn),因此,12864顯示方案脫穎而出。此外,該芯片封裝為雙列直插8引腳,小巧且價格親民。定時器產(chǎn)生1s中斷,產(chǎn)生60次中斷為一分鐘,分鐘變量加一;分鐘變量遇60歸零,同時給小時變量加一,以此類推,一直到年變量。因此直到最終實物成型,這樣的過程對自己還是很有益的第2章課題設(shè)計方案選擇 單片機電子萬年歷系統(tǒng)概述本系統(tǒng)采用國產(chǎn)價廉且性能夠用的STC89C52作為主要控制芯片;采用DS1302時鐘芯片獲得精確的時鐘數(shù)據(jù);通過默認精度DS18B20溫度傳感器測量室溫;通過液晶LCM12864顯示萬年歷數(shù)據(jù),年月日時分秒周、農(nóng)歷、干支紀年、鬧鐘和溫度同時顯示在12864液晶屏上;以四個獨立按鍵作為萬年歷調(diào)時輸入,四個按鍵分別起到選擇、加減和確認功能;通過蜂鳴器電路實現(xiàn)整點和半點報時,蜂鳴器也同時具有鬧鐘的鬧鈴功能。第四章:主要介紹了各個外圍主要模塊的相關(guān)知識和特性以及各個外圍電路的設(shè)計。今后,隨著單片機技術(shù)和高性能高精度石英技術(shù)的發(fā)展,數(shù)字電子萬年歷的體積將在需要時進一步縮小,可靠性進一步提高、維護更簡單,并響應(yīng)時代號召,變得更加高效節(jié)能。市場上擁有的附加功能多樣、交互性極佳的萬年歷產(chǎn)品不計其數(shù)。而多功能電子萬年歷就是依靠單片機實現(xiàn)的電子產(chǎn)品中最具代表性的一類。眾所周知,在電子萬年歷大規(guī)模普及之前,人們曾靠月份牌、石英鐘等計時工具來計時,這種方法顯示內(nèi)容單一,需要人為干預(yù)過多,可靠性不佳。比如純數(shù)碼管構(gòu)成的萬年歷,簡潔可靠;傳統(tǒng)石英鐘樣式的萬年歷,保留傳統(tǒng)又提供了多種附加功能;動態(tài)年畫風格的萬年歷產(chǎn)品,兼具年畫的美觀、體現(xiàn)萬年歷的大氣。更多的,將來隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,遠程控制、網(wǎng)絡(luò)對時,以及記憶用戶操作習慣的深交互操作也未必不可能實現(xiàn)。包括原理圖的畫法,焊接過程遇到的問題和解決方案。:圖21 系統(tǒng)總體框圖 單片機方案選擇單片機是單片機電子萬年歷系統(tǒng)的核心,采用什么樣的單片機,對編程和硬件電路的設(shè)計影響極大。此方案缺點顯著。由于兩方案對比優(yōu)缺點明顯,故本次電子萬年歷毫無意外地選擇了DS1302.方案一:數(shù)碼管顯示。方案一:熱敏電阻方案。由于是數(shù)字芯片,編程相對簡單。這樣的復(fù)用軟件設(shè)計并不困難,復(fù)用后減少了硬件電路,使得交互鍵盤看起來簡潔大方。蜂鳴器分兩種,有源和無源。事實也說明,編程和軟件調(diào)試在整個畢設(shè)過程中占用了最長時間,而前期合適的選型也使得硬件電路的焊接和調(diào)試僅僅用了三天時間。按鍵讀取時間溫度掃描按鍵修改變量報時功能陽歷轉(zhuǎn)陰歷、干支初始化顯示輸出結(jié)束NY圖31 主程序流程圖單片機復(fù)位后,主程序開始
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1