资源简介
该工程,是用KEIL开发的适合单片机的采集AD值,并且通过串口传输数据,采用了协议传输,通过相应的上位机显示波形图,很有用

代码片段和文件信息
/**********************
文件名称:ad_wave.c
作者:王伟
说明:串口发送AD例程
修改记录:
***********************/
/**********************
基于STC15F2K60S2系列单片机C语言编程实现
使用如下头文件
***********************/
#include “STC15F2K60S2.h“
/**********************
宏定义
/*********************/
#define Machine_Focs 11059200L
#define BAUD 115200
/**********************
引脚别名定义
***********************/
/**********************
全局变量定义
***********************/
char rec_flag=0; //用于标识接收的数据
unsigned char a=0b=1c=0; //用于保存并校验收到的数据
char flag=0;
unsigned char i=1;
unsigned char zero=0; //发送高8位
unsigned char one=0;
unsigned char temp=0;
unsigned char light=0;
unsigned char zero_t=0; //发送低2位
unsigned char one_t=0;
unsigned char temp_t=0;
unsigned char light_t=0;
unsigned char other=0; //另外凑齐的一个字节
unsigned char sum=0;//存放校验和
/****************************************************************************
*Uart1_Init()
*初始化串口1的相关设置,设定串口的波特率等
***************************************************************/
void Uart1_Init(void)
{
AUXR=0X00; //改为定时器T0为12T工作模式注意工作模式的切换
SCON|=0X50; //允许接收
TL1=(65536-(Machine_Focs/4/BAUD));
TH1=(65536-(Machine_Focs/4/BAUD))>>8;
AUXR|=0X40;
RI=0;
TI=0;
TR1=1;
//使用定时器T0定时为1ms
TMOD=0x00;
IE=0xB2;//包括允许总中断,AD中断,T0中断,串口中断
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
TR0=1;//启动定时器T0
PS = 1 ; //串口1中断高优先级
}
/********************************************************************************************
*Uart1()
*串口1中断服务程序,只有当接收到数据时才应用串口中断,当发送数据时关闭串口中断
*/
void Uart1_fun() interrupt 4 using 1
{
if(RI==1)
{
RI=0;
if(c==b)
{
b=1;
return;
}
if((rec_flag==0)&&(SBUF==0x5A))
{
// IE=0x90;//测试
a=SBUF;
rec_flag++;
}
else if(rec_flag==1)
{
b=SBUF;
if(b==0x5A)
{
rec_flag=1;
a=0x5A;
return;
}
rec_flag++;
}
else if(rec_flag==2)
{
c=SBUF;
if(c==0x5A)
{
rec_flag=1;
a=0x5A;
return;
}
if(c!=a+b)
{
b=1;
}
rec_flag=0;
// IE=0xB2;
}
}
// if(RI==1)
// {
//
// RI=0;
//
//
// if(rec_flag==2)
// {
// c=SBUF;
// c=~c;
// if(c!=a+b)
// {
// b=1;
// }
// rec_flag=0;
// }
// if(rec_flag==1)
// {
// b=SBUF;
// rec_flag++;
// }
// if(SBUF==0x5A)
// {
// a=SBUF;
// rec_flag++;
// }
//
//
//
//
// }
}
/********************************************************************/
/*
延时函数
*/
void Delay(int n)
{
int y;
while(n--)
{
y=60;
while(y--);
}
}
//发送数据
void SendData(int byt)
{
SBUF=0;//缓冲区清零
SBUF=byt;
while(!TI);
TI=0;
}
//T0中断并且定时发送数据给上位机
void t0int() interrupt 1
{
if(i==b)
{
//TR0=0;
IE=0x00;//发送数据的时候所有关闭所有中断
SendDa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32581 2014-08-22 19:49 采集AD值显示波形图工程03\采集AD值显示波形图工程02\参考资料\测光和温度和电压.jpg
文件 65536 2014-08-22 21:40 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD串口传输说明.doc
文件 9226 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave
文件 5403 2014-08-24 01:19 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\ad_wave.c
文件 2131 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.hex
文件 46 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.lnp
文件 15054 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\ad_wave.LST
文件 14533 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.M51
文件 10984 2014-08-24 01:20 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\ad_wave.OBJ
文件 1674 2014-08-24 01:35 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.plg
....... 55728 2014-08-24 01:35 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.uvopt
文件 13473 2014-08-22 18:47 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave.uvproj
....... 55728 2014-08-24 01:35 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave_uvopt.bak
文件 13469 2014-08-22 18:45 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\AD_Wave_uvproj.bak
文件 9064 2014-03-29 12:51 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程\STC15F2K60S2.H
目录 0 2014-08-23 21:31 采集AD值显示波形图工程03\采集AD值显示波形图工程02\参考资料
目录 0 2014-08-24 01:35 采集AD值显示波形图工程03\采集AD值显示波形图工程02\采集AD值显示波形图工程
目录 0 2014-08-23 21:31 采集AD值显示波形图工程03\采集AD值显示波形图工程02
目录 0 2014-08-23 23:41 采集AD值显示波形图工程03
----------- --------- ---------- ----- ----
304630 19
- 上一篇:各大商家统一存储产品分析
- 下一篇:JADE开发多Agent系统.zip
相关资源
- 单片机音乐倒数定时器的设计
- STC15F
- 51单片机通信采样proteus仿真方波转化
- 51 单片机 红外避障小车 大集合136
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
评论
共有 条评论