打印
[51单片机]

STC12C5a P4口和其他口有不同吗?

[复制链接]
1839|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
johnrey|  楼主 | 2015-9-5 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用keil C51编译。问题如下:一个软件的,一个是硬件的
1、在某个头文件中用sbit 定义IO口,  该头文件不包含任何其他东西。sbit XX =P3^5,编译通过,sbit YY =P4^5,显示P4未定义。

2、在包含了STC12头文件的情况下,可以编译通过,设定P4SW=0x20(设为0x70也试过)使能P4.5为IO,能看到控制波形(用做IO口模拟的SPI的CSN线),可是通信不正常,换成P3.5做CSN,一切OK

何解?

相关帖子

沙发
无量寿经| | 2015-9-5 11:29 | 只看该作者
设定P4SW=0x20是正确的,估计是程序时序有点问题,可用逻辑分析仪测量下通信过程波形是否正常,另外信号线应接个上拉电阻,推荐本新书《51单片机轻松入门—基于STC15W4K系列》,15W系列使用P4\P5\P6\P7与使用P0\P1\P2\P3一样方便,不需要额外设置,15W系列仿真更方便,不再使用晶振与复位电路,速度也更快一些。

使用特权

评论回复
板凳
ningling_21| | 2015-9-5 11:41 | 只看该作者
编译通过,sbit YY =P4^5,显示P4未定义。

这是由于P4这个寄存器不可位寻址造成

使用特权

评论回复
地板
johnrey|  楼主 | 2015-9-5 18:38 | 只看该作者
无量寿经 发表于 2015-9-5 11:29
设定P4SW=0x20是正确的,估计是程序时序有点问题,可用逻辑分析仪测量下通信过程波形是否正常,另外信号线 ...

能看到波形啊,和换成P3.5的波形一样。回头上拉试试,上拉电阻选多少好呢?

使用特权

评论回复
5
johnrey|  楼主 | 2015-9-5 18:38 | 只看该作者
ningling_21 发表于 2015-9-5 11:41
编译通过,sbit YY =P4^5,显示P4未定义。

这是由于P4这个寄存器不可位寻址造成 ...

当然可以位寻址了,P45@C5H

使用特权

评论回复
6
lvyunhua| | 2015-9-5 20:08 | 只看该作者
你应该选择该芯片的头文件。

使用特权

评论回复
7
无量寿经| | 2015-9-5 20:29 | 只看该作者
上拉电阻一般选在5.1K左右。

使用特权

评论回复
8
wstcllx| | 2015-9-6 09:07 | 只看该作者
sfr P4   = 0xC0;
增加这个定义才行.

使用特权

评论回复
9
wangxm86| | 2015-9-6 09:08 | 只看该作者
LZ好好看看数据手册

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

152

帖子

1

粉丝