打印

棘手!STC单片机问题!!急

[复制链接]
4411|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
legendzp|  楼主 | 2012-2-4 14:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人使用STC12C2052AD型号单片机做一电流检测系统!
现在硬件基本上做出来了,但是问题来了。用一个简单程序写进去,ISP下载软件提示下载成功,但是单片机没有反应!
程序:#include<reg52.h>
#include <intrins.h>
sfr  P1M0=0x91;
sfr  P1M1=0x92;       //P1口状态控制
sfr  P3M0=0xB1;
sfr  P3M1=0xB2;
sbit DH = P3^4;      //数码显示片选信号,高位
sbit DL = P3^5;      //数码显示片选信号,低位
void main()
{
while(1)
{
P1M0=P1M1=0x0;
DH=1;
DL=1;
  P1=0xF0;

    }
  }
硬件:使用106钽电容与10K电阻复位,22P电容加12M晶振,P1口接数码管。
下载线把两芯线相接可以接收到自己发送的东西。
另外我用两块板子试了都一样,开始的时候单片机里有程序,数码管还有显示,我一写程序进去,原来的就没有了,也没有显示了,什么东西都没有!
晶振用显示器看了,有12M的正选波。电源为78L05供电。
请问是一这是什么问题?是程序没有写进去呢,还是写进去了单片机没有运行?

相关帖子

沙发
chenczy| | 2012-2-4 15:36 | 只看该作者
要先排除硬件的问题,例如晶振有没起振,有没复位,有没电压到等。如硬件没问题写一个最简单的程序,例如点亮一个之类的,看看有没反应来确定程序有没下载到

使用特权

评论回复
板凳
legendzp|  楼主 | 2012-2-4 15:51 | 只看该作者
用万用表测试,复位电压0V,晶振一个1.9V’2.1V,用示波器看了,12M的正炫波。电源电压5.03V。

使用特权

评论回复
地板
legendzp|  楼主 | 2012-2-4 15:56 | 只看该作者
我焊好硬件(没有下载程序)通电之后就有数码管显示一个流水灯,可否说明硬件没有问题了,单片机正常工作?

使用特权

评论回复
5
chenczy| | 2012-2-4 16:18 | 只看该作者
那就说明程序没下载到或是程序有问题了

使用特权

评论回复
6
legendzp|  楼主 | 2012-2-4 16:34 | 只看该作者
就上面的程序,在其它的机子上试过了没问题!

使用特权

评论回复
7
ningling_21| | 2012-2-5 07:44 | 只看该作者
没问题代表什么?
上面的程序能实现LED显示?还是AD转换?

使用特权

评论回复
8
xiaosun| | 2012-2-5 08:56 | 只看该作者
用万用表测试 DH,DL=0.x V,
P3M0,P3M1在复位后不能输出大电流(共阳数码管)

使用特权

评论回复
9
hyhmh| | 2012-2-5 09:53 | 只看该作者
2个问题:
1) 程序 没有 正确 烧写(包括MCU的一些配置)
2)程序 头文件 定义 与 12C2052 实际 可能不一致.

使用特权

评论回复
10
NE5532| | 2012-2-5 11:48 | 只看该作者
P1M0=P1M1=0x0;
DH=1;
DL=1;
P1=0xF0;


楼主先把这4行程序写个注释,说明你想干什么,然后说不定你就知道为什么不对了。

使用特权

评论回复
11
legendzp|  楼主 | 2012-2-6 10:22 | 只看该作者
使用的是两位共阳数码管显示:DH=1,DL=1为片选信号;
P1=0XF0;就是让数码管显示。(这程序我在STC89C52RC上试过了,可以显示的。)
上面的这个程序就是调试一下,让数码管亮起来。
P3.4与P3.5有4.8V的电压。
我现在感觉可能是程序没有写进去,问题是出在那里呢?
下载线是从另一块开发板上引出电源、地、加两根数据线接到我12C2052AD的板子上,两数据线我也短接过在电脑里可以发送接收。

使用特权

评论回复
12
coody| | 2012-2-6 12:05 | 只看该作者
LZ没有将DH,DL定义成推挽输出

使用特权

评论回复
13
legendzp|  楼主 | 2012-2-7 18:02 | 只看该作者
问题解绝了,是用的KIEL没有注册。编译时程序从800H开始的,而单片机只有7FF的内存。
导致程序始终没有。哎:'(
做事得认真啊!

使用特权

评论回复
14
cxy19850603| | 2013-1-31 17:51 | 只看该作者
请问楼主用的keil几呢?我用的STC12C5604AD单片机,出现了类似的情况,忙了2天了,不知道会不会和你同样的原因

使用特权

评论回复
15
coody| | 2013-2-1 11:33 | 只看该作者
D版的KEIL,编译时有的就会从0x800开始放程序,而网上看到有人因为这个原因骂STC,其实这个跟STC一毛钱的关系都没有,选择AT89C2051都是一样,但是用户却不会骂ATMEL,呵呵。。。

使用特权

评论回复
评论
hp34401a 2013-2-1 12:07 回复TA
这个真不知道,小测试用KEIL的2K未授权版。从未遇到过这个问题。大的是用和谐版啦。 
16
hp34401a| | 2013-2-1 12:08 | 只看该作者
这个真不知道KEIL会这样,小测试用KEIL的2K未授权版。从未遇到过这个问题。大的是用和谐版啦。 :)

使用特权

评论回复
17
flyinginred| | 2013-2-1 14:57 | 只看该作者
还是不够认真啊

使用特权

评论回复
18
明月小厨| | 2013-2-2 01:12 | 只看该作者
程序下载完成后会有结果立即提示你是否正确;你怀疑什么?

使用特权

评论回复
19
huangxz| | 2013-2-2 01:18 | 只看该作者
coody 发表于 2013-2-1 11:33
D版的KEIL,编译时有的就会从0x800开始放程序,而网上看到有人因为这个原因骂STC,其实这个跟STC一毛钱的关 ...

有么,我用keil这么久,从来没有发现d版的keil编译出来的有问题,如果有问题,那都是自己的问题。

使用特权

评论回复
20
shiyan1532| | 2013-2-2 16:47 | 只看该作者

使用特权

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

本版积分规则

0

主题

6

帖子

0

粉丝