中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        verilog PS2鍵盤解碼程序

        作者: 時(shí)間:2010-06-20 來(lái)源:網(wǎng)絡(luò) 收藏

        4'd8: begin
        num = num+1'b1;
        temp_data[7] = ps2k_data; //bit7
        end
        4'd9: begin
        num = num+1'b1; //奇偶校驗(yàn)位,不做處理
        end
        4'd10: begin
        num = 4'd0; // num清零
        end
        default: ;
        endcase
        end
        end
        reg key_f0; //松鍵標(biāo)志位,置1表示接收到數(shù)據(jù)8'hf0,再接收到下一個(gè)數(shù)據(jù)后清零
        reg ps2_state_r; //當(dāng)前狀態(tài),ps2_state_r=1表示有鍵被按下
        always @ (posedge clk or negedge rst_n) begin //接收數(shù)據(jù)的相應(yīng)處理,這里只對(duì)1byte的鍵值進(jìn)行處理
        if(!rst_n) begin
        key_f0 = 1'b0;
        ps2_state_r = 1'b0;
        end
        else if(num==4'd10) begin //剛傳送完一個(gè)字節(jié)數(shù)據(jù)
        if(temp_data == 8'hf0) key_f0 = 1'b1;
        else begin
        if(!key_f0) begin //說(shuō)明有鍵按下
        ps2_state_r = 1'b1;
        ps2_byte_r = temp_data; //鎖存當(dāng)前鍵值
        end
        else begin
        ps2_state_r = 1'b0;
        key_f0 = 1'b0;
        end
        end
        end
        end
        reg[7:0] ps2_asci; //接收數(shù)據(jù)的相應(yīng)ASCII碼
        always @ (ps2_byte_r) begin
        case (ps2_byte_r) //鍵值轉(zhuǎn)換為ASCII碼,這里做的比較簡(jiǎn)單,只處理字母
        8'h15: ps2_asci = 8'h51; //Q
        8'h1d: ps2_asci = 8'h57; //W
        8'h24: ps2_asci = 8'h45; //E
        8'h2d: ps2_asci = 8'h52; //R
        8'h2c: ps2_asci = 8'h54; //T
        8'h35: ps2_asci = 8'h59; //Y
        8'h3c: ps2_asci = 8'h55; //U
        8'h43: ps2_asci = 8'h49; //I
        8'h44: ps2_asci = 8'h4f; //O
        8'h4d: ps2_asci = 8'h50; //P
        8'h1c: ps2_asci = 8'h41; //A
        8'h1b: ps2_asci = 8'h53; //S
        8'h23: ps2_asci = 8'h44; //D
        8'h2b: ps2_asci = 8'h46; //F
        8'h34: ps2_asci = 8'h47; //G
        8'h33: ps2_asci = 8'h48; //H
        8'h3b: ps2_asci = 8'h4a; //J
        8'h42: ps2_asci = 8'h4b; //K
        8'h4b: ps2_asci = 8'h4c; //L
        8'h1z: ps2_asci = 8'h5a; //Z
        8'h22: ps2_asci = 8'h58; //X
        8'h21: ps2_asci = 8'h43; //C
        8'h2a: ps2_asci = 8'h56; //V
        8'h32: ps2_asci = 8'h42; //B
        8'h31: ps2_asci = 8'h4e; //N
        8'h3a: ps2_asci = 8'h4d; //M
        default: ;
        endcase
        end
        assign ps2_byte = ps2_asci;
        assign ps2_state = ps2_state_r;
        endmodule

        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 程序 解碼 鍵盤 PS2 verilog

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉