找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24076|回复: 3
打印 上一主题 下一主题
收起左侧

此程序不动啊 /

[复制链接]
跳转到指定楼层
楼主
ID:45409 发表于 2012-10-11 23:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
sbit d1=P0^3;
uchar num,tt;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6b,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint z);
void main()
{ 
 num=0;
 tt=0;
 TMOD=0x01;//设置定时器0为工作方式1;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;//开总中断。
 ET0=1;//开定时器0中断
 //EX0=1;//开外部中断0
 //IT0=1;//跳变触发方式。
 //TCON=0x01;//对CUP存存器进行操作。同上一方式。
 TR0=1;//启动定时器0
 wela=1;
 P0=0xea;
 wela=0;

 
 while(1)
 {
  //for(num=0;num<16;num++)
  if(tt==20)
//20是20毫秒
  { 
   tt=0;
            num++;
   if(num=16)
   num=0;
   dula=1;
   P0=table[num];
   dula=0;
   delay(1000);
  }
 }
}
void delay(uint z)
{
 uint x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void exter0() interrupt 1 
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;//d1=0,
 tt++;

 
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

地板
ID:42386 发表于 2012-10-23 17:37 | 只看该作者
   if(num=16)
   num=0;
   dula=1;
   P0=table[num];
   dula=0;
   delay(1000);
  }
num=16少个=  该为if(num==16)
回复

使用道具 举报

板凳
ID:1 发表于 2012-10-13 22:59 | 只看该作者

这是一个通过定时器来显示变化数字的程序吧 如果不动 最大的可能是定时器没有启动

 

回复

使用道具 举报

沙发
ID:7485 发表于 2012-10-12 12:33 | 只看该作者

你是说数码管没有动吧 只是显示第一个数字 ?

回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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