串行口通信 单片机在数码管显示AD采集值
的数据进入SBUF,并激活RI,即此时RB8不具有控制RI激活功能
//通过控制SM2,可以实现多机通信.
//在方式0时,SM2必须是0
//在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1
sbit SM2
//REN为允许串行接收位
//REN=1时允许串行口接收数据
//REN=0时禁止串行口接收数据
sbit REN
//TB8为方式2,3中发送数据的第9位
//方式2或方式3中,时发送数据的第9位,可以用软件规定其作用,可以用作数据的奇偶校验位
//或在多机通信中,作为地址帧/数据帧的标志位
//方式0和方式1时,该位未用
sbit TB8
//RB8为方式2,3中接收数据的第9位
//方式2或方式3中,是接收数据的第9位,可作为奇偶校验位或地址帧/数据帧的标志位
//方式1时,若SM2=0,则RB8是接收到的停止位
sbit RB8
//TI为发送中断标志位
//方式0时,当串行发送第8位数据结束时,或在其他方式,串行发送停止位的开始时,
//由内部硬件使TI置1,向CPU发出中断申请,在中断服务程序中,必须用软件将其清0,取消此中断申请
sbit TI
//RI为接收中断标志位
//方式0时,当串行接收第8位数据结束时,或在其他方式,串行接收停止位的中间时,
//由内部邮件使RI置1,向CPU发出中断申请,也必须在中断服务程序中,用软件将其清0,取消此中断申请
sbit RI
//TMOD为定时器/计数器工作方式寄存器
//字节地址位0x89,不能位寻址
//单片机复位时TMOD全部被清0
//TMOD的高4位用于设置定时器1,低4位用于设置定时器0,
//其中高低4位均由GATE,C/T,M1,M0构成
//GATE为门控制位
//GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制
//GATE=1,定时器/计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0或INT1)的电平共同控制
//C/T为定时器模式和计数器模式选择位
//C/T=1为计数器模式,C/T=0为定时器模式
//M1M0为工作方式选择位
//M1=0,M0=0为方式0,为13位定时器/计数器
//M1=0,M0=1为方式1,为16位定时器/计数器
//M1=1,M0=0为方式2,8位出值自动重装的8位定时器/计数器
//M1=1,M1=0为方式3,仅适用于T0,分成两个8位计数器,T1停止计数
sfr TMOD
//TCON为定时器/计数器控制寄存器
//TCON字节地址为88H,可位寻址
//TCON寄存器用来控制定时器的启,停,标志定时器溢出和中断
//单片机复位时TCON全部被清0
//TCON包含的TF1,TR1,TF0,TR0用于定时器/计数器
//TCON包含的IE1,IT1,IE0,IT0用于外部中断
sfr TCON
//TF1为定时器1溢出标志位
//当计数器1计满溢出时,由硬件使TF1置1,并且申请中断,进入中断服务程序后,由硬件自动清0
//如果使用定时器的中断,那么该位完全不用人为去操作
//如果使用软件查询的方式,查询该位为1后,就需要用软件清0
sbit TF1
//TR1为定时器1运行控制位
//由软件清0关闭定时器1,当GATE=1,且INT1为高电平时,TR1置1启动定时器1
//当GATE=0时,TR1置1启动定时器1
sbit TR1
//TF0为定时器0溢出标志,功能及操作方法同TF1
sbit TF0
//TR0为定时器0运行控制位,其功能及操作方式同TR1
sbit TR0
//IE1为外部中断1请求标志
//IT1=0时,为电平触发方式,每个机器周期的S5P2采样INT1引脚,
//若INT1脚为低电平,则置1,否则IE1清0
//IT1=1时,INT1位跳变沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1
//IE1=1时,表示外部中断1正在向CPU申请中断,当CPU响应中断,转向中断服务程序,该位由硬件清0
sbit IE1
//IT1为外部中断1触发方式选择位
//IT1=0,电平触发方式,引脚INT1上低电平有效
//IT1=1,跳变沿触发方式,引脚INT1上的电平从高到低的负跳变有效
sbit IT1
//IE0为外部中断0请求标志,功能及操作同IE1
sbit IE0
//IT0为外部中断0触发方式选择位,功能及操作同IT1
sbit IT0
//定时器1初值高8位
sfr TH1
//定时器1初值低8位
sfr TL1
//定时器0初值高8位
sfr TH0
//定时器0初值低8位
sfr TL0
//声明单片机P0口的地址
sfr P0
//声明单片机P1口的地址
sfr P1
//声明单片机P2口的地址
sfr P2
//声明单片机P3口的地址
sfr P3
#define uchar unsigned char
#define uint unsigned int
sbit dula = P2 ^ 6; //申请U1锁存器的锁存端
sbit wela = P2 ^ 7; //申请U1锁存器的锁存端
sbit adwr = P3 ^ 6; //定义AD的WR端口
sbit adrd = P3 ^ 7; //定义AD的RD端口
uchar flag, flag_uart, flag_time, flag_on;
uchar a, i, t0_num, ad_val;
float ad_vo;
//数码管的编码数组
uchar code table[] = {
0x3f,0x06,0x5
串行口通信单片机数码管显示AD采集 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)