基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)
来源:互联网 发布:java手机api 编辑:程序博客网 时间:2024/05/20 15:58
1、本例使用单片机的串口,使串口工作于移位寄存器模式,165的串行输出端口连接到单片机的串行数据输入端,单片机的串行数据发送端负责发送移位时钟脉冲,与165的CLK引脚相连。学要注意的是SH/LD引脚,为高时表示数据开始移位,为低时读入8位数据。在开始移位之前,需要先从并行输入端口读入数据,这时SH/LD端口应置0.这时165的8位数据输入端口的数据被读入。然后将SH/LD端置高,锁存这8位数据,开始移位操作,在TXD端的移位脉冲控制下,8位并行数据逐位串行发送到SO引脚。
2、在keil c51中新建工程ex60,编写如下程序代码,编译并生成ex60.hex文件
//利用串口读取74HC165的串行输出数据
#include <reg51.h> //
#include <intrins.h> //
sbit SPL = P3^2; //数据锁存端口定义
#include <reg51.h> //
#include <intrins.h> //
sbit SPL = P3^2; //数据锁存端口定义
//延时函数
void delay(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
void delay(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
//主函数
void main(void)
{
SCON = 0x10; //设为串口模式0,允许串口接收数据
while(1)
{
SPL = 0; //锁存端清0,读入8位数据
SPL =1; //锁存端置1,锁存读入的数据
while(RI == 0); // 等待接收中断标志
RI = 0; // 清0中断标志
P2 = SBUF; //接收到的字符送到P2口
delay(20);
void main(void)
{
SCON = 0x10; //设为串口模式0,允许串口接收数据
while(1)
{
SPL = 0; //锁存端清0,读入8位数据
SPL =1; //锁存端置1,锁存读入的数据
while(RI == 0); // 等待接收中断标志
RI = 0; // 清0中断标志
P2 = SBUF; //接收到的字符送到P2口
delay(20);
}
}
}
3、在proteus中新建仿真文件ex60.dsn,电路原理图如下所示
4、将ex60.hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果。
阅读全文
0 0
- 基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)
- 基于proteus的51单片机仿真实例七十一、并口转串口器件74HC165应用实例
- 基于proteus的51单片机仿真实例七十、串口转并口器件74HC164应用实例(续)
- 基于proteus的51单片机仿真实例六十九、串口转并口器件74HC164应用实例
- 基于proteus的51单片机仿真实例五、第一个proteus仿真实例(续)
- 基于proteus的51单片机仿真实例六十五、单个I2C器件AT24C02读写实例
- 基于proteus的51单片机仿真实例六十八、8位数据锁存器74HC573应用实例
- 基于proteus的51单片机仿真实例七十三、3-8译码器74HC138应用实例
- 基于proteus的51单片机仿真实例七十四、4-16译码器74HC154应用实例
- 基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例
- 基于proteus的51单片机仿真实例二、关于proteus
- 基于proteus的51单片机仿真实例六十一、串口发送字符串实例
- 基于proteus的51单片机仿真实例六十二、串口发送和接收字符串实例
- 基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例
- 基于proteus的51单片机仿真实例七十九、8位数码管驱动芯片max7221应用实例
- 基于proteus的51单片机仿真实例八十、模数转换器ADC0832应用实例
- 基于proteus的51单片机仿真实例四、第一个proteus仿真实例
- 基于proteus的51单片机仿真实例七十五、串入并出芯片74HC595应用实例
- |poj 3294|后缀数组|二分|Life Forms
- IntelliJ IDEA快捷键
- 专题:迷之消维——CDQ分治
- myeclips选择J2EE Specification level
- 构建乘积数组
- 基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)
- fg, bg, jobs, &, ctrl-z
- cocos2d中的clone函数
- struts2第六讲线程安全和<struts>中的constant,include,package的小知识
- 同步与异步的认识
- python--字典--实战分析--用户信息查询接口设计
- 通过ssh访问虚拟机中的ubuntu系统
- open&close
- Hadoop整体架构简