freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vhdl語言的多功能數(shù)字鐘設(shè)計-資料下載頁

2024-12-04 12:59本頁面

【導(dǎo)讀】仿真等,是當(dāng)今電子設(shè)計自動化的核心技術(shù)。本文使用VHDL語言設(shè)計了一個數(shù)字時鐘。電路,給出了設(shè)計該數(shù)字系統(tǒng)的流程和方法。本設(shè)計方法具有硬件描述能力強,設(shè)計方。法靈活,便于修改等優(yōu)點,大大降低了數(shù)字系統(tǒng)設(shè)計的難度,提高了工作效率。一個基于CPLD的數(shù)字鐘。塊、顯示以及報時模塊組成。經(jīng)編譯和仿真所設(shè)計的程序,在可編程邏輯器件上下載驗

  

【正文】 。amp。(hour1==ahour)) if (sec1839。d20) alarm1=1。 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 20 頁 else alarm1=0。 else alarm1=0。 end always @ (posedge sysclk) begin if ((min1==839。d59)amp。amp。(sec1839。d54)||(!(min1|sec1))) if (sec1839。d58) alarm2=clk_1k。 // 產(chǎn)生長音 else alarm2=~clk_1k。 //產(chǎn)生短音 else alarm2=0。 end endmodule 七 段顯示譯碼模塊 由于時鐘計數(shù)模式采用的是 BCD 碼計數(shù)方式,而顯示采用的 8 段發(fā)光二極管,每個段代表一位二進制數(shù),在本系統(tǒng)中采用的是共陽極接法,因此 7 段碼為共陽編碼。因此在數(shù)碼管上正常顯示時間的話,必需要對在三個模式下的時、分、秒進行譯碼才能得到正常的顯示。 module decoder_7seg(sysclk,clk,clk_4hz,clk_1k,m,alarm1,alarm2,ahour,amin,min1,hour1,sec1,hour_msb,hour_lsb,min_msb,min_lsb,sec_msb,sec_lsb)。 input sysclk,clk,clk_4hz,clk_1k, alarm1,alarm2。 input [7:0]ahour,amin,min1,hour1,sec1。 input [1:0]m。 output [7:0]hour_msb,hour_lsb,min_msb,min_lsb,sec_msb,sec_lsb。 reg [7:0]hour,min,sec,hour_msb,hour_lsb,min_msb,min_lsb,sec_msb,sec_lsb。 wire led_alarm。 always @ (posedge sysclk) begin case(m) 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 21 頁 339。b00: //在模式 0 下,將正常計數(shù)值賦值給寄存器,等待譯碼 begin hour=hour1。 min=min1。 sec=sec1。 end 339。b01: //在模式 1 下,將鬧鈴時間設(shè)置值賦值給寄存器,等待譯碼 begin hour=ahour。 min=amin。 sec=839。hzz。 end 339。b10: //在模式 2 下,將手動計數(shù)值賦值給寄存器,等待譯碼 begin hour=hour1。 min=min1。 sec=839。hzz。 end endcase assign led_alarm=(ahour|amin)?1:0。 //指示是否進行了鬧鈴定時 assign alarm=((alarm1)?clk_1kamp。clk_4hz:0)|alarm2。//產(chǎn)生鬧鈴音或整點報時音 end always @( sysclk ) begin case (hour[7:4]) 439。b0000 : hour_msb=839。hc0。 //數(shù)字 0 的共陽編碼賦值給小時的十位 439。b0001 : hour_msb=839。hf9。 //數(shù)字 1 的共陽編碼賦值給小時的十位 439。b0010 : hour_msb=839。ha4。 //數(shù)字 2 的共陽編碼賦值給小時的十位 439。b0011 : hour_msb=839。hb0。 //數(shù)字 3 的共陽編碼賦值給小時的十位 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 22 頁 439。b0100 : hour_msb=839。h99。 //數(shù)字 4 的共陽編碼賦值給小時的十位 439。b0101 : hour_msb=839。h92。 //數(shù)字 5 的共陽編碼賦值給小時的十位 439。b0110 : hour_msb=839。h82。 //數(shù)字 6 的共陽編碼賦值給小時的十位 439。b0111 : hour_msb=839。hf8。 //數(shù)字 7 的共陽 編碼賦值給小時的十位 439。b1000 : hour_msb=839。h80。 //數(shù)字 8 的共陽編碼賦值給小時的十位 439。b1001 : hour_msb=839。h90。 //數(shù)字 9 的共陽編碼賦值給小時的十位 endcase case (hour[3:0]) 439。b0000 : hour_lsb=839。hc0。 //數(shù)字 0 的共陽編碼賦值給小時的個位 439。b0001 : hour_lsb=839。hf9。 //數(shù)字 1 的共陽編碼賦值給小時的個位 439。b0010 : hour_lsb=839。ha4。 //數(shù)字 2 的共陽編 碼賦值給小時的個位 439。b0011 : hour_lsb=839。hb0。 //數(shù)字 3 的共陽編碼賦值給小時的個位 439。b0100 : hour_lsb=839。h99。 //數(shù)字 4 的共陽編碼賦值給小時的個位 439。b0101 : hour_lsb=839。h92。 //數(shù)字 5 的共陽編碼賦值給小時的個位 439。b0110 : hour_lsb=839。h82。 //數(shù)字 6 的共陽編碼賦值給小時的個位 439。b0111 : hour_lsb=839。hf8。 //數(shù)字 7 的共陽編碼賦值給小時的個位 439。b1000 : hour_lsb=839。h80。 //數(shù)字 8 的共陽編碼賦值給小時的個位 439。b1001 : hour_lsb=839。h90。 //數(shù)字 9 的共陽編碼賦值給小時的個位 endcase endmodule LED 顯示模塊 LED 顯示電路與 CPLD 的接口電路共有兩種接法,一種接法是靜態(tài)顯示法,即外接 6 個獨立的一位 LED 數(shù)碼管,在這種接法下每一位 LED 的段碼線共有 8 根,因此采用這種接法時總共需要 6*8+6=54 個 I/O 口,而采用這種接法時,分配 I/O 工作煩瑣,且電路圖接線復(fù)雜。而第二種接法稱為動態(tài)顯示法,采用共陽或共陰 極接法,而所謂的共陽極接法是指將每位 LED 的段碼線連在一起共同接電源的正極,因此采用這種接法時,一個 6 位的 LED 總共只需要 8+6=14 個 I/O 口,即 8 位的段碼線和 6 位的位選線,采用這種方式的接法時,缺點是每次顯示時 6 位 LED 同時顯示相同的數(shù)字,因此在這 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 23 頁 種接法下,必需要采用掃描的方式來顯示,即每一個時刻只能有一個 LED 處在點亮的狀態(tài),其它 LED 熄滅,此時送出相應(yīng)位的段碼。而在下一時刻則下一位 LED 處于點亮狀態(tài),且在此時送出相應(yīng)的段碼,如此循環(huán)往復(fù)就能顯示完 6 個不同的數(shù)字。因此采用這種接法時必需要有一個掃描信號 來選擇當(dāng)前哪一位 LED 處于點亮狀態(tài)。 module display(displayclk,reset,ledselect,dataout,hour_msb,hour_lsb,min_msb,min_lsb,sec_msb,sec_lsb)。 input displayclk,reset。 input [7:0]hour_msb,hour_lsb,min_msb,min_lsb,sec_msb,sec_lsb。 output [5:0]ledselect。 output [7:0]dataout。 reg [7:0]dataout。 reg [5:0]ledselect。 reg [2:0]state。 always @(posedge displayclk) begin if (reset==0) //復(fù)位信號用于波形仿真時對分頻計數(shù)器初始化 begin state[2:0]=339。b000。 ledselect= 639。b000000。 end else begin case(state) 339。b000: begin ledselect=639。b011111。 //數(shù)碼管的第一位(小時的十位)被點亮 dataout=hour_msb。 //顯示當(dāng)前時間的小時十位 state = 339。b001。 end 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 24 頁 339。b001: begin ledselect=639。b101111。//數(shù)碼管的第二位(小時的個位)被點亮 dataout=hour_lsb。 //顯示當(dāng)前時間的小時個位 state = 339。b010。 end 339。b010: begin ledselect=639。b110111。//數(shù)碼管的第三位(分的十位)被點亮 dataout=min_msb。//顯示當(dāng)前時間的分的十位 state = 339。b011。 end 339。b011: begin ledselect=639。b111011。//數(shù)碼管的第四位(分的個位)被點亮 dataout=min_lsb。 //顯示當(dāng)前時間的分的個位 state = 339。b100。 end 339。b100: begin ledselect=639。b111101。//數(shù)碼管的第五位(秒的十位)被點亮 dataout=sec_msb。//顯示當(dāng)前時間的秒的十位 state = 339。b101。 end 339。b101: begin ledselect=639。b111110。//數(shù)碼管的第六位(秒的個位)被點亮 dataout=sec_lsb。//顯示當(dāng)前時間的秒的個位 state = 339。b000。 end endcase end end endmodule 黃河科技學(xué)院畢業(yè)設(shè)計說明書 第 25 頁 5 系統(tǒng)功能仿真 時鐘節(jié)拍產(chǎn)生模塊的仿真波形 時鐘節(jié)拍產(chǎn)生模塊 用于產(chǎn)生整個系統(tǒng)所需要的時鐘節(jié)拍。在本系統(tǒng)中總共需要 4 個不同的時鐘節(jié)拍,分別為 clk、 clk_4hz、 clk_1k、 displayclk。 Clk 是將 的系統(tǒng)時鐘經(jīng)過分頻后 產(chǎn)生的基準(zhǔn)時鐘,周期為 1s。用于秒計時功能模塊。 CLK 信號波形如圖 所示,由圖 所示波形可以看出其周期為 1s。 圖 CLK 波形圖 CLK_4hz 時頻率為 4hz 的時鐘信號,用于時間的快速設(shè)置。即當(dāng)長時間按下CHANGE 按鍵后,利用 4hz的 CLK_4hz信號產(chǎn)生 NUM NUM NUM NUM4 信號對當(dāng)前設(shè)定值連續(xù)快速加 1。 CLK_4hz的仿真波形圖如圖 所示。由仿真波形圖可以看出該時鐘周期為 4hz。 圖 CLK_4HZ 波形圖 CLK_1K 時鐘為頻率 1Khz的時鐘信號,用于鬧鈴音頻信號的產(chǎn)生, CLK_1K 信號如圖 所示 ,由圖中的波形可以看出兩個波形占用的周期為 2ms,即一個周期為 1ms,頻率為 1Khz。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1