使用74LS164将C8051F的串口输出扩为并口输出

2020-06-30来源: eefocus关键字:74LS164  C8051F  串口输出  并口输出

系统功能

使用74LS164将AVR的串口输出扩为并口输出。


硬件设计

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


软件设计


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


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

//应用软件: Silicon IDE / Keil

/*01010101010101010101010101010101010101010101010101010101010101010101

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

实验内容:

使用P2口的LED指示灯查看MCU自己从模拟串口发送的数据。

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

硬件连接:

将P2口和8位LED指示灯相连。

    DVK501(164PrlPort)    F320 EX

                        Q0    ---------    P2.0

                        Q1    ---------    P2.1

                        Q2    ---------    P2.2

                        Q3    ---------    P2.3

                        Q4    ---------    P2.4

                        Q5    ---------    P2.5

                        Q6    ---------    P2.6

                        Q7    ---------    P2.7    

  

                      VCC   ---------   VCC

                      GND   ---------  GND

                      MR      ---------  P1.5  

                      A / B    ---------  P1.6

                      CLK    ---------  P1.7

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

注意事项:

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

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

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

10101010101010101010101010101010101010101010101010101010101010101010*/


#define _DVK501_F320_EX_


#include

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

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

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


void main(void)

{

uchar tmp=0;

PCA0MD &= ~0x40; 

XBR1 = 0x40;

clock_external();

hc164Init();


while(1)

{

hc164SetDat(tmp);

tmp++;

delay_ms(500);

}

}


sbit HC164_DATA = P1^6;

sbit HC164_CLK = P1^7;


void hc164Init(void)

{

P1MDOUT |= 0xC0;

}


void hc164SetDat(uchar dat)

{

uchar i;

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

{

HC164_CLK = 0;

if(dat & 0x80)

HC164_DATA = 1;

else

HC164_DATA = 0;

HC164_CLK = 1;

dat = dat<<1;

}

}


系统调试

将74LS164的输出端口Q0--Q7接入LED,用LED指示74LS164输出的数据。

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

上一篇:使用74LS165将C8051F的串口输入扩为并口输入
下一篇:C8051F IO输出之LED显示程序

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

推荐阅读

使用74LS164将AVR的串口输出扩为并口输出
系统功能使用74LS164将AVR的串口输出扩为并口输出。硬件设计  AVR主控电路原理图串行输出扩展为并行输出芯片74LS164控制电路原理图软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!//目标系统: 基于AVR单片机//应用软件: ICC AVR/*01010101010101010101010101010101010101010101010101010101010101010101----------------------------------------------------------------------实验内容:使用PB口的LED指示灯查看MCU自己从模拟串口发送的数据
发表于 2020-06-29
使用74LS164将AVR的串口<font color='red'>输出</font>扩为<font color='red'>并口</font><font color='red'>输出</font>
74LS164 for stm32 源码
在单片机系统中, 如果并行口的IO资源不够,而串行口又没有其他的作用, 那么我们可以用74LS164来扩展并行IO口,节约单片机资源。74LS164是一个串行输入并行输出的移位寄存器。并带有清除端。 其中: Q0—Q7 并行输出端 。 A,B串行输入端。 MR 清除端, 为0时,输出清零。 CP 时钟输入端。74LS164引脚定义: 74LS164逻辑表:相关原理:74LS164.c
发表于 2019-12-11
<font color='red'>74LS164</font> for stm32 源码
51单片机的4×4键盘识别与74LS164驱动数码显示
;P1口外接4×4键盘,输出使用74LS164驱动一位数码显示器。;当按下任一键时,在数码显示器上显示键值。;程序用汇编语言编写,用PROTEUS仿真调试的画面如下:;程序如下:    ORG   0000H    LJMP  START    ORG   0030HSTART:    MOV  P1, #255    MOV  60H, #16MAIN:    CALL
发表于 2018-05-08
51单片机的4×4键盘识别与<font color='red'>74LS164</font>驱动数码显示
用单片机的串口驱动74LS164
  8051单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。  串口工作在模式0,只是作为同步移位寄存器。RXD(P3.0)用于串行数据输出,TXD(P3.1)用于移位时钟输出,P1.7用来控制74LS164的工作状态。  单片机串口驱动74LS164的程序主要包括函数声明管脚定义部分、串口初始化函数以及数据发送函数。  (1)函数声明管脚定义。  函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码
发表于 2018-03-24
用单片机的串口驱动<font color='red'>74LS164</font>
用单片机I/O端口驱动74LS164
   74LS164是8位串入,并出移位寄存器,工作时,在移位时钟CLK的作用下,串行口送入的数据一位一位地移入。用单片机的P1.6口输出移位脉冲,用P1.5口输出串行数据,同样可以驱动74LS164工作。如图2-4所示,74LS164的清零端CLR由单片机P1.7控制。  单片机I/O端口驱动74LS164主要包括函数声明管脚定义部分、数据输入函数以及数据输出函数。   (1)函数声明管脚定义。  函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下:  (2)数据输入函数out_simuseri0。  数据输入函数out_simuseri()将8位数据的从低位到高位
发表于 2018-03-24
用单片机I/O端口驱动<font color='red'>74LS164</font>
高速SOC单片机C8051F
的生命力,其运行速度高达每秒25M PS。现已设计并为市场提供了29个品种的08051 F系列的片上系统单片机,预计今年年内还将完成20多个新的片上系统单片机的设计,经过3年的稳步发展已成长为半导体业界一颗耀眼的新星。 Cygnal C8051F系列单片机由沈阳新华龙电子有限公司于2001年引进中国大陆,并于11月“2001嵌入式系统及单片机国际学术交流会暨产品展示会”上首次亮相,受到与会者的极大关注。 Cygnal C8051F系列单片机是集成的混合信号片上系统SOC(System on chip),具有与MCS-51内核及指令集完全兼容的微控制器,除了具有标准8051的数字外设部件之外,片内还集成了数据采集
发表于 2020-07-02
高速SOC单片机<font color='red'>C8051F</font>
何立民专栏 单片机及嵌入式宝典

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

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