完整的单片机AD采样程序.doc

完整的单片机AD采样程序.doc

ID:52680086

大小:42.00 KB

页数:6页

时间:2020-03-29

完整的单片机AD采样程序.doc_第1页
完整的单片机AD采样程序.doc_第2页
完整的单片机AD采样程序.doc_第3页
完整的单片机AD采样程序.doc_第4页
完整的单片机AD采样程序.doc_第5页
资源描述:

《完整的单片机AD采样程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include#include/*-----------------------------------------------------*/#defineuintunsignedint#defineucharunsignedchar#defineADCOMXBYTE[0x4000]/*AD574启动地址*/#defineADHIXBYTE[0x4002]/*AD574高8位地址*/#defineADLOXBYTE[0x4003]/*AD

2、574低4位地址*/ucharcodeslave_addr[4]={00,01,02,255};/*从机地址*//*-----------------------------------------------------*/voidini_ad(void);/*初始化硬件函数*/voidaverage_send(void);/*求均值与发送函数*/voidcheck_addr(void);/*地址核对*//*-----------------------------------------------------*

3、/uint*data_ad_ori_pt;/*数据保存指针*/uintdata_ad_ori[16];/*-----------------------------------------------------*/ucharbdatasample_s,test_s0,test_s1;/*test_s0,test_s1可以不用,是测试位*/sbitsample_permit=sample_s^0;sbitaverage_permit=sample_s^1;sbitaddress_true=sample_s^2;sbi

4、tempty_pin=sample_s^3;sbitcmd_in_permit=sample_s^4;/*允许主机命令输入标志位*/sbittest_bit1=sample_s^5;/*P1.0、P1.1、P1.2在硬件上已经作AD输入线选择口*/sbitP1_3=P1^3;/*作串口输出信号的使能口,P1_0=0时接通串口,输出信号*/sbitP3_4=P3^4;/*测试位,可选*/sbitWD=P1^7;/*看门狗*/uchardataj,k,data_avr_no;ucharkey_in,done_no;/*d

5、one_no为用到*/uintsample_no,AD_finished_no;/*其实可以用uchar格式,记录采样次数和AD完成次数*/main()6{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;/*不允许求均值标志*/

6、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_ori[j]=0x00;}data_ad_ori[0]=0x00;/*这一步有些重复*/j=0;ini_ad(

7、);do{if(address_true==1){address_true=0;check_addr();}while(sample_permit==1){if(average_permit==1){average_send();6if(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;}e

8、lse{if(average_permit!=1){//这里有问题?ADCOM=0;}}}WD=!WD;/*MAX813喂狗*/}while(1);}voidinterserial(void)interrupt4using2/*串口0中断服务子程序*/{key_in=0;if(RI){key_in=SBUF;RI=0;if(SM2==1){/*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。