51测试网 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

点击察看说明书(64页彩色PDF文档)

1.1 系统简介

4.3 ISP引脚连接

端口按键判断

红外线遥控555硬件振荡器

1.2 模块接口定义

5.1 仿真概述

矩阵按键识别技术

汉字显示屏PS2键盘实验
2.1 软件安装  5.2 KEIL软件指南

74LS14反向器

1602液晶显示屏SD卡实验
2.2 软件界面介绍 

51引脚说明

74LS138译码器

8155试验

485通信实验 
2.3 软件操作

八路跑马灯

74LS164串入并出

24C02储存

DS1302实时时钟
3.1 USB驱动安装

继电器控制

74LS165并入串出步进电机产生hex文件
3.2 特别usb安装 

8路拨动开关

dac0832应用

93c46演示

常见问题解答
4.1 ISP介绍 

数码管静态扫描 

模拟/数字转换器

串行双向通信系统配置指南
4.2 下载头之插头定义

数码管动态扫描

小喇叭警报器18B20温度显示购买方式

                          

                            实验11 74LS165并入串出实验


       74L165是并行输入,串行输出移位寄存器。80C51单片机内部的串行口在方式0工作状态下,使用移位寄存器芯片可以扩展一个或多个8位并行I/O口。
A,B,C,D,E,F,G,H 并行输入端。
QH串行输出端。
CLOCK:时钟输入端。
CLOCK INHIBIT:时钟禁止端。当时钟禁止端CLK2为低电平时,充许时钟输入。
SHIFT/LOAD:移位与置位控制端。
SER:扩展多个74LS165的首尾连接端。
本练习TXD(P3.1)作为移位脉冲输出端与74LS165的移位脉冲输入端CLOCK相连;RXD(P3.0)作为串行输入端与74LS165的串行输出端QH相连;P3.2用来控制74165的移位与置入。

   本练习利用串行口扩展了1片74LS165,从而实现了8个按键的输入,在单片机的P1口连接了8个LED发光二极管,程序中实现了用按键控制发光二极管的亮与灭。流程为8路开关-74165-3PIN数据线-8路指示灯。 由此可以看出通过165传输,只用了3条数据线, 就实现了8个开关控制8个灯的目的。 从而节约了控制的连线。
74LS165 引脚定义:

74LS165逻辑表:

相关原理:

程序运行照片:

 接线方法:
1、用一个4PIN数据排线一端插入CPU部份JP53(P3口)的P3.0,P3.1,P3.2,P3.3。另外一端插入74LS165部份的输入端JP21。
2、用一根8PIN的数据排线, 一端插入74LS165部份的输出端JP28, 另一端插入8路按键开关的的JP48。
3、用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。运行后分别按k00-k07,可以看到d00-d07八个灯受控制。

程序流程图:

汇编语言参考程序:

org 0080h
loop: mov scon,#00010000b ; 设定MODE=0
clr p3.2 ; P3.2=0 载入数据
call delay1 ;延时
setb p3.2;P3.2=1 ;数据输出
clr ri ;RI=0
loop1:jbc ri,loop2 ;RI=1?是则到LOOP2
jmp loop1 ; 否则继续监测
loop2: mov a,sbuf ;将SUBF载入ACC
mov p1,a ;输出到P1
jmp loop ;重新开始
delay: mov r7,#00h ;延时子程序
tt: mov r6,#00h
djnz r6,$
djnz r7,tt
ret
delay1: ;短延时子程序
mov r7,#02
djnz r7,$
ret
end
c语言参考程序:

#include<reg51.h> //头文件
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define LED P1 //宏定义,将P1口定义为LED
sbit LOAD=P3^2; //定义P3.2为数据置入位
void delay_run() //数据载入延迟
{
uchar ii,jj;
for(ii=0;ii<200;ii++)
for(jj=0;jj<200;jj++);
}
void delay_load() //数据载入位延迟
{
uchar ii=200;
while(ii--);
}
void init()
{
SCON=0x10; //串口工作与方式0,启动接收
PCON=0x00;
}
char code SST516[3] _at_ 0x003b; //仿真器入口
main() //主函数
{
uchar value=0;
init(); //串口初始化
while(1)
{
LOAD=0; //74165并口端载入数据
delay_load(); //延迟
LOAD=1; //将置数据位拉高
while(!RI); //若没接收够8位串行数据则等待
RI=0; //接收完毕,标志位清0
value=SBUF; //读取数据
P1=value; //赋给P1,驱动LED
delay_run(); //延迟,完毕后进行下一次并行数据载入
}
}

精致外观

精致外观

精致外观

精致外观

精致外观

精致包装

精致包装

精致包装

配套附件

配套附件

使用手册

使用手册

使用手册

配套附件

配套附件

配套附件

配套附件

配套附件

配套附件

配套附件

精致细节

精致细节

精致细节

精致细节

配套光盘