社区导航

 

搜索
查看: 2119|回复: 4

急求c51计数器实用编程

[复制链接]

105

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-9-5 10:55 | 显示全部楼层 |阅读模式
#include
#define uchar unsigned char;
#define uint unsigned int;
uchar a[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
uchar e,d,t;
void chushihua();
uint x,y,b;
main()
{  
       

       
         chushihua();
         while(1);

       
}
void chushihua()
{
        TMOD=0X05;
        ET0=1;
        TR0=1;
        EA=1;
        TH0=(65536-65534)/256;
        TL0=(65536-65534)%256;
}
void zhongduan() interrupt 1
{
        TH0=(65536-65534)/256;
        TL0=(65536-65534)%256;
        t++;
                                P1=a[t%10];         
                                P2=a[t/10];
                                if(t==100)
                                        t=0;
}
                       


/*void delay()
{
       
        for(x=50;x>0;x--)
                for(y=1211;y>0;y--);

  }        */
         



这是我写的程序 请学长们帮忙改一下

98

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-9-5 15:42 | 显示全部楼层
1. 变量要初始化, t的初值是多少?
2. 以下是你需要的吗
TH0=(65536-65534)/256;
TL0=(65536-65534)%256;

3. 函数命名、变量命名还是要讲究的


回复

使用道具 举报

90

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-9-5 15:50 | 显示全部楼层
1. ? 变量要初始化, ? t的初值是多少?

2. ? 以下是你需要的吗 ?
TH0=(65536-65534)/256; ?
TL0=(65536-65534)%256; ?

3. ? 函数命名、变量命名还是要讲究的

4. 别忘了清中断标记

回复

使用道具 举报

103

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-9-5 23:43 | 显示全部楼层
TMOD=0X05; 你这是在对外部脉冲计数模式而不是定时器
P1=a[t%10];
P2=a[t/10];你是想让p1口和p2口分别显示个位十位吧,但是这两个口你是接什么呢?

回复

使用道具 举报

93

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-9-6 07:56 | 显示全部楼层
顶3楼。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-2-24 01:04 , Processed in 0.171890 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表