码迷,mamicode.com
首页 > 其他好文 > 详细

74HC595驱动设计

时间:2014-09-10 17:30:40      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   os   使用   ar   数据   2014   sp   

自己写的,通过测试,就是不知道符不符合规范,请各位斧正

设计思路,首先根据硬件电路,可知控制器需要有3个输出口进行驱动595,分别是移位时钟、串行数据输入、并行数据输出

另外控制器还需提供 时钟、复位端口和供使用者操作的并行数据输入端口。

 

根据芯片手册

bubuko.com,布布扣

使用12M的时钟频率;

三根控制线之间的时序如图所示

bubuko.com,布布扣

设计的verilog代码如下

module led_74595_driver
(
    //global clock
    input                clk,              //12MHz
    input                rst_n,            //global reset

    //74hc595 interface
    output reg        led595_dout,    //74hc595 serial data input   
    output               led595_clk,        //74hc595 shift clock (rising edge)
    output               led595_latch,    //74hc595 latch clock (risign edge)

    //user interface
    input    [7:0]        led_data        //led data input   
);


//-------------------------------------------------
//74hc595 control

//-------------------------------------------------
//用于8位数据移位次数

reg [3:0] count;
always@(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        begin
            count<=0;
        end
    else
        begin
            count<=count+1‘b1;
        end
end

wire iclk=~clk;

//为了有一定的setup time和hold time,将时钟取反
always@(posedge iclk or negedge rst_n)
begin
    if(!rst_n)
        begin
            led595_dout<=1‘b0;
        end
    else
        case(count)
            4‘d0:led595_dout<=led_data[7];
            4‘d1:led595_dout<=led_data[6];
            4‘d2:led595_dout<=led_data[5];
            4‘d3:led595_dout<=led_data[4];
            4‘d4:led595_dout<=led_data[3];
            4‘d5:led595_dout<=led_data[2];
            4‘d6:led595_dout<=led_data[1];
            4‘d7:led595_dout<=led_data[0];
        default:led595_dout<=1‘b0;
        endcase
end
assign     led595_latch=(count==4‘d9)?1‘b1:1‘b0;
assign     led595_clk=(count>0&&count<=4‘d8)?clk:1‘b0;


endmodule

74HC595驱动设计

标签:style   blog   http   os   使用   ar   数据   2014   sp   

原文地址:http://www.cnblogs.com/carlpc/p/3964675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!