导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教:89s51 为何不工作?[skeeter]

 *第33236篇: 请教:89s51 为何不工作?

  
楼 主:skeeter 2005年7月20日08:37
 请教:89s51 为何不工作?
我的89s51上电复位后没有正常工作,一直找不到原因。18,19脚用示波器看有正弦波,18脚幅度大点,19脚幅度小。我用的是24M晶振。发现上电后,该晶振有时有波形,有时上电后无波形。为什么?  复位电路是10k电阻和10uf电解电容。其中电容接电源。 

五伏工作电压用万用表量实际为5.25v。 我没有外括数据存储器和程序存储器。

89s51的31脚EA已经接电源。

现在连最简单的跑马灯也无法工作。

LED1_8  EQU 30H  ;循环显示的内容
  ORG 0000H
  AJMP MAIN
  ORG 0030H
MAIN:     MOV LED1_8,#0FEH ;为0灯亮
  MOV A,LED1_8
LOOP:     MOV P1,A
  ACALL DELAY  ;调用延时
  RL A
  SJMP LOOP

;延时子程序
DELAY:  MOV R7,#0FAH
DELAY_1: MOV R6,#0FAH
DELAY_2: NOP
  NOP
  DJNZ R6,DELAY_2
  DJNZ R7,DELAY_1
  RET

  
2楼:coody_sz 2005年7月20日12:29
 51在上电后堆栈指针默认为07H,而此为
51在上电后堆栈指针默认为07H,而此为R7的地址,你在延时子程序中使用了R7,所以调用返回时出错。将R7改为R5试试,应该正常。
  
3楼:不做回答的教师 2005年7月21日15:15
 检查你的单片机是否允许使用24MHz晶振
R7(07h)不会影响到堆栈(sp=07H时)
  
4楼:jikeweiye 2005年7月22日09:38
 复位思想
1K
47UF建立复位电路
  
5楼:不做回答的教师 2005年7月25日09:25
 先查看器件型号是否是AT89S51-24XX
  
6楼:卡卡6092296 2005年8月28日17:00
 我用过这个芯片,是你晶振不对,改成12M
我用过这个芯片,是你晶振不对,改成12M的就可以的
  
7楼:孤叶徐州 2007年12月22日17:49
 高手指点
俺用的89c52,接12M晶振,外围只有10uf,1k复位,31脚已接电源,软件模拟正常,但写入后,所有口线输出低电平
  
8楼:Lichunfu 2007年12月22日18:05
 不是这个问题
不是这个问题, 51复位后堆栈指针指向07H是不错, 但是压栈过程是先把指针加1,在保存数据,因此是从08H开始作为堆栈使用的; 可能的原因是晶体频率过高或者芯片是坏的!
  
9楼:jci01 2008年1月8日16:52
 [原创]
免费送样片89c2051 89c4051
免费提供2051和4051样片。大量单片机,电容,MEMROY及IC库存,免费样片。
0755-61627653  15813806108 
  
10楼:peaceliu 2008年1月12日13:52
 做学问不要心气浮躁。
做学问不要心气浮躁,先不说你那糟糕的程序代码,检查你的硬件电路,把晶振工作调试正常了再说。晶振好比人的心脏。心脏都不跳动了,人还能活吗?另外检查P1口各管脚状态,就知道电路复位正常没有?

>>>>>>对该主题发表你的看法

本主题贴数10,分页: [第1页]


[上一篇主题]:有谁用过gprs模块么,帮忙啊

[下一篇主题]:跪求Valor TRILOGY 5000 7.3.3 及安装