串行口通信 单片机在数码管显示AD采集值
}
uchar get_ad()
{
}
void timer0() interrupt 1
{
}
void ser() interrupt 4
{
}
2)法2
#include
#include
//中断允许寄存器IE,字节地址位0xA8
//单片机复位时, IE中所有位被清0
sfr IE
//EA为全局中断允许位
//EA = 1时打开全局中断控制,在这样条件下,由各个中断控制位打开或关闭相应的中断
//EA = 0时关闭所有中断
sbit EA
//ET2为定时器/计数器2中断允许位
//ET2 = 1时打开T2中断, ET2 = 0时关闭T2中断
sbit ET2
//ES为串行口中断允许位
//ES = 1时打开串行口中断, ES = 0时关闭串行口中断
sbit ES
//ET1为定时器/计数器1中断允许位
//ET1 = 1时打开T1中断, ET1 = 0时关闭T1中断
sbit ET1
//EX1为外部中断1中断允许位
//EX1 = 1时打开外部中断1中断, EX1 = 0时关闭外部中断1中断
sbit EX1
//ET0为定时器/计数器0中断允许位
//ET0 = 1时打开T0中断, ET0 = 1时关闭T0中断
sbit ET0
//EX0为外部中断0中断允许位
//EX0 = 1时打开外部中断0中断, EX0 = 0时关闭外部中断0中断
sbit EX0
//SBUF为串行数据缓冲寄存器
//51单片机中含有两个SBUF,其中一个为发送缓冲寄存器,另一个为接收缓冲寄存器
//这两个寄存器共有一个地址0x99, 但物理上是两个独立的寄存器,有指令操作决定访问哪个寄存器
//执行写指令时, 访问串行发送寄存器, 执行读指令时, 访问串行接收寄存器
//接收器具有双缓冲结构, 即在从接收寄存器中读出前一个已收到的字节之前, 便能接受第二个字节
//如果第二个字节已经接收完毕,第一个字节还没有读出,则丢失其中一个字节
//对于发送器,数据由CPU控制和发送,所以不需要考虑
sfr SBUF
//SCON为串行口控制寄存器
//SCON可位寻址, 即可以访问它的具体某一位
//SCON用以设定串行口的工作方式, 接收/发送控制以及设置状态标志
//单片机复位时SCON全部被清0
sfr SCON
//SM0,SM1为工作方式选择位, 串行口有4中工作方式, 由SM0,SM1设定
//SM0=0,SM1=0为方式0,即同步移位寄存器方式,用于扩展I/O口
//SM0=0,SM1=1为方式1,即10位异步收发,含8位数据,波特率可变,且由定时器1的溢出率控制
//SM0=1,SM1=0为方式2,即11位异步收发,含9位数据,波特率固定
//SM0=1,SM1=1为方式3,即11位异步收发,含9位数据,波特率可变,且由定时器1的溢出率控制
sbit SM0
sbit SM1
//SM2为多机通信控制位,主要用于方式2和方式3
//当接收机的SM2=1时,可以利用收到的RB8来控制是否激活RI,即RB8=0时不激活RI,收到的信息丢弃
//RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走
//当SM0=0时,不论收到的RB8是0还是1,均可以使收到
串行口通信单片机数码管显示AD采集 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)