网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 模拟技术 >

基于74LS165芯片的串行口方式仿真电路图

时间:2020-10-07 15:25

人气:

作者:admin

标签:

导读:74LS165芯片讲解: 外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0S7 的状态 通过 串行口方式 0 读到 单片机内。 SH/LD : (一)...

74LS165芯片讲解:

外接一个同步移位寄存器 74LS165芯片,拓展一个 8 位 并行输入端口的电路, 可将接在74LS165芯片的8个开关 S0——S7 的状态 通过 串行口方式 0 读到 单片机内。

SH/LD : (一) 控制端

低电平: 74LS165芯片可以并行输入数据,且串行输入口关闭

高电平: 并行输入关闭,串行输入口打开,可以向 单片机串行传送数据。

当 P1.0引脚连接的开关S合上的时候,可以进行 S0-S7的状态数字量的并行输入。

单片机采用中断的方式来对状态进行读取,并从 P2 端口通过 LED 显示输出。 (也就是对应LED 灯点亮)

仿真电路图:

参考代码:

 1 #include
 2 #include"intrins.h"
 3 #include
 4 #define uint16 unsigned int
 5 #define uchar8 unsigned char 
 6 
 7 uchar8 nRxByte ;
 8 
 9 sbit P1_0=P1^0;
10 sbit P1_1=0x91;
11 
12 void delay ( uint16 i)
13 {
14     uchar8  j;
15     for( ; i>0;i--)
16     for(j=0;j<125;j++)    ;
17 
18 }
19 
20 main()
21 {
22     SCON = 0x10;   //  这里设置了 对应 REN =1, 允许了串行口接受数据 
23      ES=1;           //  允许串行口中断
24      EA=1;           //  允许全局中断
25 
26      for( ; ; ) ;
27 
28 }
29 
30 void Serial_Port( )   interrupt 4   // 串行口中断服务子程序
31 {
32 
33   if(P1_0 == 0)  // 解释: P1^0 =0 表示开关S 按下, 可读开关 S0~S7 的状态,如果不按下,就没法输入低电平
34   {
35     
36     P1_1=0;      // 165芯片允许并行读入开关的状态,串行口关闭
37       delay(10);
38 
39     P1_1=1;  // 将 开关的状态 串行 读入到 串口中 
40   
41     RI=0  ;  //   接收中断标志 RI 清 0
42 
43     nRxByte = SBUF ;   //  开关状态从 SBUF 读入到 nRxByte 单元
44 
45     P2= nRxByte;       // 开关状态数据送到 P2 端口, 驱动 发光二极管 发光
46   
47   }
48 
49 }
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信