您的位置 首页 被动

PIC单片机守时中止

INCLUDEP16F877incORG000HGOTOA1ORG004H;定时中断入口地址GOTOZD01;ORG0CHA1MOVLW1;位1显示数MOVWF50

#INCLUDE”P16F877.inc”
ORG 000H
GOTO A1
ORG 004H;守时中止进口地址
GOTO ZD01;
ORG 0CH
A1 MOVLW 1;位1显现数
MOVWF 50H;
MOVLW 2;位2显现数
MOVWF 51H;
MOVLW 3;位3显现数
MOVWF 52H;
MOVLW 4;位4显现数
MOVWF 53H;
MOVLW 4;显现位数
MOVWF 40H;
MOVLW B00000001;位码
MOVWF 41H;
MOVLW 50H;
MOVWF FSR ;直接寻址
BSF STATUS,RP0;挑选体1
BCF STATUS,RP1;
MOVLW 00H;1:2TMRO份额
MOVWF OPTION_REG;分频1/2
BCF STATUS,RP0;体0
BCF STATUS,RP1;
MOVLW 0FFH;
MOVFW TMR0;初值
BCF INTCON,T0IF;清守时中止标志
BSF INTCON,T0IE;开守时中止
BSF INTCON,GIE;开总中止
GOTO $
ZD01 BCF INTCON,GIE;关总中止
BTFSS INTCON,T0IF;判别是否发生守时中止
GOTO ZD03;否跳出是持续履行
BCF INTCON,T0IF
BSF STATUS,RP0;体1
BCF STATUS,RP1;
MOVLW 0;
MOVWF TRISB;RB口设为输出口
MOVWF TRISD;RD口设为输出口
BCF STATUS,RP0;体0
BCF STATUS,RP1;
MOVLW 0FFH;
MOVWF PORTB;RB口输出高电平
MOVLW 0
MOVWF PORTD;RD口输出低电平起清屏效果
MOVFW INDF;直接寻址显现数据
CALL Q1;查数据表
MOVWF PORTB;显现断码输出到RB口
INCF FSR,1;直接寻址地址加1
MOVFW 41H ;位码
MOVWF PORTD;位码输出到RD口
RLF 41H,0;处理C
RLF 41H,1;左移位码
DECFSZ 40H,1;判别是否显现完4位
GOTO ZD02;不然持续显现
MOVLW 4;显现位数
MOVWF 40H;
MOVLW B00000001;位码
MOVWF 41H;
MOVLW 50H;
MOVWF FSR ;直接寻址
ZD02 MOVLW 0FFH;
MOVFW TMR0;重装初值
ZD03 BSF INTCON,GIE;开总中止
RETFIE ;中止回来
;********************************************
; 数据表
;********************************************
Q1 ADDWF PCL,1
RETLW 00C0H ;0
RETLW 00F9H ;1
RETLW 00A4H ;2
RETLW 00B0H ;3
RETLW 0099H ;4
RETLW 0092H ;5
RETLW 0082H ;6
RETLW 00F8H ;7
RETLW 0080H ;8
RETLW 0090H ;9
RETLW 0088H ;A
RETLW 0083H ;B
RETLW 00C6H ;C
RETLW 00A1H ;D
RETLW 0086H ;E
RETLW 008EH ;F
END

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/255453.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部