我是靠谱客的博主 缥缈玉米,最近开发中收集的这篇文章主要介绍基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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;   //数据锁存端口定义
//延时函数
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);
 }
}
 
3、在proteus中新建仿真文件ex60.dsn,电路原理图如下所示

4、将ex60.hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果。


最后

以上就是缥缈玉米为你收集整理的基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)的全部内容,希望文章能够帮你解决基于proteus的51单片机仿真实例七十二、并口转串口器件74HC165应用实例(续)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部