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

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

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

系统功能

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


硬件设计

AVR主控电路原理图

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


软件设计


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


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

//应用软件: ICC AVR

/*01010101010101010101010101010101010101010101010101010101010101010101

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

实验内容:

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

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

硬件连接:

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

SeialBoard(164PrlPort) SMK1632

Q0 --------- PB0

Q1 --------- PB1

Q2 --------- PB2

Q3 --------- PB3

Q4 --------- PB4

Q5 --------- PB5

Q6 --------- PB6

Q7 --------- PB7

SeialBoard(164SrlPort) SMK1632

VCC --------- VCC

GND --------- GND

TXD --------- RXD

RXD --------- TXD

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

注意事项:

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

(2)请详细阅读:光盘根目录下的“产品资料开发板实验板SMK系列SMK1632说明资料”

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

10101010101010101010101010101010101010101010101010101010101010101010*/


#include

#include "D:ICC_HCmmICC.H"


#define OUT_RXD sbi(DDRD,0) //PD0 数据口

#define SET_RXD sbi(PORTD,0)

#define CLR_RXD cbi(PORTD,0)


#define OUT_TXD sbi(DDRD,1) //PD1 脉冲口

#define SET_TXD sbi(PORTD,1)

#define CLR_TXD cbi(PORTD,1)


/*--------------------------------------------------------------------

程序名称:

程序功能:

注意事项:

提示说明:

输 入:

返 回:

--------------------------------------------------------------------*/

void setDat(uint8 dat)

{

uint8 i;


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

{

SET_TXD; //设置脉冲口为高

if((bool)dat&0x01) //在下降沿的时候写数据

SET_RXD;

else

CLR_RXD;

CLR_TXD; //设置脉冲口为低

dat = dat>>1;

}

}

/*--------------------------------------------------------------------

程序名称:

程序功能:

注意事项:

提示说明:

输 入:

返 回:

--------------------------------------------------------------------*/

void main()

{

uint8 dat=0X55; //改变dat,观察数据变化

OUT_RXD; //设置数据口为输出

OUT_TXD; //设置脉冲口为输出

setDat(dat);

while(1);

}



系统调试

将74LS164的输出端口Q0--Q7接入LED,用LED指示74LS164输出的数据。改变dat=0x55;语句的值,观察LED的变化。



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

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