打印
[技术问答]

8051单片机 烧录成功 芯片却无法运行程序

[复制链接]
1065|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
[img=694,708]E:\微信图片_20201107203842.pngE:\微信图片_20201107203856.png[/img]
这种简单的程序,烧到单片机烧录成功(ICP在线烧录),但是 给vdd,vss,5v电压,单片机对应引脚没有高低电平输出

使用特权

评论回复
来自 2楼
青玉案|  楼主 | 2020-11-7 20:51 | 只看该作者
图片附上

微信图片_20201107203842.png (70.63 KB )

微信图片_20201107203842.png

微信图片_20201107203856.png (251.23 KB )

微信图片_20201107203856.png

使用特权

评论回复
板凳
青玉案|  楼主 | 2020-11-7 20:50 | 只看该作者
E:\

使用特权

评论回复
地板
青玉案|  楼主 | 2020-11-7 20:53 | 只看该作者
而且是在官网下载的MS51的BSP包,打开工程,改写简单程序,生成HXE文件,进行在线烧录,也成功连接并识别芯片,还显示烧录成功,但是最后板子没有对应引脚电平变化

使用特权

评论回复
5
eyu66| | 2020-11-7 21:18 | 只看该作者
单片机引脚上电后默认是输入的,要先设为输出,输出才有效吧

使用特权

评论回复
评论
青玉案 2020-11-7 21:56 回复TA
头文件有sbit P01 = P0^1; 主程序 #include "MS51_8K.H" void main (void) { while(1); { P01=1; //P0.1¶Ë¿ÚÉèÖÃΪµÍµçƽ // P02=0; //P0.2¶Ë¿ÚÉèÖÃΪµÍµçƽ } } 是程序有问题吗 我看单片机教学程序就是这么写的,如果要改,改成什么程序呢(输出一个引脚电平),我改来试一试吧 
6
青玉案|  楼主 | 2020-11-8 11:11 | 只看该作者
大家帮忙看看,支支招

使用特权

评论回复
7
gx_huang| | 2020-11-8 11:41 | 只看该作者
这还有啥招可以支呀,自己研究一下MCU的数据手册,如果连基本的GPIO以及复位状态都不懂,要先学习。

使用特权

评论回复
评论
青玉案 2020-11-8 13:15 回复TA
@eyu66 :感谢哈,我先没有接LED电路,只是面包板给了VDD和VSS电压5V,然后定义过的P0.1引脚和其他引脚一样,电压都是2.5V,没有像程序定义那样,我去试试加上GPIO程序看看,多谢啦 
eyu66 2020-11-8 13:00 回复TA
@青玉案 :我们用M451的要加这样的代码,GPIO_SetMode(PD, BIT0|BIT1|BIT2|BIT3|BIT7, GPIO_MODE_OUTPUT);,您是用MS51的,可能不用加也行。LED不亮不一定是MCU没输出高电平,也可能是外部电路没配合好,您可以先把LED去掉,直接量MCU的P01脚电平看是高还是低,或者把LED电路贴出来给大家分析一下。 另外要注意的是51的P0口内部是没有弱上拉的,如果您外部也没接上拉,那么设为1时驱动不了元件  
青玉案 2020-11-8 12:52 回复TA
MS51BA9AE规格书,我有看这个,但是看不懂,因为我现在只要实现一个最简单的程序去排查是哪个环节出错,程序编写错误还是烧录错误,电路连接测试错误..你的意思是我可能在面包板电路连接中,只给了VDD和VSS的电压,缺少复位引脚的输入电压吗,还是说要在哪个环节去决定复位和切换通用引脚输入输出状态呢? 
8
haitun1895| | 2020-11-9 21:20 | 只看该作者


和我在学校的时候第一次一样,。。。。  最后发现EA没接VCC  哈哈哈啊

使用特权

评论回复
9
jasontu| | 2020-11-10 07:52 | 只看该作者
建议用示波器,加上trm文件,bsp的环境跑代码,

使用特权

评论回复
10
lidi911| | 2020-11-10 08:10 | 只看该作者
这个应该是哪里没接对吧?

使用特权

评论回复
11
pigluffy| | 2020-11-10 13:26 | 只看该作者
很明顯的你的hex檔的內容全部都是FF,檔案有問題

使用特权

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

本版积分规则

1

主题

10

帖子

0

粉丝