网站大量收购独家精品文档,联系QQ:2885784924

单片机智能灯光控制系统程序(湖南省第九界挑战杯源程序).doc

单片机智能灯光控制系统程序(湖南省第九界挑战杯源程序).doc

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

#includeSTC12C5410AD.h #include intrins.h #includeabsacc.h #includemath.h #define uint unsigned int #define uchar unsigned char sfr ADC_RES = 0xC6; //ADC high 8-bit result register #define ADC_POWER 0x80 //ADC power control bit #define ADC_FLAG 0x10 //ADC complete flag #define ADC_START 0x08 //ADC start control bit #define ADC_SPEEDLL 0x00 //420 clocks #define ADC_SPEEDL 0x20 //280 clocks #define ADC_SPEEDH 0x40 //140 clocks #define ADC_SPEEDHH 0x60 sbit f4=P2^1; sbit f3=P2^0; sbit f2=P1^7; sbit f1=P1^6; bit set5=0,set6=0; bit set_on=0,set_off=0,set_bit=0; sbit j0=P2^4; sbit j1=P2^5; sbit j2=P2^6; sbit j3=P2^7; sbit led1=P1^4; sbit led2=P1^3; sbit led3=P1^1; sbit led4=P1^2; bit t0_bit=0;auto_bit=0; uchar light=0,light1=0; uint t0_count=0; void control(); void safe(); //机器运行 void InitADC(); //ADC转换初始化 uchar GetADCResult(uchar ch); //取ADC转换初值 uint get_adc(uchar ch); //取ADC转换数据10位 void delay(uint i); //延时1MS uint sum0,sum=0,sum_m=0,sum_n=0; uchar time_num=0; void delay(uint i) { uint a,b; for(a=0;ai;a++) for(b=0;b40;b++); } void t1() interrupt 3 { TH1=0Xbe;TL1=0xe5; sum0=get_adc(0); sum0=sum0*48/1000; sum_m=sum0; if(abs(sum_m-sum_n)=5) { sum_n=sum_m; if(sum_n10) light=4; else if(sum_n20) light=1; else if(sum_n28) light=2; else if(sum_n40) light=3; else light=3; } } void t0 () interrupt 1 { TH0=0x3c;TL0=0xb0; if(t0_bit) t0_count++; else t0_count=0; ////////////////计时/////////////////////// } void main() { P2M0=0xf0;P2M1=0x03; P1M0=0x01;P1M1=0xff; TMOD=0x11; TH0=0x3c;TL0=0xb0; TH1=0Xbe;TL1=0Xe5; EA=1;ET1=1;TR1=1;ET0=1;TR0=1; InitADC(); delay(100); f1=0;f2=0;f3=0;f4=0; led1=0;led2=0;led3=0;led4=0; set5=0;set6=0;auto_bit=0;t0_bit=0; set_on=0;set_off=1; while(1) { control(); safe(); } } void control() { ////////////继电器闭合、断开///////

文档评论(0)

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

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

1亿VIP精品文档

相关文档