加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于小腳丫FPGA開發(fā)板和Nokia5110液晶屏的數(shù)字時(shí)鐘設(shè)計(jì)-標(biāo)準(zhǔn)版

2016/08/30
21
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(2)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

1、設(shè)計(jì)要求

基于小腳丫FPGA開發(fā)板和Nokia5110液晶屏實(shí)現(xiàn)數(shù)字時(shí)鐘的設(shè)計(jì),要求:

  • 1)采用FPGA+按鍵+液晶屏實(shí)現(xiàn)數(shù)字時(shí)鐘功能;
  • 2)時(shí)間顯示格式:XX:XX:XX (時(shí):分:秒),采用24小時(shí)制;
  • 3)增加按鍵控制,時(shí)分秒三位分別可調(diào),處于調(diào)節(jié)狀態(tài)的位閃爍區(qū)別;

2、硬件連接

FPGA的系統(tǒng)時(shí)鐘來自于小腳丫FPGA開發(fā)板配置的24MHz時(shí)鐘晶振,連接FPGA的C1引腳。

本設(shè)計(jì)用到兩個(gè)按鍵K1和K2,硬件設(shè)計(jì)如圖1所示,兩個(gè)按鍵分別連接到FPGA的A2和B7引腳。

圖1、按鍵硬件設(shè)計(jì)

設(shè)計(jì)中需要驅(qū)動(dòng)Nokia5110液晶屏作為顯示,液晶屏與小腳丫FPGA開發(fā)板之間的連接關(guān)系如圖2所示,對應(yīng)的管腳如下。

液晶屏 RST CE DC DIN CLK VCC BL GND
FPGA N3 P2 N2 M1 K1 3.3V J1 GND

圖2、液晶屏硬件連接

3、工作原理

  • 2)使用三個(gè)8bit的BCD碼表示時(shí)鐘、分鐘、秒鐘的值,其中高4bit表示值的十位,低4bit表示值的個(gè)位;
  • 3)正常運(yùn)行時(shí),每來一個(gè)sec_clk秒鐘個(gè)位加1,個(gè)位滿10清零同時(shí)十位加1,當(dāng)秒鐘滿60清零同時(shí)分鐘個(gè)位加1,依次進(jìn)行...直到23:59:59的下一刻全部清零;
  • 4)按鍵K1,模式調(diào)節(jié),設(shè)計(jì)共分4中模式(運(yùn)行模式、時(shí)針調(diào)節(jié)、分針調(diào)節(jié)、秒針調(diào)節(jié)),按動(dòng)K1依次切換模式;
  • 5)按鍵K2,時(shí)間調(diào)節(jié),當(dāng)數(shù)字時(shí)鐘在時(shí)針調(diào)節(jié)、分針調(diào)節(jié)或秒針調(diào)節(jié)模式時(shí),按動(dòng)K2調(diào)節(jié)對應(yīng)時(shí)間位;
  • 6)硬件連接圖中,程序復(fù)位控制線控制程序復(fù)位,斷開重連設(shè)計(jì)復(fù)位。

4、代碼設(shè)計(jì)

為了實(shí)現(xiàn)所需要的功能,我們將整個(gè)設(shè)計(jì)劃分不同的模塊,如圖3所示。

圖3、數(shù)字時(shí)鐘程序設(shè)計(jì)框架

4.1 clock_ctl模塊

Clock_ctl模塊主要實(shí)現(xiàn)數(shù)字時(shí)鐘的模式控制,本設(shè)計(jì)共有4種模式(normal、hour_set、minute_setsecond_set)當(dāng)K1按鍵按下(set_en為高電平)時(shí)依次跳轉(zhuǎn),如圖4所示。

圖4、數(shù)字時(shí)鐘狀態(tài)控制設(shè)計(jì)

4.2 clock_cnt模塊

Clock_cnt模塊主要實(shí)現(xiàn)時(shí)鐘邏輯模塊:

  • 1)當(dāng)處于normal模式時(shí),每來一個(gè)sec_clk秒鐘個(gè)位加1,個(gè)位滿10清零同時(shí)十位加1,當(dāng)秒鐘滿60清零同時(shí)分鐘個(gè)位加1,依次進(jìn)行...直到23:59:59的下一刻全部清零。
  • 2)當(dāng)處于second_set模式時(shí),每次K2按鍵按下(up_en為高電平)時(shí),秒鐘個(gè)位加1,個(gè)位滿10清零同時(shí)十位加1,當(dāng)秒鐘滿60清零,分鐘和時(shí)鐘保持不變,如下:

5、系統(tǒng)運(yùn)行

圖5、系統(tǒng)運(yùn)行

視頻地址:

https://v.youku.com/v_show/id_XMTM5MDE4OTE2MA==.html?from=s1.8-1-1.2

6、資源報(bào)告

資源 數(shù)量 比例 說明
LUTs 718 56%
寄存器 179 11%
存儲器 0 0%
IO管腳 12
時(shí)鐘頻率 25MHz

7、知識點(diǎn)

  • ?時(shí)鐘計(jì)數(shù)分頻
  • ?按鍵消抖處理
  • ?串行/并行轉(zhuǎn)換
  • ?Nokia5110液晶屏驅(qū)動(dòng)

8、參考文檔

Lattice MachXO2數(shù)據(jù)手冊Nokia5110液晶屏資料

9、相關(guān)文件

文件名稱 功能
Digital_clock 頂層模塊,將所有功能模塊接口連接起來
Clock_div 實(shí)現(xiàn)分頻,產(chǎn)生按鍵、顯示和秒時(shí)鐘
key_board 實(shí)現(xiàn)按鍵消抖
clock_ctl 實(shí)現(xiàn)數(shù)字時(shí)鐘的模式控制
clock_cnt 時(shí)鐘邏輯,產(chǎn)生時(shí)分秒的數(shù)值
LCD_nokia5110 驅(qū)動(dòng)Nokia5110液晶屏的顯示
  • stepfpga_board.pdf
    描述:小腳丫FPGA開發(fā)板原理圖
  • Digital_clock.rar
    描述:小腳丫FPGA數(shù)字時(shí)鐘邏輯代碼

相關(guān)推薦

電子產(chǎn)業(yè)圖譜