(注:如果本文有代码 则均搜索于网络或本人编写仅供学习之用)
移位寄存器和锁存器在开发中是经常遇到的比如拨码开关输入 大型LED驱动等
在早期使用8051的时候如果IO不够用那么我们就可以
用锁存器 缓冲器 并串转换 或者串并转换来扩展IO控制
比如 常用的
74HC273 8 位数据/地址锁存器
74HC244 3态8位缓冲器,一般用作总线驱动器。74LS244没有锁存的功能。
74HC165 并口输入串口输出
74HC595 串口输入并行输入
正是这些扩展器件的存在让mcu的控制能力一下提升起来了
这里我们先实现最基本并串转换和锁存器
1,并口输入转串行输出 8输入
基本思想循环8次 每次把并口8输入的一位 赋值给8位寄存器的相应位
01 always @(posedge sys_clk or negedge sys_rst_n) begin
02 if (sys_rst_n ==1'b0)
03 srial_data_out <= 1'b0;
04 else if (shift_en == 1'b1) begin
05 for (i = 1'b0;i<8;i = i +1'b1)
06 srial_data_out <= data_in[i];
07 end
08 else
09 srial_data_out <= 1'b0;
10
11 end
串行输入转并口
其实就是将一个寄存器的值一位一位赋值给并口的相应IO
锁存器就是获取输入并锁定即使输入变化可不影响输出
1
文章评论(0条评论)
登录后参与讨论