最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

c51高手請過來指教

作者:yanbing110 欄目:單片機(jī)
c51高手請過來指教
 各位老兄好,小弟C51不久,比較菜,有問題向大家請教一下
前兩天編了一個LCD程序,LCD是LCM045,就是顯示四位數(shù)并帶小數(shù)點(diǎn)的那種,程序也寫出來了,硬件調(diào)試也通過了
 平時我習(xí)慣把主程序放最后,當(dāng)我把AD轉(zhuǎn)換子程序放到LCD的那些子程序的前面,LCD就沒有顯示了,即使把AD放到一邊,在主程序里不調(diào)用也不行,還是不能顯示.
 不過當(dāng)我把AD轉(zhuǎn)換子程序放到LCD的那些子程序的后面,不調(diào)用它時LCD能顯示,調(diào)用的話,就還是不能顯示,搞不懂.
 順便說一下,LCD那一塊用了幾個帶參數(shù)的函數(shù),是不是那里占用了太多的硬件資源,還是怎么回事,老兄們,指教一下小弟啊

2樓: >>參與討論
yanbing110
自己先頂
大哥們,怎么沒人過來指教一下啊

3樓: >>參與討論
puppyh
檢測一下匯編語言
當(dāng)把AD轉(zhuǎn)換子程序放到LCD的那些子程序的前面時,你看看反匯編,AD轉(zhuǎn)換的代碼是在什么地址上。

4樓: >>參與討論
computer00
這個問題不好說。應(yīng)該是一些比較隱蔽的錯誤,再查查程序。
 
5樓: >>參與討論
xycqsou
我想應(yīng)該是你那AD程序的問題吧!
還有就是你編譯的結(jié)果有沒有警
告的呀,如果有的話,可能問題就出在那個地方了!

6樓: >>參與討論
yanfengzhu
把a(bǔ)d轉(zhuǎn)換程序注釋掉再看看。
 
7樓: >>參與討論
采鳥
回復(fù)
把你的源貼上來。

8樓: >>參與討論
sharn
把程序發(fā)過來看看!
 
9樓: >>參與討論
yanbing110
謝謝各位大俠的支持
謝謝各位大俠的支持,這是我的程序:
#include<AT89X51.H>
#define CLOCK P1_0//單片機(jī)對AD轉(zhuǎn)換TLV1543的幾個輸入輸出口的定義
#define D_IN P1_1
#define D_OUT P1_2
#define _CS P1_3
void deday()
{
#pragma asm
nop
nop
nop
#pragma endasm
}
unsigned CHAR code tab1[10]={0x7d,0x60,0x3e,0x7a,0x63,0x5b,0x5f,0x70,0x7f,0x7b};
unsigned CHAR code tab2[10]={0xfd,0xe0,0xbe,0xfa,0xe3,0xdb,0xdf,0xf0,0xff,0xfb};
//

//寫命令
void wrcom(unsigned CHAR i)
{unsigned CHAR data j;
P2_4=1;//P2_4為/CS
deday();
P2_4=0;
//D=1  100
deday();
P2_3=0;//P2_3為/WR
deday();
P2_2=1;//1    P2_2為DATA
deday();
P2_3=1;
//D=0
deday();
P2_3=0;
deday();
P2_2=0; //0
deday();
P2_3=1;
//D=0
deday();
P2_3=0;
deday();
P2_2=0; //0
deday();
P2_3=1;
//data=data8bit+0   (9 bit)
deday();
for(j=8;j>0;j--)
{P2_3=0;
deday();
P2_2=(bit)(i&0x80);
i<<=1;
P2_3=1;
deday();
}
P2_3=0;
deday();
P2_2=0;  //0
deday();
P2_3=1;
}
//
//
//寫地址
void wrdd(unsigned int i)
{unsigned CHAR data j;
P2_4=1;
deday();
P2_4=0;
//D=1  101
deday();
P2_3=0;
deday();
P2_2=1; //1
deday();
P2_3=1;
//D=0
deday();
P2_3=0;
deday();
P2_2=0; //0
deday();
P2_3=1;
//D=1
deday();
P2_3=0;
deday();
P2_2=1;  //1
deday();
P2_3=1;
//六位地址
deday();
for(j=6;j>0;j--)
{P2_3=0;
deday();
P2_2=(bit)(i&0x80);
i<<=1;
P2_3=1;
deday();
}
}
//
//
//寫入數(shù)據(jù)
void wrda(unsigned int i,unsigned CHAR j)
{
for( ;j>0;j--)
{P2_3=0;
deday();
P2_2=(bit)(i&0x01);
i>>=1;
P2_3=1;
deday();
}
}
//
void lcd()
{
unsigned CHAR data x;
x=tab1[2];             
deday();
wrcom(0x29);
wrcom(0x18);
wrcom(0x01);
wrcom(0x03);
//
wrdd(0x56);
wrda(0x01,4);
//

wrdd(0x58);
wrda(0x00,8);
wrdd(0x60);
wrda(x,8);
//
wrdd(0x68);
wrda(0x00,4);
//
wrdd(0x6c);
wrda(x,8);
wrdd(0x76);
wrda(x,8);
//
wrdd(0x7c);
wrda(0x01,4);
}
//
unsigned int read1543(unsigned CHAR PORT) //從TLC1543讀取采樣值,形參PORT是采樣的通道號
{
unsigned int data ad;unsigned int data i;
unsigned CHAR data al=0,ah=0;

CLOCK=0;
_CS=0;
PORT<<=4;
for (i=0;i<4;i++) //把通道號打入1543
{
D_IN=(bit)(PORT&0x80);CLOCK=1;
deday();
CLOCK=0;
PORT<<=1;
}

for (i=0;i<6;i++) //填充6個CLOCK
{
CLOCK=1;
deday();
CLOCK=0;
}

_CS=1;
deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();
deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();
deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();deday();

_CS=0; //等待AD轉(zhuǎn)換

for (i=0;i<2;i++) //取D9,D8
{
D_OUT=1;
CLOCK=1;
ah<<=1;
if (D_OUT) ah|=0x01;
CLOCK=0;
deday();
}

for (i=0;i<8;i++) //取D7--D0
{
D_OUT=1;
CLOCK=1;
al<<=1;
if (D_OUT) al|=0x01;
CLOCK=0;
deday();
}

_CS=1;
P3=ah;P2=al;
ad=(unsigned int)ah;ad<<=8;ad|=al; //得到AD值
return (ad);
}
//
//

void main()
{
unsigned int data a;
lcd();

}
如果把 void read1543()那個子程序去掉的話,LCD上顯示的是2 2 2,但是把它加上的話什么都不會顯示

10樓: >>參與討論
yanbing110
我已經(jīng)把程序發(fā)上去了
我已經(jīng)把程序發(fā)上去了

11樓: >>參與討論
computer00
應(yīng)該是你的LCD程序出了問題吧。什么型號的LCD?
先只弄LCD程序,LCD好用后,再加其它功能。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
尋求具有16位AD的單片機(jī)!
有人要找性價比高的消費(fèi)類,家電類單片機(jī),要建議可以找我
keil程序不能編譯通過
共陰點(diǎn)陣模塊驅(qū)動求救
各位,數(shù)碼管上能顯示小數(shù)點(diǎn)么?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號