在单片机里。怎么计数。

在单片机里。怎么计数。,第1张

#include<reg51h>
#define uchar unsigned char
uchar number;
void t0isr() interrupt 1
{
number++;
}
main()
{
TMOD=0x06;//定时器0工作模式2计数器方式。P34为脉冲输入口
TH0=0xff;
TL0=0xff;
ET0=1;
TR0=1;
EA=1;
number=0;
while(1)
{
switch(number)
{
case 1:
case 2:

default:number=0;break;

}
}
}

把 数码管的 1-9 的 对应的码算出来就好了

例如:#include <AT89X51H>
//数字0-9的字形码
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char dispcount;
void delay02s(void);
void main(void)
{
P1_0=0;//选通第一位数码管
while(1)
{
 for(dispcount=0;dispcount<10;dispcount++)
 {
  P0=table[dispcount];
  delay02s();
 }
}
}
void delay02s(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--);
}

补充:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机

你好!你的程序运行过程是

1、定时器产生 50毫秒定时

2、计数20次,满足一秒

3、计数清零,显示秒数


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13338587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存