当1脚拉低时,八位并行数据被压入锁存器,但与此同时,D7也已经从7脚输出,因此只要再循环7次将数据读出即可
uchar ReadExport(void)
{
unsigned char i=0,receive_date=0;
uchar Read_Int;
Clr_P25; //使能控制。为低电平时,并行数据进入锁存器
Clr_P25;
Read_Int = (P2& 0x10); //串行输出数据线
if(Read_Int == 0x10) //把最高位读出
receive_date |=0x01;
Clr_P03;
Set_P25; //为高电平时,可以进行串行数据读出
for(i=1;i<=7;i++) //接下来只要进行7次循环
{
Clr_P03;
Set_P03; //时钟线,上升沿有效
Read_Int = (P2& 0x10); //串行输出数据线
if(Read_Int == 0x10)
{
receive_date |=(0x01<<i);
}
}
return receive_date;
}
相关帖子
- • SL3038 150V恒压芯片 60V 72V 90V开关型降压IC 外置MOS管
- • 60V 72V 90V开关型降压IC SL3036 SL3036H SL3038
- • STC15单片机+DS3231+DS18B20+DHT11+OLED12864+ESP8266_01S组成网络时间 有待改善
- • 基于单片机的自行车里程表程序 大写N到底是什么性质的变量 在哪里声明
- • proteus仿真时[SPICE] Too many iterations without converge...怎么处理?求指点
- • 可以用单片机制作320*96大规模的点阵吗?
- • 有人能帮我解释下这个单片机公交车自动报站红外模块的原理吗?
- • STC8A8A8K单片机+蓝牙+电机控制+遥控灯--资料和PCB程序源码
- • c语言定时器T0方式2控制led点亮时间1s 仿真led闪得很快
- • stm32按键点灯仿真无反应 求帮助