导航:首页 > 编程语言 > 计数器定时器编程

计数器定时器编程

发布时间:2025-04-23 23:03:03

⑴ 可编程计数器 定时器8253有哪几种工作方式试简述其工作原理。

【答案】:可编程计数器与定时器8253有6种工作方式:(1) 方式0为计数结束产生中断;(2) 方式1为可编程单稳触发器;(3) 方式2为分频器;(4) 方式3为方波频率发生器;(5) 方式4为软件触发选通脉冲;(6) 方式5为硬件触发选通脉冲。
计数结束产生中断:当CLK端输入计数脉冲时,计数器能进行减1计数,减为0时,OUT端可输出高电平。可利用此高电平向CPU发中断请求,以实现定时中断处理。
可编程单稳触发器:当计数器工作时,利用GATE端输入的上升沿脉冲使OUT端开始变低电平,并开始作减1计数,若减至0,OUT端变高电平,形成一个单稳负脉冲,可利用此负脉冲作为某一电子应用电路的启动信号。
分频器:利用计数器的减1计数功能在OUT输出端产生一个其正、负脉冲宽度分别为(n-1)与1个输入脉冲时钟周期的分频脉冲信号。
方波频率发生器:利用计数器的减1计数功能在OUT端产生一个对称或基本对称的方波信号。可作为方波频率发生器使用。
软件触发选通脉冲是利用写入计数初值这个软件操作来触发计数器工作的。
硬件触发选通脉冲是利用GATE端输入信号来触发的。

⑵ 如何单片机编程定时器0外部脉冲计数

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char uchar code tabel[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint num;//计数变量声明sbit wei_ge=P2^0; //个位控制角定义
sbit wei_shi=P2^1; //十位控制角定义
sbit wei_=P2^2; //白位控制角定义
sbit wei_qian=P2^3;//千位控制角定义/*延时子程序*******************************************************/
void delay(uint xms)
{
uint j;
for(;xms>0;xms--)
for(j=110;j>0;j--);
}/*数码管扫描显示子程序************************************************/
void shuma_show(uint date)
{
uchar ge,shi,,qian;//数码管显示变量声明 ge=date%1000;//个位数换算
shi=date/10%10;//十位换算
=date/100%10;//百位换算
qian=date/1000;//千位换算
wei_ge=1;//打开个位显示
P0=tabel[ge]; //数据输入数码管内
delay(2);//延时显示2ms
wei_ge=0;//关闭个位显示 wei_shi=1;//打开个位显示
P0=tabel[shi]; //数据输入数码管内
delay(2);//延时显示2ms
wei_shi=0;//关闭个位显示 wei_=1;//打开个位显示
P0=tabel[]; //数据输入数码管内
delay(2);//延时显示2ms
wei_=0;//关闭个位显示 wei_qian=1;//打开个位显示
P0=tabel[qian]; //数据输入数码管内
delay(2);//延时显示2ms
wei_qian=0;//关闭个位显示
}/*初始化子程序**********************************************************/
void inti()
{
wei_ge=wei_shi=wei_=wei_qian=0;//各I/O口初始化
TMOD=0x05;//设置计数器0工作方式1,为16位计数器,且为外部计数
TH0=0;//计数器高8位装初值
TL0=0;//计数器低8位装初值
TR0=1;//开计数器
}/*主程序***************************************************************/
void main()
{
inti();
while(1)
{
num=TH0*255+TL0;//读计数器数据
if(num==10000){TH0=TL0=0;} //计满清零
shuma_show(num);//数码管扫描显示
}
} 你电路图太不清楚了,我随便定义的I/O口,我刚写完的,程序只是编译了没问题,可能会有问题,但问题不大,希望你能够满意,很少有女生学单片机的,加个扣扣如何呢?我现在在学AVR了,觉得51的资源不够用了,做过很多项目,一起交流交流?我的QQ:576689422

阅读全文

与计数器定时器编程相关的资料

热点内容
手机里突然出现解压文件 浏览:813
云服务器如何使用超级VPS管理器 浏览:588
怎么评价方舟编译器知乎 浏览:765
aixpdf 浏览:596
java正则匹配个数 浏览:775
尺寸样式设置命令 浏览:289
中原银行房贷一次还清怎么解压 浏览:178
如何获得购买的服务器的端口 浏览:985
不要随便命令我读后感 浏览:647
单片机启动原理 浏览:769
男子自学编程建钓鱼网站 浏览:852
php同名函数 浏览:834
很多加密币不能加杠杆 浏览:54
网站自动推广源码 浏览:103
小猴编程如何保存 浏览:268
史上最解压的颜色 浏览:818
安卓系统如何让屏幕亮 浏览:380
老年机服务器错误怎么办 浏览:842
百度服务器坏了怎么办 浏览:290
ip软件加密狗 浏览:299