找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3446|回复: 11
收起左侧

单片机计时和led闪亮的程序为什么有这么多错误 请大神指教

[复制链接]
ID:185228 发表于 2017-6-6 23:48 | 显示全部楼层 |阅读模式
按照教程编的一个计时和led闪亮的程序为什么有这么多错误,把程序复制粘贴在word里了,请大神编译出来给我解答一下

程序1.docx

11.88 KB, 下载次数: 9

这是word

回复

使用道具 举报

ID:111634 发表于 2017-6-7 09:44 | 显示全部楼层
为什么有这么多错误?因为你没理解正确的程序!先把正确的程序理解透了,自己编的程序错误就没了或少了。
回复

使用道具 举报

ID:182522 发表于 2017-6-7 10:14 | 显示全部楼层
先把别人的程序一字一句的搞懂!
回复

使用道具 举报

ID:208741 发表于 2017-6-7 11:29 | 显示全部楼层
错误一个个解决才能提高啊
回复

使用道具 举报

ID:185228 发表于 2017-6-7 11:36 | 显示全部楼层
zl2168 发表于 2017-6-7 09:44
为什么有这么多错误?因为你没理解正确的程序!先把正确的程序理解透了,自己编的程序错误就没了或少了。

理解了呀  ,每个过程我都明白,但是自己编出来的和书上的例程所出来的错误都是一样的,对于kill 我只是不能完全会用,所以想请人指教一下
回复

使用道具 举报

ID:208751 发表于 2017-6-7 12:06 | 显示全部楼层
你的代码我放到Keil,没有错误的呀,是不是你图画错了
回复

使用道具 举报

ID:111634 发表于 2017-6-7 15:44 | 显示全部楼层
新手求罩 发表于 2017-6-7 11:36
理解了呀  ,每个过程我都明白,但是自己编出来的和书上的例程所出来的错误都是一样的,对于kill 我只是 ...

已给你纠错如下
#include<reg52.h>
   #define uint unsigned int
   #define uchar unsigned char
   sbit dula=P2^6;
   sbit wela=P2^7;
   sbit led=P1^0;
uchar num,num1,num2,shi,ge;
uchar code table[]={
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄灭
                0x00  //自定义

                         };
  void delay(uint li)    //输入错
  {
  uint x,y;
  for(x=li;x>0;x--)
    for(y=110;y>0;y--);
  }
void display(uchar shi,uchar ge)
  {
    dula=1;
P0=table[shi];
   dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
  delay(10);
   P0=0xff;
dula=1;
P0=table[ge];
   dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
   delay(10);
  }
  void T1_() interrupt 3   //2处各少1个空格
  {
   TH1=(65536-15536)/256;
    TL1=(65536-15536)%256;
    num2++;
    if(num2==20)
    {
  num2=0;
  num++;
  if(num==60)
    num=0;
    shi=num/10;
    ge=num%10;
    }
   
  }

     void T0_() interrupt 1   //2处各少1个空格
  {
   
  TH0=(65536-15536)/256;
     TL0=(65536-15536)%256;
    num1++;
  if(num1==4)
  {
   num1=0;  
  led=~led;
  }
  }
   void main()
   {

    TMOD=0X11;
    TH1=(65536-15536)/256;
    TL1=(65536-15536)%256;
    TH0=(65536-15536)/256;
    TL0=(65536-15536)%256;
    TR1=1;
    TR0=1;
    EA=1;
    ET0=1;
    ET1=1;
while(1)
  {
   display(shi,ge);
   }
   }


回复

使用道具 举报

ID:185228 发表于 2017-6-7 15:54 | 显示全部楼层
huakai 发表于 2017-6-7 12:06
你的代码我放到Keil,没有错误的呀,是不是你图画错了

我没有用proteus仿真,就是用keil调试都调试不出来,有错误
回复

使用道具 举报

ID:185228 发表于 2017-6-7 15:58 | 显示全部楼层
zl2168 发表于 2017-6-7 15:44
已给你纠错如下
#include
   #define uint unsigned int

谢谢大神 ,可以了
回复

使用道具 举报

ID:208830 发表于 2017-6-7 16:44 | 显示全部楼层
#include<reg52.h>    #define uint unsigned int    #define uchar unsigned char    sbit dula=P2^6;    sbit wela=P2^7;    sbit led=P1^0;         uchar num,num1,num2,shi,ge;  uchar code table[]={                 0x3F,  //"0"                 0x06,  //"1"                 0x5B,  //"2"                 0x4F,  //"3"                 0x66,  //"4"                 0x6D,  //"5"                 0x7D,  //"6"                 0x07,  //"7"                 0x7F,  //"8"                 0x6F,  //"9"                 0x77,  //"A"                 0x7C,  //"B"                 0x39,  //"C"                 0x5E,  //"D"                 0x79,  //"E"                 0x71,  //"F"                 0x76,  //"H"                 0x38,  //"L"                 0x37,  //"n"                 0x3E,  //"u"                 0x73,  //"P"                 0x5C,  //"o"                 0x40,  //"-"                 0x00,  //熄灭                 0x00  //自定义  }; void delay(int li) {           uint x,y;          for(x=li;x>0;x--)            for(y=110;y>0;y--); } void display(uchar shi,uchar ge)   {     dula=1;         P0=table[shi];            dula=0;         P0=0xff;         wela=1;         P0=0xfd;         wela=0;          delay(10);    P0=0xff;         dula=1;         P0=table[ge];           dula=0;         P0=0xff;         wela=1;         P0=0xfe;         wela=0;    delay(10);   }          void T1_()interrupt 3          {           TH1=(65536-15536)/256;            TL1=(65536-15536)%256;            num2++;            if(num2==20)            {                 num2=0;                 num++;                 if(num==60)                   num=0;            shi=num/10;            ge=num%10;            }                      }             void T0_()interrupt 1          {                                    TH0=(65536-15536)/256;             TL0=(65536-15536)%256;                   num1++;                 if(num1==4)                 {                  num1=0;                                 led=~led;                 }          }           void main()           {                     TMOD=0X11;            TH1=(65536-15536)/256;            TL1=(65536-15536)%256;            TH0=(65536-15536)/256;            TL0=(65536-15536)%256;            TR1=1;            TR0=1;            EA=1;            ET0=1;            ET1=1;         while(1)          {                  display(shi,ge);                  }           }
回复

使用道具 举报

ID:208830 发表于 2017-6-7 16:45 | 显示全部楼层
#include<reg52.h>
   #define uint unsigned int
   #define uchar unsigned char
   sbit dula=P2^6;
   sbit wela=P2^7;
   sbit led=P1^0;
        uchar num,num1,num2,shi,ge;

uchar code table[]={
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄灭
                0x00  //自定义
};

void delay(int li)
{
         uint x,y;
         for(x=li;x>0;x--)
           for(y=110;y>0;y--);
}
void display(uchar shi,uchar ge)
  {

    dula=1;
        P0=table[shi];
          dula=0;
        P0=0xff;
        wela=1;
        P0=0xfd;
        wela=0;
         delay(10);

   P0=0xff;
        dula=1;
        P0=table[ge];
          dula=0;
        P0=0xff;
        wela=1;
        P0=0xfe;
        wela=0;
   delay(10);
  }

         void T1_()interrupt 3
         {
          TH1=(65536-15536)/256;
           TL1=(65536-15536)%256;
           num2++;
           if(num2==20)
           {
                num2=0;
                num++;
                if(num==60)
                  num=0;
           shi=num/10;
           ge=num%10;
           }
          
         }


            void T0_()interrupt 1
         {
                 
                TH0=(65536-15536)/256;
            TL0=(65536-15536)%256;
                  num1++;
                if(num1==4)
                {
                 num1=0;               
                led=~led;
                }

         }
          void main()
          {

       
           TMOD=0X11;
           TH1=(65536-15536)/256;
           TL1=(65536-15536)%256;
           TH0=(65536-15536)/256;
           TL0=(65536-15536)%256;
           TR1=1;
           TR0=1;
           EA=1;
           ET0=1;
           ET1=1;
        while(1)
         {
                 display(shi,ge);
                 }
          }
回复

使用道具 举报

ID:111634 发表于 2017-6-8 09:02 | 显示全部楼层
新手求罩 发表于 2017-6-7 15:58
谢谢大神 ,可以了

真心想学,真诚地给你推荐2本书,《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。
与其他书比较一下,有比较才能有鉴别!绝不忽悠你!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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