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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2294|回復: 0
收起左側

菜鳥新手:求助Proteus仿真時lcd1602出現錯誤controler received command whilst

[復制鏈接]
ID:904947 發表于 2021-4-13 12:22 | 顯示全部樓層 |閱讀模式
1602程序:不知道怎么改
  1. #include "1602.h"
  2. #include "delay.h"
  3. #include <intrins.h>

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. #define _NOP() _nop_()
  7. sbit RS = P2^4;   
  8. sbit RW = P2^5;
  9. sbit EN = P2^6;

  10. #define DataPort    P0                              
  11. #define DataPIN     P0

  12. #define CLR_RS (RS=0)
  13. #define SET_RS (RS=1)      
  14. #define CLR_RW (RW=0)      
  15. #define SET_RW (RW=1)
  16. #define CLR_EN (EN=0)
  17. #define SET_EN (EN=1)      



  18. void DispStr(uchar x,uchar y,uchar *ptr)
  19. {
  20.     uchar *temp;
  21.     uchar i,n = 0;

  22.     temp = ptr;
  23.     while(*ptr++ != '\0')   n++;   

  24.     for (i=0;i<n;i++)
  25.     {
  26.         Disp1Char(x++,y,temp[i]);
  27.         if (x == 0x10)
  28.         {
  29.             break;
  30.         }
  31.     }
  32. }



  33. void LocateXY(uchar x,uchar y)
  34. {
  35.     uchar temp;

  36.     temp = x&0x0f;
  37.     y &= 0x01;
  38.     if(y)   temp |= 0x40;  
  39.     temp |= 0x80;

  40.     LcdWriteCommand(temp,1);
  41. }


  42. void Disp1Char(uchar x,uchar y,uchar data1)
  43. {
  44.     LocateXY( x, y );                       
  45.     LcdWriteData( data1 );               
  46. }


  47. void LcdReset(void)
  48. {
  49. //    DataDir  = 0xFF;               
  50.     LcdWriteCommand(0x38, 0);            
  51.     DelayMs(5);
  52.     LcdWriteCommand(0x38, 0);               
  53.     DelayMs(5);
  54.     LcdWriteCommand(0x38, 0);
  55.     DelayMs(5);

  56.     LcdWriteCommand(0x38, 1);               
  57.     LcdWriteCommand(0x08, 1);               
  58.     LcdWriteCommand(0x01, 1);            
  59.     LcdWriteCommand(0x06, 1);               
  60.     LcdWriteCommand(0x0c, 1);               
  61. }


  62. void LcdClear(void)
  63. {
  64.         LcdWriteCommand(0x01,1);
  65.         DelayMs(5);
  66. }


  67. void LcdWriteCommand(uchar cmd,uchar chk)
  68. {

  69.     if (chk) WaitForEnable();   

  70.     CLR_RS;      
  71.     CLR_RW;
  72.     _NOP();

  73.     DataPort = cmd;            
  74.     _NOP();                                       

  75.     SET_EN;                     
  76.     _NOP();
  77.     _NOP();
  78.     CLR_EN;                       
  79. }


  80. void LcdWriteData( uchar data1 )
  81. {
  82.     WaitForEnable();        
  83.     SET_RS;
  84.     CLR_RW;

  85.     SET_EN;
  86.       
  87.         _NOP();
  88.     DataPort = data1;        
  89.     _NOP();
  90.                
  91.     _NOP();
  92.     _NOP();
  93.     CLR_EN;               
  94. }


  95. void WaitForEnable(void)
  96. {
  97.           unsigned int later=0;
  98.         DataPort=0xff;
  99.     CLR_RS;
  100.     SET_RW;
  101.     _NOP();
  102.     SET_EN;
  103.     _NOP();
  104.     _NOP();
  105. //    while((DataPIN&Busy)!=0);
  106.     while(((DataPIN&0x80)!=0)&&(later<1000))  
  107.     {
  108.       DelayUs2x(2);
  109.       later++;        
  110.     }
  111.     CLR_EN;
  112. //    DataDir|=0xFF;
  113. }               

復制代碼


接線圖

接線圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本成人片在线观看 | 国产不卡一 | 天天干狠狠操 | 免费在线观看av的网站 | 在线综合视频 | 亚洲一区在线免费观看 | 精品国产乱码久久久久久丨区2区 | 精品国产欧美一区二区 | 日韩一区二区三区视频 | 久久99精品久久久久久国产越南 | 奇米影视在线 | 中文字幕亚洲一区二区三区 | 国产一伦一伦一伦 | 亚洲 精品 综合 精品 自拍 | 日韩一区二区三区在线观看 | 亚洲精品视频播放 | 欧美嘿咻 | 亚洲一区二区三区免费观看 | 99久久婷婷国产综合精品电影 | 国产高清视频在线 | 国产69精品久久99不卡免费版 | 午夜视频在线观看视频 | 色播av| 欧美日韩在线不卡 | 日韩伦理一区二区 | 亚洲午夜av久久乱码 | 欧美福利影院 | 欧美黄色一区 | 一级大片免费 | 在线欧美一区二区 | 亚洲日本欧美日韩高观看 | 黄色av免费| 日本又色又爽又黄又高潮 | 精国产品一区二区三区四季综 | 99日韩| 女人精96xxx免费网站p | 天天操网 | 日本超碰| 高清视频一区二区三区 | 国产一区二区三区在线 | 亚洲精品一区二区在线观看 |