文档介绍:串口发送程序
/*--------------------------------------------------
名称:ADC0808模拟检测电压串口发送数据
编写:人言者
日期:~=P1; //AD转换完成,读取值
OE=0; //关闭输出
start=1; //锁存地址,硬件START与ALE相连
}
void main()
{
timer0init(); //定时器0初始化
InitUART(); //串口初始化
while(1)
{
if(key1==0) flag=0; //按键检测
else if(key2==0) flag=1; //由于仿真为考虑按键延时消抖
else if(key3==0) flag=2;
ADC(); //ADC0808转换
SBUF=dianya0; //送数据至串口发送缓冲器
while(TI==0); //等待发送完成
TI=0; //发送中断标志位清零
}
}
void timer0() interrupt 1
{
TH0=(65536-1)/256; //重装初值
TL0=(65536-1)%256;
clk=~clk; //模拟给ADC0808提供时钟
}
/*------------------------------------------------
串口接收代码
------------------------------------------------*/
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code LED[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71
}; //共阴数码管断码0~9~a~f
uchar disbuff[2]; //显示缓冲器(数组)
uchar dianya0;
/*------------------------------------------------
延时函数
------------------------------------------------*/
void delay(uint z)
{
while(z--);
}
/*------------------------------------------------
数码管显示函数
------------------------------------------------*/
void display()
{
P2=0xfe; //打开第一个数码管
P0=LED[disbuff[