(九)串行口方式0 拓展并行输入端口 74LS165 芯片
74LS165芯片讲解:
外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0——S7 的状态 通过 串行口方式 0 读到 单片机内。
SH/LD : (一) 控制端
低电平: 74LS165芯片可以并行输入数据,且串行输入口关闭
高电平: 并行输入关闭,串行输入口打开,可以向 单片机串行传送数据。
当 P1.0引脚连接的开关S合上的时候,可以进行 S0-S7的状态数字量的并行输入。
单片机采用中断的方式来对状态进行读取,并从 P2 端口通过 LED 显示输出。 (也就是对应LED 灯点亮)
仿真电路图:

参考代码:
#include<reg52.h>
#include"intrins.h"
#include<stdio.h>
#define uint16 unsigned int
#define uchar8 unsigned char uchar8 nRxByte ; sbit P1_0=P1^;
sbit P1_1=0x91; void delay ( uint16 i)
{
uchar8 j;
for( ; i>;i--)
for(j=;j<;j++) ; } main()
{
SCON = 0x10; // 这里设置了 对应 REN =1, 允许了串行口接受数据
ES=; // 允许串行口中断
EA=; // 允许全局中断 for( ; ; ) ; } void Serial_Port( ) interrupt // 串行口中断服务子程序
{ if(P1_0 == ) // 解释: P1^0 =0 表示开关S 按下, 可读开关 S0~S7 的状态,如果不按下,就没法输入低电平
{ P1_1=; // 165芯片允许并行读入开关的状态,串行口关闭
delay(); P1_1=; // 将 开关的状态 串行 读入到 串口中 RI= ; // 接收中断标志 RI 清 0 nRxByte = SBUF ; // 开关状态从 SBUF 读入到 nRxByte 单元 P2= nRxByte; // 开关状态数据送到 P2 端口, 驱动 发光二极管 发光 } }
总结: 可以先 按下 S ,然后选 按下 s1 S4 S6 S7 ,按下总运行开关,数据会像 8位 一样传输到 SBUF
当然你也可以按下 总开关,然后随便怎么按, LED 也会对应 点亮,只是分了几次串行通讯而已。 也就是执行了 好几次 串行口中断程序。
(九)串行口方式0 拓展并行输入端口 74LS165 芯片的更多相关文章
- (九)串行口方式0 拓展并行输出端口 02 74LS164芯片
1.先讲解74LS164 移位芯片: 74HC164.74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出. 数据通过两个输入端(DSA 或 DSB)之一串行输入:任一输入端可 ...
- 80C51串行口
串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度 单工.半双工.全双工 单工数据传输只支持数据在一个方向上传输 半双工数据传输允许数据在两个方向上传输,但是,在 ...
- setserial - 取得/设置 Linux 串行口的信息
总览 setserial [ -abqvVWZ] 设备 [ 命令参数一 [ 设备变元参数 ] ] ... setserial -g [-abGv ] 设备一 ... 描述 setserial 是一个用 ...
- 十天学会单片机Day4串行口通信
并行与串行基本通信方式 1.并行通信方式 通常是将数据字节的各位用多条数据线同时进行传送. 并行通信控制简单.传输速度快:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 2.串行通 ...
- STM32学习笔记(五) USART异步串行口输入输出(轮询模式)
学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...
- DC平衡双向控制串行器 转接IC GM8913:LVTTL转FPD-LINK III芯片
1 概述 GM8913型DC平衡双向控制串行器,其主要功能是实现将10或12位并行控制信号和一路时钟信号串行为一路2.8Gbps高速串行数据:同时接收低速通道信号实现模式配对的功能.芯片内部集 ...
- windows 2003 server 远程桌面禁用本地资源,磁盘驱动器,串行口,复制文件
首先进入组策略编辑器(开始-运行-gpedit.msc) 不要让用户在远端桌面和本地直接拷贝文件在远端桌面上进入它的组策略编辑器在 计算机配置->管理模板->Windows组件->终 ...
- 基于51的串行通讯原理及协议详解(uart)
串行与并行通讯方式并行:控制简单,传输速度快.线多,长距离成本较高且同时接受困难.串行:将数据字节分成一位一位的行驶在一条传输线上进行传输.如图: 同步与异步串行通讯方式同步串行通讯方式:同步通讯 ...
- COM口,串行通讯端口,RS-232接口 基础知识
COM口即串行通讯端口. COM口的接口标准规范和总线标准规范是RS-232,有时候也叫做RS-232口.电脑上的com口多为9针,最大速率115200bps.通常用于连接鼠标(串口)及通讯设备(如连 ...
随机推荐
- spring源码学习之路---IOC容器初始化要义之bean定义载入(五)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 最近工作很忙,时间不多,研究 ...
- DataTables.js插入数据的两种方式
一:采用数组的方式插入值 var tableData = []; ; ; $.each(data, function (i, d) { tableData.push([idxTable, d.stcd ...
- js从身份证号中获取出生日期和性别
今天,在做移动端的项目中,按照设计稿的要求,是可以让用户自己输入出生日期的,我还很认真的用了刚刚知道的html5表单的日期类型,本想着终于不用日期插件就可以实现用户选择自己的出生日期了,可结果老大说, ...
- 李洪强漫谈iOS开发[C语言-051]-判断整数位数
- childNodes 和children
childNodes 兼容性不是很好,一般用children 元素.childNodes : 只读 属性 子节点列表集合标准下:包含了空白换行和元素类型的节点,也会包含非法嵌套的子节点非标准下:只包含 ...
- 改centos7的网卡名
学习参考的文章,地址双手奉上http://www.linuxidc.com/Linux/2015-09/123396.htm 1.查看服务器的流量使用情况,执行命令cat /proc/net/dev ...
- Mysql日期时间大全
MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,--7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...
- 一道打印M的面试题
public class Demo { /** * 平面图形题(二维数组) */ public static void main(String[] args) { int num = 25; int ...
- ThinkPHP 3.2.3 自动加载公共函数文件的方法
方法一.加载默认的公共函数文件 在 ThinkPHP 3.2.3 中,默认的公共函数文件位于公共模块 ./Application/Common 下,访问所有的模块之前都会首先加载公共模块下面的配置文件 ...
- 请求量限制方法-使用本地Cache记录当前请求量[坑]
有个需求:需要限制每个账户请求服务器的次数(该次数可以配置在DB,xml文件或其他).单位:X次/分钟.若1分钟内次数<=X 则允许访问,1分钟内次数>X则不再允许访问. 这类需求很常 ...