诉单片机一些注意事项,如什么时候开始传送、什么时候开始接收等。PCON告诉单片机怎么通过计算知道定时器具体走了多久来发让单片机发送脉冲。下面来具体说下如何设置各个寄存器来实现串口通信:以下寄存器均位8位寄存器,从右到左依次是从二进制低位到高位,第一行表格每一个代表一个二进制位,表格里的内容代表此二进制位的名字,最后一行为本文所使用的配置,第一个表格中间一行表示高四位用来控制Timer1,低四位控制Timer2。紧跟表格下方的第一行为此文配置,第二行为配置说明,剩下的为各二进制位的功能讲解。
fTMOD寄存器:GATECTTimer1001000M1M0GATECTTimer000M1M0
TMOD0x20;此配置作用:使用Timer1的mode2工作模式,提供自动加载的8位定时器计数器→TH1GATE位:为Timer的控制开关,为0时只要TCON寄存器的TR位为1即可启动定时器,称为内部启动,为1时则需要TR位为1,同时外部给INT0引脚一个高电平,称为外部启动,我们只用内部启动,外部启动作为了解。CT位:为0时使用单片机内部的计数器,为1时使用外部的计数器。非特殊情况下都使用内部计数器。M1、M0组合设置定时器(Timer)的四种工作模式M10011M00101模式0:两个13位定时器计数器模式1:两个16位定时器计数器模式2:两个8为自动载入定时器计数器模式3:一个8位定时器计数器,一个8位计时器(比较特殊,不需理解)
另一个Timer的各位功能同上。TCON寄存器:TF1TR1TF0TR0IE1IT1IE0IT0TCON(只使用TR)作用:TR1启动Timer1此寄存器只需了解TR1控制Timer1,TR0控制Timer0,详细见TMOD寄存器GATE位讲解。SCON寄存器:SM00SM11SM20REN1TB80RB80TI0RI0
SCON0x50;此配置作用:使用串行端口的mode1SM0、SM1组合设置串行端口的模式SM00011SM10101Mode0123功能简介移位寄存器8位UART9位UART9位UART比特率OSC12可变OSC32或OSC64可变
(UART是一个将并行输入转为串行输出的芯片集成在单片机内,了解即可)(OSC:晶振频率)
fSM2Mode0时,SM20;Mode1时,若SM21,且收到有效的停止位,则RI1(产生RI中断),否则RI0;Mode2或3时,若SM21,且收到的第9位为1,则RI1(产生RI中断)。REN:为1,开始接收,为0,停止接收。TB8:mode2或3传送数据时,本位为第9位传送位,可通过写代码来设定或清除。RB8:mode2或3接收数据时,本位为第9位接收位;mode1时,若SM20,则本位为停止位;mode0时,本位无作用。TI:本位为传送中断标志位,当中断结束时,本位并不会恢复为0,必r