实时搜索: 1 51单片机共有几个定时 计数器

1 51单片机共有几个定时 计数器

940条评论 1217人喜欢 3983次阅读 588人点赞
波,试编程 , 这个问题知道有人问过,我想知道的是如果定时器中断服务程序中不关定时器,而且一进服务程序就赋初值,那么,如果在执行中断服务程序的时候,单片机会怎么工作?能响应中断么,如果不能,是不是一定要等到服务程序执行完,而且又计数溢出才会中断呢?
多谢大侠相助!!! , 秒表开始计时,并在数码管上显示当前的计时直到“99”,然后从“00”开始重新计时,如果按键再次按下,则停止计时。第三次按下按键则清除上一次的计时结果。

2.硬件电路要求:单片机使用P1和P2.1和P2.2来驱动两位数码管,(P1用来作为数码管动态显示的段码引脚,P2.1和P2.2用来作为数码管动态...

51单片机共有5个中断源,外部中断0/1,定时器中断0/1,串口中断。那计数器中断属于哪类: 计数器和定时器是一个模块的不同工作方式,当然共有一个中断了
定时是对内部脉冲计数,而计数器是对外部输入脉冲记数

80C51单片机,振荡频率是12MHZ,用定时/计数器T1实现从P1.1产生周期是2s的方: 主程序里设置:uchar a=0;TMOD=0x10;
ET1=1;EA=1;
TH1=(65536-50000)/256;//定时50ms 20次是1STL1=(65536-50000)%256;
TR1=1;
中断程序:void timer1( ) interrupt 3{ TH1=(65536-50000)/256;//定时50ms
TL1=(65536-50000)%256; a++; if(a==20} { a=0; P1.1=~P1.1; }}

51单片机一个定时器两个计数器能同时工作吗?: 可以的! 但需要初始化! 例如一个定时器用于串口的波特率产生,另外一个则可以用作计数器!

void init_uart() void
{
TMOD = 0x20; //定时器T1使用工作方式2
TH1 = 253; // 设置初值
TL1 = 253;
TR1 = 1; // 开始计时
SCON = 0x50; //工作方式1,波特率9600bps,允许接收
ES = 1;
EA = 1; // 打开所有中断
TI = 0;
RI = 0;
}

比较MCS-51单片机内部定时器4种工作方式的异同?最好详细点:

方式0:13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期.此方式已经不再用了,是为了和以前的单片机兼容,学初者不用掌握。

方式1:16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期.此方式可实现最大的定时时间和最大计数次数.是最常用方式之一。

方式2:8位自动重装计数方式,最大计数值为2^8=256,定时256个机器周期.此方式工作时定时或计数到了不用重装初值,精度较高.另外在串口通讯时常用此方式.是最常用方式之一。

51单片机定时器/计数器定时溢出时,在执行中断程序的同时内部硬件计数还在继续的吗?: 1,cpu运行,和定时器是并行进行的.
2,cpu在工作中,得到了定时中断,那么它停止手头的工作去中断请求中服务,完成服务,返回原来的断点位置继续工作,
3,如果在中断服务中,定时器不关,那么在cpu执行服务时,定时器是工作的.一般建议关掉,执行完再打开.

1.用单片机的定时/计数器实现一个秒表的应用。当按键S1按下时,: #include<reg51.h>

#define uchar unsigned char
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9
unsigned char sec=0,scanled;
unsigned char key,time; 
unsigned char disdat[2];
sbit s1=P0^0;

void delay(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void dischg()
{
disdat[0]=sec%10;
disdat[1]=sec/10;
}
void t0isr() interrupt 1 //秒计时
{
TH0=0x3c;
TL0=0xb0;
time++;
if(time==20)
{
time=0;
if(sec<100)sec++;
}
dischg();
}
void t1isr() interrupt 3 //显示
{
TH1=0xec;
TL1=0x78;
switch(scanled)
{
case 0:
P2=0x02;
P1=ledtab[disdat[0]];
break;
case 1:
P2=0x01;
P1=ledtab[disdat[1]];
break;
default:break;
}
scanled++;
scanled%=2;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
TR1=1;
TR0=0;
ET0=1;
ET1=1;
EA=1;
sec=99;
scanled=0;
time=0;
dischg();
key=0;
while(1)
{
if(s1==0)
{
while(s1==0);
key++;
key%=3;
switch(key)
{
case 0:sec=0;break;
case 1:sec=0;TR0=1;break;
case 2:TR0=0;break;
}
dischg();
}
}
}

使用51单片机设计一个简易计数器,要求能够: 1)测量方波脉冲个数 2)测量方波脉冲的频率: 电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量

单片机的晶振频率是6mhz时,定时器/计数器的方式0、1、2的最长时间分别是多少?: 方式0:十三位定时器,所以最大是8192*2=16384us
方式1:十六位定时器,所以最大是65526*2=131072us
方式2:八位定时器,所以最大是256*2=512us

  • 109多少伤害

    为什么我的手杯QQ收到的文件ziP不能打开 ':   1、首先呢,点击发送过来的压缩文件,进入“文件预览”界面,接收该文件后点击如图示左下角的“用其他应用打开”。  2、在“其他应用程序列表”中点击“在QQ浏览器中打开”。  3、接下来程序跳转,QQ浏览器会启动后进...

    971条评论 2089人喜欢 4052次阅读 998人点赞
  • 0371为什么

    谁有好听的歌曲?真的要很好听的歌曲。一定要看清楚我要求的歌曲类型。。。: 本人也很喜欢听音乐,特别是纯音乐,几年时间收集了数百首音乐,筛选了很多次,我感觉很多都很好听,既然你要求这么高,那么我就向你推荐几首我最津津乐道的,口味可能不同,很多你可能知道,不喜莫怪啊,呵呵1 The dawn...

    246条评论 1887人喜欢 1986次阅读 985人点赞
  • 13.3怎样

    少女时代的girls谐音歌词: 少女时代love&girls 音译歌词呼呼 one two three four呼呼 one two three four几代诺哦不宁各宁Q,哦吧独独哈噗宁各宁Hi次哟那松在囧那sing搜,girl丝外two诺mys...

    923条评论 1167人喜欢 5401次阅读 923人点赞
  • 15年茅台多少钱一瓶

    我的psp3000为什么下载游戏不能玩?我下载的文件是zip的解压后是iso的我该什么做才能玩这个游戏?谢谢了: 问题补充:我的版本是5.03的,今天才刷机过 估计版本不兼容 建议去玩家网或者电玩巴士下载,那里有破解的游戏和安装教程,你可以去看看 iso文件名 ...

    515条评论 2392人喜欢 5711次阅读 449人点赞
  • nv后宫女人如何勾引皇上

    解压ZIP文件之后为什么总说run-time erro 75:Pass/File access erro?: 这个压缩包不能用,可能压缩之前就是不完整的程序。它提示:文件传输错误? ...

    656条评论 2467人喜欢 5304次阅读 319人点赞
  • 17田小娥谁演的

    好听的歌谁有~~~~~~跪求: 朱丽叶的秋天-------颜小健凌晨两点半----颜亚涛秋风落叶·------姜玉阳芊芊-----回音哥注定---吴奇隆无名指的等待-----群星最后哭着说再见----群星彩色粉笔-----徐誉滕许诺------林峰...

    773条评论 6003人喜欢 5660次阅读 902人点赞