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

正文內(nèi)容

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

2025-02-13 02:35 本頁面
 

【文章內(nèi)容簡介】 設(shè)計(jì) 根據(jù)設(shè)計(jì)要求需要選擇四個(gè)獨(dú)立按鍵分別為選擇、加、減、確定, 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è)計(jì) 第三章 系統(tǒng)的軟件設(shè)計(jì) 主程序流程圖 開始 液晶初始化 1302 設(shè)置初始時(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)整時(shí)間用 4個(gè)調(diào)整按鈕, 1個(gè)作為選擇控制用,另外 3個(gè)分別作為加調(diào)整,減調(diào)整和確定用。時(shí)間調(diào)整程序流程圖如圖 B所示 : 11 判斷是否有鍵按下 Y N 計(jì)時(shí)停止 判斷功能鍵按下次數(shù) ≤ 7 次 =8 次 對(duì)應(yīng)位閃爍 加鍵按下 減鍵按下 對(duì)應(yīng)位時(shí)間加 1 對(duì)應(yīng)位時(shí)間減 1 顯示子程序 返回,進(jìn)入主程序 圖 B 時(shí)間調(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)前時(shí)期時(shí)間 */ void GetTime() { uchar i。 12 for(i=0。i7。i++) { DateTime[i]=Read_Data(0x81+2*i)。 } } /* 時(shí)間和日期轉(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。 } /* 年月日時(shí)分秒 ++/ */ 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: //時(shí) 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)測(cè)試 測(cè)試儀器 測(cè)試如表 2 所示。 序號(hào) 名稱 型號(hào) 1 PC機(jī) 2 單片機(jī)仿真軟件 Proteus、 keil C 3 數(shù)字萬用表 DT9205B 4 ISP在線下載線 表 2 測(cè)試儀器 硬件測(cè)試 可調(diào)電子日歷 的電路,焊接不可輕視,只要出于一處的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺被帶有包皮的導(dǎo)線,則會(huì)對(duì)電路造成短路現(xiàn)象。 在 可調(diào)電子日歷 的設(shè)計(jì)調(diào)試中遇到了很多的問題?;叵脒@些問題只要認(rèn)真多思考都是可以避免的,以下為主要的問題: ( 1)單片機(jī)晶振不起振 ( 2)對(duì) 可調(diào)電子日歷 修改時(shí)間或日期時(shí),有時(shí)時(shí)間改變 2 次。 解決:根據(jù)儀器的測(cè)試,發(fā)現(xiàn)電路引腳有接錯(cuò)的現(xiàn)象,重新焊接后晶振,復(fù)位正常,程序能夠下載。 15 軟件測(cè)試 可調(diào)電子日歷是多功能的數(shù)字型,可以看當(dāng)前日期 ,時(shí)間。在編寫程序和調(diào)試時(shí)出現(xiàn)了較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。 測(cè)試結(jié)果分析與結(jié)論 測(cè)試結(jié)果分析 ( 1).在測(cè)試中遇到單片機(jī)晶振不起振 ,首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試 ,觀察是否存在漏焊 ,虛焊 ,或者元件損壞 . ( 2). LCD1602 液晶 不顯示時(shí)間和日期 ,首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試 ,觀察電路是否存在短路現(xiàn)象。 然后 查看程序是否正確無誤,對(duì)程序進(jìn)行認(rèn)真修改。 測(cè)試結(jié)論 經(jīng)過多次的反復(fù)測(cè)試與分析 , 可以對(duì)電路的原理及功能更加熟悉 , 同時(shí)提高了設(shè)計(jì)能力與及對(duì)電路的分析能力 , 同時(shí)在軟件的編程方面得到更 多 的提高 , 對(duì)編程能力得到加強(qiáng) , 同時(shí)對(duì)所學(xué)的知識(shí)得到很大的提高與鞏固 。 作品總結(jié) 在整個(gè)設(shè)計(jì)過程中, 我們 發(fā)揮團(tuán)隊(duì)精神,分工合作,充分發(fā)揮人的主觀能動(dòng)性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識(shí) , 較好的完成了作品 , 達(dá)到了預(yù)期的目的 。 完了最 初的設(shè)想。在電路焊接時(shí)雖然沒什么大問題,但從中也知道了焊接在整個(gè)作品中的重要性,電路 焊接過程中 ,不能心急,一個(gè)個(gè)慢慢來不能急于求成。反而達(dá)到事半功倍的效果。對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1