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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

在線等請(qǐng)問(wèn)各位大佬這個(gè)單片機(jī)程序出錯(cuò)了,怎么修改?謝謝

查看數(shù): 2256 | 評(píng)論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-12-4 17:04

正文摘要:

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

回復(fù)

ID:155507 發(fā)表于 2019-12-4 23:15
給你改了,對(duì)比一下就知道哪里錯(cuò)了。

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

  4. */

  5. #include <reg52.h>
  6. #include <intrins.h>
  7. #include <absacc.h>
  8. sbit kgnxz=P3^0;  //功能選擇鍵,按一次設(shè)定時(shí)間,按兩次設(shè)定鬧鐘時(shí)間,按三次又顯示時(shí)間表  
  9. sbit ksec=P3^1;   //調(diào)整秒
  10. sbit kmin=P3^2;   //調(diào)整分
  11. sbit khour=P3^3;  //調(diào)整時(shí)
  12. sbit kzh=P3^4;    //24與12小時(shí)制轉(zhuǎn)換
  13. unsigned char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0,flag=0; //flag是按鍵的計(jì)數(shù)
  14. unsigned char secshi1=0,secge1=0,minshi1=0,minge1=0,hourshi1=0,hourge1=0;//定義存儲(chǔ)時(shí)間和鬧鐘時(shí)分秒的個(gè)位和十位
  15. unsigned int num=0,sec=0,min=0,hour=0,sec1=30,min1=0,hour1=1, num1=0;//定義時(shí)間和鬧鐘的時(shí)分秒
  16. unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管段控口
  17. void keyscan();//鍵盤(pán)掃描函數(shù)
  18. void display();//時(shí)鐘顯示函數(shù)
  19. /***延時(shí)函數(shù)****/
  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. /***中斷函數(shù)****/
  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. /******時(shí)鐘顯示函數(shù)******/
  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. /*****鍵盤(pán)掃描*********/
  87. void keyscan()
  88. {
  89.         if(kgnxz==0)     //功能選擇鍵是否按下
  90.         {
  91.                 delay(10);//延時(shí)消抖            
  92.                 if(kgnxz==0)//再次判斷鍵是否按下              
  93.                 { flag++; }        //計(jì)數(shù),功能選擇鍵按鍵次數(shù)加一         
  94.                 while(!kgnxz); //釋放鍵
  95.         }               
  96.         if(flag==1)//功能選擇鍵
  97.         {
  98.                 if(ksec==0)//秒調(diào)整鍵
  99.                 {
  100.                         delay(10);//延時(shí)消抖        
  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. } //<-------------- 錯(cuò)了 少了一個(gè)
  135. /*****24轉(zhuǎn)12小時(shí)制*********/  
  136. void to12()   // keil編程這里有錯(cuò)誤
  137. {
  138.         if(hour>=12)
  139.         {hour=hour-12;}
  140.         if(hour1>=12)
  141.         {hour1=hour1-12;}
  142. }
  143. /*****主函數(shù)*********/
  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. }



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

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线资源 | 综合久久久| 亚洲一区国产 | 久久亚洲欧美日韩精品专区 | 青青99 | 欧美黄色网| 久久久久国产一区二区三区四区 | 久久69精品久久久久久久电影好 | 在线国产一区二区 | 成人欧美一区二区三区黑人孕妇 | 国产清纯白嫩初高生视频在线观看 | 日韩成人| 中文字幕在线播放第一页 | 欧美一区成人 | 久久久福利 | 伊人二区 | av大片| 国产精品一区二区三区99 | 国产精品久久久久久久久久久久久久 | 中文字幕在线视频一区二区三区 | 亚洲一视频 | 在线看一区二区 | 在线观看成人 | 日韩电影免费在线观看中文字幕 | 精品免费在线 | 久久亚洲精品视频 | 久久在线| 色综合一区二区 | 成人小视频在线观看 | 欧美日韩精品 | 一区二区在线看 | 亚洲欧洲成人av每日更新 | h免费观看 | 国产乱码久久久久久一区二区 | 国产福利视频 | 欧美日一区二区 | 午夜资源| 天堂久久一区 | 中文字幕视频在线观看 | 九九热最新视频 | 国产高清毛片 |