宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
129
MOV TH0, #0C4H ;重装数 = 65536-15360 = 50176 = C400H
;晶振频率 =18.432MHz 时, 每 10mS 中断 1 次
INC T0_10mS_count ;10 毫秒计数(T0 中断次数) + 1
MOV A, #0C7H ;0C8H = 199, 检测是否中断了 200 次(2 秒)
CLR C
SUBB A, T0_10mS_count
JNC timer0_Exit
CPL Slave1_SS ;改变当前选择的从单片机
CPL Slave2_SS
MOV T0_10mS_count, #0 ;清 0 10 毫秒计数(T0 中断次数)
timer0_Exit:
POP ACC ;恢复断点现场
POP PSW
RETI
else
timer0_Routine: ;本程序中从单片机不需要使用定时器 0
RETI
endif
;------------------------------------------------------------------------------
ADC_SPI_Interrupt_Routine: ;ADC_SPI 中断服务程序
;SPI 中断服务程序
MOV SPSTAT, #11000000B ;0C0H, 清 0 标志位 SPIF 和 WCOL
;特别注意:是向标志位 SPIF/WCOL 写 1,将 SPIF/WCOL 清成 0
;特别注意:不是向标志位 SPIF/WCOL 写 0,将 SPIF/WCOL 清成 0
MOV A, SPDAT ;保存收到的数据
MOV SPI_buffer, A
SETB SPI_Receive ;树立 SPI 端口收到数据标志
RETI
;------------------------------------------------------------------------------
Initial_System:
ACALL Initial_UART ;初始化串口
ACALL Initial_SPI ;初始化 SPI
SETB TR0 ;启动 T0
SETB ET0 ;开 T0 中断
MOV Flags, #0 ;清标志字
SETB EA ;开总中断
RET
;------------------------------------------------------------------------------
Initial_UART: ;初始化串口
; SCON Bit: 7 6 5 4 3 2 1 0
; SM0/FE SM1 SM2 REN TB8 RB8 Tl Rl
MOV SCON, #50H ;0101,0000 8 位可变波特率, 无奇偶校验