微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机定时中断

PIC单片机定时中断

时间:11-29 来源:互联网 点击:

#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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top