完整项目程序.doc

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

完整项目程序 #define uint unsigned int #define uchar unsigned char #define DUAN P0 //头函数 #include reg52.h uchar code ssw[]= { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }; uchar code wei[]= { 0xfe,0xfd,0xfb,0xf7 }; uchar pdata tt[51]; //定义空数组用于AD0809取平均值 uchar scale=20,rsd_sec,put[4]; //定义占空比比例,热释电计时秒变量 char min,sec; //定义计时分秒 bit bdata flag_auto,ss,flag_bs,flag_rsd,flag_jiejin=1; //位定义自动切换的,闪烁标志,报警位标志,热释电动作标志,接近传感器标志 uchar flag_set=0,time; //设置变量:0 正常 1 调分 2 调秒 uint lum; bit beep1; //ad0809读出值 //函数声明 void delay(uchar i); //管脚声明 sbit LED = P3^5; //灯光控制输出 sbit change= P1^4; //自动模式切换按键 sbit set = P1^5; //设置按键 sbit add = P1^6; //加按键 sbit sub = P1^7; //减按键 sbit rsd = P3^6; //热释电 sbit jiejin=P3^4; //接近开关 sbit buzz=P3^7; sbit led_1=P3^2; sbit led_2=P3^3; sbit CS=P1^2; sbit CLK=P1^0; sbit DIO=P1^1; void display() { uchar i; if(flag_set==1ss==0) { put[0]=0xff; put[1]=0xff0x7f; }else { put[0]=ssw[min/10%10]; put[1]=ssw[min%10]0x7f; } if(flag_set==2ss==0) { put[2]=0xff; put[3]=0xff; }else { put[2]=ssw[sec/10%10]; put[3]=ssw[sec%10]; } for(i=0;i4;i++) { P2=wei[i]; P0=put[i]; delay(1); P0=0xff; } } unsigned int A_D() { unsigned char i,dat; CS=1; //一个转换周期开始 CLK=0; //为第一个脉冲作准备 CS=0; //CS置0,片选有效 DIO=1; //DIO置1,规定的起始信号 CLK=1; //第一个脉冲 CLK=0; //第一个脉冲的下降沿,此前DIO必须是高电平 DIO=1; //DIO置1, 通道选择信号 CLK=1; //第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道CH0 CLK=0; //第二个脉冲下降沿 DIO=0; //DI置0,选择通道0 CLK=1; //第三个脉冲 CLK=0; //第三个脉冲下降沿 DIO=1; //第三个脉冲下沉之后,输入端DIO失去作用,应置1 CLK=1; //第四个脉冲 for(i=0;i8;i++) //高位在前 { CLK=1; //第四个脉冲 CLK=0; dat=1; //将下面储存的低位数据向右移 dat|=(unsigned char)DIO; //将输出数据DIO通过或运算储存在dat最低位 } CS=1; //片选无效 return dat; //将读出的数据返回 } /*****************按键函数*****************/ void KEY() { uint lum_mean,lum_all; uchar b,c; if(change==0)

文档评论(0)

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

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

1亿VIP精品文档

相关文档