久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1248|回復: 2
打印 上一主題 下一主題
收起左側

一個單片機秒表程序,哪里出錯了?error C141: syntax error near 'SCL'

[復制鏈接]
跳轉到指定樓層
樓主
ID:999123 發表于 2022-1-11 15:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一個51單片機秒表程序,編譯提示:SCL附近語法錯誤,      在第87行。     才接觸單片機不久,小白一個,怎么也找不到,敬請高手指點指點。

AA.C(87): error C141: syntax error near 'SCL'
AA.C(114): error C141: syntax error near 'write_byte'
Target not created

請高手看看哪里出錯了?
單片機源程序如下:
  1. #include"reg52.h"
  2.   #define uchar unsigned char
  3.   #define uint unsigned int
  4.   bit write=0;

  5.   sbit SDA=P2^0;
  6.   sbit SCL=P2^1;
  7.   uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};

  8. uchar sec, tcnt;
  9.          

  10.   void delay()
  11.   {;;}
  12.   void delay1ms(uint z)
  13.   {  uint x, y;
  14.      for(x=z;x>0;x--)
  15.              for(y=110;y>0;y--);
  16.   }
  17.   void start()         //開始信號
  18.   {
  19.      SDA=1;
  20.          delay();
  21.      SCL=1;
  22.          delay();
  23.          SDA=0;
  24.          delay();
  25.    }
  26.    void stop()  //停止
  27.    {
  28.      SDA=0;
  29.          delay();
  30.          SCL=1;
  31.          delay();
  32.          SDA=1;
  33.          delay();
  34.         }
  35.   void  respons() //應答
  36.     {
  37.           char i;
  38.           SCL=1;
  39.           delay();
  40.           while((SDA==1)&&(i<250))i++;
  41.           SCL=0;
  42.           delay();
  43.         }
  44.    void  init()
  45.     {
  46.           SDA=1;
  47.           delay();
  48.           SCL=1;
  49.           delay();
  50.         }
  51.    void  write_byte(uchar date)                 //寫
  52.      {
  53.                
  54.            uchar i,temp;
  55.            temp=date;
  56.            for(i=0;i<8;i++)
  57.            {
  58.              temp=temp<<1;
  59.                  SCL=0;
  60.                  delay();
  61.                  sda=CY;
  62.                  delay();
  63.                  SCL=1;
  64.                  delay();
  65.                  }

  66.                   SCL=0;
  67.                   delay();
  68.                   SDA=1;
  69.                   delay();
  70.             }
  71.            uchar read_byte()                           //讀
  72.         {
  73.           uchar i,k;
  74.           SCL=0;
  75.           delay();
  76.           SDA=1;
  77.           delay();
  78.           for(i=0;i<8;i++)
  79.          {
  80.            SCL=1;
  81.            delay();
  82.                    k=(k<<1)|sda            
  83.           SCL=0;                          //     這里報;scl附近語法錯誤。
  84.            delay();
  85.           }
  86.           return k;

  87.           }

  88.                   void  write_add(uchar address,uchar date)                          
  89.           {
  90.             start();
  91.                 write_byte(0xa0);
  92.                 respons();
  93.                 write_byte(address);
  94.                 respons();
  95.                 write_byte(date);
  96.                 respons();
  97.                 stop();
  98.            }
  99.            uchar read_add(uchar address)
  100.           {
  101.              uchar date;
  102.                  start();
  103.                  write_byte(0xa0);
  104.                  respons();
  105.                  write_byte(address);
  106.                  respons;
  107.                  start()
  108.                  write_byte(0xa1);
  109.              respons;
  110.                  date=rede_byte();
  111.                  stop();
  112.                  return date;
  113.                 }
  114.         void display(uchar bai_c, uchar sh_c)//顯示
  115.           {         
  116.              P0=table[bai_c];   //顯示第一位
  117.                  P1=0xff;
  118.                  delay1ms(5);
  119.                  P0=table[sh_c];
  120.                  P1=0xfe;
  121.                  delay1ms(5);
  122.                 }      

  123.         void main()
  124.         {
  125.            init();
  126.            sec=read_add(2);          //讀出保存的數據賦予sec
  127.            if(sec>100)                  //防止首次讀取出錯
  128.               sec=0;
  129.                 TMOD=0x01;                 //定時器工作方式1
  130.                 ET0=1;                        //存疑
  131.                 EA=1;
  132.                 TH0=(65536-5000)/256;           //賦值
  133.                 TL0=(65536-5000)%256 ;
  134.                 TR0=1;                                                  //開始計時
  135.                 while(1)
  136.            {
  137.                 display(sec/10,sec%10);
  138.                 if(wtite==1)                           //判斷計時器是否計時一秒
  139.                 {
  140.                 write=0;                                                //清0
  141.                   write_add(2,sec);                   //再24C16寫數據
  142.                 }
  143.                 }
  144.                
  145.                  }
  146.                
  147.                  void t0()interrupt 1        //定時中斷程序
  148.                   {
  149.                     TH0=(65536-50000)/256;          //賦值
  150.                         TL0=(65536-50000)%256;
  151.                           tcnt++;                                  //每過50ms,tcnt加1
  152.                           if(tcnt=20)                                //計滿20時
  153.             {
  154.                           tcnt=0;                                        //重新再計
  155.                           sec++;
  156.                           write=1;                                  //一秒寫一次24C16
  157.                           if(sec==100)                                 //定時100秒,再從0開始
  158.                           sec=0;
  159.                         }
  160.                         }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:878061 發表于 2022-1-11 21:06 | 只看該作者
錯誤太多了,86行113行少分號,112行和115行少括號,其它自己再找找
回復

使用道具 舉報

板凳
ID:999123 發表于 2022-1-12 13:21 | 只看該作者
謝謝指導,又找到幾個語法錯誤后,終于運行了.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av大全在线| 久久av网站 | 麻豆av一区二区三区久久 | 精品视频国产 | 免费欧美 | 国产在线观看一区二区三区 | 亚洲日本三级 | 91av视频在线免费观看 | 国产一区二区三区视频 | 亚洲黄色视屏 | 国产精品精品久久久 | 天天操夜夜操 | 久久91精品 | 欧美视频一区二区三区 | 久久亚洲一区二区 | 国产成人精品一区二区三 | 久久伊人精品一区二区三区 | 视频二区 | 一区二区三区视频免费看 | 日韩手机视频 | 精品自拍视频在线观看 | 午夜精品久久久久久久久久久久 | 午夜国产| 蜜桃av一区二区三区 | 韩国精品在线 | 九一视频在线播放 | 午夜婷婷激情 | 日本特黄a级高清免费大片 特黄色一级毛片 | 中文字幕一区二区三区四区 | 亚洲少妇综合网 | 亚洲高清在线播放 | 国产高清精品一区 | 国产精品a一区二区三区网址 | 精品无码久久久久久久动漫 | 欧美日韩在线免费 | 男女羞羞在线观看 | 中文字幕av网站 | 一区二区在线不卡 | 欧美久久久久久久久中文字幕 | 中国一级特黄真人毛片免费观看 | 亚洲国产一 |