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

正文內(nèi)容

用ds1302與lcd1602設(shè)計的可調(diào)式電子日歷時鐘的設(shè)計與實現(xiàn)(編輯修改稿)

2025-02-13 02:35 本頁面
 

【文章內(nèi)容簡介】 設(shè)計 根據(jù)設(shè)計要求需要選擇四個獨立按鍵分別為選擇、加、減、確定, 9 按鍵模塊如圖 6所示: 選擇加減確定U3A ND _ 4K1K2K3K4X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0. 0/ A D 039P 0. 1/ A D 138P 0. 2/ A D 237P 0. 3/ A D 336P 0. 4/ A D 435P 0. 5/ A D 534P 0. 6/ A D 633P 0. 7/ A D 732P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78P 3. 0/ R X D10P 3. 1/ T X D11P 3. 2/ I NT 012P 3. 3/ I NT 113P 3. 4/ T 014P 3. 7/ R D17P 3. 6 / W R16P 3. 5/ T 115P 2. 7/ A 1 528P 2. 0/ A 821P 2. 1/ A 922P 2. 2/ A 1 023P 2. 3/ A 1 124P 2. 4/ A 1 225P 2. 5/ A 1 326P 2. 6/ A 1 427U4A T 89 C5 1 圖 6按鍵模塊設(shè)計 第三章 系統(tǒng)的軟件設(shè)計 主程序流程圖 開始 液晶初始化 1302 設(shè)置初始時間 按鍵掃描子程序 顯示子程序 返回 圖 A 主程序流程圖 主程序: void main() { init()。 write_setds(0x80,0x50)。 10 write_setds(0x82,0x59)。 write_setds(0x84,0x10)。 write_setds(0x86,0x17)。 write_setds(0x88,0x03)。 write_setds(0x8a,0x03)。 write_setds(0x8c,0x10)。 write_setds(0x90,0xa4)。 while(1) { keyscan()。 } display()。 } 按鍵掃描子程序 調(diào)整時間用 4個調(diào)整按鈕, 1個作為選擇控制用,另外 3個分別作為加調(diào)整,減調(diào)整和確定用。時間調(diào)整程序流程圖如圖 B所示 : 11 判斷是否有鍵按下 Y N 計時停止 判斷功能鍵按下次數(shù) ≤ 7 次 =8 次 對應(yīng)位閃爍 加鍵按下 減鍵按下 對應(yīng)位時間加 1 對應(yīng)位時間減 1 顯示子程序 返回,進入主程序 圖 B 時間調(diào)整程序流程圖 void SET_DS1302() { uchar i。 Write_DS1302(0x8e,0x00)。 for(i=0。i7。i++) { Write_DS1302(0x80+2*i,(DateTime[i]/104|(DateTime[i]%10)))。 } Write_DS1302(0x8e,0x80)。 } /* 讀取當(dāng)前時期時間 */ void GetTime() { uchar i。 12 for(i=0。i7。i++) { DateTime[i]=Read_Data(0x81+2*i)。 } } /* 時間和日期轉(zhuǎn)換成數(shù)字字符 */ void Format_DateTime(uchar d,uchar *a) { a[0]=d/10+39。039。a[1]=d%10+39。039。 } /* 判斷是否為閏年 */ uchar isLeapYear(uint y) { return (y%4==0amp。amp。y%100!=0)||(y%400==0)。 } /* 星期轉(zhuǎn)換 */ void RefreshWeekDay() { uint i,d,w=5。 for(i=2022。i2022+DateTime[6]。i++) { d=isLeapYear(i) ? 366 : 365。 w=(w+d)%7。 } d=0。 for(i=1。iDateTime[4]。i++) d+=MonthsDays[i]。 d+=DateTime[3]。 DateTime[5]=(w+d)%7+1。 } /* 年月日時分秒 ++/ */ void DateTime_Adjust(char x) { switch (Adjust_Index) 13 { case 6: //年 if(x== 1amp。amp。DateTime[6]99) DateTime[6]++。 if(x==1amp。amp。DateTime[6]0) DateTime[6]。 MonthsDays[2]=isLeapYear(2022+DateTime[6])? 29:28。 if(DateTime[3]MonthsDays[DateTime[4]]) DateTime[3]=MonthsDays[DateTime[4]]。 RefreshWeekDay()。 break。 case 4: //月 if(x== 1amp。amp。DateTime[4]12) DateTime[4]++。 if(x==1amp。amp。DateTime[4]1) DateTime[4]。 MonthsDays[2]=isLeapYear(2022+DateTime[6])? 29:28。 if(DateTime[3]MonthsDays[DateTime[4]]) DateTime[3]=MonthsDays[DateTime[4]]。 RefreshWeekDay()。 break。 case 3: //日 MonthsDays[2]=isLeapYear(2022+DateTime[6])? 29:28。 if(x== 1amp。amp。DateTime[3]MonthsDays[DateTime[4]]) DateTime[3]++。 if(x==1amp。amp。DateTime[3]0) DateTime[3]。 RefreshWeekDay()。 break。 case 2: //時 if(x== 1amp。amp。DateTime[2]23) DateTime[2]++。 if(x==1amp。amp。DateTime[2]0) DateTime[2]。 break。 case 1: //秒 if(x== 1amp。amp。DateTime[1]59) DateTime[1]++。 if(x==1amp。amp。DateTime[1]0) DateTime[1]。 break。 } } 液晶初始化子程序 /*************初始化 *************/ void T0_INT() interrupt 1 { TH0=50000/256。 TL0=50000%256。 14 if(++tCount!=2) return。 tCount=0。 Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5)。 Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8)。 Format_DateTime(DateTime[3],LCD_DSY_BUFFER1+11)。 strcpy(LCD_DSY_BUFFER1+13,WEEK[DateTime[5]1])。 Format_DateTime(DateTime[2],LCD_DSY_BUFFER2+5)。 Format_DateTime(DateTime[1],LCD_DSY_BUFFER2+8)。 Format_DateTime(DateTime[0],LCD_DSY_BUFFER2+11)。 Display_LCD_String(0x00,LCD_DSY_BUFFER1)。 Display_LCD_String(0x40,LCD_DSY_BUFFER2)。 } 第四章 指標(biāo)測試 測試儀器 測試如表 2 所示。 序號 名稱 型號 1 PC機 2 單片機仿真軟件 Proteus、 keil C 3 數(shù)字萬用表 DT9205B 4 ISP在線下載線 表 2 測試儀器 硬件測試 可調(diào)電子日歷 的電路,焊接不可輕視,只要出于一處的錯誤,則會對檢測造成很大的不便,對于各種鋒利的引腳要注意處理,否則會刺被帶有包皮的導(dǎo)線,則會對電路造成短路現(xiàn)象。 在 可調(diào)電子日歷 的設(shè)計調(diào)試中遇到了很多的問題?;叵脒@些問題只要認真多思考都是可以避免的,以下為主要的問題: ( 1)單片機晶振不起振 ( 2)對 可調(diào)電子日歷 修改時間或日期時,有時時間改變 2 次。 解決:根據(jù)儀器的測試,發(fā)現(xiàn)電路引腳有接錯的現(xiàn)象,重新焊接后晶振,復(fù)位正常,程序能夠下載。 15 軟件測試 可調(diào)電子日歷是多功能的數(shù)字型,可以看當(dāng)前日期 ,時間。在編寫程序和調(diào)試時出現(xiàn)了較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。 測試結(jié)果分析與結(jié)論 測試結(jié)果分析 ( 1).在測試中遇到單片機晶振不起振 ,首先使用試測儀對電路進行測試 ,觀察是否存在漏焊 ,虛焊 ,或者元件損壞 . ( 2). LCD1602 液晶 不顯示時間和日期 ,首先使用試測儀對電路進行測試 ,觀察電路是否存在短路現(xiàn)象。 然后 查看程序是否正確無誤,對程序進行認真修改。 測試結(jié)論 經(jīng)過多次的反復(fù)測試與分析 , 可以對電路的原理及功能更加熟悉 , 同時提高了設(shè)計能力與及對電路的分析能力 , 同時在軟件的編程方面得到更 多 的提高 , 對編程能力得到加強 , 同時對所學(xué)的知識得到很大的提高與鞏固 。 作品總結(jié) 在整個設(shè)計過程中, 我們 發(fā)揮團隊精神,分工合作,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識 , 較好的完成了作品 , 達到了預(yù)期的目的 。 完了最 初的設(shè)想。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,電路 焊接過程中 ,不能心急,一個個慢慢來不能急于求成。反而達到事半功倍的效果。對電路的設(shè)計、布局要先有一個好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1