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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

在線等請問各位大佬這個單片機程序出錯了,怎么修改?謝謝

查看數: 2328 | 評論數: 4 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-12-4 17:04

正文摘要:

#include<reg52.h> #include<intrins.h> #include<absacc.h> sbit kgnxz=P3^0; //功能選擇鍵,按一次設定時間,按兩次設定鬧鐘時間,按三次又顯示時間表   sbit ksec=P3^1;//調整秒 ...

回復

ID:155507 發表于 2019-12-4 23:15
給你改了,對比一下就知道哪里錯了。

  1. /*
  2. 在線等請問各位大佬這個單片機程序出錯了,怎么修改?謝謝
  3. 問題不在void to12() ,是void keyscan()里面最后少了一個"}"。

  4. */

  5. #include <reg52.h>
  6. #include <intrins.h>
  7. #include <absacc.h>
  8. sbit kgnxz=P3^0;  //功能選擇鍵,按一次設定時間,按兩次設定鬧鐘時間,按三次又顯示時間表  
  9. sbit ksec=P3^1;   //調整秒
  10. sbit kmin=P3^2;   //調整分
  11. sbit khour=P3^3;  //調整時
  12. sbit kzh=P3^4;    //24與12小時制轉換
  13. unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0,flag=0; //flag是按鍵的計數
  14. unsigned char secshi1=0,secge1=0,minshi1=0,minge1=0,hourshi1=0,hourge1=0;//定義存儲時間和鬧鐘時分秒的個位和十位
  15. unsigned int num=0,sec=0,min=0,hour=0,sec1=30,min1=0,hour1=1, num1=0;//定義時間和鬧鐘的時分秒
  16. unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管段控口
  17. void keyscan();//鍵盤掃描函數
  18. void display();//時鐘顯示函數
  19. /***延時函數****/
  20. void delay(unsigned char z)
  21. {
  22.         unsigned char x,y;
  23.         for(x=z;x>0;x--)
  24.            for(y=255;y>0;y--);
  25. }
  26. /***中斷函數****/
  27. void time0() interrupt 1
  28. {
  29.         num++;
  30.         TH0=(65536-50000)/256;
  31.         TL0=(65536-50000)%256;
  32.         if(num==20)
  33.         {
  34.                 num=0;
  35.                 sec++;
  36.                 if(sec==60)
  37.                 {
  38.                         sec=0;
  39.                         min++;
  40.                         if(min==60)
  41.                         {
  42.                                 min=0;
  43.                                 hour++;
  44.                                 if(hour==24)
  45.                                 {
  46.                                         hour=0;
  47.                                 }
  48.                         }
  49.                 }
  50.                 display(); }
  51. }
  52. /******時鐘顯示函數******/
  53. void display()
  54. {
  55.         secge=sec%10;
  56.         secshi=sec/10;
  57.         minge=min%10;
  58.         minshi=min/10;
  59.         hourge=hour%10;
  60.         hourshi=hour/10;
  61.         P2=0xfe;
  62.         P0=table[secge];
  63.         delay(5);
  64.         P2=0xfd;
  65.         P0=table[secshi];
  66.         delay(5);
  67.         P2=0xfb;
  68.         P0=0x40;
  69.         delay(5);
  70.         P2=0xf7;
  71.         P0=table[minge];
  72.         delay(5);
  73.         P2=0xef;
  74.         P0=table[minshi];
  75.         delay(5);
  76.         P2=0xdf;
  77.         P0=0x40;
  78.         delay(5);
  79.         P2=0xbf;
  80.         P0=table[hourge];
  81.         delay(5);
  82.         P2=0x7f;
  83.         P0=table[hourshi];
  84.         delay(5);
  85. }
  86. /*****鍵盤掃描*********/
  87. void keyscan()
  88. {
  89.         if(kgnxz==0)     //功能選擇鍵是否按下
  90.         {
  91.                 delay(10);//延時消抖            
  92.                 if(kgnxz==0)//再次判斷鍵是否按下              
  93.                 { flag++; }        //計數,功能選擇鍵按鍵次數加一         
  94.                 while(!kgnxz); //釋放鍵
  95.         }               
  96.         if(flag==1)//功能選擇鍵
  97.         {
  98.                 if(ksec==0)//秒調整鍵
  99.                 {
  100.                         delay(10);//延時消抖        
  101.                         if(ksec==0)//再次判斷鍵是否按下
  102.                         {
  103.                                 sec++;//秒加加
  104.                                 if(sec>=60)//如果秒大于60
  105.                                    sec=0;//秒清零
  106.                         }
  107.                         while(ksec==0)//釋放鍵
  108.                         display();}
  109.                 if(kmin==0)
  110.                 {
  111.                         delay(10);
  112.                         if(kmin==0)
  113.                         {
  114.                                 min++;
  115.                                 if(min>=60)
  116.                                 min=0;
  117.                         }
  118.                         while(kmin==0)
  119.                         display();
  120.                 }
  121.                 if(khour==0)
  122.                 {
  123.                         delay(10);
  124.                         if(khour==0)
  125.                         {
  126.                                 hour++;
  127.                                 if(hour==24)
  128.                                 hour=0;
  129.                         }
  130.                         while(khour==0)
  131.                         display();
  132.                 }
  133.         }
  134. } //<-------------- 錯了 少了一個
  135. /*****24轉12小時制*********/  
  136. void to12()   // keil編程這里有錯誤
  137. {
  138.         if(hour>=12)
  139.         {hour=hour-12;}
  140.         if(hour1>=12)
  141.         {hour1=hour1-12;}
  142. }
  143. /*****主函數*********/
  144. main()
  145. {
  146.         TMOD=0x01;
  147.         TH0=(65536-50000)/256;
  148.         TL0=(65536-50000)%256;
  149.         EA=1; ET0=1; TR0=1;
  150.         while(1)
  151.         {      
  152.                 keyscan();display();
  153.                 if(flag==1) {keyscan(); display();}
  154.                 if(flag==2) {keyscan(); display1();}
  155.                 if(flag==3)  {display();}
  156.                 if(kzh==0)  {to12();}
  157.         }
  158. }



復制代碼
ID:235200 發表于 2019-12-4 18:09
錯在哪里?仿真調試,可跟蹤出錯誤點
ID:213173 發表于 2019-12-4 17:55
問題不在void to12() ,是void keyscan()里面最后少了一個"}"。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品二区 | 韩国av网站在线观看 | 久久精品国产99国产精品 | 黄页网址在线观看 | 亚洲天天干 | 日韩免费看视频 | 伊人99| 一本一道久久a久久精品综合蜜臀 | 91porn在线观看 | 亚洲精品一区二区三区蜜桃久 | 国产精品一区二区久久精品爱微奶 | 欧美日本在线观看 | 日本中文字幕视频 | 国产精品美女久久久久久免费 | 国产精品免费一区二区三区四区 | 国产黄色在线观看 | 天天草天天操 | 亚洲日日 | 成人免费视频在线观看 | 国产精品国产馆在线真实露脸 | 亚洲视频一区二区三区四区 | 卡通动漫第一页 | av免费网址| 亚洲精品1区 | 黄色欧美在线 | 国产精品成人一区二区 | 91青娱乐在线 | 国产精品乱码一区二三区小蝌蚪 | 亚洲午夜一区二区 | 久久乐国产精品 | 久草视频2 | 久久精品亚洲一区二区三区浴池 | 亚洲成人综合网站 | 亚洲精品一区二区三区中文字幕 | 羞羞视频免费观看入口 | 三级视频在线观看电影 | 欧美成人精品在线 | 日本激情视频在线播放 | 欧美精品在线免费 | 日韩一区中文字幕 | 有码在线 |