国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

零基礎(chǔ)學(xué)FPGA(十七)新人必進(jìn),1602動(dòng)態(tài)電子可調(diào)時(shí)鐘設(shè)計(jì),練一下代碼風(fēng)格吧

發(fā)布時(shí)間:2016-2-18 14:14    發(fā)布者:designapp
關(guān)鍵詞: FPGA , 1602
  之所以取這個(gè)標(biāo)題名呢~感覺這個(gè)實(shí)驗(yàn)還是蠻重要的,當(dāng)初我在學(xué)單片機(jī)的時(shí)候也是通過這個(gè)實(shí)驗(yàn)來鞏固了一下自己的代碼風(fēng)格,當(dāng)然這個(gè)實(shí)驗(yàn)涉及的東西還是挺多的,如果是新手,想要自己設(shè)計(jì)出來還是有點(diǎn)難度的,當(dāng)然這個(gè)設(shè)計(jì)目前對我來說不算難了應(yīng)該,寫這篇文章的目的呢就是想鞏固一下自己的代碼風(fēng)格,因?yàn)橐郧皩W(xué)習(xí)大多是先看懂別人的代碼之后,然后根據(jù)自己的理解再敲上一遍,這次不同,這次的代碼是小墨同學(xué)沒有參考任何其他教程的情況下,用自己腦子里的東西寫的,自我感覺條理還算清楚,估計(jì)新手看起來應(yīng)該還是比較容易上手的,不過由于小墨同學(xué)資歷尚淺,對于資源,速度的問題考慮的過少,沒有對這個(gè)設(shè)計(jì)進(jìn)行優(yōu)化,但是想想,以一種直白的方式交給剛?cè)腴T的同學(xué),避免了優(yōu)化代碼帶來的一些迷惑,這便是這篇文章的目的了。這篇文章只介紹電子時(shí)鐘設(shè)計(jì)部分,至于1602的其他用法希望各位自行學(xué)習(xí)~
  現(xiàn)在已經(jīng)進(jìn)入了12月,也就是考試月了,對于我這么一個(gè)大三的學(xué)生來說,專業(yè)課鋪天蓋地可以說,再說我們通信專業(yè)也不是什么好學(xué)的科目,估計(jì)未來一個(gè)月文章會更新的慢一點(diǎn)。希望大家多多支持~下面我們開始是今天的教學(xué)
  這次我們要做的是一個(gè)電子時(shí)鐘,動(dòng)態(tài)可調(diào)并在1602上顯示,那我們就先來了解一下1602.其實(shí)液晶這部分感覺都差不多,大家要是會了1602,那么上手12864也不成問題了
  1、操作時(shí)序
  


  1602要用到的管腳也就是4個(gè),即
  1、rs數(shù)據(jù)命令選擇端
  2、wr讀寫控制端
  3、lcden使能信號
  4、8位的數(shù)據(jù)端口
  而且1602的讀功能我們用不到,所以wr一直置0即可,要控制的就是rs端,數(shù)據(jù)端和lcden端
  2、寫時(shí)序
  由于讀操作我們用不到,直接來看寫操作好了
  


  由上圖得,我們?nèi)绻獙懨畹脑挘鸵趓s為低電平的時(shí)候給數(shù)據(jù)端送8位命令數(shù)據(jù),然后等一段時(shí)間后有一個(gè)lcden的高脈沖即可使數(shù)據(jù)有效,注意這個(gè)lcden的高脈沖要掩飾一點(diǎn)時(shí)間
  3、初始化設(shè)置
  


  這里我們要顯示一個(gè)2行,16位的液晶,5x7點(diǎn)陣,8位數(shù)據(jù)接口,不顯示光標(biāo)
  故初始化的時(shí)候我們要進(jìn)行的操作是送1602這兩個(gè)命令,好下面我們開始寫程序
  4、程序設(shè)計(jì)
  有些人會問,1602的時(shí)序圖上的延時(shí)怎么操作?這個(gè)問題已經(jīng)有好幾位網(wǎng)友問過我了,這里,我們需要用到狀態(tài)機(jī)。由于我們的時(shí)鐘是50Mhz,一個(gè)周期為20ns,對于1602來說這個(gè)頻率太高了,因此我們需要分頻。再看看1602的datasheet里的延時(shí)參數(shù),這里我們設(shè)置供1602的時(shí)鐘
  


  做好了時(shí)鐘我們就可以來寫狀態(tài)機(jī)了,首先我們需要把RS拉低,因?yàn)槲覀円獙?602進(jìn)行初始化,然后給1602送初始化數(shù)據(jù),即0x38,延時(shí)一個(gè)時(shí)鐘周期之后將使能端拉高。注意這里的一個(gè)時(shí)鐘周期是我們之前的分頻后的時(shí)鐘,大約1ms,然后再等待一個(gè)時(shí)鐘周期后將lcden拉低,并送光標(biāo)顯示數(shù)據(jù)0x3c
  


  接著,按照上述方法設(shè)置1603寫一個(gè)字符后地址指針加1和顯示清零命令,即0x06和0x01
  


  然后我們需要確定我們的時(shí)鐘的時(shí)間顯示地址
  


  例如,我想把時(shí)鐘的小時(shí)的十位寫在04的位置上,這樣我們就需要寫命令給1602,告訴它我們要寫的地址為 0x80 +4 = 0x84,故要給1602送0x84
  


  這樣我們的初始化就結(jié)束了,初始化結(jié)束之后,我們需要寫數(shù)據(jù)了。與寫指令不同的是,這里僅需將RS拉高,其他時(shí)序不變,下面我們來寫時(shí)間,我的思路是先將時(shí)分秒寫進(jìn)去,再利用狀態(tài)機(jī)循環(huán)刷新
  


  分鐘和秒鐘的書寫規(guī)則和小時(shí)相同,寫完后要回到剛開始寫的地址處進(jìn)行循環(huán),即0x84
  


  靜態(tài)時(shí)鐘寫完了,這個(gè)時(shí)候如果把程序下到板子里,液晶屏上應(yīng)該顯示“00:00:00”,下面我們讓這個(gè)時(shí)鐘動(dòng)起來,這就需要我們令開啟一個(gè)進(jìn)程,專門用來進(jìn)行時(shí)鐘計(jì)數(shù),這里要用到分頻電路,這次要分頻1秒鐘
  


  計(jì)數(shù)完成之后我們需要將時(shí)分秒進(jìn)行處理,因?yàn)槲覀兺?602里寫數(shù)據(jù)一次只能寫1位,故,我們需要把時(shí)分秒的十位和各位分開來再送到1602,這里就用到了求模求余算法了
  


  這樣的話我們的時(shí)鐘應(yīng)該就可以動(dòng)起來了,這里再說一下求模求余算法,例如分鐘是45分,45對10求模即4,送到相應(yīng)的10位上去,45對10求余,即5,送到相應(yīng)的個(gè)位上去即可。
  除了讓時(shí)鐘動(dòng)起來之外,我們還可以再加一個(gè)功能,實(shí)現(xiàn)可調(diào),這就需要用到按鍵,功能如下:
  1、鍵1按下時(shí),時(shí)鐘停止計(jì)時(shí)
  2、鍵2、3、4按下時(shí),分別對時(shí)分秒進(jìn)行調(diào)整
  3、鍵1再次按下時(shí),時(shí)鐘開始計(jì)時(shí)
  說到按鍵,就要用到按鍵消抖了,這就是前面的知識了,這里不做重復(fù),詳細(xì)見源代碼,這里提供部分代碼
  


  接著對相應(yīng)位進(jìn)行操作即可
  


  


  這樣我們的時(shí)鐘算是設(shè)計(jì)完成了,至于其他功能,大家可以另行拓展,在這里小墨同學(xué)就給大家布置一項(xiàng)作業(yè)吧,實(shí)現(xiàn)多功能電子時(shí)鐘設(shè)計(jì),功能如下:
  1、 實(shí)現(xiàn)年月日顯示,并按照平年閏年,大月小月計(jì)數(shù)
  2、實(shí)現(xiàn)定時(shí)報(bào)警功能,即鬧鐘
  3、讓顯示的時(shí)間上電的時(shí)候從右面慢慢滑進(jìn)來
  下面是實(shí)驗(yàn)結(jié)果測試圖片
  

                               
               
本文地址:http://m.qingdxww.cn/thread-160871-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天堂网在线资源www最新版 | 亚洲免费二区 | 午夜视频免费国产在线 | 久久99这里只有精品 | 男女啪啪抽搐一进一出免费看 | 在线观看国产欧美 | 日日摸日日 | 国产一区二区三区欧美精品 | 91碰碰| 天堂a视频 | 草久在线观看 | 成人夜色香网站在线观看 | 国产精品久久九九 | 老子影院午夜精品欧美视频 | 2019天堂网 | 中文字幕精品一区二区日本 | 中国女人毛片 | 国产欧美日韩精品a在线观看高清 | 九九九热视频 | 99久久一香蕉国产线看观看 | 三级网站片 | 欧美一级特黄视频 | 四虎影视国产永久免费 | 色婷婷丁香 | 男女激情视频国产免费观看 | 全部免费的毛片在线看美国 | 操弄小说 | 手机在线免费黄色网站 | 亚洲香蕉影视在线播放 | 成人a区 | 无人视频在线观看完整版免费下载 | 91专区在线观看 | 亚洲视频在线观看地址 | 手机在线观看国产精选免费 | 欧美成人午夜在线全部免费 | 亚洲欧美日韩精品中文乱码 | 色综合天天综合给合国产 | 99久久精品国产免费 | 国产成人综合久久亚洲精品 | 91福利精品老师国产自产在线 | 99视频精品全国免费 |