已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #include/*-*/ #define uint unsigned int#define uchar unsigned char#define ADCOM XBYTE 0x4000/*AD574启动地址*/#define ADHI XBYTE 0x4002/*AD574高8位地址*/#define ADLO XBYTE 0x4003/*AD574低4位地址*/uchar code slave_addr4=00, 01, 02, 255; /*从机地址*/*-*/void ini_ad(void); /*初始化硬件函数*/void average_send(void); /*求均值与发送函数*/void check_addr(void); /*地址核对*/*-*/uint * data_ad_ori_pt; /*数据保存指针*/uint data_ad_ori16;/*-*/uchar bdata sample_s, test_s0, test_s1;/*test_s0, test_s1可以不用,是测试位*/sbit sample_permit=sample_s0;sbit average_permit=sample_s1;sbit address_true=sample_s2;sbit empty_pin=sample_s3;sbit cmd_in_permit=sample_s4; /*允许主机命令输入标志位*/sbit test_bit1=sample_s5;/*P1.0、P1.1、P1.2在硬件上已经作AD输入线选择口*/sbit P1_3=P13;/*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/sbit P3_4=P34;/*测试位,可选*/sbit WD=P17; /*看门狗*/uchar data j,k,data_avr_no;uchar key_in, done_no;/*done_no为用到*/uint sample_no,AD_finished_no;/*其实可以用uchar格式,记录采样次数和AD完成次数*/main() P1=0xf9;/*采样通道设置为1通道*/WD=1; /*看门狗先为1,电平翻转为喂狗*/test_s0=0;test_s1=0;data_ad_ori_pt=data_ad_ori; /*指针指向数组*/sample_s=0; /*有点定义重复的意思?*/sample_permit=0; /*不允许采样标志*/average_permit=0; /*不允许求均值标志*/address_true=0;empty_pin=0;cmd_in_permit=0;test_bit1=0;P1_3=1;/*开机时需要关断,串口发送功能,需要时再接通*/P3_4=0;done_no=0;sample_no=1; /*需要采样的次数*/AD_finished_no=0; /*AD完成采样的次数*/data_avr_no=0;j=0;k=0;for(j=0;j=15;j+)data_ad_orij=0x00;data_ad_ori0=0x00; /*这一步有些重复*/j=0;ini_ad();doif(address_true=1) address_true=0;check_addr();while(sample_permit=1)if(average_permit=1)average_send();if (AD_finished_no=sample_no) AD_finished_no=0;sample_permit=0; /*完成数据传送后,才恢复为恢复为多机模式,SM2=1*/SM2=1;data_ad_ori_pt=data_ad_ori;average_permit=0;else if(average_permit!=1) /这里有问题?ADCOM=0; WD=!WD; /*MAX813喂狗*/ while(1);void interserial (void) interrupt 4 using 2 /*串口0中断服务子程序*/ key_in=0;if(RI) key_in=SBUF; RI=0;if (SM2=1) /*SM2=1,必须有RB8=1串口才中断*/ /*SM2=1,为多机模式, 接收主机地址*/ /*接收到的字节为地址*/ /*接收的地址与本机地址比较,判断是否一致*/if(key_in=slave_addr0) /*确认地址完毕,设置SM2=0,进入单机模式*/SM2=0;address_true=1;if (SM2=0)& (RB8=0)/*SM2=0,RB8=1或RB8=0串口都中断*/*SM2=0,为单机模式, 接收主机数据*/*接收到的字节为数据*/*接收主机指令完毕,必须在从机完成任务后,才恢复为多机模式,设置SM2=1*/if(key_in=0xff)SM2=1; /*接收主机命令,使从机设置为多机模式*/if (key_in=0xfe) /*接收主机命令,使从机开始采样*/cmd_in_permit=1;if (cmd_in_permit=1)&(key_in=0xde) /*接收主机命令,使从机开始采样*/cmd_in_permit=0; sample_permit=1; WD=!WD; /*MAX813喂狗*/void interint0(void) interrupt 0 using 1 /*外部中断0服务子程序*/ uint ad_hl,k0; ad_hl=(uint)(ADHI4);*data_ad_ori_pt=(ad_hl&0x0fff);data_ad_ori_pt+;for(k0=0;k0=100;k0+) _nop_(); /*定义采样时间间隔?微秒*/data_avr_no+;if(data_avr_no=11)data_avr_no=0;average_permit=1;WD=!WD; /*MAX813喂狗*/ void average_send(void) uchar j1,average_no, i;uint ad_hl,ad_h,ad_l, avg, sum;uint *pt3;average_no=10; /*需要平均的AD采样数据个数*/sum=0;for(j1=1;j18);ad_l=(uchar)(avg&0x00ff);test_s0=ad_h;test_s1=ad_l;pt3=data_ad_ori;P1_3=0;for(i=0;i=20;i+) _nop_(); SBUF=ad_h;do while(TI=0); TI=0;SBUF=ad_l;do while(TI=0); TI=0;P1_3=1;for(i=0;i=20;i+) _nop_(); AD_finished_no+;WD=!WD; /*MAX813喂狗*/void check_addr(void) uchar i=0;P1_3=0;for(i=0;i=20;i+) _nop_(); SBUF=slave_addr0;/*发送地址核对成功,发送从机地址给主机*/do while(TI=0); TI=0;P1_3=1;for(i=0;i=20;i+) _nop_(); WD=!WD; /*MAX813喂狗*/void ini_ad(void) TMOD = 0x21;/*T0设定为方式1,16位;T1设定为方式2,8位,常数自动装入*/TH1=0xfd;/*TH1 用于设置波特率, 9.6kB/s*/TL1=0xfd;/*TL1 用于设置波特率, 9.6kB/s*/PCON=0x00;/*波特率不加倍*/SCON = 0xd0; /*SCON 工作方式3, 允许发送*/SM2=1;/*多机通信, 发送第9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊创伤患者的快速评估与急救配合
- 2026年医院古乐器馆合作合同
- 四川省外国语学校2026届高一上数学期末联考试题含解析
- 四川中医药高等专科学校《SPSS软件运用》2024-2025学年第一学期期末试卷
- 四川省彭州市彭州中学2025-2026学年化学高一第一学期期中质量检测模拟试题含解析
- 长春医学高等专科学校《传感器实验》2024-2025学年第一学期期末试卷
- 山西省新绛县第二中学2025-2026学年高二上生物期末统考模拟试题含解析
- 乌兰察布市重点中学2026届化学高一上期中学业质量监测试题含解析
- 青光眼术后无前房护理全攻略
- 循证护理实践:问题提出与证据检索
- 寺庙修缮工程协议书
- YY/T 1994-2025采用机器人技术的血管介入手术控制系统
- 物流行业仓储管理岗位货物调度效率考核表
- 5.2 少年当自强 教案 2024-2025学年统编版道德与法治九年级下册
- 2025年第十一届《中金所杯全国大学生金融知识大赛》复赛题库附答案
- 酿造酒工艺与品鉴培训
- 【普通高中地理课程标准】日常修订版-(2017年版2025年修订)
- 学堂在线 唐宋词鉴赏 期末考试答案
- DB44∕T 1455-2014 气凝胶绝热材料
- 统编版二年级语文上册课文2 写话 :自己喜欢的玩具课件(27页)
- 浅谈华联超市人力资源管理现状及对策
评论
0/150
提交评论