验证过的STC12C5A60S2单片机AD程序.doc
《验证过的STC12C5A60S2单片机AD程序.doc》由会员分享,可在线阅读,更多相关《验证过的STC12C5A60S2单片机AD程序.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/* 文件名:AD_CAIYANG.C* 功能:使用AD采集电压显示在LCD* 说明:转自网络,本人验证通过*/#include#define uint unsigned int#define uchar unsigned charsbit CS=P20; /LCD12864串行通信片选sbit SID=P21; /LCD12864串行通信数据口sbit SCLK=P22; /LCD12864串行通信同步时钟信号sbit PSB=P25; /LCD12864并/串选择:H并行 L串行 unsigned int temp1,sh1,ge1,n1,m1;unsigned char ad_resul
2、t_data10; /AD转换高八位unsigned char ad_result_low210; /AD转换低八位unsigned char ad_result_total10; /AD转换总十位unsigned char ad_average_result; /AD转换十次的平均值unsigned char Ain,Vin;unsigned char b,t,R;char tp=0;unsigned char code ma16=0xb5,0xe7,0xd1,0xb9,0xa1,0xc3; /电压:unsigned char code ma2=.;uchar code disp1=提示:
3、按1 键进入;uchar code disp2=功能选择界面. ;unsigned char code num0=0xa3,0xb0;unsigned char code num1=0xa3,0xb1;unsigned char code num2=0xa3,0xb2;unsigned char code num3=0xa3,0xb3;unsigned char code num4=0xa3,0xb4;unsigned char code num5=0xa3,0xb5;unsigned char code num6=0xa3,0xb6;unsigned char code num7=0xa3,
4、0xb7;unsigned char code num8=0xa3,0xb8;unsigned char code num9=0xa3,0xb9;/-模块延时程序- 1msvoid delay1ms(uint delay1ms) /STC11F60XE,22.1184M,延时1msuint i,j; for(;delay1ms0;delay1ms-) for(i=0;i7;i+) for(j=0;j0;delay-) for(i=0;i124;i+); for(j=0;j124;j+);/* AD转换程序*/void AD_initiate() /初始化函数 ES=0;TMOD=0x21; /
5、定时计数器方式控制寄存器,自动重装,16位计数器.SCON=0x50; /串行控制寄存器,方便在串口助手那观察TH1=0xfa;TL1=0xfa;TR1=1;void ADC_Power_On() /AD转换电ADC_CONTR|=0x80;delay(5); /必要的延时void get_ad_result() /取AD结果函数,它是十位AD转换,每十次平均,最后取低八位作为AD采样数据 uint i,q=0;for(i=0;i4;/-电压采样程序-void caiyangP10() /测电压P1M0|=0x01; /设P1_0为开漏模式 如: P1_0= #00000000BP1M1|=0
6、x01;ADC_CONTR=0xe0; /设置P1.0为输入AD转换口delay(2);get_ad_result(); /取转换数据Vin=ad_average_result;R=Vin;/*-写控制字到LCD12864-*/void write_cmd(uchar cmd)uchar i;uchar i_data;i_data=0xf8; /命令控制字:11111000写指令 11111010写数据 11111100读状态 11111110读数据CS=1; /片选置高,才能进行读写操作SCLK=0;/*-写命令控制字-*/for(i=0;i8;i+) /循环八次,每次读取一位数据 SID=
7、(bit)(i_data&0x80); /bit表示取其最高位 SCLK=0; SCLK=1; /正跳变写入指令 i_data=i_data1; /左移一位 /*-*/*-写指令高四位-*/i_data=cmd;i_data=i_data&0xf0; /把低四位置0for(i=0;i8;i+) /循环八次,每次读取一位数据 SID=(bit)(i_data&0x80); /bit表示取其最高位 SCLK=0; SCLK=1; /正跳变写入指令 i_data=i_data1; /左移一位 /*-*/*-写指令低四位-*/i_data=cmd;i_data=i_data4; /左移四位,把低四位的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 验证 STC12C5A60S2 单片机 AD 程序
限制150内