返回该小组首页 回复主题
hemanzi

hemanzi

小组等级:     E币:329  (E币换礼)

#1楼主:向大家请教一个S52烧录程序的问题

文章发表于:2008-05-05 12:08

           我写了个小程序,用T0作计数器,外部(p3.4)输入脉冲信号,加一后送数码管显示。

写好后我用proteus仿真,完全没有问题,和预想的功能一样。然后烧进我的AT89S52

里面,却什么也不显示。(proteus的仿真电路和我的实验板完全一样,用的是C52)

         程序的确是写进去了,用其他程序验证电路板没问题。

        请高手指点一下,是不是S52和一般的51还是有些结构上的不同,导致51可以

运行的程序S52不能运行。(之前也写过一个pc发数据给单片机的程序,仿真通过)

写进单片机却不行)。

下面是我的程序,应该没问题吧。(p0.1和p0.0是位码,p2字段码,TL0中内容减去初值后送数码管显示)

ORG 10h
   mov TMOD,#6
   mov TH0,#9ch
   mov TL0,#9ch
   SETB EA
   SETB ET0
   SETB TR0
   sjmp display      ;t0初始化


display:             ;显示函数
   clr c
   mov A,TL0
   subb a,#9ch       ;将TL0中数减去初值送数码管显示
   MOV B,#10
   div AB            ;十进制调整
   mov DPTR,#TAB
   movc a,@A+DPTR
   mov p2,a         
   clr p0.1          ;十位先显示20ms
   lcall delay
   setb p0.1
   mov A,B
   mov DPTR,#TAB
   movc A,@A+DPTR
   mov p2,A
   clr p0.0
   lcall delay
   setb p0.0
   ljmp display


delay:               ;延时20ms函数
   mov R7,#100
DLY0:
   mov R6,#100
DLY1:
   djnz R6,DLY1
   djnz R7,DLY0
   RET


TAB:                 ;字型码
   DB 0EDH,60H,0CEH,0EAH,63H,0ABH,0AFH,0E0H,0EFH,0EBH

 


 

      【回复】

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

设计资源与分销