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

正文內(nèi)容

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

2025-01-08 19:16 本頁面
 

【文章內(nèi)容簡介】 先設(shè)定一數(shù)組: dayofmonth[]={31,28,31,30,31,30,31,31,30,31,30,31}用以判定 12 個月的最大值,接著判斷天數(shù),當(dāng)超過本月最大天數(shù)時,月份加一,且天數(shù)要置 1。月份判斷比較簡單,只要超過 12,年份就加 1,月份置 1。 性能分析: 首先, lcd 能夠正確的 顯示 1302 芯片上面的時間和日期。 其次,可以通過三個按鍵 : K1, K2 和 K3 鍵對電子鐘進(jìn)行時間和日期的調(diào)整。按 K1 鍵進(jìn)行校時 ,可以分別對時及分進(jìn)行單獨(dú)校時 ,使其校正到標(biāo)準(zhǔn)時間 ,校時時需要校正哪一位哪一位就閃爍。按 K2 鍵是對閃爍位進(jìn)行加一的操作。按 K3 鍵是對閃爍位進(jìn)行減一的操作。多次按 K1 鍵,當(dāng)全部閃爍位全閃爍完畢時,就可以退出調(diào)整模式。 實(shí)驗(yàn)結(jié)論以及實(shí)驗(yàn)心得總結(jié) 實(shí)驗(yàn)結(jié)論: 在該電子鐘的設(shè)計中修改定時或調(diào)整時間時采用了閃爍,在編程上,首先進(jìn)行了初始化定義了程序的入口地址以及中斷的入口地址 ,在 主程序的開始定義了一組固定單元用來存儲計數(shù)的秒,分,時以及定時時間的序號等。其次,時 ,分 ,秒顯示用了軟件譯碼 (查表 )的方式 ,再用了一段固定的程序段進(jìn)行進(jìn)制轉(zhuǎn)化。最后,用查詢方式對按鍵進(jìn)行判斷 ,若有鍵按下 ,則進(jìn)行軟件延時消抖 ,避免了抖動引起的干擾 ,執(zhí)行相應(yīng)的定時 ,選時或調(diào)時程序段。對當(dāng)前時間或定時時間修改后又返回到最初的顯示程序段 ,如此循環(huán)下去。 在硬件上,選用 DS1302, LCD1602 相結(jié)合,首先 DS1302 內(nèi)含14 有一個實(shí)時時鐘 /日歷和 31 字節(jié)靜態(tài) RAM 通過簡單的串行接口與單片機(jī)進(jìn)行通信實(shí)時時鐘 /日歷電 路提供秒分時日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作 ,這樣讀取數(shù)據(jù)簡單。其次,選用LCD1602 進(jìn)行顯示時,數(shù)據(jù)位串行輸入,接口連線少,低功耗,顯示清晰。并且本實(shí)驗(yàn)的電子鐘即要實(shí)現(xiàn)時間的現(xiàn)實(shí),還要實(shí)現(xiàn)日期的現(xiàn)實(shí),所以若是運(yùn)用數(shù)碼管進(jìn)行顯示的話,就算運(yùn)用動態(tài)顯示,所占用的 IO 口多,并且所需的數(shù)碼管個數(shù)多,硬件復(fù)雜。 proteus 是一個非常好用的仿真軟件,其具有強(qiáng)大的電路原理圖繪制功能,且可以實(shí)現(xiàn)模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真、鍵盤、 LCD 系統(tǒng)仿真等多種功能; 和 keil 聯(lián)合使用時可以檢測所編寫的程序的正確與否。將 keil 和 proteus 聯(lián)合起來使用是實(shí)現(xiàn)電子設(shè)計制作的初步階段,可避免在實(shí)際的硬件操作中因?yàn)殡娐吩韴D或向單片機(jī)燒錄的程序有誤而造成的難以修改的為題。 實(shí)驗(yàn)心得總結(jié) : 通過本次單片機(jī)實(shí)訓(xùn),我們不僅再次鞏固復(fù)習(xí)了去年暑假里參加電子設(shè)計賽時學(xué)到的知識,還在老師同學(xué)的幫助下,進(jìn)一步了解熟悉了DS1302, LCD1602 的使用,及單片機(jī)的組成及其強(qiáng)大和不足。盡管由于忙于考研中間需要熬夜來完成各種過程,但整個過程是快樂而興奮的! 其次,再次鞏固了 Keil C51 工程文件的建立,程序編寫以及編譯的掌握程度。最重要的是,因?yàn)橹皇撬接邢蓿约壕帉懸徽麄€ C 程序還是很難必須查閱相關(guān)資料,但是最終 we make it!我們很快樂! 更加熟悉掌握了 Proteus 的使用方法,再次從實(shí)際操作中認(rèn)識到Proteus 在仿真方面的優(yōu)越性,激發(fā)了自己學(xué)習(xí) Proteus 的興趣; 因?yàn)樽约阂薷某绦?,所以單單花費(fèi)在程序分析的時間就很多,為了更好的理解程序,我把每句主要程序的后面都注釋了該語句的意思,詳情可以見程序清單,發(fā)現(xiàn)注釋語義的工作量也是非常大的。寫實(shí)驗(yàn)報告時,每個模塊的流程圖都是自己畫的,用 WORD 文檔畫圖真的很麻煩,而且不是很美觀。因?yàn)闀r間比較倉促,流程圖寫的條理性不夠,不過相信以后多多練習(xí),就可以做得更好。 盡管有參加電子設(shè)計大賽的經(jīng)歷了,但是可能由于近一年時間沒有接觸單片機(jī),編程,看程序的原因了,在整個過程中還是遇到了很多故障,不過通過各種渠道(比如網(wǎng)絡(luò),請教同學(xué),老師等等)解決了一些故障,雖然沒有全部解決,但能在短短一周內(nèi)通過此次作業(yè),實(shí)現(xiàn)電子鐘的功能,還是有點(diǎn)成就感的。在解決這些問題的過程中發(fā)現(xiàn)網(wǎng)絡(luò)確實(shí)是一個很好的學(xué)習(xí)平臺,利用前人的經(jīng)驗(yàn)可以提 高自己的解決實(shí)際問題的能力。通過這一個多禮拜的學(xué)習(xí)實(shí)踐,使我們對所學(xué)的知識進(jìn)行了系統(tǒng)的復(fù)習(xí)和鞏固,在以前學(xué)習(xí)中不夠清晰的概念得到了更好的理解。 15 致謝詞 感謝學(xué)院 ,感謝王春梅老師再次 給我 們 提供了一個展現(xiàn)自己的舞臺,給我 們 一次難得煅煉的機(jī)會,使得我 們 的動手能力和專業(yè)技能都有了很大的提高。 在設(shè)計和制作的過程中,我們深切的體會到,實(shí)踐是理論運(yùn)用的最好檢驗(yàn)和團(tuán)隊(duì)合作的重要性,這一次的設(shè)計是對我們所學(xué)知識的一次綜合性檢測,無論是動手能力還是理論知識運(yùn)用能力都得到了提高,同時加深了我們對網(wǎng)絡(luò)資源的認(rèn)識,大大提高了查閱資 料的效率,使我們有充足的時間投入到電路設(shè)計當(dāng)中。 在做作品的日子里得到了 王春梅老 師的悉心指導(dǎo),在此向我 們 的 王春梅 師致以誠摯的謝意。 參考文獻(xiàn) 1:張毅剛,彭喜元,姜守達(dá),喬立言 .《新編 MCS51 單片機(jī)應(yīng)用設(shè)計》 哈爾濱工業(yè)大學(xué)出版社 , 2021 2:馬忠梅 .《單片機(jī)的 C 語言應(yīng)用設(shè)計》 北京航空航天大學(xué)出版社 2021 3:王靜霞 .《單片機(jī)應(yīng)用技術(shù)》,電子工業(yè)出版社, 2021. 4:: 張道德 .《單片機(jī)接口技術(shù)》,中國水利水電出版社 2021 5:石生 .《電路基本分析》,高等教育出版社 2021 6:譚浩 強(qiáng) .《 C 語言程序設(shè)計》(第 2 版),清華大學(xué)出版社 . 7:胡宴如,耿蘇燕 .《模擬電子技術(shù)》高等教育出版社 2021 8:譚永紅,雷躍,莫振棟《電子線路實(shí)驗(yàn)進(jìn)階教程》 北京航空航天大學(xué)出版 2021 9:劉國巍,周曉萍,周莉《數(shù)字電子技術(shù)基礎(chǔ)》,國防科技大學(xué)出版社2021 10:張永楓,《單片機(jī)應(yīng)用實(shí)訓(xùn)教程》北京:清華大學(xué)出版社, 2021. 11:劉守義,《單片機(jī)應(yīng)用技術(shù)》(第 2 版)西安電子科技大學(xué)出版社 ,2021 12:先鋒工作室《單片機(jī)程序設(shè)計實(shí)例》北京:清華大學(xué)出版社, 2021 13:廣州周立功單片機(jī)發(fā)展 有限公司, Keil C51 使用技巧及實(shí)戰(zhàn), 2021 14:李群芳,《單片機(jī)微型計算機(jī)與接口技術(shù)》(第 2 版)北京:電子工業(yè)出版 15:徐瑋,《 C51 單片機(jī)高效入門》,北京:機(jī)械工業(yè)出版社, 2021. 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 復(fù)位線 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。 //當(dāng)前調(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(2021)。 } 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,uch
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1