找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2918|回復: 5
收起左側(cè)

一段簡單的設置液晶的程序 (不知道哪兒錯了 )

[復制鏈接]
ID:65766 發(fā)表于 2014-11-27 21:21 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^4;
sbit en=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
void delay (uint z)
{
      uint x,y;
      for(x=z;x>0;x--)
      for(y=110;y>0;y--);
  }
void init()
{
  dula=0;
  wela=0;
  lcdrs=0;
  write_com(0x38);
  write_com(0x0f);
  write_com(0x26);

}
void write_com(uchar com)
{
  lcdrs=0;
  P0=com;
  delay(5);
  en=1;
  delay(5);
  en=0;



}
void writedat(uchar dat)
{ lcdrs=1;
  P0=dat;
  delay(5);
  en=1;
  delay(5);
  en=0;


}
void main()
{
  init();
  while(1);


} 不理解 明明定義了 已經(jīng)

(7C1XQA27[]NCM$3X9QULLI.png
回復

使用道具 舉報

ID:1 發(fā)表于 2014-11-27 22:31 來自手機 | 顯示全部樓層
write_com  函數(shù)提到前面去就行了,,寫在delay上面
回復

使用道具 舉報

ID:66137 發(fā)表于 2014-11-27 22:39 | 顯示全部樓層
你應該把void init()這個函數(shù)寫在void write_com(uchar com)和void writedat(uchar dat)這2個函數(shù)的后面才能被調(diào)用,void writedat這個函數(shù)也沒有被調(diào)用。。編譯會有警告。。。
回復

使用道具 舉報

ID:7485 發(fā)表于 2014-11-28 14:09 | 顯示全部樓層
調(diào)用之前要讓編譯程序知道你調(diào)用的是什么。
回復

使用道具 舉報

ID:1 發(fā)表于 2014-11-28 16:07 來自手機 | 顯示全部樓層
是啊,總的一句話,就是,被調(diào)用的函數(shù)一定要放在,現(xiàn)在這個函數(shù)的前面。。要不你就在程序的最頂部,把所有的函數(shù)都聲明一下
回復

使用道具 舉報

ID:65766 發(fā)表于 2014-11-30 15:58 | 顯示全部樓層
噢噢噢噢 我一直以為只要在主函數(shù)錢就可以了 多謝各位了 這幾天有點忙 沒看到了
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表