两个小问题,散分了~

zhanqianwen   2007-7-11 10:54 楼主
1. 用硬件定时器编写程序,设置时、分、秒定时器,分别对应的地址为:4000H、4002H、4004H,晶振频率为12MHZ(用8096编写)

2.C08__2  MODULE MAIN
    $INCLUDE(8096.INT)
PORT   EQU   OFFA8H   ;       74LS273(U4)端口地址
SOFT__INT  EQU    400AH  ;    软件定时器中断向量地址
RSEG  AT  1CH
AX:DSW  1
AL  EQU  AX:BYTE
BX:DSW  1
BL  EQU  BX:BYTE
CX:DSW 1
CL EQU CX:BYTE
DX:DSW 1
DL EQU DX:BYTE
CSEG  AT 2080H
LJMP START
CSEG  AT 4100H
START:DI
       LD SP,#00C0H
       LD AX,#HSOINT     设置软件定时器中断向量
       ST AX,SOFT__INT
       LDB AL,#03H       点亮L1,L2两个发光二极管
       STB AL,PORT
       LDB BL,#00H        置计数器BL,CL初值为0
       LDB CL,#00H
       LDB DL,#00H
       CLRB INT__PENDING
       ORB  INT­__MASK,#20H      置软件定时器中断相应的中断
                                 屏蔽位为一   
       LDB  HSO__COMMAND,#38H     使软件定时器ST0在250ms中断
       ADD  HSO__TIME,TIMER1,#0FA00H
       LDB HSO__COMMAND,#3AH      使软件定时器ST2在125ms后中断
       ADD HSO__TIME,TIMER1,#07D00H
       EI
LOOP: SJMP LOOP
HSOINT:DI
        LDB CL,IOS1
        JBS CL,0,STIMER0      ISO1的第0位为1,STO中断
                                STMER0   
        JBS CL,2,STIMER2      ISO1的第2位为1,ST2中断
                                STMER2   
        BR RETURN
STIMER0:INCB BL                软件定时器ST0中断处理
         CMPB BL,#04H          每中断4次,改变74LS273的第0位一次
         JNE ST0SET
         XORB AL,#01H
         STB AL,PORT
         CLRB BL
ST0SET:LDB HSO__COMMAND,#38H   重新使软件定时器ST0在250ms后中断
        ADD HSO__TIME,TIMER1,#0FA00H
        SJMP RETURN
STIMER2:INCB DL                 软件定时器ST2中断处理
         CMPB  DL,#04H            每中断4次,改变74LS273的第1位一次
         JNE ST2SET
         XORB AL,#02H
         STB AL,PORT
         CLRB DL
ST2SET:LDB HSO__COMMAND,#3AH    重新使软件定时器ST2在125ms中断
        ADD HSO__TIME,TIMER1,#07D00H
RETURN:EI
        RET
        END
将以上程序改为使两个发光二极管每秒依次亮闪一次。

都比较简单,各位帮忙看看

回复评论 (4)

8096已经用得很少了,居然还是汇编

为什么不用ARM或430之类的呢?
点赞  2007-7-16 09:57
帮顶~~~~
点赞  2007-7-16 11:26
STIMER2:INCB   DL                                   软件定时器ST2中断处理
                  CMPB     DL,#04H                     ;每中断4次,改变74LS273的第1位一次 //这里改成8,然后在后面作点灯操作
                  JNE   ST2SET
                  XORB   AL,#02H
                  STB   AL,PORT
                  CLRB   DL
点赞  2007-11-12 17:00
接分先!
点赞  2008-5-1 03:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复