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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機編譯錯誤問題求解

[復制鏈接]
跳轉到指定樓層
樓主

  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. #define PIN0 P0  //數碼管段選端
  5. #define PIN1 P2  //數碼管位選端
  6. #define PIN3 P2         //十分位數碼管的段碼端

  7. sbit start=P3^0;  //啟動/暫停按鈕
  8. sbit reset=P3^1;  //復位按鈕

  9. uint cnt=0;   //1s的次數的計數值
  10. uint num=0;     //進入中斷次數的計數值(一次50ms)
  11. uint num1=0;                //0.1s的次數的計數值

  12. uchar code table[]={0x3f,0x06,0x5b,
  13. 0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f};
  14. //不帶小數點的共陰極數碼管段碼0-9

  15. uchar code table1[]={0xbf,0x86,
  16. 0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
  17. //帶小數點的共陰極數碼管段碼0-9
  18. <span style="font-size:14px;">
  19. char code table2[]={0xc0,0xf9,0xa4,
  20. 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  21. //不帶小數點的共陽極數碼管段碼0-9

  22. void Display(uint w,uint a,uint b,uint c,uint d);  //聲明顯示函數
  23. void InitTimer0();  //聲明定時器初始化函數
  24. void Delayms(uint x);  //聲明延時函數

  25. void main()
  26. {
  27.         uint ms100=0;        //秒的十分位
  28.         uint s,s1,min,min1,minu=0;
  29.         //依次是秒的個位,秒的十位,分的個位,分的十位
  30.         InitTimer0();          //初始化定時器
  31.         while(1)                        //進入死循環
  32. {        
  33.         if(start==0)   //檢測啟動/暫停鍵是否按下
  34.                         Delayms(20); //延時消抖
  35.         {
  36.                 if(start==0)  //消抖之后再次檢測
  37.                 {
  38.                         TR0=!TR0;                //定時器的控制位取反
  39.                         while(!start);  //等待按鍵釋放
  40.                 }
  41.         }
  42.         
  43. if(reset==0)  //檢測復位鍵是否按下
  44. {
  45.         Delayms(20);        //延時消抖
  46.         if(reset==0)          //消抖之后再次檢測
  47.         {
  48.                 num=0;               
  49.                 num1=0;                //進入中斷次數值清0
  50.                 ms100=0;        //十分位的計數值清0
  51.                 cnt=0;                //秒的計數值清0
  52.                 minu=0;                //分的計數值清0
  53.                 while(!reset);                 //等待按鍵釋放
  54.         }
  55. }
  56.         if(num1>=2)                //檢測是否達到0.1s,(兩個50ms)
  57.         {
  58.                 num1=0;                  //進入中斷次數值清零
  59.                 ms100++;                //秒的十分位的計數值加1
  60.                 if(ms100>=10)  //若秒的十分位計數值達到10
  61.                 {
  62.                         ms100=0;  //清零秒的十分位的計數值
  63.                         num1=0;//進入中斷次數值置0
  64.                 }
  65.         }
  66.         
  67.         if(num>=20)  //判斷計時時間是否達到1s(20個50ms)
  68.         {
  69.                 num=0;     //進入中斷次數值置0
  70.                 cnt++;                 //秒的計數值加1
  71.                 if(cnt>=60) //判斷是否達到60s
  72.         {
  73.                 cnt=0;                //若達到60s,將秒的計數值置零
  74.                 minu++;                        //分的計數值加1
  75.                 if(minu>=60)  //判斷是否達到60分鐘,</span><span style="font-family:Arial, Helvetica, sans-serif;"><span style="font-size:10px;">一般秒表是用不到60分的,這是為了程序的嚴謹性</span></span><span style="font-size:14px;">

  76.                 {
  77.                         TR0=!TR0;                        //達到60分鐘則關閉定時器并清零所有的計數值
  78.                         num1=0;</span><span style="font-size:14px;">                                </span><span style="font-size:14px;">
  79.                         num=0;
  80.                         ms100=0;
  81.                         cnt=0;               
  82.                         minu=0;
  83.                         
  84.                 }
  85.         }
  86.         }        
  87.         s=cnt%10;          //從秒的計數值里面分離秒的個位
  88.         s1=cnt/10;         //從秒的計數值里面分離秒的十位
  89.         min=minu%10;        //從分的計數值里面分離分的個位
  90.         min1=minu/10;        //從分的計數值里面分離分的十位
  91.         
  92.         Display(ms100,s,s1,min,min1);  //顯示這5個數
  93. }        
  94. }

  95. void InitTimer0() //定時器初始化函數
  96. {
  97.         
  98.         TMOD=0x01; //選擇定時器0的工作方式1
  99.         TH0=(65536-45872)/256;  //裝初值(定時50ms),晶振11.0592MHz
  100.         TL0=(65536-45872)%256;
  101.         EA=1;                //打開總中斷
  102.         ET0=1;        //打開定時器中斷
  103.         TR0=0;        //先不要啟動定時器
  104.         
  105. }

  106. void TIMER0()  interrupt 1  //定時器中斷服務函數
  107. {
  108.         TH0=(65536-45872)/256;  //重裝初值
  109.         TL0=(65536-45872)%256;
  110.         num++;                //讓進入中斷次數值加1,用于判斷是否達到1s
  111.         num1++;                //讓進入中斷次數值加1,用于判斷是否達到0.1s
  112. }

  113. void Delayms(uint x)   //延時xms
  114. {
  115.         uint i,j;
  116.         for(i=x;i>0;i--)
  117.                 for(j=110;j>0;j--);
  118. }

  119. void Display(uint w,uint a,uint b,uint c,uint d) //定義顯示函數
  120. {
  121.         PIN3=table2[w];                //秒的十分位的段選
  122.         Delayms(5);
  123.         
  124.         PIN0=table[a]; //秒的個位的段選
  125.         PIN1=0x7f;                 //秒的個位的位選
  126.         Delayms(5);                        
  127.         
  128.         PIN0=table[b];  //秒的十位的段選
  129.         PIN1=0xbf;                        //秒的十位的位選
  130.         Delayms(5);
  131.         
  132.         PIN0=table1[c];  //分的個位的段選(帶小數點)
  133.         PIN1=0xdf;                         //分的個位的位選
  134.         Delayms(5);
  135.                
  136.         PIN0=table[d];                //分的十位的段選
  137.         PIN1=0xef;                                //分的十位的位選
  138.         Delayms(5);               
  139.                
  140. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:105364 發表于 2019-6-24 15:26 | 只看該作者
程序沒細看。
23行、86行前面加上//,另外45行的中文!改為英文 !
回復

使用道具 舉報

板凳
ID:570488 發表于 2019-6-25 11:04 | 只看該作者
仔細看23行<span style="font-size:14px;"> 86行 </span><span style="font-size:14px;">   
這是網頁設計的css代碼,以前經常用這玩意,是用來定義行里面的字體大小的~還有其他地方也有,有些被注釋掉了,復制代碼的時候還是謹慎點...
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久免费精品 | 婷婷激情五月网 | 网站黄色在线 | 成人福利视频网站 | 毛片一级片 | 91免费版在线观看 | 青青草亚洲 | 97国产精品 | 免费成人高清在线视频 | 一区在线播放 | 欧美成人精品一区二区男人看 | 国产精品美女久久久久久久网站 | 美女黄网 | 国产在线观看一区二区三区 | 欧美视频xxx| 色精品| 欧美黄视频 | 免费观看一区二区三区毛片 | 国产高清视频一区 | 亚洲国产免费 | 成人欧美一区二区三区 | 久久久久9999亚洲精品 | 免费国产一区二区视频 | 国产精品99久久久久久久久久久久 | 国产精品日韩在线观看 | 中文字幕免费视频 | 亚洲精品国产精品国自产在线 | 在线观看 亚洲 | 日本一区二区三区视频在线 | 久久久精品日本 | 在线观看视频91 | www.夜夜草 | 国产一区二区电影网 | 丝袜 亚洲 欧美 日韩 综合 | 精品九九 | 免费日韩网站 | 久久综合一区二区三区 | 午夜精品久久久久久久久久久久久 | 国产综合网址 | 国产精品欧美一区二区 | 久久免费视频网 |