智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1359|回复: 0
打印 上一主题 下一主题

[单片机] 各位大虾,小弟菜鸟,这个程序编译无错,却不能由5432变成5398停止是怎么回事?

[复制链接]

1

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
108
威望
172
贡献
26
兑换币
0
注册时间
2011-5-12
在线时间
0 小时
跳转到指定楼层
1#
发表于 2011-5-12 23:05:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

unsigned char code table[]={
0x28,0x6f,0x58,0x4a,0x0f,
0x8a,0x88,0x6e,0x08,0x0a,
0x0c,0x89,0xb8,0x49,0x98,0x9c};//数字1~9 字母A~F

uchar code table2[]={
0xf7,0xfb,0xfd,0xfe};//数码管选择

uchar temp,aa,bai,shi,ge,shu=432;
uint i=5,j,t0=0,t1=0;

void display(uchar aa,uchar bai,uchar shi,uchar ge);
void main()
{
temp=0xfe;
TMOD=0x11;//定时器工作方式
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;//给定时器0装初值
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;//给定时器1装初值
EA=1;//开总中断
ET0=1;//开定时器0外部中断
ET1=1;//开定时器1外部中断
TR0=1;
TR1=1;//启动定时器1
while(1)
{
  display(5,bai,shi,ge);
}
}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
if(t0==10)
  {t0=1;
   P1=temp;

   temp=_crol_(temp,1);
   P1=temp;}
}


void timer1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;

if(t1==3)
  {
  t1=0;
  shu--;
  bai=shu/100;
  shi=shu%100/10;
  ge=shu%10;

  if(shu==398)
  {
   TR0=0;
   TR1=0;
  }

   }
}

void display(uchar aa,uchar bai,uchar shi,uchar ge)
{
                P2=0xf7;
        P0=table[aa];

        P2=0xfb;
        P0=table[bai];

                P2=0xfd;
        P0=table[shi];

        P2=0xfe;
        P0=table[ge];
}

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 03:25 , Processed in 0.140776 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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