定时器T0模式1,控制P0,P1,LED灯滚动显示​_AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计 Allegro,pads,PCB电路板设计,硬件及芯片资料分享—小北设计

定时器T0模式1,控制P0,P1,LED灯滚动显示​

51单片机 by AD,Allegro,pads,PCB设计,电源模块,硬件,stm32,嵌入式,单片机,小北设计
//使用定时器中断TMER0,控制P0,P1,LED灯滚动显示。
//本例设TMOD=0x01,使TIMERO 工作于模式1,最大计数位为16位,累加到65536时即产生计数溢出,
//本例晶振仍为12MHz,下面两行代码可实现40ms定时:
//TH0 = (65536 - 40000)/ 256;
//TL0 = (65536 - 40000)%256;
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//主程序
void main()
{
uchar zongshu=0;
P0=0XFE;
P2=0XFE;//LED低电平点亮,初始化LED灯
TMOD=0X01;//模式1,M1=0,M0=1  16位定时器,TL0,TH0全用
TH0=(65536-40000)/256;
TL0=(65536-40000)%256;
TR0=1;
// EA=1;
// ET0=1;
while(1)
{
if(TF0==1) //中断溢出标志位。定时器T0的溢出中断请求标志位。
//发生溢出中断请求时,硬件自动置1,响应后手动置0
{
TF0=0;//手动置1
TH0=(65536-40000)/256;
    TL0=(65536-40000)%256;
zongshu++;
if(zongshu==5)
{
zongshu=0;
P0=_crol_(P0,1);
P2=_crol_(P2,1);
}

}

}

}

通过网盘分享的文件:定时器中断0模式1
链接: https://pan.baidu.com/s/1LeuL2vbn469EaffkqQyGSQ 提取码: f9ff


    Message:

    Name:
    Email:
    Content:
PgUP ...
Allegro,pads,PCB电路板设计,电源模块件及芯片资料分享—小北设计