99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯系吳工 點擊聯系周老師
您的當前位置:主頁 > FPGA原創 >

邊緣檢測工程:Ascii轉十六進制模塊代碼解析

發布時間:2019-12-14   作者:小黑同學 瀏覽量:

邊緣檢測工程:Ascii轉十六進制模塊代碼解析

作者:小黑同學

 

本文為明德揚原創文章,轉載請注明出處!

Ascii轉十六進制模塊的功能:將ASCII所對應的16進制數,轉成實質的16進制數。

 

一、設計架構

 

上圖是Ascii碼表對應的數據。我們從圖中可以獲取到如下關鍵信息。

1. Ascii碼0~9對應的十六進制數為8h30~8h39,也就是說收到ASCII碼的16進制數8h30~8h39時,就轉成0~9,也就是減去8h30。

2. Ascii碼A~F對應的十六進制數為8h41~8h46,也就是說收到ASCII碼的16進制數8h41~8h46時,就轉成A~F,也就是減去8h37

3. Ascii碼a~f對應的十六進制數為8h61~8h66,也就是說收到ASCII碼的16進制數8h61~8h66時,就轉成a~f,也就是減去8h57

 

本模塊的功能,是對ASCII碼的0~9,a~f,A~F進行轉換,其他數據不轉換,不在此范圍的,數據無效。例如:

當din=8’h31(字符1),且din_vld = 1,則dout=4’h1,dout_vld=1;

當din=8’h41(大寫字母A)時,且din_vld=1,則dout=4‘d10,dout_vld=1;

如果輸入的ASCII不在數字0~9,A~F,a~f的時候,dout_vld就輸出0。

當din=8h49(大寫字母I)時,且din_vld=1,則dout=0,dout_vld=0。

 

二、信號的意義

 

信號

類型

意義

clk

輸入信號

時鐘信號。

rst_n

輸入信號

復位信號,低電平有效。

din

輸入信號

接收的Ascii碼數據,位寬為8bit。

din_vld

輸入信號

輸入數據有效指示信號,1bit位寬,當其為高電平時,對應輸入數據有效,表示接收到一字節的數據。注意,一個時鐘的高電平表示接收到一字節數據。

dout

輸出信號

Ascii碼轉化為十六進制數之后的輸出,位寬為4bit。

dout_vld

輸出信號

輸出數據有效指示信號,1bit位寬,當輸入在紅框范圍內時,dout_vld為高電平,表示Ascii轉十六進制轉化成功,當輸入不再紅框范圍內時,則dout_vld為低電平,表示數據無效。

 

 

三、參考代碼

 

下面展出本模塊的設計,歡迎進一步交流,如果需要源代碼,歡迎與本人聯系。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

module acsii2hex(

    clk      ,

    rst_n    ,

    din      ,

    din_vld  ,

    

    dout    ,

    dout_vld    

    );

 

    parameter      DIN_W =         8;

    parameter      DOUT_W =        4;

    

    input               clk         ;

    input               rst_n       ;

    input [DIN_W-1:0]   din         ;

    input               din_vld     ;

 

    wire  [DIN_W-1:0]   din         ;

    wire                din_vld     ;

 

    output[DOUT_W-1:0]  dout        ;

    output              dout_vld    ;

 

    reg   [DOUT_W-1:0]  dout        ;

    reg                 dout_vld    ;

 

    always  @(posedge clk or negedge rst_n)begin

        if(rst_n==1'b0)begin

            dout_vld <= 0;

        end

        else if(din_vld&&((din>=8'd48&&din<8'd58)||(din>=8'd65&&din<8'd71)||(din>=8'd97&&din<8'd103)))begin

            dout_vld <= 1;

        end

        else begin

            dout_vld <= 0;

        end

    end

 

 

    always@(posedge clk or negedge rst_n)begin

        if(rst_n==1'b0)begin

            dout <= 0;

        end

        else if(din>=8'd48&&din<8'd58) begin

            dout <= din - 8'd48;

        end

        else if(din>=8'd65&&din<8'd71) begin

            dout <= din - 8'd55;

        end

        else if(din>=8'd97&&din<8'd103) begin

            dout <= din - 8'd87;

        end

        else begin

            dout <= 0;

        end    

    end

 

    endmodule

 

明德揚專注FPGA研究,我司正在連載兩本書籍:《基于FPGA至簡設計法實現的圖像邊緣檢測系統》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、《ASIC和FPGA時序約束理論與應用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有興趣點擊觀看。

也歡迎加入群(838209674),及時獲取最新的文章信息,整個邊緣檢測工程源代碼可加Q:1817866119(N老師)獲??!

  •   
  •   
  •   
  •  
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:544453837
主站蜘蛛池模板: 中文字幕卡二和卡三的视频 | 免费国产调教视频在线观看 | 久久精品国产99久久 | 在线观看国产一区二区三区 | 亚洲国产成人久久精品hezyo | 国内精品视频 | 91短视频在线观看免费最新 | 欧美三级自拍 | 国产美女白丝袜精品_a不卡 | 中文字幕国产综合 | 免费一级毛片在线播放放视频 | 国产亚洲美女精品久久 | 欧美金8天国 | 黄色免费a级片 | 九九免费观看全部免费视频 | 欧美日韩国产高清视频 | 免费观看a级完整视频 | 在线观看的黄色网址 | 欧美一级欧美一级毛片 | 毛片一级黄片 | 成人国产精品一区二区网站 | 麻豆网站在线 | 美女免费观看一区二区三区 | 免费日本黄色 | 日本美女毛片 | 大片在线播放日本一级毛片 | 不卡视频在线播放 | 成 年 人 黄 片 大全 | www黄色免费 | 男女交性高清全过程无遮挡 | 女人天堂网在线观看2019 | 日本久久久久久中文字幕 | 91免费小视频 | 久草资源在线播放 | 精品亚洲午夜久久久久 | 麻豆免费视频 | 亚色综合 | 国产精品高清m3u8在线播放 | 久草在线免费资源站 | 99久久久精品免费观看国产 | 色婷婷色 |