导航:首页 > 操作系统 > 单片机计数系统教程

单片机计数系统教程

发布时间:2023-04-01 20:08:21

单片机计数程序

#include <reg52.h>
sbit Switch = P2^0;
sbit P3_0 = P3^0;
sbit P3_1 = P3^1;
#define uchar unsigned char
#define uint unsigned int
bit key_state;
//***********************************************************
void mDelay(uint temp)
{uint i;
while(temp!=0)
{temp--;
for(i=0;i<5000;i++);
}
}
//************************************************************
//************************主程序******************************
void main()
{ uchar count=0;
P3_0=1;
P3_1=1;
while(1)
{
if(Switch==1) key_state=1; else key_state=0;
if((Switch==0)&&(key_state==1))
{key_state=0;
count+=1; if(count==10)
{
P3_1=0;mDelay(200);//调括号的数来完成1S。
P3_0=0;
}
}
}
}
//此程序没有经过实际验证.给你一个参考吧.是按你的功能写的.你可以下载进试验,有问题请告知.应该能达到你的要求.不行加我的网络HI啊

② 单片机计数器编程如何计数脉冲,用C语言

每50ms来了多少脉冲,那定时器就不能50ms中断一次,尽量快的中断会比较好,2个变量计数,一个计算50ms,一个累加脉冲

③ 51系列单片机定时/计数器初始化的步骤

TMOD:模式控制寄存器,定时器的运行模式,定时计数模式等;

TCON:运行控制寄存器,定时器的中断允许和外部触发中断允许,运行停止控制,溢出标志等
THx/TLx:计数值
IE:中断控制,如果要开启中断允许,则需要配置这个寄存器;
IP:中断优先级控制,如果开了几个中断源,则需要配置中断控制的先后;
总体就是:
先关运行和中断,然后配置模式,配置计数值,定时器运行打开,定时器是否中断允许,是否开启总中断;
如果不开中断,就直接配置模式和计数值,然后运行即可,主程序里查询溢出位,判断是否到计数值(不准确)。
其他定时器T2等,有其他的寄存器,但配置方法同。

④ 51系列单片机定时/计数器初始化的四个步骤

1、设置寄存器TMOD
2、计算初始值
3、开放中断
4、启动定时器

⑤ 单片机定时器 计数器的工作原理,及如何实现定时 计数功能

原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。

显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。

两个字节最大数据为65536(十进制),或者0FFFFH(十六进制)

高字节为TH0=(65536-X)/256,就是除以256后的整数部分;

低字节为TL0=(65536-X)%256,减去高字节后余下的部分;

定时/计数器

定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。

以上内容参考:网络-定时器中断

⑥ 51单片机计数器怎么用

51单片机是基础入门的一个单片机,还是应用最广泛的。

51单片机的定时/计数器的概念

单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流逝,因此,单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的。
51单片机的定时/计数器的工作原理
加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。
作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12;
作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2微秒。;计数器的最高频率一般是时钟振荡频率的1/24;
由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序。所以说,定时器/计数器是单片机中效率高而工作灵活的部件。

⑦ 51单片机计数器怎么使用

设置T0模式 为计数模式就行了 就是TMOD的C/T位置1;
脉冲从T0输入 T0就计数了
你读取TH0和TL0就晓得脉冲个数了
有了这个脉冲个数 输出到数码管即ok

⑧ 简述8051单片机定时计数器编程的基本步骤

  1. 设置定时计数器的工作方式。

  2. 给定时器赋初始值:THx 和TLx;

  3. 允许定时器中断;

  4. 允许全局中断;

  5. 启动定制器;

  6. 中断函数编写(这个是目的,定时计数最终要干什么?)

阅读全文

与单片机计数系统教程相关的资料

热点内容
哪个视频网站可以投屏还免费 浏览:283
好看爱情网 浏览:304
泰国电影女主叫小草 浏览:543
模具设计的命令如何用 浏览:990
华为云桌面服务器多少钱一台 浏览:271
木工数控刀具路径编程 浏览:275
用电脑看高清电影在哪里看 浏览:242
老外从墙壁穿越的电影 浏览:813
下人电影完整版下载 浏览:589
云服务器下载服务 浏览:241
pdf如何插入页码 浏览:637
ps选择命令大全 浏览:826
qq聊天记录恢复文件夹 浏览:646
电脑公共盘加密码 浏览:459
韩国电影两个字 浏览:971
鸿蒙系统怎么给App加速 浏览:190
女主叫男主三叔姓战 浏览:377
骁骑校全部小说顺序 浏览:394
如何将iphone手机照片转到安卓手机 浏览:31