云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的甲醛检测仪论文

基于单片机的甲醛检测仪论文

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 18:46:44

hz_disp16(1,32,1,xing);?? //星//期// 2// 0// 年//时

CS2=0;CS1=1; // 右屏

hz_disp16(3,0,1,yue);?? //月//日//分//秒 }

/*----------------时钟部分-------------------------------*/ /*----------------函数:写入字节子函数-----------*/ void InputByte(unsigned char dat) {

unsigned char i; ACC = dat;

for(i=8; i>0; i--) {

IO = ACC0;

CLK = 1; //下降沿写入数据// CLK = 0;

ACC = ACC >> 1; } }

/*----------------函数:读出字节子函数-----------*/ OutputByte(void) //上升沿读出数据// ??

/*----------------函数:设置初始时间-------------------*/ void SetTime(unsigned char *pSecDa) { ??

WriteTo1302(0x8e,0x00); // 控制命令,WP=0,写操作 //

52

for(i =7;i>0;i--) {

WriteTo1302(Addr,*pSecDa); // 秒 分 时 日 月 星期 年 // pSecDa++; Addr +=2; }

WriteTo1302(0x8e,0x80); // 控制命令,WP=1,写保护 // } /*----------------函数:读取DS1302当前时间-------------------*/ void GetTime(void) { ??

for (i=0;i<7;i++)

{ Curtime[i] = ReadFrom1302(Addr); Addr += 2; }

sec = Curtime[0];?? //Min//hour //day //date //month //year }

/*----------------函数:初始化定时器T0子函数-------------------*/ void Init_T0(void) {

TMOD=0x01; //定时器T0,工作模式1// TH0=0x3c; //50ms// ?? }

/*----------------函数:产生闪烁信号子函数------------------------*/ void T0_flash(void) interrupt 1 // 中断程序,产生时钟秒信号 // /*----------------函数:时间闪烁子函数----------------------------*/ /*----------------功能:选择确定闪烁位等待调整--------- -----*/ void FlashKey(void) //闪烁子函数// void Add(void) //调时子函数// void Init_Clock(void) //时钟初始化子函数//

53

void Refresh(void) //刷新显示子函数// void Add(void) //调时子函数// {

if(P1_2==0) //按P0_2键进行时间调整// {

while(P1_2==0) Refresh();

if(KT==1) //检验可调标志位KT// { hms++; switch(n)

{case 1:year=hms;break; //根据n不同,返回给不同的位:n=1 -> 返回给小时位// ??}

if((sec&0x0f)==0x0a) {sec&=0xf0; sec+=0x10;} // 如果秒位满十,向十秒位进一 ??

if(day==8) {day=1;} // 如果星期满七,重新从星期一开始计 //

if((sec&0xf0)==0x60) {sec&=0x0f;} // 如果十秒位满六,清零 //

if(((date&0xf0)==0x30)&((date&0x0f)==0x02)) {date&=0x00;}

if(((month&0xf0)==0x10)&((month&0x0f)==0x03)) {month&=0x00;} if((year&0xf0)==0xa0) {year&=0x0f;}

Curtime[0] = sec; Curtime[1] = min; ??

SetTime(&Curtime[0]); // 将调整过后的时间值写入DS1302 // }

54

/

*-------------------------时

----------------------------*/ void Init_Clock(void) {

K1=1; K2=1; K3=1; K4=1; K5=1; K6=1; K7=1; KT=0; n=0; Init_T0(); }

/*--------------------------

--------------------------*/ void Refresh(void) {

GetTime(); CS1=1;CS2=0; if(K6)

{ sz_disp16(5,40,1,shuzi[sec&0x0f]); // 秒位 // sz_disp16(5,32,1,shuzi[sec>>4]); } // 十秒位 // else

{ hz_disp16(5,32,1,kongbai2); } // 秒位 十秒位 // if(K5)

{ sz_disp16(5,8,1,shuzi[min&0x0f]); // 分钟位 // sz_disp16(5,0,1,shuzi[min>>4]); } // 十分位 // else

{ hz_disp16(5,0,1,kongbai2); } /*-----------------------------状态判断于提------------------------*/ void State(void) {CS1=1;CS2=0; if(KT==1)

55

搜索更多关于: 基于单片机的甲醛检测仪论文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

hz_disp16(1,32,1,xing);?? //星//期// 2// 0// 年//时 CS2=0;CS1=1; // 右屏 hz_disp16(3,0,1,yue);?? //月//日//分//秒 } /*----------------时钟部分-------------------------------*/ /*----------------函数:写入字节子函数-----------*/ void InputByte(unsigned char dat) { unsigned char i; ACC = dat; for(i=8; i>0; i--) { IO = ACC0;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com