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

正文內(nèi)容

基于vhdl語(yǔ)言的多功能數(shù)字鐘設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-25 00:40 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 NGE 時(shí)當(dāng)前值連續(xù)快速加 1,用于快速設(shè)定時(shí)間 [12]。模式選擇進(jìn)程如下所示。module mode_select( clk,mode,set,change,count1,counta,count2,countb,led_min,led_hour,m)。input mode,set,change,clk。output count1,counta,count2,countb,led_min,led_hour,m。regbool,count1,counta,count2,countb。reg [1:0]m。reg led_min,led_hour。always @(posedge mode)beginif (m==2) m=0。else m=m+1。endalways @ (posedge set)bool=~bool。always @ (posedge clk)begincase(m)2: begin 13if (bool) begin //手動(dòng)設(shè)定分鐘count1=change。{led_min,led_hour}=239。b10。end else begin //手動(dòng)設(shè)定小時(shí) counta=change。 {led_min,led_hour}=239。b01。end {count2,countb}=239。b00。end1:beginif (bool) begin //設(shè)定鬧鈴分鐘 count2=change。{led_min,led_hour}=239。b10。end else begin countb=change。 {led_min,led_hour}=239。b01。end {count2,countb}=239。b00。enddefault: ount1,count2,counta,countb,led_min,led_hour}=0。 //正常時(shí)鐘狀態(tài)endcaseendendmodule 14 快速時(shí)間設(shè)置功能模塊多功能數(shù)字鐘要求有快速時(shí)間設(shè)置功能和慢設(shè)置功能。所謂快速時(shí)間設(shè)置功能是指一直按住按鍵不放時(shí),當(dāng)前值能夠快速的增加;而慢設(shè)置是指每按一次按鍵則當(dāng)前值向上增一??焖贂r(shí)間設(shè)置進(jìn)程如下所示??焖贂r(shí)間設(shè)置進(jìn)程,功能描述:長(zhǎng)時(shí)間按下“change”鍵,則分別生成 numnumnumnum4 信號(hào)用于連續(xù)快速加 1。當(dāng)長(zhǎng)時(shí)間按下 CHANGE 按鍵后,利用系統(tǒng)的 CLK_4HZ 對(duì)計(jì)數(shù)器進(jìn)行快速加一處理。如果不是長(zhǎng)時(shí)間按下 CHANGE 按鍵的話則每按一次 CHANGE 按建鍵就對(duì)相應(yīng)的寄存器的值加一處理。 秒、分、時(shí)計(jì)時(shí)與時(shí)間調(diào)整模塊秒計(jì)時(shí)程序采用周期為 1S 的基準(zhǔn)時(shí)鐘信號(hào) CLK,在每個(gè) CLK 時(shí)鐘信號(hào)的上升沿對(duì)秒寄存器加 1,當(dāng)長(zhǎng)時(shí)間按下 SET 按鍵后對(duì)秒寄存器進(jìn)行清零,該功能用于準(zhǔn)確校時(shí)。CT1 為分計(jì)時(shí)的同步時(shí)鐘,在每個(gè) CT1 時(shí)鐘信號(hào)的上升沿對(duì)分寄存器加 1。當(dāng)未長(zhǎng)時(shí)間按下 CHANGE 按鍵時(shí),CT1 時(shí)鐘是周期為 60 秒的時(shí)鐘信號(hào)。當(dāng)長(zhǎng)時(shí)間按下CHANGE 后,CT1 時(shí)鐘變?yōu)橹芷跒?4HZ 的時(shí)鐘信號(hào),該信號(hào)用于快速時(shí)間校準(zhǔn)功能。CTA 時(shí)鐘是周期為 60 分鐘的時(shí)鐘信號(hào),在每個(gè) CTA 時(shí)鐘信號(hào)的上升沿對(duì)小時(shí)寄存器加 1,當(dāng)當(dāng)前設(shè)置值為小時(shí)且長(zhǎng)時(shí)間按下 CHANGE 按鍵后,CTA 時(shí)鐘變?yōu)橹芷跒?4HZ的時(shí)鐘信號(hào),該信號(hào)用于快速時(shí)間校準(zhǔn)功能。module time_mode0(clk,set,m,count1,ct1,counta,m_clk,h_clk,cta,sec1,min1,hour1)。input clk,set,m,count1,counta,ct1,cta,m_clk,h_clk。inout [7:0]sec1,min1,hour1。reg minclk,hclk。reg [7:0]sec1,min1,hour1。wire m_clk,h_clk。always @(posedge clk)beginif (!(sec1 ^ 839。d59) | set amp。 (!m))//按住 SET 鍵一段時(shí)間,秒信號(hào)自動(dòng)清零sec1 [7:0] = 839。h00。 15if (!(set amp。 (!m))) minclk =139。b1。else begin if (sec1[3:0]==439。b1001)begin sec1[3:0]=439。b0000。sec1[7:4]=sec1[7:4] + 139。b1。endelse beginsec1[3:0] = sec1[3:0] + 139。b1。minclk=139。b0。endendendalways @ (posedge ct1) //分鐘計(jì)時(shí)進(jìn)程beginif (min1 == 839。d59)begin min1 = 0。 hclk = 1。endelse begin if (min1[3:0] ==9)begin min1[3:0] =0。min1[7:4]=min1[7:4] + 1。end 16else beginmin1[3:0] =min1[3:0] +1。hclk =0。endendendalways @ (posedge cta) //小時(shí)計(jì)時(shí)與調(diào)整進(jìn)程beginif (hour1==839。h23) hour1=0。else begin……… //此段 VHDL 語(yǔ)言時(shí)、分、秒源碼見(jiàn)附錄二endendendmodule 鬧鈴時(shí)間設(shè)置模塊module alarm_set(ct2,ctb,amin,ahour)。input ct2,ctb。output [7:0]amin,ahour。reg [7:0]amin,ahour。always @ (posedge ct2)beginif (amin==839。d59) amin=0。else if (amin[3:0]==9)begin amin[3:0]=0。amin[7:4]=amin[7:4] + 1。end 17else amin[3:0]=amin[3:0] + 1。endalways @ (posedge ctb)beginif (ahour==839。d23) ahour=0。else if (ahour[3:0]==9)begin ahour[3:0]=0。ahour[7:4]=ahour[7:4] + 1。endelse ahour[3:0]=ahour[3:0] + 1。 endendmodule 鬧鈴與整點(diǎn)報(bào)時(shí)模塊鬧鈴的功能是實(shí)現(xiàn)當(dāng)?shù)竭_(dá)預(yù)設(shè)的時(shí)間點(diǎn)時(shí)產(chǎn)生為時(shí) 20s 的“嘀嘀嘀嘀”急促短音。整點(diǎn)報(bào)時(shí)的功能是實(shí)現(xiàn)在每個(gè)整點(diǎn)的 5 秒鐘前產(chǎn)生整點(diǎn)報(bào)時(shí)音,報(bào)時(shí)音為“嘀嘀嘀嘟”4 短一長(zhǎng)音。 module alarm(sysclk,clk_1k,min1,hour1,amin,ahour,alarm1,alarm2)。input sysclk,clk_1k。input [7:0]min1,hour1,amin,ahour。output alarm1,alarm2。reg alarm1,alarm2。reg [7:0]sec1。always @ (posedge sysclk)beginif ((min1==amin)amp。amp。(hour1==ahour))if (sec1839。d20) alarm1=1。 18else alarm1=0。else alarm1=0。endalways @ (posedge sysclk)begin if ((min1==839。d59)amp。amp。(sec1839。d54)||(!(min1|sec1)))if (sec1839。d58) alarm2=clk_1k。 // 產(chǎn)生長(zhǎng)音else alarm2=~clk_1k。 //產(chǎn)生短音else alarm2=0。endendmodule 七段顯示譯碼模塊由于時(shí)鐘計(jì)數(shù)模式采用的是 BCD 碼計(jì)數(shù)方式,而顯示采用的 8 段發(fā)光二極管,每個(gè)段代表一位二進(jìn)制數(shù),在本系統(tǒng)中采用的是共陽(yáng)極接法,因此 7 段碼為共陽(yáng)編碼。因此在數(shù)碼管上正常顯示時(shí)間的話,必需要對(duì)在三個(gè)模式下的時(shí)、分、秒進(jìn)行譯碼才能得到正常的顯示。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)begincase(m) 19339。b00: //在模式 0 下,將正常計(jì)數(shù)值賦值給寄存器,等待譯碼begin hour=hour1。min=min1。sec=sec1。end339。b01: //在模式 1 下,將鬧鈴時(shí)間設(shè)置值賦值給寄存器,等待譯碼begin hour=ahour。min=amin。sec=839。hzz。end339。b10: //在模式 2 下,將手動(dòng)計(jì)數(shù)值賦值給寄存器,等待譯碼begin hour=hour1。min=min1。sec=839。hzz。endendcaseassign led_alarm=(ahour|amin)?1:0。 //指示是否進(jìn)行了鬧鈴定時(shí)assign alarm=((alarm1)?clk_1kamp。clk_4hz:0)|alarm2。//產(chǎn)生鬧鈴音或整點(diǎn)報(bào)時(shí)音endalways @( sysclk )begincase (hour[7:4])439。b0000 : hour_msb=839。hc0。 //數(shù)字 0 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0001 : hour_msb=839。hf9。 //數(shù)字 1 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0010 : hour_msb=839。ha4。 //數(shù)字 2 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0011 : hour_msb=839。hb0。 //數(shù)字 3 的共陽(yáng)編碼賦值給小時(shí)的十位 20439。b0100 : hour_msb=839。h99。 //數(shù)字 4 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0101 : hour_msb=839。h92。 //數(shù)字 5 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0110 : hour_msb=839。h82。 //數(shù)字 6 的共陽(yáng)編碼賦值給小時(shí)的十位439。b0111 : hour_msb=839。hf8。 //數(shù)字 7 的共陽(yáng)編碼賦值給小時(shí)的十位439。b1000 : hour_msb=839。h80。 //數(shù)字 8 的共陽(yáng)編碼賦值給小時(shí)的十位439。b1001 : hour_msb=839。h90。 //數(shù)字 9 的共陽(yáng)編碼賦值給小時(shí)的十位endcasecase (hour[3:0])439。b0000 : hour_lsb=839。hc0。 //數(shù)字 0 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0001 : hour_lsb=839。hf9。 //數(shù)字 1 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0010 : hour_lsb=839。ha4。 //數(shù)字 2 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位 439。b0011 : hour_lsb=839。hb0。 //數(shù)字 3 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0100 : hour_lsb=839。h99。 //數(shù)字 4 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0101 : hour_lsb=839。h92。 //數(shù)字 5 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0110 : hour_lsb=839。h82。 //數(shù)字 6 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b0111 : hour_lsb=839。hf8。 //數(shù)字 7 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b1000 : hour_lsb=839。h80。 //數(shù)字 8 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位439。b1001 : hour_lsb=839。h90。 //數(shù)字 9 的共陽(yáng)編碼賦值給小時(shí)的個(gè)位endcaseendmodule LED 顯示模塊LED 顯示電路與 CPLD 的接口電路共有兩種接法,一種接法是靜態(tài)顯示法,即外接 6 個(gè)獨(dú)立的一位 LED 數(shù)碼管,在這種接法下每一位 LED 的段碼線共有 8 根,因此采用這種接法時(shí)總共需要 6*8+6=54 個(gè) I/O 口,而采用這種接法時(shí),分配 I/O 工作煩瑣,且電路圖接線復(fù)雜。而第二種接法稱為動(dòng)態(tài)顯示法,采用共陽(yáng)或共陰極接法,而所謂的共陽(yáng)極接法
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1