位置: IT常识 - 正文

串口多字节数据的接收(串口发送字节数据的数据格式是什么)

编辑:rootadmin
这次设计一个可以接收多字节(通过修改例化时的位宽实现)的串口接收模块。 当接收到9个字节的数据,但是我们只需要8个字节的数据时候,我们需要的是前八位的数据还是后八位的数据我们无法确定。 所以我们需要设定一种传输协议,这种协议我们可以自定义规则。我们就设定前缀为8'h55+8'hA5,后缀为8'hF0 ...

推荐整理分享串口多字节数据的接收(串口发送字节数据的数据格式是什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:串口最后多一个字节ff,串口发送多字节数据,串口发送多字节数据,串口通信一次几个字节,串口如果接收多字节数据fpga,串口一次最多读取多少字节,串口通信一次几个字节,串口如果接收多字节数据fpga,内容如对您有帮助,希望把文章链接给更多的朋友!

这次设计一个可以接收多字节(通过修改例化时的位宽实现)的串口接收模块。

串口多字节数据的接收(串口发送字节数据的数据格式是什么)

当接收到9个字节的数据,但是我们只需要8个字节的数据时候,我们需要的是前八位的数据还是后八位的数据我们无法确定。

所以我们需要设定一种传输协议,这种协议我们可以自定义规则。我们就设定前缀为8'h55+8'hA5,后缀为8'hF0的一串数据即为我们需要的数据。

1、状态机的设定

2、需要的模块(1) 8位串口接收模块`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: Lclone// // Create Date: 2022/12/16 15:37:44// Design Name: uart_byte_rx// Module Name: uart_byte_rx// Project Name: uart_byte_rx// Target Devices: // Tool Versions: // Description: 8位串口接收模块// // Dependencies: // // Revision:// Revision 0.01 - File Created// Additional Comments:// //////////////////////////////////////////////////////////////////////////////////module uart_byte_rx # ( parameter RX_BAUD = 9600,//波特率 parameter CLK_FQC = 50_000_000,//模块时钟频率 parameter BAUD_CNT = CLK_FQC/RX_BAUD)//模块每波特需要计数的次数(设置此端口方便仿真用) ( input Clk,//时钟频率接口 input Rst_n,//复位接口 input Uart_rx,//串口接收接口 output reg [7:0] Data,//接收到的数据接口 output reg Rx_done//接收完成信号 ); reg uart_rx_r;//延一拍 reg uart_rx_rr;//延两拍 reg receiv_begin;//接收开始信号 reg receiv_flag;//接收状态信号 reg [ 3:0] state;//状态机寄存器 reg [15:0] baud_cnt;//波及计数器 reg [ 3:0] sampel_cnt;//采样计数器 reg sampel_en;//采样使能 reg sampel_ref;//样本寄存器 reg [ 3:0] acc;//累加寄存器 reg [ 3:0] bit_cnt;//数据位寄存器 always @(posedge Clk) begin //延两拍为下降沿捕获 uart_rx_r <= Uart_rx; uart_rx_rr <= uart_rx_r; end always @(posedge Clk or negedge Rst_n) begin//接收信号发生 if(Rst_n == 0) receiv_begin <= 0; else if(state == 0 & uart_rx_rr & ~uart_rx_r) receiv_begin <= 1'b1; else receiv_begin <= 0; end always @(posedge Clk or negedge Rst_n) begin//状态机 if(Rst_n == 0) begin state <= 0; sampel_ref <= 8'b0; acc <= 8'b0; Data <= 8'b0; end else case(state) 0: //空闲状态 if(receiv_begin == 1) state <= 3'd1; else state <= 0; 1: begin//抽样状态 if(sampel_en == 1) begin sampel_ref <= Uart_rx; state <= 3'd2; end else state <= 3'b1; end 2: begin//数据判断状态 acc <= acc + sampel_ref; if(sampel_cnt == 7) begin if(acc >= 4) begin Data[7] <= 1'b1; state <= 3'd3;acc <= 8'b0; end else begin Data[7] <= 0; state <= 3'd3;acc <= 8'b0; end end else state <= 3'd1; end 3: begin//数据移位状态 if(bit_cnt < 8) begin Data <= Data >> 1; state <= 3'd1; end else state <= 0; end default:; endcase end always @(posedge Clk or negedge Rst_n) begin//接收进行标志 if(Rst_n == 0) receiv_flag <= 0; else if(receiv_begin == 1) receiv_flag <= 1'b1; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) //这里设置为记到BAUD_CNT/9*8是为了让Rx_done信号提前一点产生,避免因为Rx_done出现过晚,导致错过下一个起始位的下降沿。后面和其相同的条件判断,也是因为相同原因设置的。 receiv_flag <= 1'b0; end always @(posedge Clk or negedge Rst_n) begin//波特计数 if(Rst_n == 0) baud_cnt <= 0; else if(receiv_flag == 1) begin if(baud_cnt == BAUD_CNT - 1) baud_cnt <= 0; else baud_cnt <= baud_cnt + 1'b1; end else baud_cnt <= 0; end always @(posedge Clk or negedge Rst_n) begin//采样计数 if(Rst_n == 0) begin sampel_cnt <= 0; sampel_en <= 0; end else if(receiv_flag == 1) begin case(baud_cnt) BAUD_CNT/9*1-1 : begin sampel_cnt <= 0; sampel_en <=1; end BAUD_CNT/9*2-1 : begin sampel_cnt <= 1; sampel_en <=1; end BAUD_CNT/9*3-1 : begin sampel_cnt <= 2; sampel_en <=1; end BAUD_CNT/9*4-1 : begin sampel_cnt <= 3; sampel_en <=1; end BAUD_CNT/9*5-1 : begin sampel_cnt <= 4; sampel_en <=1; end BAUD_CNT/9*6-1 : begin sampel_cnt <= 5; sampel_en <=1; end BAUD_CNT/9*7-1 : begin sampel_cnt <= 6; sampel_en <=1; end BAUD_CNT/9*8-1 : begin sampel_cnt <= 7; sampel_en <=1; end BAUD_CNT/9*9-1 : sampel_cnt <= 0; default:sampel_en <=0; endcase end end always @(posedge Clk or negedge Rst_n) begin//数据位计数 if(Rst_n == 0) bit_cnt <= 0; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) bit_cnt <= 0; else if(baud_cnt == BAUD_CNT - 1) bit_cnt <= bit_cnt + 1'b1; end always @(posedge Clk or negedge Rst_n) begin//接收完成信号产生 if(Rst_n == 0) Rx_done <= 0; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) Rx_done <= 1'b1; else Rx_done <= 0; endendmodule3、设计的模块代码`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2022/12/25 00:26:10// Design Name: // Module Name: uart_bytes_rx// Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision:// Revision 0.01 - File Created// Additional Comments:// //////////////////////////////////////////////////////////////////////////////////module uart_bytes_rx#(parameterDATA_WIDTH = 64,//数据位宽parameterPREFIX1 = 8'h55,//前缀1parameterPREFIX2 = 8'hA5,//前缀2parameterENDINGS = 8'hF0)//后缀(input Clk,//时钟信号input Rst_n,//复位信号input Uart_rx,//串口接收端口output reg[DATA_WIDTH-1-8*3:0] Bytes_data,//多字节数据端口output reg Bytes_Rx_done//多字节接收完成);reg[2:0]state;//状态机寄存器reg[DATA_WIDTH-1:0]bytes_data_reg;//多字节数据接收寄存器wire[7:0]rx_data_reg;//8位数据接收寄存器wireRx_done;//8位数据接收完成信号 uart_byte_rx # ( .RX_BAUD (115200),//波特率 .CLK_FQC (50_000_000))//时钟频率uart_byte_rx_inst ( .Clk (Clk),//时钟 .Rst_n (Rst_n),//复位 .Uart_rx (Uart_rx),//串口接收端口 .Data (rx_data_reg),//8位数据端口 .Rx_done (Rx_done)//8位数据接收完成 );always @(posedge Clk or negedge Rst_n) begin//状态机if(Rst_n == 0) beginstate <= 0;bytes_data_reg <= 0;Bytes_Rx_done <= 0;Bytes_data <= 0;end else case(state)0:beginif(Rx_done) beginbytes_data_reg[DATA_WIDTH-1:DATA_WIDTH-1-7] <= rx_data_reg;//数据装载state <= 3'd1;end else beginstate <= 0;Bytes_Rx_done <= 0;endend1:beginif(bytes_data_reg[DATA_WIDTH-1:DATA_WIDTH-1-7] == ENDINGS && bytes_data_reg[15:8] ==PREFIX2 && bytes_data_reg[7:0] ==PREFIX1)//数据协议判断 beginBytes_data <= bytes_data_reg[DATA_WIDTH-1-8:16];state <= 1'b0;Bytes_Rx_done <= 1'b1;bytes_data_reg <= 0; end elsestate <= 3'd2;end2:beginbytes_data_reg <= bytes_data_reg >> 8;//数据移位state <= 0;endendcaseendendmodule4、仿真验证(1)仿真激励文件`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2022/12/26 16:14:35// Design Name: // Module Name: uart_bytes_rx_tb// Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision:// Revision 0.01 - File Created// Additional Comments:// //////////////////////////////////////////////////////////////////////////////////module uart_bytes_rx_tb(); reg CLK_50M; reg RST_N; wire [39:0] Bytes_data; reg Uart_rx; wire Bytes_Rx_done; uart_bytes_rx # ( .DATA_WIDTH (64)) uart_bytes_rx_inst ( .Clk (CLK_50M), .Rst_n (RST_N), .Uart_rx (Uart_rx), .Bytes_data (Bytes_data), .Bytes_Rx_done (Bytes_Rx_done) ); defparamuart_bytes_rx_inst.uart_byte_rx_inst.BAUD_CNT = 50; always #10 CLK_50M <= ~CLK_50M; initial begin CLK_50M <= 1'b0; RST_N <= 1'b0; Uart_rx <= 1'b1; #100 RST_N <= 1'b1; #20data_deliver(8'h55); #100data_deliver(8'hA5); #100data_deliver(8'h01); #100data_deliver(8'h23); #100data_deliver(8'h45); #100data_deliver(8'h67); #100data_deliver(8'h89); #100data_deliver(8'hf0); #100 $stop; endtask data_deliver;input [7:0]test_data;beginUart_rx <= 1'b0;#1000 Uart_rx <= test_data[0];#1000 Uart_rx <= test_data[1];#1000 Uart_rx <= test_data[2];#1000 Uart_rx <= test_data[3];#1000 Uart_rx <= test_data[4];#1000 Uart_rx <= test_data[5];#1000 Uart_rx <= test_data[6];#1000 Uart_rx <= test_data[7];#1000 Uart_rx <= 1'b1;#1000;endendtaskendmodule(2)仿真结果

5、应用实例

我们把它应用为一个通过接收电脑串口发送的数据从而改变8位LED每位是否闪烁和闪烁的周期的程序。

top.v`timescale 1ns / 1psmodule Top( inputSclk,inputRst_n,inputUart_rx,output[7:0]LED);wire [23:0]Bytes_data;wireBytes_Rx_done;uart_bytes_rx# ( .DATA_WIDTH (48),.PREFIX1(8'h55),.PREFIX2 (8'hA5),.ENDINGS (8'hF0))uart_bytes_rx_inst(.Clk(Sclk),.Rst_n(Rst_n),.Uart_rx(Uart_rx),.Bytes_data(Bytes_data),.Bytes_Rx_done(Bytes_Rx_done));LED_6LED_6_inst(.SCLK(Sclk),.RST_N(Rst_n),.CTRL_IN(Bytes_data[7:0]),.Time(Bytes_data[23:8]),.LED(LED) );endmoduleuart_bytes_rx.v`timescale 1ns / 1psmodule uart_bytes_rx#(parameterDATA_WIDTH = 64,//数据位宽parameterPREFIX1 = 8'h55,//前缀1parameterPREFIX2 = 8'hA5,//前缀2parameterENDINGS = 8'hF0)//后缀(input Clk,//时钟信号input Rst_n,//复位信号input Uart_rx,//串口接收端口output reg[DATA_WIDTH-1-8*3:0] Bytes_data,//多字节数据端口output reg Bytes_Rx_done//多字节接收完成);reg[2:0]state;//状态机寄存器reg[DATA_WIDTH-1:0]bytes_data_reg;//多字节数据接收寄存器wire[7:0]rx_data_reg;//8位数据接收寄存器wireRx_done;//8位数据接收完成信号 uart_byte_rx # ( .RX_BAUD (115200),//波特率 .CLK_FQC (50_000_000))//时钟频率uart_byte_rx_inst ( .Clk (Clk),//时钟 .Rst_n (Rst_n),//复位 .Uart_rx (Uart_rx),//串口接收端口 .Data (rx_data_reg),//8位数据端口 .Rx_done (Rx_done)//8位数据接收完成 );always @(posedge Clk or negedge Rst_n) begin//状态机if(Rst_n == 0) beginstate <= 0;bytes_data_reg <= 0;Bytes_Rx_done <= 0;Bytes_data <= 0;end else case(state)0:beginif(Rx_done) beginbytes_data_reg[DATA_WIDTH-1:DATA_WIDTH-1-7] <= rx_data_reg;//数据装载state <= 3'd1;end else beginstate <= 0;Bytes_Rx_done <= 0;endend1:beginif(bytes_data_reg[DATA_WIDTH-1:DATA_WIDTH-1-7] == ENDINGS && bytes_data_reg[15:8] ==PREFIX2 && bytes_data_reg[7:0] ==PREFIX1)//数据协议判断 beginBytes_data <= bytes_data_reg[DATA_WIDTH-1-8:16];state <= 1'b0;Bytes_Rx_done <= 1'b1;bytes_data_reg <= 0; end elsestate <= 3'd2;end2:beginbytes_data_reg <= bytes_data_reg >> 8;//数据移位state <= 0;endendcaseendendmoduleuart_byte_rx.v`timescale 1ns / 1psmodule uart_byte_rx # ( parameter RX_BAUD = 9600, parameter CLK_FQC = 50_000_000, parameter BAUD_CNT = CLK_FQC/RX_BAUD) ( input Clk, input Rst_n, input Uart_rx, output reg [7:0] Data, output reg Rx_done ); reg uart_rx_r; reg uart_rx_rr; reg receiv_begin; reg receiv_flag; reg [ 3:0] state; reg [15:0] baud_cnt; reg [ 3:0] sampel_cnt; reg sampel_en; reg sampel_ref; reg [ 3:0] acc; reg [ 3:0] bit_cnt; always @(posedge Clk) begin uart_rx_r <= Uart_rx; uart_rx_rr <= uart_rx_r; end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) receiv_begin <= 0; else if(state == 0 & uart_rx_rr & ~uart_rx_r) receiv_begin <= 1'b1; else receiv_begin <= 0; end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) begin state <= 0; sampel_ref <= 8'b0; acc <= 8'b0; Data <= 8'b0; end else case(state) 0: if(receiv_begin == 1) state <= 3'd1; else state <= 0; 1: begin if(sampel_en == 1) begin sampel_ref <= Uart_rx; state <= 3'd2; end else state <= 3'b1; end 2: begin acc <= acc + sampel_ref; if(sampel_cnt == 7) begin if(acc >= 4) begin Data[7] <= 1'b1; state <= 3'd3;acc <= 8'b0; end else begin Data[7] <= 0; state <= 3'd3;acc <= 8'b0; end end else state <= 3'd1; end 3: begin if(bit_cnt < 8) begin Data <= Data >> 1; state <= 3'd1; end else state <= 0; end default:; endcase end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) receiv_flag <= 0; else if(receiv_begin == 1) receiv_flag <= 1'b1; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) receiv_flag <= 1'b0; end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) baud_cnt <= 0; else if(receiv_flag == 1) begin if(baud_cnt == BAUD_CNT - 1) baud_cnt <= 0; else baud_cnt <= baud_cnt + 1'b1; end else baud_cnt <= 0; end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) begin sampel_cnt <= 0; sampel_en <= 0; end else if(receiv_flag == 1) begin case(baud_cnt) BAUD_CNT/9*1-1 : begin sampel_cnt <= 0; sampel_en <=1; end BAUD_CNT/9*2-1 : begin sampel_cnt <= 1; sampel_en <=1; end BAUD_CNT/9*3-1 : begin sampel_cnt <= 2; sampel_en <=1; end BAUD_CNT/9*4-1 : begin sampel_cnt <= 3; sampel_en <=1; end BAUD_CNT/9*5-1 : begin sampel_cnt <= 4; sampel_en <=1; end BAUD_CNT/9*6-1 : begin sampel_cnt <= 5; sampel_en <=1; end BAUD_CNT/9*7-1 : begin sampel_cnt <= 6; sampel_en <=1; end BAUD_CNT/9*8-1 : begin sampel_cnt <= 7; sampel_en <=1; end BAUD_CNT/9*9-1 : sampel_cnt <= 0; default:sampel_en <=0; endcase end end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) bit_cnt <= 0; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) bit_cnt <= 0; else if(baud_cnt == BAUD_CNT - 1) bit_cnt <= bit_cnt + 1'b1; end always @(posedge Clk or negedge Rst_n) begin if(Rst_n == 0) Rx_done <= 0; else if(bit_cnt == 9 & baud_cnt == BAUD_CNT/9*8) Rx_done <= 1'b1; else Rx_done <= 0; endendmoduleLED_6.v`timescale 1ns / 1psmodule LED_6( input SCLK, input RST_N, input [ 7:0] CTRL_IN, input [15:0] Time, output reg [ 7:0] LED ); parameter DELAY_10US = 500; parameter COUNT_10MS = 1000; reg [8:0] count_10us; reg [15:0] count_time;reg led_flag; always @(posedge SCLK or negedge RST_N) begin if(RST_N == 0) count_10us <= 0; else if(count_10us == DELAY_10US - 1) count_10us <= 0; else count_10us <= count_10us + 1'b1; end always @(posedge SCLK or negedge RST_N) begin if(RST_N == 0) count_time <= 0; else if(count_time == Time - 1) count_time <= 0; else if(count_10us == DELAY_10US - 1) count_time <= count_time + 1'b1; endalways @(posedge SCLK or negedge RST_N) begin if(RST_N == 0) led_flag <= 0; else if(count_time == COUNT_10MS - 1) led_flag <= ~led_flag; end always @(posedge SCLK or negedge RST_N) beginif(RST_N == 0)LED <= 0;else if(count_time == COUNT_10MS - 1 & led_flag == 1)LED <= CTRL_IN;else if(count_time == COUNT_10MS - 1 & led_flag == 0)LED <= 0; end endmodule
本文链接地址:https://www.jiuchutong.com/zhishi/310408.html 转载请保留说明!

上一篇:OpenGL 伽马线(opengl加阴影)

下一篇:帝国cms要授权吗(帝国cms要授权吗知乎)

  • 一个号码怎么弄两个qq号(电信套餐转移到另一个号码怎么弄)

    一个号码怎么弄两个qq号(电信套餐转移到另一个号码怎么弄)

  • 广东地区微信怎么查核酸检测电子版的结果(微信地区设置在广州)

    广东地区微信怎么查核酸检测电子版的结果(微信地区设置在广州)

  • 我的宁夏健康码黄色怎么变成绿色(我的宁夏健康码怎么切换另一个人)

    我的宁夏健康码黄色怎么变成绿色(我的宁夏健康码怎么切换另一个人)

  • 苹果怎么调声音模式(苹果怎么调声音比例)

    苹果怎么调声音模式(苹果怎么调声音比例)

  • WPS双线型边框线怎么设置(word双线型边框线)

    WPS双线型边框线怎么设置(word双线型边框线)

  • 被回收的qq好友还能看见吗(qq被回收了好友还能看见照片吗?)

    被回收的qq好友还能看见吗(qq被回收了好友还能看见照片吗?)

  • 网线亮红灯什么问题(网线灯亮红色)

    网线亮红灯什么问题(网线灯亮红色)

  • iphonex可以更新13.4.1吗(iPhonex可以更新16.1.1)

    iphonex可以更新13.4.1吗(iPhonex可以更新16.1.1)

  • 电脑屏幕受撞击后花屏了(电脑屏幕受撞击后漏液)

    电脑屏幕受撞击后花屏了(电脑屏幕受撞击后漏液)

  • 微信7.09什么时候更新(微信7.0.20什么时候发布)

    微信7.09什么时候更新(微信7.0.20什么时候发布)

  • 小米手机图片删除了怎么恢复正常(小米手机图片删了怎么恢复回来)

    小米手机图片删除了怎么恢复正常(小米手机图片删了怎么恢复回来)

  • 微信怎么十人以上视频(微信如何@多个人人)

    微信怎么十人以上视频(微信如何@多个人人)

  • 微信怎样才能在电脑上直接登录(微信怎样才能在附近的人看到自己)

    微信怎样才能在电脑上直接登录(微信怎样才能在附近的人看到自己)

  • 表格双面打印怎么打(表格双面打印怎么弄)

    表格双面打印怎么打(表格双面打印怎么弄)

  • 阿里实人认证是干嘛的(阿里实人认证有什么用)

    阿里实人认证是干嘛的(阿里实人认证有什么用)

  • 魅族16th怎么设置otg(魅族16th怎么设置锁屏)

    魅族16th怎么设置otg(魅族16th怎么设置锁屏)

  • 手机闲鱼怎么卖东西(闲鱼怎么卖手机步骤)

    手机闲鱼怎么卖东西(闲鱼怎么卖手机步骤)

  • 苹果xsmax可以当门禁卡吗(iphone xs max可以当空调遥控器吗)

    苹果xsmax可以当门禁卡吗(iphone xs max可以当空调遥控器吗)

  • 华为p30耐摔吗(华为p30抗摔程度什么样)

    华为p30耐摔吗(华为p30抗摔程度什么样)

  • 拼多多优惠复活卡在哪(拼多多怎么复活优惠卷)

    拼多多优惠复活卡在哪(拼多多怎么复活优惠卷)

  • 电话卡黑卡是什么意思(电话卡,黑卡)

    电话卡黑卡是什么意思(电话卡,黑卡)

  • 优酷检测不到投屏设备(优酷检测不到投屏怎么办)

    优酷检测不到投屏设备(优酷检测不到投屏怎么办)

  • 手机贴吧的链接怎么打开(手机贴吧的链接在哪里)

    手机贴吧的链接怎么打开(手机贴吧的链接在哪里)

  • 苹果手机怎么清理后台(苹果手机怎么清理垃圾)

    苹果手机怎么清理后台(苹果手机怎么清理垃圾)

  • Mac把鼠标移到屏幕角落即时锁机不需要次次掩上屏幕(mac鼠标移动到角落立刻显示桌面)

    Mac把鼠标移到屏幕角落即时锁机不需要次次掩上屏幕(mac鼠标移动到角落立刻显示桌面)

  • Mac版ios8.1.2怎么越狱?Mac版iOS8.0-iOS8.1.2完美越狱图文教程(苹果mac系统怎么更新最新版本)

    Mac版ios8.1.2怎么越狱?Mac版iOS8.0-iOS8.1.2完美越狱图文教程(苹果mac系统怎么更新最新版本)

  • 增值税10000交多少税
  • 烟叶增值税税率10%
  • 会计报税
  • 年度企业所得税申报时间
  • 怎么恢复自然人个人信息
  • 高新技术企业在增值税有什么优惠
  • 土地整理项目如何提取地块的坐标
  • 在建工程账务处理流程
  • 可变股权转让对价会计处理怎么做?
  • 员工参加公司活动的好处
  • 非居民企业所得税核定利润率
  • 工程款开票后增值税怎么做分录?
  • 房地产收到客户房款如何做账
  • 返利冲抵货款会计分录
  • 企业缴纳社保费一个月多少钱
  • 企业所得税税前扣除政策
  • 劳务派遣税收政策文件
  • 老项目简易征收可以用进项抵扣吗
  • 销售发票冲红的条件有哪些?
  • 银行承兑汇票企业账户没钱
  • 我的初级备考经验--有种力量叫坚持
  • 差额征税的服务费怎么入账
  • 以前年度少计费用,调整分录
  • 文件夹属性没有安全
  • 单位购买金税盘的分录
  • windows7中
  • 注册表编辑器误删怎么办
  • php递归函数的例子
  • 一叶兰的养殖方法和注意事项有哪些
  • 最小的外置dvd刻机多少寸
  • csdn创作
  • 企业要缴哪些税种
  • vue引用类型
  • vue的actions
  • php十进制转二进制算法
  • 利润表利息费用包括哪些科目
  • php微信公众号开发反回图片怎么弄的学校
  • 外币账户如何设立
  • 残保金最新
  • 劳务费800以上扣税标准
  • dedecms官网
  • 以货换货账务怎么处理
  • 可以采用
  • sql server 内存管理
  • 教育培训行业成功案例
  • 盈余公积分配现金股利分录
  • 工程项目成本核算
  • 领用工程物资属于什么科目
  • 盈余公积的提取基数
  • 转账给个人账户
  • 停产期间机器设备没提折旧,如何补提折旧
  • 公司突然改变工资结构
  • 接受捐赠财产净价值属于所有者权益吗
  • 全国统一电子发票查询
  • 用工资冲借款报税可以吗
  • 支付宝里的收入和支出明细能查多久的?
  • apache系统服务启动不了
  • vista安装图解
  • windows10mobile官网
  • win8录音文件保存在哪
  • windows10 upnp
  • linux安装sshpass
  • centos7 zsh
  • 登录ip怎么查位置
  • 用bat打开cmd执行命令
  • android指南针源码
  • 简述linux与windows相比,有哪些优势
  • Javascript中的this
  • nodejs 动态网页
  • Android4.4 wpa_supplicant深入分析之wpa_supplicant初始化流程
  • 安卓源代码开放吗
  • 广东省电子税务局登录方式
  • 税务局试用期
  • 可以抵扣的消费税项目
  • 国家税务局文件查询
  • 一般纳税人申请资格条件
  • 河南林州在哪三省交界处
  • 车辆购置税查询平台打印
  • 全国青少年学法网(官网)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设