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

西安网站托管维护建设申请网站首页

西安网站托管维护,建设申请网站首页,免费的ps软件,网站区域名是什么意思TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…

在这里插入图片描述
在这里插入图片描述

TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态
TF1:定时器1溢出标志
TF0:定时器0溢出标志

0~65535 每隔1微秒计数器+1,总时间65535微秒,赋上初值64535,则只有1000微秒即1毫秒

第一步:编写Timer_Init()

首先配置TMOD
在这里插入图片描述
所以初始化TMOD = 0x01; //0000 0001
整体操作:TMOD = TMOD & 0xF0; //低四位清零,高四位不变
TMOD = TMOD | 0x01; //最低位置1,其他位不变

接下来配置TCON
在这里插入图片描述
TF0 = 0;
TR0 = 1;

还要配置TH0和TL0
用64535,存在这两个盒子里,盒子最大只能存八字节也就是256,所以
TH0 = 64535 / 256;
TL0 = 64535 % 256;

最后配置中断系统
在这里插入图片描述
要打开的开关置1
ET0 = 1;
EA = 1;
PT0 = 0;

来看看代码

#include <REGX52.H>void Timer0_Init(void)		//1毫秒@11.0592MHz
{TMOD &= 0xF0;		//设置定时器模式TMOD |= 0x01;		//设置定时器模式TL0 = 0x66;		//设置定时初值TH0 = 0xFC;		//设置定时初值TF0 = 0;		//清除TF0标志TR0 = 1;		//定时器0开始计时//中断系统ET0 = 1;EA = 1;PT0 = 0;
}void main()
{Timer0_Init();while(1){}
}unsigned int T0Count;
void Timer0_Routine() interrupt 1
{TL0 = 0x66;		//设置定时初值TH0 = 0xFC;		//设置定时初值T0Count ++;if(T0Count >= 1000){T0Count = 0;P2_0 = ~P2_0;}
}

接下来把定时器模块化
创建Timer0头文件和.c文件存放Timer0_Init()
中断函数保留在主函数中,根据不同的需要进行修改
然后把T0Count 改为静态局部变量,使之生命周期与文件相同,否则执行完一次之后会被初始化

利用按键控制流水灯流动方向的主函数代码:
Key函数读取按键,按一次改变一次流水方向,每500毫秒中断一次,判断流水模式进行移位
crol 是循环左移函数 , _cror_是循环右移函数,需要INTRINS.H头文件

#include <REGX52.H>
#include <INTRINS.H>
#include "Timer0.h"
#include "Key.h"unsigned char KeyNum, LEDMode;void main()
{P2 = 0xFE; // 1111 1110 点亮最后一位,然后利用循环移位函数_crol_ 和_cror_Timer0_Init();while(1){KeyNum = Key();if(KeyNum){if(KeyNum == 1){LEDMode ++;if(LEDMode >= 2) LEDMode = 0;}}}
}void Timer0_Routine() interrupt 1
{static unsigned int T0Count;TL0 = 0x66;		//设置定时初值TH0 = 0xFC;		//设置定时初值T0Count ++;if(T0Count >= 500) //每500毫秒移位一次,LEDMode决定方向{T0Count = 0;if(LEDMode == 0) P2 = _crol_(P2, 1);if(LEDMode == 1) P2 = _cror_(P2, 1);}
}

而定时器时钟只需要在此基础上进行修改,利用之前模块化好的LCD1602模块和Timer0模块,下面给出主函数:

#include <REGX52.H>
#include "LCD1602.h"
#include "Timer0.h"
#include "Delay.h"unsigned int Sec, Min, Hour;void main()
{LCD_Init();Timer0_Init();LCD_ShowString(1, 1, "Clock:");LCD_ShowString(2, 1, "  :  :");while(1){LCD_ShowNum(2, 1, Hour, 2);LCD_ShowNum(2, 4, Min, 2);LCD_ShowNum(2, 7, Sec, 2);}
}void Timer0_Routine() interrupt 1
{static unsigned int T0Count;TL0 = 0x66;		//设置定时初值TH0 = 0xFC;		//设置定时初值T0Count ++;if(T0Count >= 1000){T0Count = 0;Sec ++;if(Sec >= 60) Sec = 0, Min ++;if(Min >= 60) Min = 0, Hour ++;if(Hour >= 24) Hour = 0;}
}

在这里插入图片描述

http://www.yayakq.cn/news/342320/

相关文章:

  • 网站建设到一半想换一家wordpress查看购物车不管用
  • 建站wordpress好看的手机端网站开发页面
  • 聊城专业网站开发公司多店铺商城系统开发
  • 建设工程安全管理中心网站展馆展示设计公司哪家好一点
  • 口碑好的合肥网站建设网站做权重的好处
  • 企业网站推广方案一个网站按钮怎么做
  • 百度关键词网站怎么做临安规划建设局网站
  • 蒙牛官网网站怎么做的成都十大营销策划公司
  • 寻找客户资源的网站毕节网站建设与对策分析
  • 网站导航条图片素材怎么制作自己的二维码
  • 国家住房和城乡建设厅网站建设工程网站168
  • wordpress 双栏主题泉州做网站优化价格
  • 楚雄建网站有做兼职的网站吗
  • wordpress 做手机站wordpress添加会员登录页面
  • 网站推广计划怎么做网站管理系统后台
  • 甘肃公司网站建设哪家好网站制作计划
  • 网站百度流量怎么做好看的网站 你知道的2021
  • 做整合营销的网站为什么局域网做网站
  • 怎么做国内网站吗小白学做网站买什么书
  • 长沙本地网站推广内蒙古企业网站制作
  • 网站核心词如何做视频剪辑线下培训班
  • 网站建设关键字优化自己做免费网站难吗
  • 泡沫制品技术支持东莞网站建设红酒 公司 网站建设
  • 建筑资料免费下载网站铜陵网站建设价格
  • 浙江省建设厅网站在哪里如何将微信和企业网站同步
  • 微信小程序平台设计成都网站排名 生客seo
  • 墨子学院网站建设vip课程网站是com好点还是cn
  • 商户网站建设培训平台网站
  • 网站排版设布局中国建筑装饰网型号填什么
  • 教育行业网站建设重庆网站建设排名