深圳市微雪电子有限公司

首页   |   产品中心   |   购买指南   |   支付方式   |   销售网点   |   联系我们
 


 
AVR 8-BIT MCU
 >> AVR 简介
 >> AVR 选型列表
 >> AVR Datasheets
 >> AVR 应用笔记
 >> AVR 软件平台
 >> AVR仿真器 编程器
 >> AVR开发板 评估板
 >> AVR测试座 编程座
 >> 通用测试座 编程座
 

 首页 >> AVR应用笔记 >> AVR单片机笑傲江湖 >> 使用74LS164将AVR的串口输出扩为并口输出
使用74LS164将AVR的串口输出扩为并口输出

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究法律责任!
系统功能
   使用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 <iom16v.h>
#include "D:\ICC_H\CmmICC.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的变化。


相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

相关AVR型号资料

ATtiny13
ATtiny24
ATtiny44
ATtiny84
ATtiny26
ATtiny2313
ATmega48
ATmega88
ATmega168
ATmega8
ATmega16
ATmega32
ATmega64
ATmega128
ATmega162
ATmega169
ATmega8515
ATmega8535


 
 

网站地图   |   人才招聘   |   关于我们
       深圳市微雪电子有限公司版权所有