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

正文內(nèi)容

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

2025-01-08 19:16 本頁(yè)面
 

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