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

教育公司网站建设文案韩城建设公司网站

教育公司网站建设文案,韩城建设公司网站,南昌网站开发公司电话,室内设计师工作内容1、本实验内容 利用51单片机的定时/计数器T0的模式1实现间隔定时,每隔1秒L1指示灯闪烁一下,也就是点亮0.5秒,熄灭0.5秒;每隔2秒L8指示灯闪烁一下,即点亮1秒,熄灭1秒。2、基础知识 定时/计数器,是…

1、本实验内容

利用51单片机的定时/计数器T0模式1实现间隔定时,每隔1L1指示灯闪烁一下,也就是点亮0.5秒,熄灭0.5秒;每隔2L8指示灯闪烁一下,即点亮1秒,熄灭1秒。

 2、基础知识

        定时/计数器,是一种能够队内部时钟信号或者外部输入信号进行计数,当计数值到达设定值时,向cpu发出中断处理请求,从而实现定时或者计数功能的外设。

        作为定时器:计数信号的来源选择周期性的内部时钟信号脉冲。

        作为计数器:计数信号来源选择非周期性的外部输入信号。

        51单片机有两个定时/计数器T和T1,为16位加法计数器,由低8位TLx和高8位THx两个寄存器组成,最大计数值为65535个计数脉冲。
        该加1计数器的计数脉冲来源有2个:

                        <1> 系统时钟振荡器输出的12分频。
                        <2>TO或T1引脚输入的外部脉冲信号。
        每接收到一个计数脉冲,计数器就会加1,当计数值累计至全为1时 (8位255,13位8191,16位65535),再输入一个D计数脉冲。计数器便会溢出回零,并且计数器的溢出是TCON寄存器的TFO或TF1位置1。同时向内核提出中断请求。如果定时/计数器工作于定时模式,则表示间隔定时时间到,如果工作与计教模式,则表示计新值已满。

        假设单片机的外部晶振为12MHZ,那么,经过12分频后输入计数器的计数脉冲为1MHZ,即每个脉冲的周期为1us。因此定时器TO的16位工作模式最大的定时时间为65535us,65.5ms。如果要定时10ms的话,计数器就不能够从0开始计数了,必须给它一个计数初值。怎么计算这个初值呢?

例如:要定时10ms,则相当于计数10000个脉冲后计数器的值就到达65535了,那么开始计数的这个地方就是计数初值
                65535 - 10000 = 55535 = 0xd8ef
        把这个计算得到的初值写入THO和TLO寄存器即可:
        TH0= 0xd8;或者 TH0 = (65535 - 10000) / 256;
        TL0 = 0xef; 或者 TL0 = (65535 - 10000) % 256

3、编程思路

在定时/计数器的程序设计中,通常有两个函数: 初始化函数中断服务函数

初始化函数中,一般需要进行以下几个配置:
        <1>配置工作模式,即对TMOD寄存器编程。
        <2>计算技术初值,即对THx和TLx寄存器进行赋值。
        <3>使能定时/计数器中断,即ET0或ET1置1。
        <4> 打开总中断,即EA =1。
        <5>启动定时器,即TRO或TR1置1。
中断服务函数中,一般需要进行以下的编程:
        <1>如果不是自动重装模式,需要对THx和TLx重新赋值。
        <2> 进行间隔定时到达的逻辑处理(越少越好)。
        其程序框架和代码编写基本上差不多:

4、代码展示

/**************************************************************
利用51单片机的定时/计数器T0的模式1实现间隔定时,
每隔1秒L1指示灯闪烁一下,即点亮0.5秒,熄灭0.5秒;
每隔10秒L8指示灯闪烁一下,即点亮1秒,熄灭1秒。
*************************************************/#include "reg52.h"sbit L1 = P0^0;
sbit L8 = P0^7;//=============定时器初始化及中断服务函数====================
void InitTimer0()         //50ms
{TMOD = 0x01;	                 //配置工作模式00000001;//由TR0和TR1启动定时器;定时功能//16位定时/计数器最大值65535TH0 = (65535 - 50000) / 256;	 //计算计数初值,10msTL0 = (65535 - 50000) % 256;ET0 = 1;						 //使能定时器中断EA = 1;							 //打开总中断TR0 = 1;					     //启动定时器
}unsigned char count = 0;
void ServiceTimer0() interrupt 1
{count++;if(count % 10 == 0)     //0.5s变{L1 = ~L1;}if(count == 20)     //  1s变{L8 = ~L8;count = 0;}TH0 = (65535 - 50000) / 256;	  //50msTL0 = (65535 - 50000) % 256;}
//================================void main()
{P2 = (P2 & 0x1f) | 0x80;InitTimer0();while(1){	}
}

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

相关文章:

  • 购物网站的建立唐山网站关键词优化
  • 网站制作公司优势wordpress 评论ip拉黑
  • 南昌做网站流程教学互动网站开发背景
  • 专业手机网站公司吗申请商标官网
  • 一个网站拿到手里想做优化第一步怎么做怎么增加网站首页权重
  • 网站域名备案服务域名怎么卖
  • 源码网站建设步骤手机响应式网站开发模板之家
  • 站长工具的网址网站页面优化技巧
  • 网站tdk设置界面汕头做网站多少钱
  • 昆山公司网站制作页面设计的步骤
  • 购物网站需求分析报告百度官网入口链接
  • 如何免费虚拟网站微信怎么自建小程序商店
  • 做网站用什么北京优化seo排名
  • 西安杰商网络网站建设广告联盟wordpress
  • 网站搭建素材电商设计招聘
  • 网站流量统计查询wordpress动转换标签别名
  • 罗湖网站建设报价WordPress用户发表插件
  • 东莞常平有高铁站吗衡阳公司注册
  • 用vs做网站在安装时要勾选wordpress 4.4.1
  • 长沙铭万做网站wordpress磁力链插件
  • 淮南网官方网站怎么修改wordpress 后台路径
  • 网站链接失效怎么做十堰网站建设联系电话
  • 设计网站推荐大wordpress的ico
  • 网站开发 路由做app网站需要什么条件
  • soho的网站怎么做开发公司是生产经营单位吗
  • 17网站一起做网店普宁池尾雅晨江门seo培训
  • ios网站开发广州做网站哪家强
  • 单网页网站 企业wordpress悬浮按钮
  • 专业品牌网站设计公司网络管理系统平台有哪些
  • 建房子找哪个网站设计东营网站制作