/**************************************************************************************** * * 文件名: main.c * 项目名: s1006 * 版 本: v1.0 * 日 期: 2016年05月24日 11时30分18秒 * 作 者: Administrator * ****************************************************************************************/ #include<KF8F210.h> #define uchar unsigned char #define uint unsigned int void Delay_200us() { uchar i = 240; while(--i); } //;*************************************************************** //; 函 数 名:void Delay50Us() //;功能函数:延时函数,50us //;入口参数:无 //;返回参数:无 //;*************************************************************** void Delay50Us() { char cnt ; cnt = 30; while(cnt--); } /***************************************************** * 函数名称:initFun() * 函数功能:运放校正使能 * 输入: 无 * 输出: 无 * * ***************************************************** */ void OP_fun() { unsigned char first_back_up,i,val_AMPCALI; AMP2ON =1; Delay50Us(); Delay50Us(); CALIEN =1; Delay50Us(); Delay50Us(); first_back_up = AMPCTL & 0x80; val_AMPCALI = first_back_up; //保存第一次的值,用于以后判断的标准 for(i=0;i<64;i++) { AMPCALI=val_AMPCALI; Delay50Us(); Delay50Us(); Delay50Us(); if(first_back_up !=(AMPCTL & 0x80)) { CALIEN = 0; //关闭自校准使能,运放2可以进行采样,运放2已经使能,不需要重新打开 return; } val_AMPCALI++; } CALIEN = 0; } void initallFun() { OSCCTL =0X70; TR0 = 0b00001011; TR1 = 0b10000100; TR2 = 0b11110000; P0 = 0B00100000; P1 = 0B00000000; P2 = 0B00000000; ANSEL = 0b01100000; ANSEH = 0b00001111; } void DelayMs (uint Num) { uint cnt; while(Num--) { cnt=2000; while(cnt--); } } //主函数 void main() { initallFun(); DelayMs(50); OP_fun(); while(1); } //中断函数 void int_fun() __interrupt { }
收藏0 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
60
376
2
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号