独闷闷网
标题:
两个不同组的低4位IO口如何合并成8位并口,可以输出一个字节或读取一个字节?已解答。
[打印本页]
作者:
jianhong_wu
时间:
2015-9-12 08:23
标题:
两个不同组的低4位IO口如何合并成8位并口,可以输出一个字节或读取一个字节?已解答。
学生-江门:
请问stm32如何控制一个数码管,用pa0.0-3个pc0.0-3?因为有些芯片不齐8个io。
★坚鸿-深圳:
我给你一个51单片机的参考例子,P2.0到P2.3是高4位 P1.0到P1.3是低4位。
#include "REG52.H"
//输出一个字节8位 P2.0到P2.3是高4位 P1.0到P1.3是低4位
void bus_out(unsigned char u8BusData); //拆分合并的并口输出一个字节8位数据
//P2.0到P2.3是高4位 P1.0到P1.3是低4位
unsigned char get_bus(void); //读取IO总线
unsigned char Gu8Test;
void main()
{
bus_out(0x55); //并口输出0x55数据.
Gu8Test=get_bus(); //读取IO总线
while(1);
}
//输出一个字节8位 P2.0到P2.3是高4位 P1.0到P1.3是低4位
void bus_out(unsigned char u8BusData) //拆分合并的并口输出一个字节8位数据
{
P2=(P2&0xf0)|(u8BusData>>4); //P2.0到P2.3是输出高4位
P1=(P1&0xf0)|(u8BusData&0x0f); //P1.0到P1.3是输出低4位
}
//P2.0到P2.3是高4位 P1.0到P1.3是低4位
unsigned char get_bus(void) //读取IO总线
{
unsigned char u8GetData;
u8GetData=P2&0x0f;
u8GetData=(u8GetData<<4)|(P1&0x0f);
return u8GetData;
}
复制代码
欢迎光临 独闷闷网 (http://dumenmen.com/)
Powered by Discuz! X3.2