STM8系列是意法半导体公司生产的8位的单片机。该型号单片机分为STM8A、STM8S、STM8L三个系列。
STM8芯片特点内核
高级STM8内核,具有3级流水线的哈佛结构
扩展指令集
存储器
程序存储器:8K字节Flash;10K 次擦写后在55°C环境下数据可保存20年
数据存储器:640 字节真正的数据
EEPROM;可达30万次擦写
RAM:1K字节
中断控制器功能:● 硬件中断的管理
─ 外设中断能力
● 软件中断的管理(TRAP)
● 具有灵活的优先级和中断等级管理,支持可嵌套的或同级中断管理:
– 多达4个软件可编程的嵌套等级
– 最多有32个中断向量,其入口地址由硬件固定
– 2 不可屏蔽的事件: RESET, TRAP – 1个不可屏蔽的最高优先级的硬件中断
串口接收中断程序:;串口接收一个字符,并将其返回上位机
BUF EQU 40H
BUZZER EQU P3.4
FLAGR EQU 20H.1
ORG 8000H ; 实验板开始执行的第一条指令所处的地址
LJMP MAIN ; 跳转到主程序
ORG 8023H ;中断程序入口
LJMP SINT ORG 8100H ; 主程序开始的地址;避开中断入口地址
MAIN: MOV SP, #0D0H ;设置堆栈起始地址
CLR FLAGR MOV BUF,#00H MOV SCON,#50H ;设置串口工作模式1,允许接受控制
MOV PCON,#00H ;SMOD=0
MOV TMOD,#20H ;设置定时器1工作模式2
MOV TH1,#0FDH ;置定时器初值,设定比特率9600bps
MOV TL1,#0FDH SETB ES ;允许串口中断
SETB EA
SETB TR1 ;启动定时器
LOOP1: JNB FLAGR,$ ;等待接收字符
LCALL RING ;接收到字符,响铃提示
CLR FLAGR AJMP LOOP1
;========================================响铃
RING: CLR BUZZER
LCALL TMS1
LCALL TMS1
SETB BUZZER
RET
;========================================延时100ms
TMS1: MOV R6, #0F0H ; 给R6和R7赋初值,在12Hz晶振时延时时间为200(R7循环次数)× 250(R6循环次数)×2×1(us)
MOV R7, #0C8H
DELAY02: DJNZ R6, $ ; R6单元减1,非0继续执行当前指令,“$”指当前指令地址
DJNZ R7, DELAY02 ; R7减1,非0跳转到标号DELAY01处执行
RET
STM8 UART接收中断程序: 系统功能使用STM8的USART进行自发自收(将发送引脚RXD短接到接收引脚TXD),发出数据:0,1,2。。。数据,能接收到自己发出的数据:0,1,2。。。使用LED作出简单指示!
硬件设计欢迎分享,转载请注明来源:内存溢出
评论列表(0条)