STC12C5A60S2可控恒流源设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STC12C5A60S2可控恒流源设计

/**********************STC12C5A60S2可控恒流源设计************* FileName:ConstCurrent.c Author:沧海麒麟 Date:2011.05.20 Version :1.1 Description:STC12C5A60S2可控恒流源设计 Function:(1)::STC12C5A60S2单片机控制恒流60~250mA电流输出*/ #include STC12C5A.h #include intrins.h #include string.h #include math.h //#include ADC.h //#include LCM1602.h //#include KEY.h //#include absacc.h //#include DAC0832.h //#include EEPROM.h #define uint unsigned int #define uchar unsigned char sbit RS = P1^0; sbit RW = P1^1; sbit E = P1^2; sbit speak = P1^3; #define Data P2 //1602数据端口 #define DAC0832_Port P0 //DAC0832数据端口 #define shift 1 #define Add_Bai 2 #define Add_Shi 3 #define Add_Ge 4 //编码的按键值 uint SET_mA=60,ADC; //SET电流 uchar Bai=0,Shi=6,Ge=0; uchar wangxue0[]=***2011.05.20***; uchar wangxue1[]=***************; uchar wangxue2[]=SET_I:000 MA ; /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay_nms(uint n) { uint x,y; for(x=0;xn;x++) for(y=0;y1000;y++); } /*---------------------------- Initial ADC sfr ----------------------------*/ void InitADC(void) { P1ASF = 0x80; //Open P1.7 channels ADC function ADC_RES = 0; //Clear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDH; delay_nms(5); //ADC power-on and delay } /*---------------------------- Get ADC result ----------------------------*/ uchar GetADCResult(void) { ADC_CONTR = ADC_POWER | ADC_SPEEDH | 0x07 | ADC_START; _nop_(); _nop_();//Must wait before inquiry _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); while (!(ADC_CONTR ADC_FLAG)); //Wait complete flag ADC_CONTR = ~ADC_FLAG; //Close ADC return ADC_RES; //Return ADC result } /*液晶测忙:读取最高位的状态。忙碌为1,不忙为0*/ void Lcd_Busy(void) { RS=0; RW=1; E=1; _nop_();_nop_(); _nop_();_nop_(); while(Data0x80); E=0; } /******************************************************************/ /* 写入命令函数

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档