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

正文內容

電子萬年歷的設計畢業(yè)論文一稿(編輯修改稿)

2024-07-24 15:20 本頁面
 

【文章內容簡介】 。然后通電,觀察硬件運行情況。在硬件調試運行過程中,發(fā)現(xiàn)以下問題并解決:(1) 燒入程序后,液晶顯示器顯示不穩(wěn)定,亮度不夠解決辦法:首先,對調用的延時子程序進行修改,可以解決顯示閃動問題。其次,由于本設計用動態(tài)掃描方式顯示數(shù)字,動態(tài)掃描很快,人的肉眼是無法看出,但是調用顯示程序時,如果不在返回時屏蔽掉最后的附值,則會出現(xiàn)很亮的現(xiàn)象,所以在顯示程序的后面加了屏蔽指令,最后解決了顯示不穩(wěn)定問題。亮度不夠問題可以通過調節(jié)滑動變阻器來解決。(2)修改時間、日期時沒有自動對應。 解決辦法:把不相關的程序暫時屏蔽,將設置時間子程序進行獨立調試,發(fā)現(xiàn)在調用設置時間自動更新時,對數(shù)據(jù)處理不好,所以會造成錯亂。最后把相應的處理程序進行修改,使得可以自動對應時間、日期,從而解決了此問題。至此,整個系統(tǒng)軟件、硬件的編寫、制作與調試結束,各項指標和目的全部實現(xiàn),本設計任務基本完成。6 結束語 電子萬年歷是一種應用非常廣泛的日常計時工具,而且將越來越流行和實用。本設計是基于 51 系列的單片機進行的電子萬年歷設計,可以顯示年、月、日、時、分、秒及星期信息,還具有溫度顯示和時間校準等多種功能。本電路采用 AT89C52 單片機作為核心,功耗小,能在 3V 的低壓工作,可選用 35V 電壓供電。時鐘芯片 DS1302 的使用壽命長,誤差小。LCD1602 液晶顯示器效果清晰,而且亮度可調。溫度傳感器 DS18B20 精度較高,電路連接簡單。按鍵電路只包含 4 個按鍵,操作簡單實用。 此電子萬年歷的設計具有結構簡單、使用便捷、顯示精確、功能齊全等優(yōu)點,對于改善目前市場上電子鐘表、日歷等存在的一些不足之處,比如:時鐘不精確、產品成本太高、無環(huán)境溫度顯示等,具有很重要的意義。因此,此種電子萬年歷的生產和發(fā)展是非常有必要的,它具有非常廣闊的市場空間與發(fā)展前景,有著很大的現(xiàn)實意義。參考文獻[1]童詩白,(第四版)[M].北京:高等[2](第五版)[M].北京:高等教育出版社.20227[3]:基于 Proteus 和 Keil C[M].北京:[4]王化祥,(第三版)[M].天津:天津[5][M].南昌:7[6] Proteus 設計與仿真[M].北京:電子工業(yè)出版[7]實驗測試[M].武漢:華中科技大學出版[8] C 語言程序設計實訓 100 例[M].北京:電子工業(yè)出版[9][M].西安:西安電子科技大學出版社.2022[10][M].北京:致謝經過了幾個月的設計制作與調試,終于順利完成畢業(yè)設計的所有要求,將電子萬年歷制作出來。在這段時間里,我學到了很多的專業(yè)知識也充分感受到了指導老師和同學們的關心與幫助,正是因為有他們的關心和幫助,本次設計才能順利的完成。由于之前對其接觸較少,對它的性能要求了解不多,還有對它的相關技術要求也不是很清楚。正是如此,我開始查看相關的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰;獨立地設計與制作作品,認真地對各部分硬件模塊進行調試,使自己的作品一步步完善起來,每一次改進都是我學習的收獲。這次畢業(yè)論文能夠得以順利完成,并非我一人之功勞,是所有指導過我的老師和幫助過我的同學對我的教誨、幫助和鼓勵的結果,我要在這里對他們表示深深的謝意。在此我要特別感謝我的指導老師:楊漢祥老師。作為一個本科生的畢業(yè)設計,從論文選題、實驗研究到最后的成稿,由于經驗的匱乏,難免有許多考慮不周全的地方,他都耐心地對我進行悉心指導,凝聚了恩師許多心血,沒有他的悉心指導就沒有這篇論文的順利完成。 另外,對百忙之中評閱本論文的答辯委員會的各位老師致以最誠摯的謝意。最后,再次對關心、幫助我的老師和同學表示衷心地感謝。附錄 1 系統(tǒng)電路圖附錄 2 系統(tǒng)程序清單include include //include //include define uint unsigned intdefine uchar unsigned charsbit DS1302_CLK = P1^7。//P3^6。 //實時時鐘時鐘線引腳 sbit DS1302_IO = P1^6。//P3^4。 //實時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。//P3^5。 //實時時鐘復位線引腳sbit wireless_1 = P3^0。sbit wireless_2 = P3^1。sbit wireless_3 = P3^2。sbit wireless_4 = P3^3。sbit ACC0 = ACC^0。sbit ACC7 = ACC^7。char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year。 //秒,分,時到日,月,年位閃的計數(shù)sbit Set = P2^0。 //模式切換鍵sbit Up = P2^1。 //加法按鈕sbit Down = P2^2。 //減法按鈕sbit out = P2^3。 //立刻跳出調整模式按鈕sbit DQ =P1^0。 //P3^7。 //溫度傳送數(shù)據(jù) IO 口char done,count,temp,flag,up_flag,down_flag。uchar temp_value。 //溫度值uchar TempBuffer[5],week_value[2]。void show_time()。 //液晶顯示程序/***********1602 液晶顯示部分子程序****************///Port Definitions**********************************************************sbit LcdRs =P2^5。 //P2^6。sbit LcdRw =P2^6。 //P2^5。sbit LcdEn =P2^7。//P2^7。sfr DBPort = 0x80。 //P0=0x80,P1=0x90,P2=0xA0,P3=//內部等待函數(shù)**************************************************************************unsigned char LCD_Wait(void){LcdRs=0。LcdRw=1。 _nop_()。LcdEn=1。 _nop_()。LcdEn=0。return DBPort。}//向 LCD 寫入命令或數(shù)據(jù)************************************************************define LCD_COMMAND 0 // Commanddefine LCD_DATA 1 // Datadefine LCD_CLEAR_SCREEN 0x01 // 清屏define LCD_HOMING 0x02 // 光標返回原點void LCD_Write(bit style, unsigned char input){LcdEn=0。LcdRs=style。LcdRw=0。 _nop_()。DBPort=input。 _nop_()。//注意順序LcdEn=1。 _nop_()。//注意順序LcdEn=0。 _nop_()。LCD_Wait()。}//設置顯示模式************************************************************define LCD_SHOW 0x04 //顯示開define LCD_HIDE 0x00 //顯示關 define LCD_CURSOR 0x02 //顯示光標define LCD_NO_CURSOR 0x00 //無光標 define LCD_FLASH 0x01 //光標閃動define LCD_NO_FLASH 0x00 //光標不閃動void LCD_SetDisplay(unsigned char DisplayMode){LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。}//設置輸入模式************************************************************define LCD_AC_UP 0x02define LCD_AC_DOWN 0x00 // defaultdefine LCD_MOVE 0x01 // 畫面可平移define LCD_NO_MOVE 0x00 //defaultvoid LCD_SetInput(unsigned char InputMode){LCD_Write(LCD_COMMAND, 0x04|InputMode)。}//初始化LCD************************************************************void LCD_Initial(){LcdEn=0。LCD_Write(LCD_COMMAND,0x38)。 //8 位數(shù)據(jù)端口,2 行顯示,5*7 點陣LCD_Write(LCD_COMMAND,0x38)。LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR)。 //開啟顯示, 無光標LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE)。 //AC 遞增, 畫面不動}//液晶字符輸入的位置************************void GotoXY(unsigned char x, unsigned char y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x)。if(y==1)LCD_Write(LCD_COMMAND,0x80|(x0x40))。}//將字符輸出到液晶顯示void Print(unsigned char *str){while(*str!=39。\039。){LCD_Write(LCD_DATA,*str)。str++。}}/***********DS1302 時鐘部分子程序******************/typedef struct __SYSTEMTIME__{unsigned char Second。unsigned char Minute。unsigned char Hour。unsigned char Week。unsigned char Day。unsigned char Month。unsigned char Year。unsigned char DateString[11]。unsigned char TimeString[9]。}SYSTEMTIME。 //定義的時間類型SYSTEMTIME CurrentTime。define AM(X) Xdefine PM(X) (X+12) // 轉成 24 小時制define DS1302_SECOND 0x80 //時鐘芯片的寄存器位置,存放時間define DS1302_MINUTE 0x82define DS1302_HOUR 0x84 define DS1302_WEEK 0x8Adefine DS1302_DAY 0x86define DS1302_MONTH 0x88define DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) //實時時鐘寫入一字節(jié)(內部函數(shù)){ unsigned char i。 ACC = d。 for(i=8。 i0。 i) { DS1302_IO = ACC0。 //相當于匯編中的 RRC DS1302_CLK = 1。 DS1302_CLK = 0。 ACC = ACC 1。 } }unsigned char DS1302OutputByte(void) //實時時鐘讀取一字節(jié)(內部函數(shù)){ unsigned char i。 for(i=8。 i0。 i) { ACC = ACC 1。 //相當于匯編中的 RRC ACC7 = DS1302_IO。 DS1302_CLK = 1。 DS1302_CLK = 0。 } return(ACC)。 }void Write1302(unsigned char ucAddr, unsigned char ucDa)//ucAddr: DS1302 地址, ucData: 要寫的數(shù)據(jù){ DS1302_RST = 0。 DS1302
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1