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

正文內(nèi)容

基于fpga的通用外設(shè)電路設(shè)計_畢業(yè)設(shè)計(論文)(編輯修改稿)

2024-08-15 21:04 本頁面
 

【文章內(nèi)容簡介】 y,clk66MHz)。 input clk66MHz。 output clk,clkss,clksy。 reg clk,clkss,clksy。 reg[9:0] count1。 reg[6:0] count2。 reg[7:0] count3。 reg[5:0] count4。 reg cin1,cin2。 always @(posedge clk66MHz) if(count1[9:0]==1039。d999) begin count1[9:0]=1039。d0。 cin1=139。d1。 //產(chǎn)生進位信號 1 end else begin count1[9:0]=count1[9:0]+1039。d1。 cin1=139。d0。 //進位信號 1 清零 end always @(posedge clk66MHz) if(count2[7:0]==839。d131) begin count2[7:0]=839。d0。 clksy=~clksy。 //clksy=250Hz cin2=139。d1。 //產(chǎn)生進位信號 2 end else begin count2[7:0]=count2[7:0]+cin1。//若進位信號 1 為 1 則加 1,為 0 則 不變 cin2=139。d0。 //進位信號 2 清零 end always @(posedge clk66MHz) if(count3[7:0]==839。d249) begin count3[7:0]=839。d0。 clk=~clk。 //clk=1Hz end else count3[7:0]=count3[7:0]+cin2。//若進位信號 2 為 1 則加 1,為 0 則 不變 always @(posedge clk66MHz) if(count4[5:0]==639。d49) begin count4[5:0]=639。d0。 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 10 clkss=~clkss。 //clkss=5Hz end else count4[5:0]=count4[5:0]+cin2。 endmodule 行列式鍵盤程序設(shè)計 相對 if 語句只有兩個分支而言, else 語句是一種多分支語句,故 case 語句多用于條件譯碼電路,本設(shè)計的行列式鍵盤模塊采用 case 語句鍵盤譯碼。利用 250Hz 信號掃描 X 軸和 Y 軸電位信號,當(dāng)某根 X 連接線和 Y 連接線同時為低電平時有效。 鍵盤去抖功能: 按鍵在閉合和斷開時 ,觸點會存在抖動現(xiàn)象,本設(shè)計采用 250Hz低頻信號,觸發(fā)判定為 clk 信號上升沿 和下降沿 ,也就是在 40ms 時間內(nèi) 會 有 兩次 判定, 如果兩次判定均為同一鍵位,則輸出 鍵值 , 否則輸出為 0, 可以消除觸點抖動的負(fù)面作用 。 示意圖如下: 圖 32 去抖示意圖 圖示為兩次按鍵,第一次 按鍵時間極短,可視為一次抖動,第二次為正常按鍵(時間較長,可以 是 多個 CLK 周期,圖示只列出 1 個周期),現(xiàn)分析如下: 圖示 1 處:讀取 key1 為低 ; 圖示 2 處:讀取 key2 為高 ; 結(jié)果: key 為 0,判定無按鍵 。 圖示 1 處:讀取 key1 為低 ; 圖示 2 處:讀取 key2 為低 ; 結(jié)果: key 為對應(yīng)鍵位值,判定有按鍵 。 程序如下: module keypad(clksy,x,y,key)。 //clksy=64hz input clksy。 input[3:0] x,y。 //4*4 key ,low active output[5:0] key。 reg[5:0] key1,key2。 always @(posedge clksy) //第一次判定 begin 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 11 case({~y[3:0],~x[3:0]}) 839。b00010001:key1[5:0]=639。d1。 839。b00010010:key1[5:0]=639。d2。 839。b00010100:key1[5:0]=639。d3。 839。b00011000:key1[5:0]=639。d4。 839。b00100001:key1[5:0]=639。d5。 839。b00100010:key1[5:0]=639。d6。 839。b00100100:key1[5:0]=639。d7。 839。b00101000:key1[5:0]=639。d8。 839。b01000001:key1[5:0]=639。d9。 839。b01000010:key1[5:0]=639。d10。 839。b01000100:key1[5:0]=639。d16。 839。b01001000:key1[5:0]=639。d32。 839。b10001000:key1[5:0]=639。d48。 default:key1[5:0]=639。d0。 //輸出結(jié)果寄存在 key1 endcase end always @(negedge clksy) //第二次判定 begin case({~y[3:0],~x[3:0]}) 839。b00010001:key2[5:0]=639。d1。 //鍵位 1 839。b00010010:key2[5:0]=639。d2。 //鍵位 2 839。b00010100:key2[5:0]=639。d3。 //鍵位 3 839。b00011000:key2[5:0]=639。d4。 //鍵位 4 839。b00100001:key2[5:0]=639。d5。 //鍵位 5 839。b00100010:key2[5:0]=639。d6。 //鍵位 6 839。b00100100:key2[5:0]=639。d7。 //鍵位 7 839。b00101000:key2[5:0]=639。d8。 //鍵位 8 839。b01000001:key2[5:0]=639。d9。 //鍵位 9 839。b01000010:key2[5:0]=639。d10。 //鍵位 0 839。b01000100:key2[5:0]=639。d16。 //鍵位 ← 839。b01001000:key2[5:0]=639。d32。 //鍵位 → 839。b10001000:key2[5:0]=639。d48。 //鍵位 sel default:key2[5:0]=639。d0。 //輸出結(jié)果寄存在 key2 endcase 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 12 end assign key=(key1==key2)?key1:639。d0。 //判定 如果兩次結(jié)果相同 則輸出為 //鍵值 如果不同 則輸出為 0 endmodule 六位 7 段 LED 顯示程序設(shè)計 聯(lián)華眾科 FPGA 開發(fā)板 FA130 的數(shù)碼顯示為六位 7 段共 陰 極 數(shù)碼管, 其工作特點是,當(dāng)筆段電極接高電平,公共陰極接低 電平時,相應(yīng)筆段發(fā)光。本模塊同時具有 片選, 七段譯碼,滅零功能。 本模塊由 250Hz 信號驅(qū)動,采用動態(tài)顯示方法,即對六個 LED 數(shù)碼管循環(huán)掃描。分時使用顯示器驅(qū)動電路??傻妹總€數(shù)碼管顯示頻率為 250/6≈42Hz,人眼視覺暫留時間的要求為 25 幀每秒, 可達到要求。 程序如下 : module xianshi(clksy,a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5,num0,num1,num2,num3,num4,num5)。 input clksy。 input[3:0] num0,num1,num2,num3,num4,num5。 //num0num5 為時分秒 6 位輸入 output a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5。 //ag 為數(shù)碼管 7 段電平 reg a,b,c,d,e,f,g,D0,D1,D2,D3,D4,D5。 //D0D5 為片選信號 reg[3:0] num10,num11,num12,num13,num14,num15。 reg[3:0] temp。 reg[2:0] flag。 always@(posedge clksy) begin {D0,D1,D2,D3,D4,D5}=639。b000000。 if(flag==6) flag=0。 else flag=flag+1。 {num10,num11,num12,num13,num14,num15}={num0,num1,num2,num3,num4,num5}。 if(num15==0) //首位滅零 num15=439。bzzzz。 case(flag) //片選 0:begin temp=num10。D0=1。end 1:begin temp=num11。D1=1。end 2:begin temp=num12。D2=1。end 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 13 3:begin temp=num13。D3=1。end 4:begin temp=num14。D4=1。end 5:begin temp=num15。D5=1。end default:temp=0。 endcase case(temp) //七段譯碼 439。d0:{a,b,c,d,e,f,g}=739。b1111110。 //顯示數(shù)字 0 439。d1:{a,b,c,d,e,f,g}=739。b0110000。 //顯示數(shù)字 1 439。d2:{a,b,c,d,e,f,g}=739。b1101101。 //顯示數(shù)字 2 439。d3:{a,b,c,d,e,f,g}=739。b1111001。 //顯示數(shù)字 3 439。d4:{a,b,c,d,e,f,g}=739。b0110011。 //顯示數(shù)字 4 439。d5:{a,b,c,d,e,f,g}=739。b1011011。 //顯示數(shù)字 5 439。d6:{a,b,c,d,e,f,g}=739。b1011111。 //顯示數(shù)字 6 439。d7:{a,b,c,d,e,f,g}=739。b1110000。 //顯示數(shù)字 7 439。d8:{a,b,c,d,e,f,g}=739。b1111111。 //顯示數(shù)字 8 439。d9:{a,b,c,d,e,f,g}=739。b1111011。 //顯示數(shù)字 9 default:{a,b,c,d,e,f,g}=739。b0000000。 //無任何顯示 endcase end endmodule 頂層模塊程序設(shè)計 根據(jù)設(shè)計思路 ,畫出流程圖 ,見 33。 程序是無限循環(huán),也就是到了流程圖結(jié)束的地方后又會回到開始,程序首先判定是否有鍵按下,如果有,則判定鍵值:若鍵值為 ← 或 → 移動鍵,則會修改 flag 的值,有前文所述, flag 的值代表時分秒的個 、 十位;若鍵值為 Sel 修改鍵,則會改變 sel寄存器的值,設(shè)計需求是按一次 Sel鍵將會進入修改狀態(tài),再按一次將退出修改狀態(tài),方案為設(shè)定 sel 寄存器為 1 位。程序接下來會判斷 sel 的值,如果為 1 則進入修改狀態(tài),為零則進入計時狀態(tài)。 在修改狀態(tài)下,程序再次判定鍵值,若為數(shù)字鍵,則會將對應(yīng)數(shù)據(jù)賦值給 flag 所對應(yīng)緩存,若為 ← 或 → 移動鍵,則會修改 flag 的值,若為 Sel 修改 /確認(rèn)鍵,將退出修改狀態(tài)。 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 14 圖 33 頂層模塊設(shè)計流程圖 東華理工大學(xué)畢業(yè)(設(shè)計)論文 第 3 章 系統(tǒng)程序設(shè)計 15 在計時狀態(tài),程序?qū)⒅鹈雽γ刖彺婕?1, 判斷:若秒低位為 9,則秒低位清零,秒高位加一; 判斷:若秒高位為 5,則秒高位清零,分低位加一; 判斷:若分低位為 9,則分低位清零,分高位加一; 判斷:若分高位為 5,則分高位清零,時低位加一; 判斷:若時低位 為 9,則時低位清零,時高位加一; 判斷:若時高低位為 23,則時清零。 程序到這里還沒有結(jié)束,關(guān)于修改位閃爍的方案,我將它和輸出管腳賦值整合在一起,首先 判定是否為修改狀態(tài),若是,則將該修改數(shù)據(jù)和 5Hz 頻率相與再賦值給輸出
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1