|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
怎样知道单片机在工作了? |
作者:joy晴天 栏目:单片机 |
怎样知道单片机在工作了? 软件调试的时候看到P1.7脚可以置低电平,硬件测试的时候就是不行,我怀疑是单片机没有正常工作,但是我测试了晶振部分电路,也没有问题阿 * - 本贴最后修改时间:2006-10-31 17:04:00 修改者:joy晴天 |
2楼: | >>参与讨论 |
作者: computer00 于 2006/10/31 17:20:00 发布:
也许是EA没接对? |
3楼: | >>参与讨论 |
作者: lucidmask 于 2006/10/31 17:22:00 发布:
re dog |
4楼: | >>参与讨论 |
作者: joy晴天 于 2006/10/31 17:27:00 发布:
2051没有EA阿 |
5楼: | >>参与讨论 |
作者: 车载音响 于 2006/10/31 17:31:00 发布:
晶振,复位,电流,管脚 |
6楼: | >>参与讨论 |
作者: heyunhuan 于 2006/10/31 18:40:00 发布:
re 1.先检查电源是否已经供上?VCC~GND电压是多少? 2.检查晶振是否已经起振?使用示波器测量,如果没有用万用表也可以的. 3.复位引脚的电平是否正确?很有可能你的系统一直在复位状态也说不定. 4.确定你的程序是正确的?使用C语言写的,看看你的头文件对吗? 5.程序是否已经将其烧写到芯片中?是用烧写器写的/还是仿真器呢? 6.如果上面的都是正确的, 7.换一个芯片试验一下. |
7楼: | >>参与讨论 |
作者: joy晴天 于 2006/10/31 19:24:00 发布:
多谢楼上的,还有不懂请教: 1电源已经供上:VCC 5.14V GND 0V 3复位引脚正确,0.1v,复位按键按下时4.8v 4我写了一个简单的测试程序试过的,还是不行,程序如下: #include<AT892051.H> void main() { P1_7=0; } 5我用的是编程器,软件提示烧写成功的 下面这个可疑:不过晶振基本不会出问题吧? 2晶振用万用表如何测量其是否起振? 用示波器的话是不是出现一定频率的方波? 明天到公司可以用示波器测,我想现在在家里用万用表测一下,麻烦告知方法吧!谢谢了!知道方法后没有示波器时也方便 |
8楼: | >>参与讨论 |
作者: heyunhuan 于 2006/10/31 19:35:00 发布:
re (1)用示波器测量的时候,应该显示的是正弦波; (2)用万用表测量不一定很准,不过我有时候就这么测量的,也很好用. 一.先把万用表调到测量电压的档; 二.然后分别测量晶振的两个引脚;电压应该在2.2V左右[1.7V也算是这样吧],两个引脚的电压有 一定的差值,不会超过1V一般都在0.5V左右.[我以前都是测量12MHZ,11.0592MHZ晶振,要看你单片机型号]不过其他型号的也都应该差不多.这个就要看你的经验了,你可以多测量一下好用的晶振,心里好有个数,以后测试就方便了.不过本人建议你在没有示波器的时候这样的办法还算是好用。并不是一定好用,以上属于个人意见,仅仅供您参考,要是有什么错误的话。还请见谅.有什么疑问可和我联系MSN:heyunhuan@hotmail.com (3)建议你在函数中这样写 void main() { while(1) { P1=0; } } 这样的话,比较安全一点. |
9楼: | >>参与讨论 |
作者: joy晴天 于 2006/10/31 19:47:00 发布:
测了下晶振两端电压在0.4v左右 但是拿开后再测,它又变成0.5v到0.6v了 这算什么? |
10楼: | >>参与讨论 |
作者: zhujing03 于 2006/10/31 19:58:00 发布:
回复主题:多谢楼上的,还有不懂请教: 你先看清2051程序的前100个单元应该写什么? |
11楼: | >>参与讨论 |
作者: joy晴天 于 2006/10/31 20:01:00 发布:
分别测了两脚电压 一脚是1.45v 另一角是2.18v 怪了,我再测晶振两脚却是0.3v(0.23到0.35跳变) 我的电源电压是5.19v 下午最后一个烧进去的程序,也就是现在的程序是: #include<AT892051.H> void main() { do{P1_7=0;} while(1); } |
12楼: | >>参与讨论 |
作者: joy晴天 于 2006/10/31 20:09:00 发布:
re 你先看清2051程序的前100个单元应该写什么? ------------------------------ 这个有要求的?应该写什么呢? |
13楼: | >>参与讨论 |
作者: dengm 于 2006/10/31 20:54:00 发布:
你先用 ASM OR 机器码 TEST ;ASM: ORG 0000H CLR P1.7 SJMP $ END ;机器码: 在 编程器 软件中,地址0000开始写入下列机器码 (16进制) C2 9C 80 FE |
14楼: | >>参与讨论 |
作者: makesoft 于 2006/10/31 22:02:00 发布:
我一般在主板上放一个LED作为运行指示灯 程序让它闪烁,就知道系统运行正常了 |
15楼: | >>参与讨论 |
作者: qjy_dali 于 2006/10/31 23:00:00 发布:
我的方法也是加LED |
16楼: | >>参与讨论 |
作者: joy晴天 于 2006/11/1 9:23:00 发布:
我来报告 采用dengm 的汇编程序成功了,p1.7脚的LED点亮了 但是换用c程序就不行了,这是什么? * - 本贴最后修改时间:2006-11-1 9:29:50 修改者:joy晴天 |
17楼: | >>参与讨论 |
作者: joy晴天 于 2006/11/1 9:39:00 发布:
c程序用heyunhuan的 #include<AT892051.H> void main() { while(1) { P1=0; } } 怎么c语言就不行了阿? |
18楼: | >>参与讨论 |
作者: computer00 于 2006/11/1 9:43:00 发布:
没理由。也许你的hex文件装错了。或者未重新生成? |
19楼: | >>参与讨论 |
作者: joy晴天 于 2006/11/1 10:09:00 发布:
我知道了 c语言的程序烧进去以后有17个单元效验通不过,而汇编的程序通过 因为写C的程序的时候写到了0800后面的地址,而2051地址只有到07ff,所以出错了 * - 本贴最后修改时间:2006-11-1 10:22:06 修改者:joy晴天 |
20楼: | >>参与讨论 |
作者: jxb163 于 2006/11/1 12:29:00 发布:
靠!!还是你自己的问题啊! |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |