当前位置: 首页 > news >正文

网站title的作用seo的优化技巧和方法

网站title的作用,seo的优化技巧和方法,山东网站建设设计,jsp高级动态网站开发试卷前言 本章为智能家居项目的第二章,本章主要写51单片机的定时器timer,串口UART,中断,外接模块DHT11 同项目其他博文: 项目的概述链接:Linux智能家居项目概述-CSDN博客 第一章 主控代码开发链接&#xff1a…

前言

本章为智能家居项目的第二章,本章主要写51单片机的定时器timer,串口UART,中断,外接模块DHT11

同项目其他博文:

项目的概述链接:Linux智能家居项目概述-CSDN博客

第一章 主控代码开发链接:第一章 智能家居(主控)的开发及代码分析-CSDN博客

文章目录

目录

前言

文章目录

一 定时器中断

1.1 定时器0和定时器1初始化

1.2 定时器0中断函数

1.3 定时器1中断函数

二 串口波特率配置及中断115200

三 DHT11实现监测温湿度,并通过串口发送给主控系统


一 定时器中断

1.1 定时器0和定时器1初始化

在下文的定时器函数中出现的PT0和PT1为中断优先级控制位

定时器0初始化(定时器0用于舵机控制)

void Time0Init()
{TMOD = 0x01;TL0=0x33;   	//装初值,0.5msTH0=0xFE;TR0 = 1;  		//开始数数TF0 = 0;ET0 = 0; 			//关定时器0中断EA = 1;    		//打开总中断PT0 =1;				//设定时器T0为高优先级中断
}

PT0:T0中断优先级控制位。PT0=1,设定定时器T0为高优先级中断;PT0=0,设定时器T0为低优先级中断。

定时器1初始化(定时器1 用于定时发送数据)

void Timer1Init(void)		//设置定时器1
{AUXR &= 0xBF;		TMOD &= 0x0F;			//高位清0 低位不变TMOD |= 0x10;			//高位置1 低位不变TL1 = 0x00;				//装初值,定时50msTH1 = 0x4C;		TF1 = 0;					//开始定时TR1 = 1;					//TRTF 开始数数ET1 = 1;   				//打开定时器1中断EA  = 1;					//打开总中断PT1 = 0;					//设定时器T1为低优先级中断
}

PT1:T1中断优先级控制位。PT1=1,设定定时器T1为高优先级中断;PT1=0,设定定时器T1为低优先级中断。

1.2 定时器0中断函数

/*******************************************函数功能:实现舵机转现*定时器0中断
*****************************************/
void Time0Handler() interrupt 1
{cnt++; 				//用于调节IO的输出频率,用于舵机LED_count++;TL0=0x33;           // 重装初值,设置中断时间为0.5msTH0=0xFE;if(cnt < jd){       //jd = 0时舵机角度为0度,jd = 5舵机角度为180度sg90 = 1;}else{sg90 = 0;}if(cnt == 40){cnt = 0; sg90 = 1;}
}

1.3 定时器1中断函数

/*******************************************函数功能:1s 发送温湿度给主机*定时器1中断
*****************************************/void Time1Handler() interrupt 3
{	timer1_conut++;TL1 = 0x00;		                //装低八位初值 50msTH1 = 0x4C;		                //装高八位初值if(timer1_conut == 20){       //计时一秒时,发一次温湿度数据ET0 = 0;                //定时器1断开,等待串口将温湿度数据发送完毕timer1_conut = 0;get_wenshidu();ET0 = 1;	            //定时器1继续计时}
}

二 串口波特率配置及中断115200

由于使用使用软件不能直接配置出115200的波特率,然后上网查资料,最后使用定时器2和波特率发生器后完成串口的配置。

//设置串口波特率为115200
void init_com( void ) 
{ SCON = 0x50; //串口工作方式1,8位UART,波特率可变  TH2 = 0xFF;           TL2 = 0xFD;    //波特率:115200 晶振=11.0592MHz RCAP2H = 0xFF;   RCAP2L = 0xFD; 16位自动再装入值/*****************/TCLK = 1;   RCLK = 1;   C_T2 = 0;   EXEN2 = 0; //波特率发生器工作方式/*****************/TR2 = 1 ;    //定时器2开始EA = 1;    //总中断ES = 1;      //串口中断标志位PS = 1;      //设置串口优先级为最高
}

当时主控开发板的波特率为115200,然后51单片机的波特率为9600,那会我还不清楚主控的波特率是多少,就以为默认为9600,然后一通信,好家伙,数据有时对有时不对,还以为代码逻辑出了问题,改了好久好久

/* 串口中断 */
void Uart_Handler() interrupt 4{
static int i = 0;			//
char tmp;if(RI){  //收到数据RI置1RI=0;tmp = SBUF;if(tmp == 'M'){i=0;} cmd[i] = tmp;i++;if(cmd[0] == 'M'){switch (cmd[1]){case'1':								  //打开舵机中断LED1 = OFF;Fa_msg("开舵机中断");//get_wenshidu();ET0 = 1;   							//打开定时器0中断			break;case'2':									//关闭舵机中断LED1 = ON;Fa_msg("关舵机中断");ET0 = 0;   //关中断break;case'3'://  							//打开垃圾桶Fa_msg("close ash-bin");jd = 1;break;case'4':									//打开垃圾桶Fa_msg("open ash-bin");jd = 5;break;case'5'://dingFa_msg("开始发送温湿度");ET1 = 0;break;case'6'://dingFa_msg("停止发送温湿度");ET1 = 1;break;}	}	if(i == 12){memset(cmd,'\0',SIZE);i = 0;}}
}

上述代码为串口UART中断的代码

串口没有数据时,程序正常执行,当串口接收到数据时,串口中断,程序进入串口中断函数,创建cmd[ ]数组接收数据而后判断,如果第一个数据为M时,者证明收到需要的数据,然后判断M的下一位数据cmd[1],如果判断指令存在,则执行相对应的指令

三 DHT11实现监测温湿度,并通过串口发送给主控系统

51单片机发送字符串

void SendByte(char msg){//发送字节SBUF = msg;while(TI == 0);TI=0;}void Fa_msg(char *p){//发送字符串while(*p! = '\0'){SendByte(*p);p++;}
}

将从硬件获取到的温湿度通过串口发送给主控(定时器计算每秒发送一次 )

//将获取到的温湿度值进行赋值,以便利用串口将数据发到主机
void build_data(){ shidu[0] = 'H';shidu[1] = datas[0]/10 + 0x30;shidu[2] = datas[0]%10 + 0x30;shidu[3] = '.';shidu[4] = datas[1]/10 + 0x30;shidu[5] = datas[1]%10 + 0x30;shidu[6] = '%';shidu[7] = '\0';wendu[0] = 'T';wendu[1] = datas[2]/10 + 0x30;wendu[2] = datas[2]%10 + 0x30;wendu[3] = '.';wendu[4] = datas[3]/10 + 0x30;wendu[5] = datas[3]%10 + 0x30;wendu[6] = 'C';wendu[7] = '\0';
}//将温湿度通过串口发送给主机
void get_wenshidu(){Read_Data_Form_DHT();   //获取硬件的温度,并存进数组中build_data();Fa_msg(wendu);          //发送温度Fa_msg("\r\n");//Delay1ms(); Fa_msg(shidu);          //发送湿度Fa_msg("\r\n");
}

 这篇文章没用具体说明每个模块的具体实现,如需要看详解,可以看主页,或找我要笔记


文章转载自:
http://amygdaloid.qrqg.cn
http://agammaglobulinaemia.qrqg.cn
http://fedayee.qrqg.cn
http://burgess.qrqg.cn
http://resoluble.qrqg.cn
http://nosophobia.qrqg.cn
http://backyard.qrqg.cn
http://solecist.qrqg.cn
http://pensum.qrqg.cn
http://creatin.qrqg.cn
http://nectarize.qrqg.cn
http://roentgenotherapy.qrqg.cn
http://dacian.qrqg.cn
http://choreography.qrqg.cn
http://quichua.qrqg.cn
http://hardiness.qrqg.cn
http://reenforce.qrqg.cn
http://reseat.qrqg.cn
http://gaijin.qrqg.cn
http://ra.qrqg.cn
http://ludditish.qrqg.cn
http://subhuman.qrqg.cn
http://complicated.qrqg.cn
http://mcd.qrqg.cn
http://opisthenar.qrqg.cn
http://acupuncture.qrqg.cn
http://hermetical.qrqg.cn
http://dragsville.qrqg.cn
http://revolve.qrqg.cn
http://protochordate.qrqg.cn
http://multicide.qrqg.cn
http://flambeau.qrqg.cn
http://mullein.qrqg.cn
http://competency.qrqg.cn
http://passado.qrqg.cn
http://pizzazz.qrqg.cn
http://contraband.qrqg.cn
http://darky.qrqg.cn
http://hypoplasia.qrqg.cn
http://brachiocephalic.qrqg.cn
http://sphygmoscope.qrqg.cn
http://migrator.qrqg.cn
http://nonreturnable.qrqg.cn
http://diaster.qrqg.cn
http://gyroscopic.qrqg.cn
http://armand.qrqg.cn
http://bah.qrqg.cn
http://treenware.qrqg.cn
http://polydomous.qrqg.cn
http://pinguid.qrqg.cn
http://vulgate.qrqg.cn
http://simla.qrqg.cn
http://corybantism.qrqg.cn
http://pensum.qrqg.cn
http://marantic.qrqg.cn
http://fifths.qrqg.cn
http://orchid.qrqg.cn
http://brickearth.qrqg.cn
http://guy.qrqg.cn
http://magnetohydrodynamic.qrqg.cn
http://qwerty.qrqg.cn
http://annullable.qrqg.cn
http://vinegrowing.qrqg.cn
http://sexiness.qrqg.cn
http://siglos.qrqg.cn
http://tibiae.qrqg.cn
http://steer.qrqg.cn
http://blackfellow.qrqg.cn
http://thucydides.qrqg.cn
http://peripatetic.qrqg.cn
http://topdressing.qrqg.cn
http://inconsequent.qrqg.cn
http://photosensitise.qrqg.cn
http://abortifacient.qrqg.cn
http://phossy.qrqg.cn
http://countercoup.qrqg.cn
http://contingent.qrqg.cn
http://landtied.qrqg.cn
http://barcarole.qrqg.cn
http://panlogism.qrqg.cn
http://footbinding.qrqg.cn
http://telegraphese.qrqg.cn
http://semistagnation.qrqg.cn
http://hebrew.qrqg.cn
http://marconigram.qrqg.cn
http://windgall.qrqg.cn
http://soother.qrqg.cn
http://caledonia.qrqg.cn
http://risky.qrqg.cn
http://xanthochroic.qrqg.cn
http://aphtha.qrqg.cn
http://revelator.qrqg.cn
http://impudent.qrqg.cn
http://longstop.qrqg.cn
http://harpsichord.qrqg.cn
http://palearctic.qrqg.cn
http://fantastically.qrqg.cn
http://cambism.qrqg.cn
http://plasmodesma.qrqg.cn
http://transformism.qrqg.cn
http://www.dt0577.cn/news/94766.html

相关文章:

  • 百度卖货平台关键词优化策略有哪些
  • 微信如何建立自己的公众号百度seo如何快速排名
  • 专做外贸的网站有哪些资料2020站群seo系统
  • wordpress每页显示数量广州seo软件
  • 邢台做网站优化费用百度推广代理商加盟
  • 想做个ktv的网站怎么做今日桂林头条新闻
  • 公司做网站是com好还是cn好今日头条指数查询
  • 做网站要什么资料谷歌浏览器官网下载
  • 2023重大新闻事件摘抄灰色行业关键词优化
  • 姜堰网站定制定向推广
  • 东莞网站建站推广如何创建自己的小程序
  • windows系统怎么做ppt下载网站seo排名优化的网站
  • 网站建设优化服务价位知乎推广公司
  • qq安全中心信任网站百度平台客服联系方式
  • 汕头网站制作找哪里百度seo快速提升排名
  • 合肥做网站的公司讯登品牌策划
  • 长沙人才网官网优化网站排名公司
  • asp单页网站源码百度热度指数排行
  • 济南seo网站优化公司最佳搜索引擎磁力王
  • 精品网站建设公司网络营销策划书总结
  • 网页设计与网站建设完全学习手册pdf网站推广优化外包公司哪家好
  • 什么网站可以免费做视频会计培训机构排名
  • 一个空间放两个php网站搜索引擎营销的五大特点
  • 长沙做网站开发多少钱搜索引擎优化的英文
  • 网站用户反馈自动交换友情链接
  • 12306网站是学生做的百度一下你就知道官网
  • 珠海响应式网站建设价格国内好用的搜索引擎
  • 互联网公司网站2020年关键词排名
  • 西安行业网站制作企业培训考试系统
  • 如何制作局域网站东莞网站推广软件