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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機+LCD12864顯示編譯那里出錯?

[復制鏈接]
跳轉到指定樓層
樓主
ID:595237 發(fā)表于 2020-4-19 13:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
編譯問題

..\LCD12864.C(129): warning C209: '_write_cmd': too few actual parameters
..\LCD12864.C(131): warning C209: '_write_cmd': too few actual parameters
..\LCD12864.C(133): warning C209: '_write_cmd': too few actual parameters
..\LCD12864.C(135): warning C209: '_write_cmd': too few actual parameters
..\LCD12864.C(155): warning C209: '_write_cmd': too few actual parameters



程序

  1. #include <reg52.h>
  2. #include <intrins.h>


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




  5. /*LCD12864  端口定義*/
  6. #define LCD_data  P0             //數(shù)據(jù)口
  7. sbit LCD_RS  =  P2^4;            //寄存器選擇輸入
  8. sbit LCD_RW  =  P2^5;            //液晶讀/寫控制
  9. sbit LCD_EN  =  P2^6;            //液晶使能控制
  10. sbit LCM_RST =  P2^7;


  11. uchar code dis0[]="  顯示系統(tǒng)  ";
  12. uchar code dis1[]="1.輸入      ";
  13. uchar code dis2[]="2.密碼輸入:  ";



  14. void delay(int ms)         //延時xms
  15. {
  16.     while(ms--)
  17.         {
  18.       uchar i;
  19.           for(i=0;i<250;i++)  
  20.            {
  21.             _nop_();                           
  22.                 _nop_();
  23.                 _nop_();
  24.                 _nop_();
  25.            }
  26.         }
  27. }        

  28. void delayNOP()  //延時4us
  29. { _nop_(); _nop_(); _nop_(); _nop_();}





  30. /*******************************************************************/
  31. /*                                                                 */
  32. /*檢查LCD忙狀態(tài)                                                    */
  33. /*lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數(shù)據(jù)。      */
  34. /*                                                                 */
  35. /*******************************************************************/
  36. bit lcd_busy()
  37. {                          
  38.     bit result;
  39.     LCD_RS = 0;
  40.     LCD_RW = 1;
  41.     LCD_EN = 1;
  42.     delayNOP();
  43.     result = (bit)(LCD_data&0x80);
  44.     LCD_EN = 0;
  45.     return(result);
  46. }

  47. /*******************************************************************/
  48. /*                                                                 */
  49. /*  LCD初始化設定                                                  */
  50. /*                                                                 */
  51. /*******************************************************************/
  52. void lcd_init()
  53. {


  54.     write_cmd(0x36);      //擴充指令操作
  55.     delay(5);
  56.     write_cmd(0x30);      //基本指令操
  57.         delay(5);
  58.     write_cmd(0x0C);      //顯示開,關光標
  59.     delay(5);
  60.     write_cmd(0x01);      //清除LCD的顯示內容
  61.     delay(5);
  62. }         
  63. /*********************************************************/
  64. /*                                                       */
  65. /* 設定顯示位置                                          */
  66. /*                                                       */
  67. /*********************************************************/
  68. void lcd_pos(uchar X,uchar Y)
  69. {                          
  70.    uchar  pos;
  71.    if (X==0)
  72.      {X=0x80;}
  73.    else if (X==1)
  74.      {X=0x90;}
  75.    else if (X==2)
  76.      {X=0x88;}
  77.    else if (X==3)
  78.      {X=0x98;}
  79.    pos = X+Y ;  
  80.    write_cmd(pos);     //顯示地址
  81. }

  82. /*********************************************************/
  83. /*                                                         */
  84. /* 顯示主程序                                            */
  85. /*                                                       */
  86. /*********************************************************/
  87. void display_all()
  88. {

  89.     uchar i;         
  90.                      
  91.           lcd_pos(0,0);             //第一行顯示數(shù)字0~9
  92.           i = 0;   
  93.       while(dis0[i] != '\0')
  94.        {
  95.          lcd_wdat(dis0[i]);      //顯示字母
  96.          i++;
  97.        }
  98.             
  99.       lcd_pos(1,0);             //第二行顯示字母
  100.           i = 0;   
  101.       while(dis1[i] != '\0')
  102.        {
  103.          lcd_wdat(dis1[i]);      //顯示字母
  104.          i++;
  105.        }

  106.            lcd_pos(2,0);             //第三行顯示文字
  107.           i = 0;
  108.       while(dis2[i] != '\0')
  109.        {
  110.          lcd_wdat(dis2[i]);     //顯示
  111.          i++;
  112.        }


  113.          
  114. }

  115. /*********************************************************/
  116. /* 特定字符顯示主程序          */
  117. /*                                                     
  118. 0="  系統(tǒng)    ";
  119. 1="1.輸入....    ";
  120. 2="2.登記....      ";

  121. /*********************************************************/
  122. void display(uchar a,uchar b,uchar c)
  123. {

  124.       uchar i;                    
  125.           lcd_pos(a,b);             //第一行顯示數(shù)字0~9
  126.           i = 0;
  127.           switch(c)
  128.           {
  129.                case 0:
  130.                 while(dis0[i] != '\0')
  131.               {
  132.                 lcd_wdat(dis0[i]);      //顯示字母
  133.                 i++;
  134.               }
  135.                           break;

  136.                      case 1:
  137.                while(dis1[i] != '\0')
  138.               {
  139.                 lcd_wdat(dis1[i]);      //顯示字母
  140.                 i++;
  141.               }
  142.                           break;

  143.                          case 2:
  144.                while(dis2[i] != '\0')
  145.               {
  146.                 lcd_wdat(dis2[i]);      //顯示字母
  147.                 i++;
  148.               }
  149.                           break;



  150.                           default :break;
  151.           }
  152. }

  153. /*********************************************************/
  154. /*                                                         */
  155. /* 一般字符顯示主程序                                    */
  156. /*                                                       */
  157. /*p:內容                                                 */
  158. /*********************************************************/
  159. void display2(uchar a,uchar b,uchar *p,uchar num)
  160. {

  161.       uchar i;                 
  162.           lcd_pos(a,b);             //第一行顯示數(shù)字0~9        
  163.       for(i=0;i<num;i++)
  164.           lcd_wdat(p[i]);      //顯示字母

  165. }

  166. /********************
  167. 清除某一行
  168. *********************/
  169. void display_clear_line(uchar a)
  170. {
  171.    uchar i;
  172.    lcd_pos(a,0);
  173.    for(i=0;i<16;i++)
  174.      lcd_wdat(' ');
  175. }

復制代碼




謝謝指教!

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

使用道具 舉報

沙發(fā)
ID:213173 發(fā)表于 2020-4-19 16:16 | 只看該作者
缺少3個函數(shù)
void write_cmd(unsigned char com)
void lcd_wdat(unsigned char date)
void lcd_pos(unsigned char a,b)
回復

使用道具 舉報

板凳
ID:729982 發(fā)表于 2020-4-19 17:20 | 只看該作者
他的意思是你入口參數(shù)少了,你點開那個C文件進去看看具體函數(shù)聲明的地方,看看是哪幾個參數(shù)。一般都有注釋告訴你是哪些參數(shù),還有代碼例句的
回復

使用道具 舉報

地板
ID:235200 發(fā)表于 2020-4-19 21:00 | 只看該作者
程序少了lcd_wdat()這個函數(shù),除非你沒有貼出來
回復

使用道具 舉報

5#
ID:595237 發(fā)表于 2020-4-19 21:25 | 只看該作者
謝謝!
#include  “LCD12864.h”

丟了
LCD12864.h
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情黄色 | 国产日韩欧美一区 | 国产成人a亚洲精品 | 99精品视频在线 | 国产精品久久久久久久免费观看 | 97av视频在线 | 国产精品久久久久久久 | 你懂的在线视频播放 | 日韩在线视频一区二区三区 | 欧美精品91 | 日韩精品一区二 | 久久网日本 | 欧美日日 | 国外成人在线视频网站 | 国产午夜精品一区二区三区四区 | 一区二区播放 | 精品国产乱码久久久久久闺蜜 | 欧美一级片在线看 | 蜜桃特黄a∨片免费观看 | www.日本在线播放 | 欧美日韩高清在线一区 | 国产91 在线播放 | 91资源在线观看 | 欧美日韩在线综合 | av官网在线 | 日本在线一区二区 | 久久精品二区亚洲w码 | h肉视频| jav成人av免费播放 | 欧美一区二区三区 | ririsao久久精品一区 | 九九热久久免费视频 | 久久av一区二区三区 | 福利视频网址 | 国产精品高潮呻吟久久av黑人 | 天天色图 | 91精品国产色综合久久 | 色婷婷久久 | 欧美一区二区三区四区视频 | 国产精品永久免费观看 | 欧美综合国产精品久久丁香 |