环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 工業繼電器 > 計時與計數器 > 計時器

類型分類:
科普知識
數據分類:
計時器

基于VHDL的電子計時器的設計方法詳解 - 定時器電路圖

發布日期:2022-07-24 點擊率:113


本文為大家介紹電子計時器的VHDL設計方法。

設計要求

設計一個電子計時器,給定時鐘信號為512HZ,要求系統達到以下功能:

(1)用6個數碼管分別顯示時、分、秒,計時范圍為00:00:00~23:59:59。

(2)計時精度是1s。

(3)具有啟/ 停開關, 復位開關。

基于VHDL的電子計時器的設計方法詳解

總體方框圖

內部各功能模塊

本系統由六十進制計數器模塊、二十四進制計數器模塊、分頻模塊執行計時功能, 輸入信號是512Hz,通過分頻后為1Hz,時鐘信號是1Hz作為計時器的秒輸入,秒為60進制計數器,分也為60進制計數器,小時采用二十四進制計數器, 各級進位作為高位的使能控制。

六十進制計數器模塊

設計一個八位的六十進制計數器模塊,輸入信號為en、reset、clk,分別為使能、復位和時鐘信號,輸出信號為qa[3„0]、qb[3„0]、rco,分別為低4位輸出、高4位輸出和進位位。

基于VHDL的電子計時器的設計方法詳解

六十進制計數器

波形分析

基于VHDL的電子計時器的設計方法詳解

秒計數器的仿真波形圖

利用60進制計數器完成00到59的循環計數功能,當秒計數至59時,再來一個時鐘脈沖則產生進位輸出,即enmin=1;reset作為復位信號低電平有效,即高電平時正常循環計數,低電平清零。因為這種60進制的VHDL語言是很好寫的,它并不復雜,再說我們必須要學會這些基本的硬件語言的描寫。

基于VHDL的電子計時器的設計方法詳解

分鐘計數器的仿真波形圖

VHDL源程序

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY count60 IS

PORT( en,Reset,clk: in STD_LOGIC;

qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);

qb: out STD_LOGIC_VECTOR(3 DOWNTO 0);

rco: OUT STD_LOGIC); END count60;

ARCHITECTURE a OF count60 IS

BEGIN

process(clk)

variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);

variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0); begin

If Reset =‘0’then tma:=“0000”;

tmb:=“0000”;

elsif clk‘event and clk=’1‘ then

if en=’1‘ then

rco<=tmb(2)and tmb(0)and tma(3)and tma(0);

if tma=&ldquo;1001&rdquo; then

tma:=&ldquo;0000&rdquo;;

if tmb=&ldquo;0101&rdquo; then

tmb:=&ldquo;0000&rdquo;;

else tmb:=tmb+1;

end if;

else tma:=tma+1;

end if;

end if;

end if;

qa<=tma;qb<=tmb; end process; END a;

二十四進制計數器模塊

設計一個八位的二十四進制計數器模塊,輸入信號為en、reset、clk,分別為使能、復位和時鐘信號,輸出信號為qa[3&bdquo;0]、qb[3&bdquo;0],分別為低4位輸出、高4位輸出。

基于VHDL的電子計時器的設計方法詳解

二十四進制計數器示意圖

波形分析

基于VHDL的電子計時器的設計方法詳解

小時計數器的仿真波形圖

VHDL源程序

小時計數模塊利用24進制計數器,通過分鐘的進位信號的輸入可實現從00到23的循環計數。

該模塊部分VHDL 源程序如下:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY count24 IS

PORT( en,Reset,clk: in STD_LOGIC;

qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);

qb: out STD_LOGIC_VECTOR(3 DOWNTO 0));

END count24;

ARCHITECTURE a1 OF count24 IS

BEGIN

process(clk)

variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);

variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0);

begin

If Reset = &lsquo;0&rsquo;then tma:=&ldquo;0000&rdquo;;

tmb:=&ldquo;0000&rdquo;; else

if clk&lsquo;event and clk=&rsquo;1&lsquo; then

if en=&rsquo;1&lsquo; then

if tma=&ldquo;1001&rdquo; then

tma:=&ldquo;0000&rdquo;;

tmb:=tmb+1;

elsif tmb=&ldquo;0010&rdquo; and tma=&ldquo;0011&rdquo; then

tma:=&ldquo;0000&rdquo;;

tmb:=&ldquo;0000&rdquo;;

else tma:=tma+1;

end if;

end if;

end if;

end if;

qa<=tma;

qb<=tmb;

end process;

END a1;


分頻器模塊

設計一個分頻器,要求將輸入512HZ的時鐘信號分頻為1HZ的時鐘信號作為計時器的秒輸入。輸入信號為clk和rst,分別為時鐘信號和復位信號,輸出信號為clk_out,為分頻器1HZ的時鐘信號輸出。

基于VHDL的電子計時器的設計方法詳解

分頻器示意圖

VHDL 源程序

該模塊部分VHDL 源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY fenpinqi IS

PORT (CLK,RST:in std_logic;

CLK_OUT:out std_logic);

END fenpinqi;

ARCHITECTURE behav OF fenpinqi IS

signal clk_data:std_logic;

SIGNAL CNT6 :

INTEGER := 0;

BEGIN

PROCESS(CLK)

BEGIN

IF RST = &lsquo;0&rsquo; THEN CNT6<=0

ELSIF CLK&lsquo;EVENT AND CLK=&rsquo;1&lsquo; THEN

IF CNT6=255 THEN

clk_data<=NOT clk_data;

CNT6<=0;

ELSE CNT6<=CNT6+1;

END IF;

END IF;

CLK_OUT<=clk_data;

END PROCESS;

END behav;

LED顯示模塊

LED有著顯示亮度高,響應速度快的特點,最常用的是七段式LED顯示器,又稱數碼管。七段LED顯示器內部由七個條形發光二極管和一個小圓點發光二極管組成,根據各管的亮暗組合成字符。

LED數碼管的g~a七個發光二極管因加正電壓而發亮,因加零電壓而不能發亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼(段碼),如顯示&rdquo;0&rdquo;,字形碼為3fh。

基于VHDL的電子計時器的設計方法詳解

LED數碼管結構圖

數碼管的接口有靜態接口和動態接口。動態接口采用各數碼管循環輪流顯示的方法,當循環顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要一個接口完成字形碼的輸出(字形選擇),另一接口完成各數碼管的輪流點亮(數位選擇)。

將二十四進制計數器和2個六十進制計數器的輸出作為LED顯示模塊的輸入,在時鐘信號的控制下通過此模塊完成6個LED數碼管的顯示,輸出信號為WEI[2&hellip;0]和LED[6&hellip;0],分別為位選信號和段碼輸出。

基于VHDL的電子計時器的設計方法詳解

LED顯示示意圖

VHDL 源程序

該模塊部分VHDL 源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY clock1 IS

PORT(CLK: IN STD_LOGIC;

S1, S2, S3, S4, S5, S6: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

WEI: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END ENTITY;

ARCHITECTURE behave OF clock1 IS

SIGNAL CNT6 : INTEGER RANGE 0 TO 5 := 0;

SIGNAL SHUJU: STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PRO1:PROCESS(CLK)

BEGIN

IF CLK&lsquo;EVENT AND CLK = &rsquo;1&lsquo; THEN

CNT6 <= CNT6 + 1;

CASE CNT6 IS

WHEN 0 => WEI <= &ldquo;000&rdquo;; SHUJU <= S1;

WHEN 1 => WEI <= &ldquo;001&rdquo;; SHUJU <= S2;

WHEN 2 => WEI <= &ldquo;010&rdquo;; SHUJU <= S3;

WHEN 3 => WEI <= &ldquo;011&rdquo;; SHUJU <= S4;

WHEN 4 => WEI <= &ldquo;100&rdquo;; SHUJU <= S5;

WHEN 5 => WEI <= &ldquo;101&rdquo;; SHUJU <= S6;

CNT6<=0;

WHEN OTHERS => NULL;

END CASE;

END IF;

END PROCESS;

PRO2: PROCESS(SHUJU)

BEGIN

CASE SHUJU IS

WHEN &ldquo;0000&rdquo; => LED<= &ldquo;1111110&rdquo;

WHEN &ldquo;0001&rdquo; => LED<= &ldquo;0110000&rdquo;

WHEN &ldquo;0010&rdquo; => LED<= &ldquo;1101101&rdquo;

WHEN &ldquo;0011&rdquo; => LED<= &ldquo;1111001&rdquo;

WHEN &ldquo;0100&rdquo; => LED<= &ldquo;0110011&rdquo;

WHEN &ldquo;0101&rdquo; => LED<= &ldquo;1011011&rdquo;

WHEN &ldquo;0110&rdquo; => LED<= &ldquo;1011111&rdquo;

WHEN &ldquo;0111&rdquo; => LED<= &ldquo;1110000&rdquo;

WHEN &ldquo;1000&rdquo; => LED<= &ldquo;1111111&rdquo;

WHEN &ldquo;1001&rdquo; => LED<= &ldquo;1111011&rdquo;

WHEN others=> LED<= &ldquo;0000000&rdquo;

END CASE;

END PROCESS;

END


頂層系統聯調

通過上面的分頻器,兩個60進制的計數器,一個12/24進制的計數器,6選1掃描器,7段數碼顯示器,設計如圖所示的頂層。規定每一模塊的功能和各模塊之間的接口。同時整個計數器有清零。 設計思想,利用脈沖時鐘產生一個1Hz的信號來實現一秒鐘的控制,要產生1Hz的信號就要用到分頻器,實驗中用512分頻器把512Hz的信號變成1Hz。然后信號進入控制秒的計數器,當第60個脈沖時鐘到來時,產生一個進位信號, 送到控制分的計數器,同理,當第60個脈沖時鐘到來時,產生一個進位信號,送到控制小時的計數器。當小時計數器計數到12/24時,完成一個周期,跳轉到零。輸出是由動態掃描器來完成的。掃描器時鐘取至前面分頻未結束時的一個512Hz的信號。這樣就能夠在7段數碼顯示管上,以512Hz的頻率掃描顯示出時鐘的數字變化。

通過元件例化將各個模塊連接起來,組成一個整體。

元件例化就是將預先設計好的設計實體定義為一個元件,然后利用特定的語句將此元件與當前的設計實體中的指定端口相連接,從而為當前設計實體引入一個新的低一級的設計層次。所定義的例化元件相當于一個要插在這個電路系統板上的芯片,而當前設計實體中指定的端口則相當于這塊電路板上準備接受此芯片的一個插座。



  自制電路板最常用的五種方法

  1、描繪法

  是制作電路板所需要工具最少,制作過程最簡單的一種方法。但精度不是很高

  2、感光板法制作較簡單,特別是大面積接地線條時更能顯示出優勢。精度較高。但制作細線條時曝光需要經驗。

  3、感光干膜法這種方法比起感光板法在成本上占有一定的優勢,比起熱轉印法在制作電路質量上有一定的優勢。但她的缺點是操作上有一定的難度,不象熱轉印法和感光板法那樣簡單。因此到低選用那種方法還應該根據您自己的感覺。

  4、熱轉印法制作較簡單,特別是細線條時更能顯示出優勢,制作精度很大程度取決于設備,與人操作熟練程序基本上無關。初學者也能制作出精美的線路板。但需要激光打印機,對于大面積接地線條往往會有一些不足。

  5、絲網印法制作相對復雜,對操作者的熟練程度有很大關系,特別是制版時的曝光控制很是關鍵,但對細線條和大面積接地線均能很好的表現。特別是在大批量生產時更能顯示出她的優勢。如果只需要制作幾張線路板您會覺得這種方法很麻煩,但當您需要制作幾百張幾千張線路板時,那么您非選她不可。

  遙控車電路板的接法

自制遙控玩具車電路板

  GND是地,電池負極,應該還有一個點接電池正極,可能是VDD,

  F forward 和B backward 兩條線接前進/後退電機,

  L left 和 R right 兩條線接左右轉向電機,

  LED + - 應該是接收板上的某個功能的指示燈。

  遙控接收電路工作原理

  該遙控接收電路主要以集成塊IC2 (RX-2)為核心及其他元件組成,其 工作原理見圖2所示。 當操作遙控器上的各功能鍵時, 所發出的高頻信號經遙控車上的天線 接收后,由超再生接收電路解調出編 碼控制脈沖信號,再經電阻R3、電 容C7耦合,送到接收集成塊IC2的14 腳,經其內部放大處理后,從其相應 控制端輸出控制信號,送到電機驅動 控制電路。電動機驅動電路都是采用 雙端平衡方式,改變其兩端工作電壓 極性,就可控制電動機轉動方向。當 輸出的是前進信號時,集成塊IC2的11 腳輸出高電平控制信號,三極管VT8、 VT10、VT11隨之導通,電動機M1正 轉,遙控車前進。當輸出后退,左右 轉向控制信號時,用戶可自已分析電路原理。

自制遙控玩具車電路板

  遙控玩具汽車電路原理圖

自制遙控玩具車電路板

  遙控發射電路

  該遙控發射電路主要以集成塊IC1 (TX-2BS)為核心及其他元件組成, 其工作原理如圖1所示。集成塊IC1的 3、11腳為電源供應端;其1、16腳為 左右轉彎控制信號輸入端;4、5腳為 前進和后退控制信號輸入端;6腳為 加速控制信號輸入端;7、8、9腳為 空端;10、12腳為編碼信號控制輸出 端;13、14腳外接振蕩電阻。三極管 VT2及晶體B1等構成載波振蕩器,其振 蕩頻率為35MHz。

  在接通電源后,操作遙控器中的 功能鍵,其集成塊IC1相應控制腳接 地,內部對應的功能選通,開始進行 編碼產生與操作功能鍵相一致的編碼 信號,然后由其10腳輸出控制編碼脈 沖信號,同時其12腳輸出高電平控制 信號,發射二極管LED 亮,三極管VT2的B極有高電平信號而導通工作,三極 管VT2與晶體振蕩器B1組成的載波振蕩 器工作,產生35MHz的振蕩載波頻率, 經電容C3耦合到三極管VT1的B極。當 集成塊IC1(TX-2BS)的10腳輸出高 電平控制編碼脈沖信號時,三極管VT1 導通工作,其功能控制編碼脈沖信號 及三極管VT2及晶體振蕩器B1產生的 35MHz載波經三極管VT1調制放大后, 經電容C6、電感L3耦合發射出去。

自制遙控玩具車電路板

  遙控車充電電路

  由于微型無線遙控車其自身較 小,沒有空間安裝5號電池,生產廠家就采用三節紐扣電池串聯使用。當遙控車沒有電時,就把遙控手柄中的插頭插入遙控車的插座充電即可使用,其充電電路工作原理見圖1中虛線部分。

  當微型車無電,把遙控手柄中的 插頭插入遙控車后,遙控器內的+6V電 壓通過連接插座進入到遙控車充電電 路,該電壓加到三極管VT7的C極;同 時還通過電阻R21,電阻R23加到三極 管VT4的B極和E極;通過電阻R20、電 阻R25、電容C10加到三極管VT3的B極 和C極。由于電容C10兩端電壓瞬間不 能突變,就給三極管VT3的B極提供一 定的偏置導通電壓,三極管VT3導通, 其C極電位降低,三極管VT4的B極電位 降低而導通,+6V電壓經過三極管VT4 的E、C極,電阻R18加到三極管VT7的 B極,三極管VT7導通,開始給遙控車 內電池組充電;同時,該電壓經電阻R22給電容CH充電,充電指示燈LED1 亮。在電容CH充電時,又給三極管VT3 的B極提供了一定的偏壓,從而加速了 三極管VT3、VT4、VT7的導通,隨后電 容的充電電流越來越小,三極管VT3、 VT4、VT7相應進入截止狀態,充電指 示燈LED1滅,表明給遙控車內電池組 充電結束。

自制遙控玩具車電路板

 


下一篇: PLC、DCS、FCS三大控

上一篇: 航模遙控開關電路圖大

主站蜘蛛池模板: 耐火浇注料-喷涂料-浇注料生产厂家_郑州市元领耐火材料有限公司 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 次氯酸钠厂家,涉水级次氯酸钠,三氯化铁生产厂家-淄博吉灿化工 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 快速卷帘门_硬质快速卷帘门-西朗门业 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 儿童语言障碍训练-武汉优佳加感统文化发展有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 智能终端_RTU_dcm_北斗星空自动化科技 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 |