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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1947|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

STC15單片機(jī)驅(qū)動1602每次下載程序后,顯示結(jié)果不一樣

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:614901 發(fā)表于 2020-7-25 17:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用stc15f2k60s2寫了個1602驅(qū)動,然后程序不做任何更改直接源文件下載進(jìn)去,顯示的內(nèi)容都不一樣是怎么回事?,有時候下載下去又直接正常


這是怎么回事?
  1. void main()
  2. {


  3.         Init_CPP();
  4.         Init_1602();
  5.         Write_string(1,1,"test ok");
  6.         while(1)
  7.         {
  8.                 sprintf(display,"time:%02d",dd);
  9.                 Write_string(0,0,display);

  10.         }
  11. }
復(fù)制代碼
  1. bit CheckBusy()
  2. {
  3.         
  4.         P=0xff;
  5.         E=0;
  6.         RS=0;
  7.         RW=1;
  8.         E=1;
  9.         _nop_();
  10.         _nop_();
  11.         _nop_();
  12.         _nop_();
  13.         _nop_();        
  14.         dd=P0;
  15.         
  16.         E=0;
  17.         return(bit)(dd&0x80);
  18. }

  19. void Write_dat(unsigned char dat)
  20. {
  21.         while(CheckBusy());
  22. DelayMs();                                //這是個5ms的延時,如果不加這個顯示就是亂碼
  23. DelayMs();        
  24.         E=0;
  25.         RS=1;
  26.         RW=0;
  27.         _nop_();
  28.         _nop_();
  29.                 E=1;

  30.         P0=dat;
  31.         _nop_();
  32.         _nop_();
  33.         _nop_();
  34.         _nop_();
  35.                 _nop_();
  36.         E=0;

  37. }

  38. void Write_com(unsigned char com)
  39. {
  40.         while(CheckBusy());
  41. DelayMs();
  42.         DelayMs();
  43.         E=0;
  44.         RS=0;
  45.         RW=0;
  46.         _nop_();
  47.         _nop_();
  48.         E=1;

  49.         P0=com;
  50.         _nop_();
  51.         _nop_();
  52.         _nop_();
  53.         _nop_();        
  54.         _nop_();
  55.         E=0;
  56. }

  57. void Write_string(unsigned char x,unsigned char y,unsigned char*s)
  58. {
  59.         if(y==0)
  60.                 Write_com(0x80+x);
  61.         else
  62.                 Write_com(0xc0+x);
  63.         while(*s)
  64.         {
  65.                 Write_dat(*s);
  66.                 s++;
  67.         }
  68. }
復(fù)制代碼



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

使用道具 舉報

沙發(fā)
ID:213173 發(fā)表于 2020-7-26 07:09 | 只看該作者
可能是1602驅(qū)動碼時序沒有調(diào)整好,處于臨界狀態(tài)。也可能硬件連接不可靠。
回復(fù)

使用道具 舉報

板凳
ID:614901 發(fā)表于 2020-7-26 16:11 | 只看該作者
wulin 發(fā)表于 2020-7-26 07:09
可能是1602驅(qū)動碼時序沒有調(diào)整好,處于臨界狀態(tài)。也可能硬件連接不可靠。

找到原因了,感謝賜教。就是時序問題,還有個就是判忙函數(shù)里,P0口少打了個零,不過奇怪的是編譯時居然沒有報錯
回復(fù)

使用道具 舉報

地板
ID:584814 發(fā)表于 2020-7-28 00:39 | 只看該作者
判忙函數(shù)基本可以不用的。
回復(fù)

使用道具 舉報

5#
ID:807712 發(fā)表于 2020-7-28 08:02 | 只看該作者
lm9417 發(fā)表于 2020-7-26 16:11
找到原因了,感謝賜教。就是時序問題,還有個就是判忙函數(shù)里,P0口少打了個零,不過奇怪的是編譯時居然沒 ...

編譯是報你語法錯誤,你運行結(jié)果是不會干涉你的,那怕你掉了判忙語句,他也不可能提示你
回復(fù)

使用道具 舉報

6#
ID:146782 發(fā)表于 2020-7-28 08:42 | 只看該作者
你這是忙信號沒判斷對
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久日韩精品 | 婷婷精品| 亚洲精品欧美 | 亚洲有码转帖 | av不卡一区 | 男女在线免费观看 | 国产精品久久a | av免费网站在线观看 | 亚洲视频区| 久久99精品久久久久久国产越南 | 欧一区| 国产精品中文字幕在线播放 | 国产精品视频一区二区三区, | 一区二区三区观看视频 | 亚洲精品乱码久久久久久按摩观 | 成人h视频 | 日本一区二区三区在线观看 | 秋霞在线一区 | 久久久久久久久久性 | 亚洲高清在线观看 | 最新中文字幕在线 | av黄色片在线观看 | 九色网址 | 国产精品永久 | 久久高清免费视频 | 久久久久99| 日本精品视频一区二区三区四区 | 欧美www在线| 欧美视频免费在线观看 | 国产精品欧美日韩 | 久久天堂| 国产日韩精品视频 | 毛片免费看 | 国产精品一级 | 久久精品亚洲精品国产欧美kt∨ | 日韩成人精品 | 成人国产毛片 | 久久夜色精品国产 | 久久人人爽人人爽人人片av免费 | 亚洲午夜精品一区二区三区 | 人人擦人人 |