单片机C语言用定时器1工作方式1怎么写

#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0xc0... #include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uint i,num;void main(){ i=0; num=0; TMOD=0x10;//设置定时器1为工作方式1 EA=1; //开总中断 ET1=1; //开定时器1中断 TR1=1; //启动定时器0 TH0=(65536-50000)/256; TL0=(65536-50000)%256; P2=0xFE; P0=0xc0; while(1) { if(i==10) { P2=0xff; } if(i==20) { i=0; P2=0xfe; num++; if(num==10) num=0; P0=table[num]; } }}
void time() interrupt 1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++;}
展开
 我来答
百度网友7247a56
2014-01-11 · TA获得超过4616个赞
知道大有可为答主
回答量:1422
采纳率:92%
帮助的人:484万
展开全部
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint i,num;
void main()

    i=0; 
    num=0; 
    TMOD=0x10;//设置定时器1为工作方式1 【查看TMOD每一位的含义,你就知道怎么设置了】
    EA=1;      //开总中断 
    ET1=1;     //开定时器1中断 
    TR1=1;  //启动定时器0 
    TH0=(65536-50000)/256; //定时器0计数初值 高位
    TL0=(65536-50000)%256; //定时器0计数初值 低位
    P2=0xFE; 
    P0=0xc0;
    while(1) 
    {  
        if(i==10)  
        {  
            P2=0xff; 
        } 
        if(i==20)
        { 
            i=0; 
            P2=0xfe;  
            num++; 
            if(num==10)  num=0; 
            P0=table[num];
        } 
    }
}
void time() interrupt 1

    TH0=(65536-50000)/256; //计数初值重载
    TL0=(65536-50000)%256;
    i++;
 }
匿名用户
2014-01-12
展开全部
你给的程序,就是方式1,不过用的是定时器0,用定时器1的话,把TH0,TL0改成TH1,TL1就可以了啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-01-12
知道答主
回答量:39
采纳率:0%
帮助的人:9.1万
展开全部
查你的说明书啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式