单片机串口发送中断程序

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:04:19
当单片机接收到外部中断INT0时,开始每隔256个机器周期向串口数据,每次发送10字节,数据从片外ROM地址6000H到8000H,如果数据发到8000H,则重新从6000H开始,直到单片机收到来自外部中断INT1为止。INT0'INT1都为边沿触发,定时器为工作方式2,串行口的工件方式为方式2.
ORG 0000H
START: LJMP MAIN
ORG 0003H
LJMP INT0
ORG 0013H
LJMP INT1
MAIN: MOV IE #81H
单片机是80C51请高手将其补充完.谢谢!急用!!! 另外写详细点哦。求救!里面有四个中断。INT0 ,INT1 定时器TO中断,还有串口发送中断.,每发完一个字节都要延时一下再发。/

结部分我自己用的程序用参考下了

;***********************************************************************************************
ORG 0000H
SJMP START
ORG 0003H
LJMP INT0_INT
ORG 000BH
LJMP TIMER0_INT
ORG 0023H
LCALL UART_INT
RETI

;-----------------------------------------------

START:
MOV SP,#70H
LCALL INITIAL ; 初始化
;
LCALL LOAD_DATA ;读入EPORM数据
;
MOV A,DATA_SET_ALME ;设置参数-警报开关
CLR ALM_ON
JZ SS1
SETB ALM_ON
SS1:
;
MOV DIS_S_DA1,DATA_SET_SET1
MOV DIS_S_DA2,DATA_SET_SET2
MOV DIS_S_DA3,DATA_SET_SET3
MOV DIS_S_DA4,DATA_SET_SET4

;**************************************************
ORG 0050H
MAIN:

JNB KEY_HAVE_DO,MAIN_N1
LCALL KEY_INPUT_SCANF ;按键输入扫描
MAIN_N1:

JNB HAVE_DATA_DO,MAIN_N2 ;接收数据要处理
CLR HAVE_DATA_DO
LCALL DATA_MANAGER ;接收数据处理
MAIN_N2:

JNB LED_OUT1,MAIN_N3
L