久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4637|回復(fù): 3
收起左側(cè)

基于FPGA的uart程序設(shè)計(jì)

[復(fù)制鏈接]
ID:780408 發(fā)表于 2020-6-15 21:32 | 顯示全部樓層 |閱讀模式
MHROIF0J0)GMTOAT89~8@MI.png

  1. module uart_rx(
  2.      clk,
  3.      rst_n,
  4.      bps_start,
  5.      clk_bps,
  6.      rs232_rx,
  7.      rx_data,
  8.      rx_int,
  9.      led
  10.      );
  11. input clk;   //時(shí)鐘
  12. input rst_n;  //復(fù)位
  13. input rs232_rx; //接收數(shù)據(jù)信號(hào)
  14. input clk_bps;  //高電平時(shí)為接收信號(hào)中間采樣點(diǎn)
  15. output bps_start; //接收信號(hào)時(shí),波特率時(shí)鐘信號(hào)置位
  16. output [7:0] rx_data;//接收數(shù)據(jù)寄存器
  17. output rx_int;  //接收數(shù)據(jù)中斷信號(hào),接收過(guò)程中為高
  18. output [7:0] led;
  19. reg [7:0] led;
  20. reg rs232_rx0,rs232_rx1,rs232_rx2,rs232_rx3;//接收數(shù)據(jù)寄存器
  21. wire neg_rs232_rx;//表示數(shù)據(jù)線接收到下沿

  22. always @(posedge clk or negedge rst_n) begin
  23.   if(!rst_n) begin
  24.    rs232_rx0 <= 1'b0;
  25.    rs232_rx1 <= 1'b0;
  26.    rs232_rx2 <= 1'b0;
  27.    rs232_rx3 <= 1'b0;
  28.   end
  29.   
  30.   else begin
  31.    rs232_rx0 <= rs232_rx;
  32.    rs232_rx1 <= rs232_rx0;
  33.    rs232_rx2 <= rs232_rx1;
  34.    rs232_rx3 <= rs232_rx2;
  35.   end
  36. end
  37. assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0;//串口傳輸線的下沿標(biāo)志
  38. reg bps_start_r;
  39. reg [3:0] num;//移位次數(shù)
  40. reg rx_int;  //接收中斷信號(hào)

  41. always @(posedge clk or negedge rst_n)
  42.   if(!rst_n) begin
  43.    bps_start_r <=1'bz;
  44.    rx_int <= 1'b0;
  45.   end
  46.   else if(neg_rs232_rx) begin//
  47.   bps_start_r <= 1'b1;  //啟動(dòng)串口,準(zhǔn)備接收數(shù)據(jù)
  48.    rx_int <= 1'b1;   //接收數(shù)據(jù)中斷使能
  49.   end
  50.   else if(num==4'd12) begin //接收完有用的信號(hào),
  51.    bps_start_r <=1'b0;  //接收完畢,改變波特率置位,方便下次接收
  52.    rx_int <= 1'b0;   //接收信號(hào)關(guān)閉
  53.   end
  54.   
  55.   assign bps_start = bps_start_r;
  56.   
  57.   reg [7:0] rx_data_r;//串口數(shù)據(jù)寄存器
  58.   reg [7:0] rx_temp_data;//當(dāng)前數(shù)據(jù)寄存器
  59.   
  60.   always @(posedge clk or negedge rst_n)
  61.    if(!rst_n) begin
  62.      rx_temp_data <= 8'd0;
  63.      num <= 4'd0;
  64.      rx_data_r <= 8'd0;
  65.    end
  66.    else if(rx_int) begin //接收數(shù)據(jù)處理
  67.     if(clk_bps) begin
  68.      num <= num+1'b1;
  69.      case(num)
  70.        4'd1: rx_temp_data[0] <= rs232_rx;
  71.        4'd2: rx_temp_data[1] <= rs232_rx;
  72.        4'd3: rx_temp_data[2] <= rs232_rx;
  73.        4'd4: rx_temp_data[3] <= rs232_rx;
  74.        4'd5: rx_temp_data[4] <= rs232_rx;
  75.        4'd6: rx_temp_data[5] <= rs232_rx;
  76.        4'd7: rx_temp_data[6] <= rs232_rx;
  77. ……………………

  78. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
全部資料51hei下載地址:
uart.7z (1.28 MB, 下載次數(shù): 42)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:416262 發(fā)表于 2020-6-16 14:47 | 顯示全部樓層
馬克,正需要
回復(fù)

使用道具 舉報(bào)

ID:810016 發(fā)表于 2020-12-19 19:19 | 顯示全部樓層
這個(gè)能兩個(gè)FPGA板子間進(jìn)行通信嗎
回復(fù)

使用道具 舉報(bào)

ID:579775 發(fā)表于 2020-12-21 18:26 | 顯示全部樓層
總結(jié)的很好
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色爽| 成人免费在线视频观看 | 国产又粗又猛又黄又爽无遮挡 | a视频在线 | 久草福利在线 | 国产精品国产三级国产专区52 | 中文在线字幕观看 | 1024日韩| 国产精品高清在线观看 | 日韩视频免费在线观看 | 51调教丨国产调教视频 | 91亚洲国产成人精品性色 | av免费看片 | 狠狠干免费视频 | 国产理论片 | 亚洲国产精品一区二区三区 | 精品影院| 久精品视频 | 天天碰天天操 | 国产91清纯白嫩初高中在线观看 | 91免费网站入口 | 激情婷婷 | 中国极品少妇xxxx做受 | 插少妇| 婷婷俺也去 | 超碰成人福利 | 国产黄色免费视频 | 成人视屏在线观看 | 亚洲三级黄色片 | 中文字幕在线观看免费视频 | 欧美午夜精品一区二区三区 | 麻豆黄色片 | 99久久久精品 | 成人免费小视频 | 在线观看二区 | 国产高清视频在线播放 | 午夜影院在线观看视频 | 色婷婷基地 | 亚洲成a人片 | 91片黄在线观看 | 九九成人 |