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

正文內(nèi)容

畢業(yè)設計-基于stc89c52單片機的可調(diào)式電子日歷設計(編輯修改稿)

2025-02-12 23:50 本頁面
 

【文章內(nèi)容簡介】 數(shù)。當時達到 24 時,也一樣處理。 年月日進位算法 因為每個月份的天數(shù)都不同,所以事先先設定一數(shù)組: dayofmonth[]={31,28,31,30,31,30,31,31,30,31,30,31}用以判定 12 個月的最大值,接著判斷天數(shù),當超過本月最大天數(shù)時,月份加一,且天數(shù)要置 1。月份判斷比較簡單,只要超過 12,年份就加 1,月份置 1。 性能分析: 首先, lcd 能夠正確的顯示 1302 芯片上面的時間和日期。 其次,可以通過三個按鍵 : K1, K2 和 K3 鍵對電子鐘進行時間和日期的調(diào)整。按 K1 鍵進行校時 ,可以分別對時及分進行單獨校時 ,使其校正到標準時間 ,校時時需要校正哪一位哪一位就閃爍。按 K2 鍵是對閃爍位進行加一的操作。按 K3 鍵是對閃爍位進行減一的操作。多次按 K1 鍵,當全部閃爍位全閃爍完畢時,就可以退出調(diào)整模式。 實驗結論以及實驗心得總結 實驗結論: 在該電子鐘的設計中修改定時或調(diào)整時間時采用了閃爍,在編程上,首先進行了初始化定義了程序的入口地址以及中斷的入口地址 ,在主程序的開始定義了一組固定單元用來存儲計數(shù)的秒,分,時以及定時時間的序號等。其次,時 ,分 ,秒顯示用了軟件譯碼 (查表 )的方式 ,再用了一段固定的程序段進行進制轉(zhuǎn)化。最后,用查詢方式對按鍵進行判斷 ,若有鍵按下 ,則進行軟件延時消 抖 ,避免了抖動引起的干擾 ,執(zhí)行相應的定時 ,選時或調(diào)時程序段。對當前時間或定時時間修改后又返回到最初的顯示程序段 ,如此循環(huán)下去。 在硬件上,選用 DS1302, LCD1602 相結合,首先 DS1302 內(nèi)含14 有一個實時時鐘 /日歷和 31 字節(jié)靜態(tài) RAM 通過簡單的串行接口與單片機進行通信實時時鐘 /日歷電路提供秒分時日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作 ,這樣讀取數(shù)據(jù)簡單。其次,選用LCD1602 進行顯示時,數(shù)據(jù)位串行輸入,接口連線少,低功耗,顯示清晰。并且本實驗的電子鐘即要實現(xiàn)時間的現(xiàn)實,還要實現(xiàn)日期 的現(xiàn)實,所以若是運用數(shù)碼管進行顯示的話,就算運用動態(tài)顯示,所占用的 IO 口多,并且所需的數(shù)碼管個數(shù)多,硬件復雜。 proteus 是一個非常好用的仿真軟件,其具有強大的電路原理圖繪制功能,且可以實現(xiàn)模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)仿真、鍵盤、 LCD 系統(tǒng)仿真等多種功能;和 keil 聯(lián)合使用時可以檢測所編寫的程序的正確與否。將 keil 和 proteus 聯(lián)合起來使用是實現(xiàn)電子設計制作的初步階段,可避免在實際的硬件操作中因為電路原理圖或向單片機燒錄的程序有誤而造成的難以修改的為題。 實驗 心得總結 : 通過本次單片機實訓,我們不僅再次鞏固復習了去年暑假里參加電子設計賽時學到的知識,還在老師同學的幫助下,進一步了解熟悉了DS1302, LCD1602 的使用,及單片機的組成及其強大和不足。盡管由于忙于考研中間需要熬夜來完成各種過程,但整個過程是快樂而興奮的! 其次,再次鞏固了 Keil C51 工程文件的建立,程序編寫以及編譯的掌握程度。最重要的是,因為只是水平有限,要自己編寫一整個 C 程序還是很難必須查閱相關資料,但是最終 we make it!我們很快樂! 更加熟悉掌握了 Proteus 的 使用方法,再次從實際操作中認識到Proteus 在仿真方面的優(yōu)越性,激發(fā)了自己學習 Proteus 的興趣; 因為自己要修改程序,所以單單花費在程序分析的時間就很多,為了更好的理解程序,我把每句主要程序的后面都注釋了該語句的意思,詳情可以見程序清單,發(fā)現(xiàn)注釋語義的工作量也是非常大的。寫實驗報告時,每個模塊的流程圖都是自己畫的,用 WORD 文檔畫圖真的很麻煩,而且不是很美觀。因為時間比較倉促,流程圖寫的條理性不夠,不過相信以后多多練習,就可以做得更好。 盡管有參加電子設計大賽的經(jīng)歷了,但是可能由于近一年時間沒有接觸單片機,編程,看程序的原因了,在整個過程中還是遇到了很多故障,不過通過各種渠道(比如網(wǎng)絡,請教同學,老師等等)解決了一些故障,雖然沒有全部解決,但能在短短一周內(nèi)通過此次作業(yè),實現(xiàn)電子鐘的功能,還是有點成就感的。在解決這些問題的過程中發(fā)現(xiàn)網(wǎng)絡確實是一個很好的學習平臺,利用前人的經(jīng)驗可以提高自己的解決實際問題的能力。通過這一個多禮拜的學習實踐,使我們對所學的知識進行了系統(tǒng)的復習和鞏固,在以前學習中不夠清晰的概念得到了更好的理解。 15 致謝詞 感謝學院 ,感謝王春梅老師再次 給我 們 提供了一個展現(xiàn)自己的舞臺,給我 們 一 次難得煅煉的機會,使得我 們 的動手能力和專業(yè)技能都有了很大的提高。 在設計和制作的過程中,我們深切的體會到,實踐是理論運用的最好檢驗和團隊合作的重要性,這一次的設計是對我們所學知識的一次綜合性檢測,無論是動手能力還是理論知識運用能力都得到了提高,同時加深了我們對網(wǎng)絡資源的認識,大大提高了查閱資料的效率,使我們有充足的時間投入到電路設計當中。 在做作品的日子里得到了 王春梅老 師的悉心指導,在此向我 們 的 王春梅 師致以誠摯的謝意。 參考文獻 1:張毅剛,彭喜元,姜守達,喬立言 .《新編 MCS51 單片機應用設計》 哈爾濱工 業(yè)大學出版社 , 2022 2:馬忠梅 .《單片機的 C 語言應用設計》 北京航空航天大學出版社 2022 3:王靜霞 .《單片機應用技術》,電子工業(yè)出版社, 2022. 4:: 張道德 .《單片機接口技術》,中國水利水電出版社 2022 5:石生 .《電路基本分析》,高等教育出版社 2022 6:譚浩強 .《 C 語言程序設計》(第 2 版),清華大學出版社 . 7:胡宴如,耿蘇燕 .《模擬電子技術》高等教育出版社 2022 8:譚永紅,雷躍,莫振棟《電子線路實驗進階教程》 北京航空航天大學出版 2022 9:劉國巍,周曉萍,周莉 《數(shù)字電子技術基礎》,國防科技大學出版社2022 10:張永楓,《單片機應用實訓教程》北京:清華大學出版社, 2022. 11:劉守義,《單片機應用技術》(第 2 版)西安電子科技大學出版社 ,2022 12:先鋒工作室《單片機程序設計實例》北京:清華大學出版社, 2022 13:廣州周立功單片機發(fā)展有限公司, Keil C51 使用技巧及實戰(zhàn), 2022 14:李群芳,《單片機微型計算機與接口技術》(第 2 版)北京:電子工業(yè)出版 15:徐瑋,《 C51 單片機高效入門》,北京:機械工業(yè)出版社, 2022. 16 附錄一 系統(tǒng)電路圖 附圖 1系統(tǒng)電路圖 17 附錄二 Proteus 仿真圖 附圖 2 Proteus仿真圖 附錄三 系統(tǒng)程序 源程序如下: include 18 include include define uchar unsigned char define uint unsigned int sbit SDA=P1^0。 // DS1302數(shù)據(jù)線 sbit CLK=P1^1。 //DS1302時鐘線 sbit RST=P1^2。 //DS1302復位線 sbit RS=P2^0。 sbit RW=P2^1。 sbit EN=P2^2。 sbit K1=P3^4。 // 選擇 sbit K2=P3^5。 // 加 sbit K3=P3^6。 // 減 sbit K4=P3^7。 // 確定 void Display_LCD_String(uchar p,uchar *s)。 uchar tCount=0。//一年中每個月的天數(shù), 2月的天數(shù)由年份決定 uchar MonthsDays[]={0,31,0,31,30,31,30,31,31,30,31,30,31}。 uchar *WEEK[]={SUN,MON,TUS,WEN,THU,FRI,SAT}。// 周日,周一到周六 uchar LCD_DSY_BUFFER1[]={Date 000000 }。 //LCD顯示緩沖 uchar LCD_DSY_BUFFER2[]={Time 000000 }。 uchar DateTime[7]。 //所讀取的日期時間 char Adjust_Index=1。 //當前調(diào)節(jié)的時間:秒 ,分,時,日, uchar Change_Flag[]=MHDMY。 uchar Read_LCD_State()。 void LCD_Busy_Wait()。 void Write_LCD_Data(uchar dat)。 void Write_LCD_Command(uchar cmd)。 void Init_LCD()。 void Set_LCD_POS(uchar p)。 void DelayMS(uint x) { uchar i。 while(x) for(i=0。i120。i++)。 } uchar Read_LCD_State() 19 { uchar state。 RS=0。 RW=1。 EN=1。 DelayMS(1)。 state=P0。 EN=0。 DelayMS(1)。 return state。 } void LCD_Busy_Wait() { while((Read_LCD_State()amp。0x08)==0x80)。 DelayMS(5)。 } void Write_LCD_Data(uchar dat) //寫 數(shù)據(jù) { LCD_Busy_Wait()。 RS=1。 RW=0。 EN=0。 P0=dat。 EN=1。 DelayMS(1)。 EN=0。 } void Write_LCD_Command(uchar cmd)//寫命令 { LCD_Busy_Wait()。 RS=0。 RW=0。 EN=0。 P0=cmd。 EN=1。 DelayMS(1)。 EN=0。 } void Init_LCD() //LCD初始化 { Write_LCD_Command(0x38)。 DelayMS(1)。 Write_LCD_Command(0x01)。 DelayMS(1)。 Write_LCD_Command(0x06)。 DelayMS(1)。 Write_LCD_Command(0x0C)。 DelayMS(1)。 20 Display_LCD_String(0x00,zhongzhoudaxue)。 // DelayMS(1000)。 Display_LCD_String(0x40,dian zi ri li)。 DelayMS(2022)。 } void Set_LCD_POS(uchar p) { Write_LCD_Command(p|0x80)。 } void Display_LCD_String(uchar p,uchar *s) { uchar i。 Set_LCD_POS(p)。 for(i=0。i16。i++) { Write_LCD_Data(s[i])。 DelayMS(1)。 } } /* 向 DS1302寫入一字節(jié) */ void DS1302_Write_Byte(uchar x) { uchar i。 for(i=0。i8。i++) { SDA=xamp。1。 CLK=1。 CLK=0。 x=1。 } } /* 從 DS1302讀取一字節(jié) */ uchar DS1302_Read_Byte() { uchar i,b,t。 for(i=0。i8。i++) { b=1。 21 t=SDA。 b|=t7。 CLK=1。 CLK=0。 } return b/16*10+b%16。 } /* 從 DS1302指定位置數(shù)據(jù) */ uchar Read_Data(uchar addr) { uchar dat。 RST=0。 CLK=0。 RST=1。 DS1302_Write_Byte(addr)。 dat=DS1302_Read_Byte()。 CLK=1。 RST=0。 return dat。 } /* 向 DS1302某地址寫入數(shù)據(jù) */ void Write_DS1302(uchar addr,uchar dat) { CLK=0。 RST=1。 DS1302_Write_Byte(addr)。 DS1302_Write_Byte(dat)。 CLK=0。 RST=0。 } /* 設置時間 */ void SET_DS1302() { uchar i。 Write_DS1302(0x8e
點擊復制文檔內(nèi)容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1