日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十进制数转换BCD码

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十进制数转换BCD码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有必要仔細闡述這一節,目前就是用在數碼管顯示,在單片機使用時,我們通常是將十進制數字進行/和%運算,得到每個位置的十進制數字,在這里可能是為了節省使用存儲器的量,運用的是加三移位法具體其實就是將每個數字不顧位置,各自轉換為二進制形式

例如:

255 變成 0010 _0101_0101 的過程

移位的次數一定是該數字的二進制位數,加三不確定(加三也是要判斷每4位的二進制大于4才加三,所以是每次移位以后都要判斷)

module bcd_8421(input wire sys_clk,input wire sys_rst,input wire [19:0] data,output reg [3:0] ge,output reg [3:0] shi,output reg [3:0] bai,output reg [3:0] qian,output reg [3:0] wan,output reg [3:0] shi_wan);reg [4:0] cnt_shift; //移位判斷計數器 reg [43:0] data_shift; //移位判斷數據寄存器 reg shift_flag; //移位判斷標志信號always @(posedge sys_clk or negedge sys_rst) //0到21的循環計數(移位加三的方式實現的話,首位各加一個,999_999十進制換算到二進制有20位)if(!sys_rst )cnt_shift <= 5'd0;else if ((cnt_shift==5'd21) && (shift_flag == 1'b1))cnt_shift <= 5'd0;else if (shift_flag == 1'b1)cnt_shift <= cnt_shift + 1'b1;else cnt_shift <= cnt_shift;always @(posedge sys_clk or negedge sys_rst) //移位判斷標志信號,控制移位判斷的先后順序if(!sys_rst )shift_flag <= 1'b0;else shift_flag <= ~shift_flag;always @(posedge sys_clk or negedge sys_rst) //data_shift有44位,其中高24位是999_999形成的BCD碼需要24位,低20位是999_999的二進制形式是20位if(!sys_rst )data_shift <=44'b0;else if (cnt_shift == 5'd0)data_shift <= {24'b0, data }; else if ((cnt_shift <= 5'd20)&&(shift_flag==1'b0)) //cnt_shift=0時,還是上次的,因為六位數最大變成二進制有20位,所以考慮有20次判斷和移位操作,21次穩定,將它輸出,begindata_shift[23:20] <= (data_shift[23:20]>4) ? (data_shift[23:20]+2'd3) : (data_shift[23:20]);data_shift[27:24] <= (data_shift[27:24]>4) ? (data_shift[27:24]+2'd3) : (data_shift[27:24]);data_shift[31:28] <= (data_shift[31:28]>4) ? (data_shift[31:28]+2'd3) : (data_shift[31:28]);data_shift[35:32] <= (data_shift[35:32]>4) ? (data_shift[35:32]+2'd3) : (data_shift[35:32]);data_shift[39:36] <= (data_shift[39:36]>4) ? (data_shift[39:36]+2'd3) : (data_shift[39:36]);data_shift[43:40] <= (data_shift[43:40]>4) ? (data_shift[43:40]+2'd3) : (data_shift[43:40]);end else if ((cnt_shift <= 5'd20)&&(shift_flag==1'b1))data_shift <= data_shift << 1;else data_shift <= data_shift; always @(posedge sys_clk or negedge sys_rst) //當計數器等于20時,對各位置的賦值(BCD)if(!sys_rst )begin ge <= 4'b0;shi <= 4'b0;bai <= 4'b0;qian <= 4'b0;wan <= 4'b0;shi_wan <= 4'b0;endelse if (cnt_shift == 5'd21)beginge <= data_shift[23:20];shi <= data_shift[27:24];bai <= data_shift[31:28];qian <= data_shift[35:32];wan <= data_shift[39:36];shi_wan <= data_shift[43:40];end elsebeginge <= ge ;shi <= shi ;bai <= bai ;qian <= qian ;wan <= wan ;shi_wan <= shi_wan ;end endmodule

?

module vtf;// Inputsreg sys_clk;reg sys_rst;reg [19:0] data;// Outputswire [3:0] ge;wire [3:0] shi;wire [3:0] bai;wire [3:0] qian;wire [3:0] wan;wire [3:0] shi_wan;// Instantiate the Unit Under Test (UUT)bcd_8421 uut (.sys_clk(sys_clk), .sys_rst(sys_rst), .data(data), .ge(ge), .shi(shi), .bai(bai), .qian(qian), .wan(wan), .shi_wan(shi_wan));initial begin// Initialize Inputssys_clk = 0;sys_rst = 0;data = 0;// Wait 100 ns for global reset to finish#100;sys_rst <= 1'b1;data <= 20'd0;#100000;data <= 20'd123_456;#100000;data <= 20'd999_999;#100000;data <= 20'd123_895;#100000;data <= 20'd456_789;#100000;data <= 20'd999_999;#100000;data <= 20'd456_789;// Add stimulus hereendalways # 10 sys_clk = ~sys_clk;endmodule

總結

以上是生活随笔為你收集整理的十进制数转换BCD码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成熟丰满熟妇高潮xxxxx视频 | 精品在线免费观看 | 蜜臀久久久久久999 大陆熟妇丰满多毛xxxⅹ | 亚洲视频在线观看免费视频 | 大尺度做爰呻吟舌吻网站 | 成人mv| 日韩另类在线 | 91调教打屁股xxxx网站 | 国产精品传媒 | 日本三级小视频 | 99久久国产精 | 日本一区二区不卡在线观看 | 日本黄色免费 | 亚洲xxxxx| 国产亚洲一区二区三区在线观看 | 国产一级爱c视频 | 欧美中出| 国产毛片毛片毛片毛片毛片 | 漂亮人妻洗澡被公强 日日躁 | 亚洲一区二区观看 | 在线亚洲人成电影网站色www | 影音先锋色小姐 | 日本久久一级片 | 玖玖精品在线视频 | 99热精品在线 | 红桃av在线| 嫩草影院一区二区三区 | 欧美乱妇视频 | 狠狠91| 一区二区三区三区在线 | 精品国产成人 | 男人的天堂你懂的 | 久艹在线播放 | 欧美天天爽 | 视频在线观看99 | 中文字幕日本人妻久久久免费 | 亚洲色图25p | 四虎国产精品成人免费入口 | 国产裸体舞一区二区三区 | 污漫网站 | 欧美中文字幕视频 | chinese麻豆新拍video | 三级黄毛片 | 国产毛片儿 | 好吊视频一二三区 | 亚洲国产欧美在线人成 | 国产在线精品二区 | 96久久久 | 动漫美女靠逼 | 蜜臀国产AV天堂久久无码蜜臀 | 欧美xxxx日本和非洲 | 天堂视频一区二区 | 伊人久久综合视频 | 欧美日韩国产第一页 | 黄色三级国产 | 亚洲福利在线观看 | 亚洲一区不卡在线 | 亚洲一区二区三区在线免费观看 | 91福利一区二区 | 日韩一级欧美一级 | 亚洲国产精品成人午夜在线观看 | 精品久久久久久久久中文字幕 | 激情欧美一区二区三区精品 | 午夜精品视频 | 老妇荒淫牲艳史 | www毛片 | 国产精品美女毛片真酒店 | 91视频久久久久 | 午夜色婷婷 | 亚洲国产精品va在线 | 日本另类视频 | 亚洲精品国产suv | 五个女闺蜜把我玩到尿失禁 | 中文字幕第一区综合 | 青青草原成人网 | 久久成人18免费观看 | 成人午夜看片 | 九九在线观看免费高清版 | 91黄色视屏 | 亚洲欧美日韩在线看 | 天天插日日干 | 日本www在线播放 | 欧美视频一区二区三区四区在线观看 | 国产成人无码精品久久 | 寻找身体恐怖电影免费播放 | 国产成人久久精品77777综合 | 哺乳喂奶一二三区乳 | 五月婷婷七月丁香 | 美女131爽爽爽 | 久久九 | 色播激情网 | 久久久久99精品成人片 | 青青青免费视频观看在线 | www.激情.com| 被警察猛c猛男男男 | 久久55 | 国产原创剧情av | 久久国产网站 | 狠狠干超碰 |