全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1660
推到 Plurk!
推到 Facebook!

8051&ADC0804&LCD

缺席
iestlpeggy
一般會員


發表:17
回覆:18
積分:7
註冊:2007-12-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-13 14:45:25 IP:219.71.xxx.xxx 訂閱
請幫忙幫我看一下程式是不是有什麼問題
因為我是照書(單晶片KEIL C實作入門)上打的
因為我是要做一個數位電壓
然後他書上第十章有我要的功能

可是我已經照書上打了可編繹出錯誤
編輯記錄
iestlpeggy 重新編輯於 2008-12-13 14:49:45, 註解 無‧
iestlpeggy
一般會員


發表:17
回覆:18
積分:7
註冊:2007-12-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-13 14:47:15 IP:219.71.xxx.xxx 訂閱

[code cpp]
#include
sbit wled =P3^7;
sbit rs =P0^0;
sbit en =P0^1;
/*---------------------------------------------*/
delay(int d)
{
int i,j;
for(i=0;i for(j=0;j<200;j );
}
/*----------------------*/
led_b1()/*工作LED閃動*/
{
int i;
for(i=0;i<2;i )
{
wled=0; delay(50);
wled=1; delay(50);
}
}
/*----------------------*/
de1()/*短暫延遲*/
{
int i;
for(i=0;i<10;i );
}
/*----------------------*/
en1()/*LCD致能控制信號*/
{
en=1;de1();/*EN信號設為HIGH 延遲一下*/
en=0;de1();/*EN信號設為LOW 延遲一下*/
}
/*----------------------*/
write_com(unsigned char c)/*寫入指令暫存器*/
{
P0=c;rs=0;en1();c<<=4;/*左移*/
P0=c;rs=0;en1();
}
/*----------------------*/
write_data(unsigned char c)
{
P0=c;rs=1;en1();c<<=4;
P0=c;rs=1;en1();
}
/*----------------------*/
init_lcd()/*LCD初始化控制*/
{
P0=0x30; en1();
P0=0x30; en1();
P0=0x30; en1();
P0=0x20; en1();
write_com(0x28);/*4bitI/O雙列顯示*/
write_com(0x0e);/*游標出現 不閃爍*/
write_com(0x06);/*每次向左移 顯示幕不移動*/
write_com(0x01);/*清除LCD顯示幕*/
delay(100);
}
/*----------------------*/
print(char line,char *str)
{
char i;

if(line==1)
{ write_com(0x80);/*設定LCD第一行位址*/
for(i=0;i<16;i )write_data();
write_com(0x80); }
else
{
write_com(0xc0);/*設定LCD第二行位址*/
for(i=0;i<16;i )write_data();
write_com(0xc0);
}

i=0
do{write_data(*str );}/*寫入資料*/
while(*str!='\0');
}
/*----------------------*/
pr1(char x,char w)
{
write_com(0x80 x);
write_data(w);
}
/*----------------------*/
pr2(char x,char w)
{
write_com(0xc0 x);
write_data(w);
}
/*----------------------*/
main()
{
unsigned char ad,c;
en=0;
init_lcd();
led_b1();

print(1,"ioid")/*first*/
print(2,"dddddd")/*sec*/
while(1)
{
ad=P1;
c=ad/100; pr2(13,c 0x30);
c=(ad0)/10; pr2(14,c 0x30);
c=(ad0)%/10; pr2(15,c 0x30);
led_b1();
delay(300);
}
}
[/code]
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-13 21:32:42 IP:220.131.xxx.xxx 訂閱
建議提問技巧:
1.錯誤訊息是什麼?請提供
2.程式碼如不熟悉,請找朋友檢查。
如:73,96,97行..沒有分號。會讓人覺得把C當VB..
最後 加油。 我也是初學者^_^
因為前輩或高手 都是螢幕前...偷笑@@
系統時間:2024-04-28 8:53:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!