串口通信
   
每个串行口有两个数据缓冲器(SBUF)、一个移位寄存器、一个串行控制寄存器和一个波特率发生器组成
    
    
    串口寄存器介绍
   
    
     串口所需中断
    
    
     
   
EA = 1 : 总中断 必需开
ES: 串口1 中断运行位
    
     串口1寄存器
    
    
     
   
SM0 、 SM1: 模式选择
REN:  串口允许接收控制位, 接收 1 禁止 0 
TB8:
	当串口1设置 为模式2、模式3时,TB8为发送为第9位,需要软件操作,在模式0、1不可用
	
RB8:
	当串口1设置 为模式2、模式3时,RB8为接收为第9位,需要软件操作,在模式0、1不可用
	
TI :串口发送中断请求位,发送完毕就会置 1 
模式0中,第8位数据发送结束时,硬件置 1 ,响应中断后 必须软件清 0 
除模式0外,则在停止位发送时,硬件置 1 ,响应中断后 必须软件清 0 
RI :串口接收中断请求位,发送完毕就会置 1 
模式0中,第8位数据发送结束时,硬件置 1 ,响应中断后 必须软件清 0 
除模式0外,则在停止位发送时,硬件置 1 ,响应中断后 必须软件清 0 
     
   
SBUF 是两个寄存器
给SBUF赋值时:SBUF = X ,此时为写寄存器
把SBUF值赋给别人时:X = SBUF,  此时为读寄存器
     
   
UART_M0x6
	串口1模式0的通讯速度控制,0:波特率不加倍,固定 fosc/12
SIST2
	串口1波特率发射器
	0 :选择定时器1 为波特率发射器
	1 :选择定时器2 为波特率发射器
    
     串口2寄存器
    
   
     
   
S2SM0 : 模式选择
S2REN:  串口允许接收控制位, 接收 1 禁止 0 
S2TI :串口发送中断请求位,发送完毕就会置 1 ,响应中断后 必须软件清 0 
S2RI :串口接收中断请求位,发送完毕就会置 1 ,响应中断后 必须软件清 0 
    
    
    功能
   
    
     奇偶位
    
   
    PSW是一个8位寄存器。PSW的全称是Program Status Word,即程序状态字
    
     
   
P : 奇偶标志位
每执行一条汇编指令,单片机都能根据ACC中 1的个数进行奇偶数量判断
使 P 置 1或置 0 ,奇数 P为 1,偶数 P为0
    
     引脚复用
    
   
    ](https://img-blog.csdnimg.cn/f84eb005d12144aa8e2c7e5aef6aaf8d.png) 
   
S1_S[1:0]:  串口1功能脚选择位	
    
    
    定时器、计数器
   
- 
     机器周期、时钟周期是什么?(
 
 传送门
 
 )
    
    
    定时器寄存器介绍
   
    
     定时器所需中断
    
   
     
   
EA = 1 : 总中断 必需开
ET0: 定时器0 、 计数器0 中断运行位
ET1: 定时器1 、 计数器1 中断运行位
     
   
ET2: 定时器2 、 计数器2 中断运行位
ET3: 定时器3 、 计数器3 中断运行位
ET4: 定时器4 、 计数器4 中断运行位
     
   
T2IF : 定时器2 中断溢出请求位,需要软件清 0 (手动清 0 )
T3IF : 定时器3 中断溢出请求位,需要软件清 0 (手动清 0 )
T4IF : 定时器4 中断溢出请求位,需要软件清 0 (手动清 0 )
    
     定时器0、定时器1
    
   
     
   
TF1、TF0
	为中断请求标志位,溢出时置 1 并请求中断,由硬件置 0 ,不管手动清 0 
TR1、TR0:
	为运行控制位,开始计数,需要置 1 。
     
   
T1_C/T、T0_C/T:
	置 1 为定时器(内部定时),置 0 为计数器(对引脚/外部脉冲计数)
	
T1_M1、T1_M0、T0_M1、T1_M0:
	模式选择
     
   
T0x12 : 定时器0 ,默认为0,12分频、1 不分频 
T1x12 : 定时器1 ,默认为0,12分频、1 不分频 
    
     定时器2
    
   
     
   
T2R :
	为运行控制位,开始计数,需要置 1 。
T2_C/T:
	置 1 为定时器(内部定时),置 0 为计数器(对引脚/外部脉冲计数)
    
     定时器3、定时器4
    
    
     
   
T3R、T4R:
	为定时器3、4 运行控制位,开始计数,需要置 1 。
T3_C/T、T4_C/T:
	置 1 为定时器(内部定时),置 0 为计数器(对引脚/外部脉冲计数)
T3x12、T4x12: 默认12分屏
    
    
    看门狗:复位
   
STC8A8K64S4A12系列单片机的复位分为硬件复位和软件复位两种。
硬件复位时,所有寄存器的值会复位到初始值,系统会重新读取所有的硬件选项。同时根据硬件选项所设置的上电等待时间进行上电等待。
软件复位时,除与时钟相关的寄存器保持不变外,其余的所有寄存器的值会复位到初始值,软件复位不会重新读取所有的硬件选项。
     
   
- 硬件复位:看门狗
为了防止“系统在异常情况下,受到干扰,MCU/CPU程序跑飞,导致系统长时间异常工作”的情况发生,而设计了一种用于检测程序运行状态的芯片或电路,俗称看门狗(即Watchdog)。
看门狗通常有一个输入信号和一个输出信号。输入信号也称“喂狗”,输出信号关联MCU的复位端。系统运行后启动看门狗计数器,看门狗开始计数,当计数满后未收到清零信号(喂狗),看门狗计数器溢出,触发看门狗中断,输出控制MCU复位。
    
    
    看门狗寄存器操作
   
     
   
WDT_FLAG
    看门狗发生溢出时,硬件自动置 1 ,软件清零
    
EN_WDT
	看门狗使能,0 无影响;1 启动开门狗定时器
	
CLR_WDT
	看门狗定时器清零(喂狗)
	1 清零看门狗定时器,才不会发生重启,重启时硬件自动将此位复位
	
WDTPS[2:0] 
	看门狗定时器时钟分频系数
    
    
    外部中断
   
    
     外部中断所需中断
    
    
     
   
EA = 1 : 总中断 必需开
EX0 、EX1: 外部中断 0 、外部中断 1 中断允许位
     
   
IT1、IT0:
	为外部中断 触发控制位, 下降沿触发方式 置1 ; 上升沿和下降沿都可以触发 置0
IE0、IE1:
   	外部中断 允许位,硬件置 0 ;(代码不显示)
    
    
    ADC
   
STC8A8K64S4A12系列单片机ADC是逐次比较型ADC
STC8系列单片机内部集成了一个12位15通道的高速A/D转换器。
    
    
    ADC寄存器介绍
   
    
     ADC所需中断
    
    
     
   
EADC :  ADC允许中断位
    
     ADC寄存器
    
    
     
   
ADC_POWER : ADC电源
ADC_START : ADC转换控制位,写1开始转换,转换完成后硬件清 0 
ADC_CH[3:0] : ADC通道选择位
     
   
RESFMT : ADC转换结果 控制位,1 右对齐(高4低8),0 左对齐(高8低4)
SPEED[3:0] : ADC时钟控制 
     
   
ADC_RES : 		 保存结果高字节
ADC_RESL : 		保存结果低字节
 
