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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

C51通過串口實現功能切換的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:273660 發表于 2018-1-11 15:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請大家幫忙看一下這個問題,不知道怎么解決。我在main中寫了break了,但是用卻沒辦法切換,應該是前一個功能開始了但是停不下來,不知道怎么解決,求大神幫幫忙!
  1. #include "liushuideng.h"
  2. #include "0832.h"
  3. #include "12864.h"
  4. #include "1302.h"
  5. #include "lcd12864.h"
  6. #include "DS1302.h"

  7. #define uchar unsigned char
  8. #define uint unsigned int

  9. uchar zhi;

  10. void zhongduan()
  11. {
  12.         SCON=0x50;
  13.         TMOD=0x20;
  14.         TH1=0xfd;
  15.         TL1=0xfd;
  16.         IE=0x90;
  17.         TR1=1;
  18. }

  19. void liushuiinit()
  20. {
  21.         COM = 0x90;
  22.         PA = 0xff;
  23.         PB = 0xff;
  24.         PC = 0xff;
  25. }

  26. void main()
  27. {
  28.         zhongduan();
  29.         while(1)
  30.         {
  31.                 if(zhi==1)
  32.                 {
  33.                         Init_LCD1602();
  34.                         while(1)
  35.                         {
  36.                                 jisuanqi();
  37.                                 if(zhi!=1)
  38.                                 {
  39.                                         break;
  40.                                 }       
  41.                         }       
  42.                 }
  43.                 else if(zhi==2)
  44.                 {
  45.                         liushuiinit();
  46.                         while(1)
  47.                         {
  48.                                 liushuideng();
  49.                                 if(zhi!=2)
  50.                                 {
  51.                                         PB=0XFF;
  52.                                         break;
  53.                                 }       
  54.                         }
  55.                 }
  56.                 else if(zhi==3)
  57.                 {
  58.                         while(1)
  59.                         {
  60.                                 m_12864();
  61.                                 if(zhi!=3)
  62.                                 {
  63.                                         break;
  64.                                 }
  65.                         }
  66.                 }               
  67.         }
  68. }
  69.          

  70.         //Init_LCD1602();
  71.         //jisuanqi();
  72.         //DS18B20();
  73.         //liushuideng();
  74.         //m_0832();
  75.         //m_12864();
  76.         //m_1302();

  77. void intser() interrupt 4
  78. {
  79.         RI=0;
  80.         zhi=SBUF;
  81. }
復制代碼


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

使用道具 舉報

沙發
ID:274922 發表于 2018-1-11 18:33 | 只看該作者
你要確定的串口數據是否正常接收到,中斷是否能進入。也可能是你的串口通信就不行。還要看看硬件。
回復

使用道具 舉報

板凳
ID:164602 發表于 2018-1-12 09:06 | 只看該作者
其實很簡單:
第一:只能有一個while(1),你好多這個死循環啊。
第二:除了主循環用while(1)外,其它的while,都用控制位,如:while(i),i=0,就不循環,i=1就循環。
第三:判斷語句就去根據條件設置如上所說的變量i,根本不需要break。
第四:break只能跳出循環,不能跳出if,所以,你的程序就死在這里了。
回復

使用道具 舉報

地板
ID:266627 發表于 2018-1-12 15:52 | 只看該作者
寫一個串口程序吧,把變量zhi打印出來吧。
zhi的判斷在程序中只有三種可能,1 2 3
如果等于4,就什么也不做。

可能是這個問題,但還是打印出來吧,一個個找原因
回復

使用道具 舉報

5#
ID:266627 發表于 2018-1-12 15:55 | 只看該作者
HC6800-ES-V2.0 發表于 2018-1-12 09:06
其實很簡單:
第一:只能有一個while(1),你好多這個死循環啊。
第二:除了主循環用while(1)外,其它的wh ...

第四:break只能跳出循環,不能跳出if,所以,你的程序就死在這里了。

if里有個WHILE循環,只要跳出WHILE,就會順序執行,自然會走出IF的語句段落
回復

使用道具 舉報

6#
ID:164602 發表于 2018-1-13 19:02 | 只看該作者
sirf3 發表于 2018-1-12 15:55
第四:break只能跳出循環,不能跳出if,所以,你的程序就死在這里了。

if里有個WHILE循環,只要跳出W ...

你知道單片機跳出循環到if用了多少時間?你能及時放開按鍵嗎?這樣想來,可能加個消抖也許就可以了
回復

使用道具 舉報

7#
ID:275955 發表于 2018-1-14 21:45 | 只看該作者
還是打印出來吧,一個個找原因
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男人的天堂一级片 | 久久精品亚洲国产 | 成人啊啊啊 | 久久久av| 麻豆91精品91久久久 | 国产激情精品 | 欧美视频网 | 日韩中文字幕高清 | 亚洲一区二区免费视频 | 岛国av在线免费观看 | 日韩视频在线一区 | 久草免费电影 | 亚洲精品高清视频在线观看 | 成人午夜视频在线观看 | 成人性视频免费网站 | 91精品观看 | 中文字幕在线观看视频网站 | 国产精品美女久久久久aⅴ国产馆 | 亚洲视频免费播放 | 精品国产乱码久久久久久果冻传媒 | 国产一区二区三区四区区 | 激情综合五月 | 色婷婷影院 | 国内精品视频一区二区三区 | 国产午夜一级 | 成人在线播放网站 | 欧美日韩国产一区二区 | 国产高清精品在线 | 久久久精品网站 | 欧美黄色片 | 91麻豆精品国产91久久久久久久久 | 亚洲视频在线一区 | 久久久国产视频 | 欧美视频在线看 | 羞羞视频免费观 | 青青99| 日本人和亚洲人zjzjhd | 成人精品免费 | 日韩欧美在线不卡 | 99国内精品久久久久久久 | 久久久99国产精品免费 |