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

来自丢石头百科
Admin讨论 | 贡献2019年11月18日 (一) 16:37的版本 (系统功能   使用74LS164将AVR的串口输出扩为并口输出。硬件设计串行输出扩展为并行输出芯片74LS164控制电路原理图软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!//目标系统: ...)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
<tbody></tbody>
<tbody></tbody>
系统功能

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


<tbody></tbody>
硬件设计

C8051F 3 2.jpg 串行输出扩展为并行输出芯片74LS164控制电路原理图


<tbody></tbody>
软件设计

下面部分从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*/

  1. define _DVK501_F320_EX_
  2. include <c8051f320.h>
  3. include <../../../../library/C8051F/ws_clock.h>
  4. include <../../../../library/C8051F/ws_delay.h>
  5. 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; }

}
<tbody></tbody>
系统调试

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