×
单片机 > 单片机程序设计 > 详情

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

发布时间:2024-05-18 发布时间:
|

系统功能

使用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 <..>

#include <..>

#include <..>


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输出的数据。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析