找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

使用道具 举报

沙发
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: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 单片机教程网

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