网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 优创科技 >> 文章中心 >> 知识天地 >> 文章正文
  配料机控制系统源程序讲解(1)-系统初始化           ★★★ 【字体:
配料机控制系统源程序讲解(1)-系统初始化
作者:admin    文章来源:本站原创    点击数:    更新时间:2006-11-23    

 

ORG 0000H ;单片机程序是从地址0000H开始的
      LJMP MAIN
 ;长跳转,开始执行主机程序
      ORG 000BH
 ;000BH是定时器0中断的固定地址,是由硬件决定的,当是定时器0以中断方式工作时,地址指针会自动跳到这个地方
      LJMP T0INT
长跳转执行定时器0中断子程序
      ORG  002AH
;主程序开始地址
MAIN: MOV DPTR,#0DFFFH
;以下三行是8259的初始化,8259
     MOV A,#99H 
;可编程显示和按键输入芯片,自带有去抖动功
     MOVX @DPTR,A
;能。#0DFFFH是地址,#99H是要写入的参数
      MOV DPTR,#0BFF0H
;以下是8155的初始化,
      MOV A,#0EH
      MOVX @DPTR,A
      MOV DPTR,#0BFF0H
;以下是8255的初始化
      MOV A,#0EH
      MOVX @DPTR,A
      INC DPTR
      INC DPTR
      MOV A,#0BFH
      MOVX @DPTR,A
      INC DPTR
      MOV A,#0FFH
      MOVX @DPTR,A
      MOV R0,#60H
;以下为显示清零
      MOV R7,#25
      MOV A,#00H
      MOV DPTR,#0BE20H

ZERO00:MOV @R0,A
      MOVX @DPTR,A
      INC DPTR
      INC R0
      CLR P1.0
;以下两行为开门狗电路启动和清除电路
      SETB P1.0
      DJNZ R7,ZERO00
;这是循环指令,寄存器R7自减为0时停止

以上这段程序是,单片机程序开始的常用编写方法。程序开始是一个长跳转,跳到主程序处,主程序不能从0000H处往下来,因为以下的地址被设为重要用处了,比如我们这里用的定时器中断就是固定在000BH处,所以要空出一些地址开始主程序,我们这个系统之用了一个中断,是为搅拌主机轴端注油使用的。如果你开发的系统还有其它的中断,还要有另外的中断跳转。

   这里的主程序是从ORG  002AH开始的,道先是对外围芯片的初始化,它们的用法相同,因为这些芯片用的是外部程序地址,所以要用到MOVX @DPTR,A这样的方法来初始化,读者可以查看这个指令的用法。在往下是初始化结束,清显示器0。准备正式工作,因为这个系统硬件不是很复杂,所以省去了自检电路,在较为复杂的系统里还要有一定自检电路。

  这里有一个对开门狗电路置位和清除

CLR P1.0
SETB P1.0
看门狗主要是防止系统软件在意外情况下受到干扰,处于某种死循环下不正常工作时,强制系统复位的电路,多数是由硬件芯片构成看门狗电路,我们这个系统是由X25043P来完成这个功能的,其实它就是一个独立的定时器,在设定的时间内如果不清除定时器,看门狗定时器启动触发时,会引起系统的复位功能强制系统重新启动,当程序在正常工作时,看门狗定时器是不会触发的,在它触发这前由

CLR P1.0
SETB P1.0 
这两行指令清除了,当系统出现异常时,不会动行这两行指令,就会引起系统复位。

  现在开发单片机可以用高级语言完成了,但如果系统程序的大小有要求,用汇编语言编写起来效率更高。

 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    一款以MCS-51单片机为CPU的配
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    1
    408412242(点击交谈)340154483(点击交谈)  
    电话热线:0759-2882725、3615028  手机专线:13019609249、13729119943
    Copyright ® 2006-2008 YourCon.com All Rights Reserved
    中华人民共和国信息产业部备案编号:鲁ICP备06031325号