嵌入式学习小组
直播中

李龙

7年用户 234经验值
私信 关注

请问如何使用74LS165将AVR的串口输入扩为并口输入?

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




回帖(3)

h1654155275.5809

2020-11-17 09:35:32
硬件设计
举报

江璐

2020-11-17 09:35:53
  软件设计
  下面部分从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 《c8051f320.h》
  #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);
  }
  }
  ***it HC164_DATA = P1^6;
  ***it 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;
  }
  }
举报

陈飞

2020-11-17 09:36:15
  系统调试
  将74LS164的输出端口Q0--Q7接入LED,用LED指示74LS164输出的数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分