<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于Verilog實(shí)現電器定時(shí)開(kāi)關(guān)控制

基于Verilog實(shí)現電器定時(shí)開(kāi)關(guān)控制

作者: 時(shí)間:2012-07-16 來(lái)源:網(wǎng)絡(luò ) 收藏
修改也方便。本設計CPLD部分完全使用 HDL編寫(xiě)。

  4.1按鍵掃描及鍵值讀取

  CPLD檢測到kb下降沿時(shí),表示有鍵按下時(shí),為防止按鍵抖動(dòng),延時(shí)一段時(shí)間再檢測,若確有鍵按下,CPLD采用低電平逐行掃描,待找到按鍵時(shí),根據掃捕得到的數值,確定按鍵值。對于無(wú)效按鍵,設按鍵值為"15"。輸入信號kb的下降沿觸發(fā)對鍵值的讀取,可保證對于每一次按鍵,僅作一次處理。主要程序如下:

  

基于Verilog實(shí)現電器定時(shí)開(kāi)關(guān)控制

  4.2功能鍵的判斷

  程序初始化時(shí)為設定時(shí)間、開(kāi)啟編號、開(kāi)啟時(shí)間、關(guān)閉時(shí)間4個(gè)功能鍵設置對應按鍵值。定義功能標志寄存器fun,并使用格雷碼標志各個(gè)功能,相鄰兩個(gè)功能的編碼僅有一位不同,可避免狀態(tài)跳變,比目前常用的獨熱碼節省CPLD邏輯單元。由于本設計中寄存器fun只有5個(gè)狀態(tài),選用3位格雷碼,并對編碼方式進(jìn)行改進(jìn)。根據上一步得到的按鍵值判斷具體要實(shí)現哪個(gè)功能,并依此設置fun的值,如下所示:

  

基于Verilog實(shí)現電器定時(shí)開(kāi)關(guān)控制
4.3數字鍵的判斷和處理

  先根據鍵值判斷是哪一個(gè)數字鍵,再根據功能標志寄存器fun判斷進(jìn)行哪項設置。若正在進(jìn)行的是時(shí)間設置,則將時(shí)間寄存器左移4位,將數字值存入低位;若為設定需要開(kāi)啟電器的編號狀態(tài),則電器編號數組num對應位置"1",并通過(guò)電阻使相應發(fā)光二極管點(diǎn)亮,否則為"0";若為設定電器開(kāi)啟時(shí)間狀態(tài),相應電器的開(kāi)啟時(shí)間寄存器timeon左移4位,將數字值存入低位;若為設定電器關(guān)閉時(shí)間狀態(tài),相應電器的關(guān)閉時(shí)間寄存器timeoff左移4位,將數字值存人低位。若為無(wú)效按鍵,則不進(jìn)行任何操作。

  4.4數字鐘的工作

  本系統設計作為數字鐘和定時(shí)器,對計時(shí)準確性要求較高.由有源晶體振蕩器提供系統時(shí)鐘,可保證其穩定度。在頂層模塊中對系統時(shí)鐘分頻,得到1 Hz時(shí)鐘,作為數字鐘部分行波時(shí)鐘。這樣減少了片內各觸發(fā)器之間的時(shí)鐘偏移,事實(shí)證明,對設計時(shí)序無(wú)不良影響。 先將沒(méi)定的時(shí)間送人小時(shí)、分鐘對應的寄存器hour和min,為了顯示和用戶(hù)操作方便,用6位二進(jìn)制寄存器,以8421BCD碼表示時(shí)間。如果秒為8'h59則秒寄存器sec清零,分鐘值加1,若秒值末位為"9",則秒值末位清零,秒值十位加1。

  4.5判斷電器的開(kāi)啟和關(guān)閉

  若當前時(shí)間與某個(gè)已定時(shí)的電器的開(kāi)啟時(shí)間相同,則開(kāi)啟寄存器數組on對應位輸出高電平,開(kāi)啟對應電器;若與某個(gè)已定時(shí)的電器的關(guān)閉時(shí)間相同,則開(kāi)啟寄存器數組on對應位輸出低電平,關(guān)閉對應電器。

  



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>