完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
`AT89C52RC芯片是用触摸模块在P1脚高电平输入3.6V,控制P0口LED亮灭,蓝而,唯独P1.0口和P0.0口特别,P1.0口由触摸模块输入3.6V至高电平,程序代码控制P0.0口由高电平转低电平(LED 5V共阳),P0.0口由4.9V降到3.6V左右(其他引脚降到2.8V),P0.0口LED不够亮,求解释!!!! ` |
|
相关推荐
17个回答
|
|
你照片中明显可以看出来芯片是STC,怎么可能是AT89C52RC?虽然STC芯片是51核心,但在实际使用中还是有些许区别。PxM0、PxM1是I/O口模式寄存器,如果你的芯片是STC89C52RC,44个引脚,那么I/O口从P0~P4共有39个.你在程序中用STC官网头文件就不会报错了。如果仍用reg52.h头文件,只要声明一下I/O口模式寄存器地址也就不会报错了。 sfr P0M1 = 0x93; sfr P0M0 = 0x94; sfr P1M1 = 0x91; sfr P1M0 = 0x92; sfr P2M1 = 0x95; sfr P2M0 = 0x96; sfr P3M1 = 0xb1; sfr P3M0 = 0xb2; sfr P4M1 = 0xb3; sfr P4M0 = 0xb4; sfr P5M1 = 0xC9; sfr P5M0 = 0xCA; sfr P6M1 = 0xCB; sfr P6M0 = 0xCC; sfr P7M1 = 0xE1; sfr P7M0 = 0xE2;
最佳答案
|
|
|
|
P0口一般是要接上拉电阻的。
|
|
|
|
|
|
|
|
看一下你的程序有没有问题?或者是硬件有什么错误的地方
|
|
|
|
本帖最后由 达菲奇 于 2017-8-22 16:37 编辑
程序会影响电压吗?硬件也没多少,触摸模块,触摸后3.6V给到P1.0口,至高电平,程序swhitc case 0x80之后,P0=0xFE,程序很简单,给P0.0口至低电平,(当然还有其他IO口)。。上拉电阻10K,单片机系统内置的。 |
|
|
|
达菲奇 发表于 2017-8-22 16:25 你的照片不清楚,不能确定芯片什么型号,STC好多15系列的芯片P0和P1的部分引脚默认是高阻或推挽,建议程序初始化时把所有I/O口设为准双向口: void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P6M0 = 0x00; P6M1 = 0x00; P7M0 = 0x00; P7M1 = 0x00; while(1) { ; } } |
|
|
|
本帖最后由 达菲奇 于 2017-8-22 17:58 编辑
wulinwl 发表于 2017-8-22 16:53 AT89C52RC,P1M0 的M0是什么意思?我放进去会出错。。这个和设置初始值有什么区别吗? |
|
|
|
wulinwl 发表于 2017-8-23 07:21 while(1) { ; } 请问这句是什么意思? |
|
|
|
本帖最后由 达菲奇 于 2017-8-23 09:38 编辑
wulinwl 发表于 2017-8-23 07:21 恩恩,对,是STC89C52RC,把代码加进去了,还是没效果呢,P1.0口3.6V输入,P0.0口高电平有4.9V,变至低电平还有3.8V,有10K的上拉电阻。P1.0口从低电平至高电平,P0.0口从高电平至低电平。。试了一下,改了程序,把输出换成了P2口,高电平5V,低电平可以有0.6V左右,就好了,这是什么情况?大神指教 |
|
|
|
为了准确表示在程序中什么位置设置I/O口模式寄存器,while(1)这里表示主循环,花括号里内容省略为; |
|
|
|
加代码进去,还是不行,怎么办 |
|
|
|
吧发光二极管拆下来看看电平怎么样,有可能是i的负载过大。你也可以测测这个io口的的电流,看看是不是很大啊!
再有你用的是stc的芯片,建议你去官方下载手册看看,吧io口设置为强推挽模式。 |
|
|
|
|
|
|
|
wulinwl 发表于 2017-8-23 07:21 看手册上说,P0口上电复位后是开漏输出,当P0管脚作IO口时,需要外加10K—4.7K的电阻,当P0口管教做为地址/数据复用线使用时,不用加外加电阻。 我把程序按你说的改,也没有反应呢。 |
|
|
|
langzitianya 发表于 2017-8-23 22:30 看手册上说,P0口上电复位后是开漏输出,当P0管脚作IO口时,需要外加10K—4.7K的电阻,当P0口管教做为地址/数据复用线使用时,不用加外加电阻。 没有接负载电压也是那样,电流不大,有10K电阻在那,怎么设置为强推挽模式呢? |
|
|
|
|
|
|
|
没有原理图,不好给你分析啊。。。。。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
421 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
406 浏览 0 评论
398 浏览 1 评论
465 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
739 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11636 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 04:33 , Processed in 0.763072 second(s), Total 73, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号