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

正文內(nèi)容

基于單片機(jī)的lcd1602電子時(shí)鐘設(shè)計(jì)-在線瀏覽

2025-07-24 22:57本頁面
  

【正文】 調(diào)整鍵S3。S2實(shí)現(xiàn)調(diào)整加1功能,S3實(shí)現(xiàn)調(diào)整減1功能。在產(chǎn)品工作期間出現(xiàn)錯(cuò)誤或死機(jī)現(xiàn)象可采用手動(dòng)復(fù)位,即按下S4,此時(shí)無論電路處于何種狀態(tài),電路都會(huì)恢復(fù)到初始狀態(tài)的顯示。復(fù)位電路及晶振電路如圖5所示: 圖5 復(fù)位電路及晶振電路 系統(tǒng)軟件設(shè)計(jì)軟件系統(tǒng)分四個(gè)部分:主函數(shù)程序部分,鍵盤掃描部分,定時(shí)器中斷部分,LCD初始化部分。另外,買來的元器件要先進(jìn)行檢測,如果有壞的器件要進(jìn)行更換,還有就是要注意元器件的正確放置與安裝以及布線的合理,便于成品電路的檢測與維護(hù)。在本設(shè)計(jì)中遇到了很多的問題。在Proteus中仿真中,提示出現(xiàn)了R1(R2)錯(cuò)誤,經(jīng)過仔細(xì)排查,發(fā)現(xiàn)有兩個(gè)電阻命名,是R1,兩個(gè)電阻命名是R2。 (2):在Proteus仿真中,LCD不顯示在硬件設(shè)計(jì)上需要用P0口來對LCD進(jìn)行指令的讀寫和數(shù)據(jù)的輸入,由于沒有在P0口接上拉電阻,LCD屏就一直不顯示。 軟件分析該設(shè)計(jì)的功能雖然比較簡單,但程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了許多問題。在軟件的調(diào)試過程中主要遇到的問題如下: (1):燒入程序后,秒、分、時(shí)、年能正常工作,但是日、月出錯(cuò)當(dāng)秒等于60時(shí)顯示為00,范圍是0~59;當(dāng)分等于60時(shí)顯示00,范圍是0~59;當(dāng)時(shí)等于24時(shí)顯示00,范圍是0~23;年等于100是顯示00,范圍是00~99;日和月的顯示都不包括0,當(dāng)由于軟件出錯(cuò),顯示時(shí)出現(xiàn)了,經(jīng)過改寫最終全能正常顯示。剛開始不能區(qū)分,最后經(jīng)過修改能區(qū)分顯示。在整個(gè)設(shè)計(jì)過程中,從設(shè)計(jì)方案的確定,到具體電路在Proteus中的設(shè)計(jì),最后到總體電路的聯(lián)接構(gòu)建以及程序的編寫燒制,特別是程序的編寫,要求對LCD1602的初始化操作、指令和數(shù)據(jù)的操作都需要很熟悉。 盡管在這次設(shè)計(jì)中遇到了許多難題,但也都一一得以解決。通過此次設(shè)計(jì),也使我知道了做任何事都要有一顆平常心,不要想著走捷徑,一步一個(gè)腳印,把每一步都認(rèn)認(rèn)真真做好了,才能取得最后的成功,同時(shí)也鍛煉了我的耐心,做什么事都要有耐心,不要遇到困難就退縮,而是要靜下心來去尋找解決的辦法否則很難有最后的成功??傊?,這次課設(shè)是我的又一次全新的嘗試,也是一個(gè)小小的成功,更是一次很好的鍛煉,讓我有了全方位的提高和進(jìn)步。單片機(jī)原理及應(yīng)用(C語言版)。單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)。單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐。單片機(jī)原理及應(yīng)用。 //LCD使能端 sbit lcdrs=P1^0。uchar mytable0[]=Nan yang li gong。uchar code line0[]= 20101201 。uchar code month0[]={31,28,31,30,31,30,31,31,30,31,30,31}。 //閏年月 uchar count,hour,minute,second,year=1,month=1,date=1。 //s1num:定義功能鍵按下次數(shù)變量 void delay(unsigned int z) //延時(shí)子函數(shù) z*1ms { unsigned int x,y。x0。y0。}void write_(unsigned char c) //寫命令子函數(shù) { lcdrs=0。 datasend=c。 lcden=1。 //讀取指令 lcden=0。 //高電平選擇為 寫數(shù)據(jù) datasend=d。 lcden=1。 //讀取數(shù)據(jù) lcden=0。 //定義十位,個(gè)位變量 sw=dat/10。 write_(0x80+0x40+add)。 //寫入十位 write_data(0x30+gw)。 //定義十位,個(gè)位變量 sw=dat/10。 write_(0x80+add)。 //寫入十位 write_data(0x30+gw)。 TL0=(6553650000)%256。} void gethms() //時(shí)分秒處理子程序 { second++。 minute++。 hour++。 date++。 //時(shí)輸出顯示 } write_hms(5,minute)。 //秒輸出顯示 }void getymd() //年月日處理子程序 { if(year%4==0) { if(date==month1[month1]+1) { date=1。 if(month==13) { month=1。 if(year==100) { year=1。 } write_ymd(7,month)。 } else { if(date==month0[month1]+1) { date=1。 if(month==13) { month=1。 if(year==100) { year=1。 } write_ymd(7,month)。 } }void key_process() //按鍵掃描子程序 { if(P2==0xf6) //功能鍵 delay(25)。 //松手檢測 s1num++。 //T0定時(shí)停止,進(jìn)入時(shí)間調(diào)整 switch(s1num) { case 1: write_(0x80+0x40+0x09)。 //光標(biāo)閃爍位定為秒個(gè)位 case 2: write_(0x80+0x40+0x06)。 //光標(biāo)閃爍位定為分個(gè)位 case 3: write_(0x80+0x40+0x03)。 //光標(biāo)閃爍位定為時(shí)個(gè)位 case 4: write_(0x80+0x0b)。 //光標(biāo)閃爍位定為日個(gè)位 case 5: write_(0x80+0x08)。 //光標(biāo)閃爍位定為月個(gè)位 case 6: write_(0x80+0x05)。 //光標(biāo)閃爍位定
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1