使用74LS165将C8051F的串口输入扩为并口输入

2020-06-29来源: eefocus关键字:74LS165  C8051F  串口输入  并口输入

系统功能

使用74LS165将C8051F的串口输入扩为并口输入。


硬件设计

串行输入扩展为并行输入芯片74LS165控制电路原理图


软件设计


下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!


//目标系统: 基于C8051F单片机

//应用软件: Silicon IDE / Keil

/*01010101010101010101010101010101010101010101010101010101010101010101

----------------------------------------------------------------------

实验内容:

使用P2口作为信号源输入到74LS165,74LS165将会将该信号转为串行信号,

MCU再自己接收串行信号,使用P2口的LED指示灯查看数据是否正确。

----------------------------------------------------------------------

硬件连接:

将PB口的LED指示灯开关切换到"ON"状态。

DVK501(165PrlPort)    F320 EX

                        D0    ---------    P2.0

                        D1    ---------    P2.1

                        D2    ---------    P2.2

                        D3    ---------    P2.3

                        D4    ---------    P2.4

                        D5    ---------    P2.5

                        D6    ---------    P2.6

                        D7    ---------    P2.7    

  

                      VCC   ---------   VCC

                      GND   ---------  GND

                      PL       ---------  P1.0  

                      QH      ---------  P0.5

                      CLK    ---------  P0.4

----------------------------------------------------------------------

注意事项:

(1)若有加载库程序,请将光盘根目录下的“library”下的“C8051F”文件夹拷到D盘

(2)请详细阅读:光盘根目录下的“说明书首页.htm”里的相应产品说明

----------------------------------------------------------------------

10101010101010101010101010101010101010101010101010101010101010101010*/


#define _DVK501_F320_EX_


#include

#include <../../../../library/C8051F/ws_clock.h>

#include <../../../../library/C8051F/ws_74hc165_port.h>


void main(void)

{

uchar a = 0;

PCA0MD &= ~0x40; 

XBR1 = 0x40;

clock_external();

P2MDOUT = 0xFF;

hc165Init();


while(1)

{

P2 = 0x55;

a = hc165GetDat();

P2 = a;

}


sbit HC165_RXD = P0^5; 

sbit HC165_TXD = P0^4; 

sbit HC165_PL = P1^0;


uchar hc165GetDat(void)

{

uchar i,dat=0;

HC165_PL = 0;

HC165_PL = 1;

for(i=0;i<8;i++)

{

HC165_TXD = 0;

dat = dat<<1;

if(HC165_RXD)

dat |= 0x01;

HC165_TXD = 1;

}

return dat;

}


void hc165Init(void)

{

P0MDOUT |= 0x08;

P1MDOUT |= 0x01;

}


系统调试

将74LS165的输入端口D0--D7接入单片机的P2口,那么P2口输出的数据经过74LS165的转换变为串行数据,将串行数据接入串口,那样若正常工作接收到的数据将与从P2口发出的数据一致,用LED指示串口接收到的数据,进行观察。


关键字:74LS165  C8051F  串口输入  并口输入 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic501483.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:C8051F I2C(SMBus)程序
下一篇:使用74LS164将C8051F的串口输出扩为并口输出

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

使用74LS165将AVR的串口输入扩为并口输入
系统功能使用74LS165将AVR的串口输入扩为并口输入。硬件设计AVR主控电路原理图串行输入扩展为并行输入芯片74LS165控制电路原理图软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!//目标系统: 基于AVR单片机//应用软件: ICC AVR/*01010101010101010101010101010101010101010101010101010101010101010101----------------------------------------------------------------------实验内容:使用PA口作为信号源输入到74LS165,74LS165将会
发表于 2020-06-29
使用74LS165将AVR的串口<font color='red'>输入</font>扩为<font color='red'>并口</font><font color='red'>输入</font>
用单片机的串口驱动74LS165
  串行口是单片机与外界进行信息交换的工具, 利用单片机串口实现输入移位寄存器,只需用软件置REN=1(同时RI=0),即开始接收。数据字节在移位时钟脉冲的配合下,从低位至高位一位一位地接收下来并装入SBUF中,在启动接收过程(即写SCON,清RI位)开始后的第8个机器周期RI被置位。这一数据帧接收完毕,可进行下一帧的接收。  在模式0下,数据传输速率为fosc/12,fosc是时钟频率。时钟频率为12MHz时串行数据传输速率为lMbit/s,速度较快,故程序中对接收过程采取查询等待方式。如果有必要,应该用中断控制方式以提高程序速率。  需要特别注意,在工作模式0下,必须将SCON的SM2位清零。  单片机串口驱动74LS165
发表于 2018-03-06
用单片机的串口驱动<font color='red'>74LS165</font>
用单片机I/O端口驱动74LS165
  I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:  (1)I/O接口芯片    这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。   (2)I/O接口控制卡    有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。  按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。  用I/O模拟移位寄存器的时序驱动74LS165,实现
发表于 2018-03-06
用单片机I/O端口驱动<font color='red'>74LS165</font>
74LS165 C51程序(并入传出芯片)
单片机IO驱动74LS165 C51程序 //-------------------------------------库函数声明,管脚定义-------------- #include <reg52.h>  sbit a7=ACC^7;  sbit simuseri_CLK=P1^6;            //用P1^6模拟串口时钟  sbit simuseri_DATA=P1^5;  
发表于 2016-11-09
51单片机C编程(十、74LS165串口输入)
通过74ls165将按键的状态串口输入到51单片机,在数码管上显示出来,每个按键对应数码管上的一段。 proteus仿真电路图如下:  #include "reg51.h" sbit SL=P3^7     //串口接收启动端口:0->1启动。 #define LEDPORT P0; void main() {  unsigned char ucCount;  SCON=0x10;       //设置串口模式:模式0,允许接收
发表于 2015-09-25
C8051F烧写程序快速入门(Keil)
注:下载程序必须先安装Keil软件,以及对应的Silicon IDE驱动软件·Keil的安装  请到 Keil 官方网站: https://www.keil.com/c51/demo/eval/c51.htm下载安装。·Keil μVision Driver 的安装  请到 Silabs 官方网站: http://www.silabs.com/products/mcu/Pages/KeilDriver.aspx下载安装。1、安装好Keil μVision Driver驱动并且设置好下载程序前的相关配置(点击查看)2、如下图所示,点击菜单栏中的"Debug -> Start/Stop Debug Session
发表于 2020-06-30
<font color='red'>C8051F</font>烧写程序快速入门(Keil)
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved