当前位置: 代码迷 >> 单片机 >> 两个小疑点,散分了
  详细解决方案

两个小疑点,散分了

热度:45   发布时间:2016-04-28 16:11:15.0
两个小问题,散分了~
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
  相关解决方案