音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

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

為什么ADS7843讀出來全是0??

作者:Lx_mcu 欄目:MCU技術(shù)
為什么ADS7843讀出來全是0??
我開始用的是下面這個程序,讀出來全是0,能生中斷!
后來我又改了下,還是全為0;不知道是什么問題! 哪位大哥幫幫助呀!


觸摸屏芯片ADS7846/ADS7843驅(qū)動程序(C51)

/*
[文件名] Touch.c
[功 能] 8051單片機驅(qū)動ADS7846/ADS7843芯片
[簡 介] ADS7846/7843芯片 適合用在4線制觸摸屏,它通過標準SPI協(xié)議和CPU通信,操作簡單,精度高,當(dāng)
觸摸屏被按下時(即有觸摸事件發(fā)生)則ADS7846向CPU發(fā)中斷請求,CPU接到請求后,應(yīng)延時一下再響應(yīng)
其請求,目的是為了消除抖動使得采樣更準確。如果一次采樣不準確。
[原作者] 鞠春陽
[版 本] v1.1b
[最后修改時間] 2004年3月31日 9:11
*/


#include "reg51.h"
#include "intrins.h"


sbit DCLK=P1^6;
sbit CS=P2^2;
sbit DIN=P2^3;
sbit DOUT=P2^4;
sbit BUSY=P2^5;

delay(unsigned CHAR i--)
{
while(i--);
}


void start() //SPI開始
{
DCLK=0;
CS=1;
DIN=1;
DCLK=1;
CS=0;
}

WriteCharTo7843(unsigned CHAR num) //SPI寫數(shù)據(jù)
{
unsigned CHAR count=0;
DCLK=0;
for(count=0;count<8;count++)
{
num<<=1;
DIN=CY;
DCLK=0; _nop_();_nop_();_nop_(); //上升沿有效
DCLK=1; _nop_();_nop_();_nop_();
}
}


ReadFromCharFrom7843() //SPI 讀數(shù)據(jù)
{
unsigned CHAR count=0;
unsigned int Num=0;
for(count=0;count<12;count++)
{
Num<<=1;
DCLK=1; _nop_();_nop_();_nop_(); //下降沿有效
DCLK=0; _nop_();_nop_();_nop_();
if(DOUT) Num++;
}
return(Num);
}

void ZhongDuan() interrupt 0 //外部中斷0 用來接受鍵盤發(fā)來的數(shù)據(jù)
{
unsigned int X=0,Y=0;
delay(10000.html">10000); //中斷后延時以消除抖動,使得采樣數(shù)據(jù)更準確
start(); //啟動SPI
// while(BUSY); //如果BUSY信號不好使可以刪除不用
delay(2);
WriteCharTo7843(0x90); //送控制字 10010000.html">10000 即用差分方式讀X坐標 詳細請見有關(guān)資料
// while(BUSY); //如果BUSY信號不好使可以刪除不用
delay(2);
DCLK=1; _nop_();_nop_();_nop_();_nop_();
DCLK=0; _nop_();_nop_();_nop_();_nop_();
X=ReadFromCharFrom7843();
WriteCharTo7843(0xD0); //送控制字 11010000.html">10000 即用差分方式讀Y坐標 詳細請見有關(guān)資料
DCLK=1; _nop_();_nop_();_nop_();_nop_();
DCLK=0; _nop_();_nop_();_nop_();_nop_();
Y=ReadFromCharFrom7843();
CS=1;
}


main()
{
TMOD=0x11; // 記數(shù)器0 計數(shù)器1 都以 16 位 記數(shù)
TCON=0x00;
IE=0x83; //1000 0001 EA=1中斷允許,
IP=0x01;
while(1);
}



2樓: >>參與討論
zjb
是不是使用的晶振頻率有問題呀?請大家?guī)蛶兔Α?/td>
3樓: >>參與討論
zjb
有什么好辦法。請給我發(fā)郵件zjbdz0102@163.com
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
[仿真問題]代碼空間可以改變嗎?
請問怎么才能使外部RAM為32K(見引腳連接)
關(guān)于zlg290b
我周立功LPC213X開發(fā)板\\4.6-ZLGFS文件系統(tǒng))時在ads的問題
關(guān)于USB的干擾問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號