<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)四鍵菜單設(shè)計(jì)思想

          單片機(jī)四鍵菜單設(shè)計(jì)思想

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          題目要求:基本AT89S52單片機(jī)的時(shí)鐘日歷顯示.
          要求:能正確的顯示時(shí)間
          能正確的顯示日歷
          難點(diǎn)分析:
          1.能正確的顯示時(shí)間,在單片機(jī)或是計(jì)算中執(zhí)行每一條指令時(shí)都會(huì)對(duì)自己本身用去機(jī)器周期.所以在設(shè)置定時(shí)器不應(yīng)設(shè)置剛剛好1秒的時(shí)間,應(yīng)該比1些秒少,這一秒的時(shí)間內(nèi)包含定時(shí)器的時(shí)間,執(zhí)行其它指令的時(shí)間.
          2.能正確的顯示日歷.在這里看一個(gè)比較簡(jiǎn)單的要示,但是我們必需從簡(jiǎn)單里考慮潤(rùn)年,二月天數(shù),還有大小月的問題.這些都是不能忽視的.
          注:出錯(cuò)通常都是忽視看似簡(jiǎn)單的問題.一個(gè)好的程序員不否定掌握有很用的技術(shù),但是好的技術(shù)員本身基礎(chǔ)是相當(dāng)過關(guān)的.這也是我今后要注意的問題之一.
          3.本系統(tǒng)中只配置了四個(gè)鍵.也就是說我們所有的調(diào)時(shí)間,調(diào)日歷必需也只能通過這四個(gè)鍵來完成.這里有一個(gè)菜單的實(shí)現(xiàn)原理.
          實(shí)現(xiàn)方法:
          基于以上難點(diǎn)分析我設(shè)計(jì)了以下幾種應(yīng)對(duì)方法.
          針對(duì)難1:在這正確的顯示時(shí)間里,我們只要簡(jiǎn)單的設(shè)計(jì)程序,每60秒進(jìn)1分鐘,秒清0,也就是在59過后加1就清0,照推.分鐘,小時(shí)天按常理照推.
          針對(duì)難點(diǎn)2:
          日期顯示我們也按常理照推.記得區(qū)分大小月的問題和二月問題,關(guān)于二月的什么問題呢,就是潤(rùn)年的問題.潤(rùn)年的基本算法,年數(shù)能被4整除但不能對(duì)100整除,年數(shù)能被100整除又能被400整除的.
          能語言實(shí)現(xiàn)語句:if((year %4 ==0 && year %100 !=0)||( year % 400==0))
          注:本語句據(jù)今天一朋友說,她看動(dòng)畫片的時(shí)候看到本算法是不完善的.在2996年以后就不是正確的,我沒驗(yàn)證過.準(zhǔn)備找時(shí)間驗(yàn)證一下,如果有朋友看到這文章有興趣的話也驗(yàn)證一下.到時(shí)別忘了通知我一聲.
          針對(duì)難點(diǎn)3:
          關(guān)于四鍵設(shè)計(jì)的方法:雖然我們看用過很多四鍵設(shè)計(jì)的實(shí)物,但是在實(shí)際中我們?nèi)绾卧O(shè)計(jì)程序呢?
          我采用的方法是:
          (1),從鍵碼掃描程序中讀得鍵值.如果為功能鍵,功能選擇計(jì)數(shù)器計(jì)數(shù)一次,如果是確定,也設(shè)計(jì)的叫退出鍵.則返回選擇計(jì)數(shù)器值.其他的兩個(gè)鍵值則忽略不計(jì),如果在沒有按過功能鍵,按了退出鍵的,則返回正常執(zhí)行.
          (2):返回了功能選擇.則此時(shí)有三個(gè)鍵起作用了,功能選擇鍵屏蔽.中間兩個(gè),一個(gè)加一個(gè)減,每次按鍵對(duì)NUM加減計(jì)數(shù)器執(zhí)行加或減,當(dāng)執(zhí)行了確定鍵里,返回NUM計(jì)數(shù)器的值.
          (3).些時(shí)就完了一次菜單的執(zhí)行.接下就是調(diào)整時(shí)間,或是日歷了.
          接下來就是把數(shù)據(jù)(年,月日,小時(shí),分鐘,秒)寫入顯示器(我采用的12864帶字庫的液晶顯示),
          在這里注意的就是液晶地址的安排就好了.



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();