|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
用ADS7843做觸摸屏,大俠幫忙看一下程序,先行謝過 |
| 作者:northerns 欄目:單片機 |
用ADS7843做觸摸屏,可是定義了一個觸摸區(qū)域,卻有N個區(qū)域反應,大俠幫忙看一下程序,先行謝過 這是程序:delay()的基數(shù)是1us,CPU用的是ATMEGA128 uint read7843(uchar com) { uint data; uchar fori,dat; data=0;dat=0; DDRE=0x1f; PORTE=0x02; PORTE&=~(1<<1);//CS=0 //PORTE&=~(1<<4); DDRE&=~(1<<3); delay(10); for(fori=0;fori<8;fori++) { PORTE&=~(1<<0); //DCLK=0; delay(5); if((com<<fori)&0x80) { PORTE|=(1<<2);//DIN=1; } else { PORTE&=~(1<<2);//DIN=0; } delay(5);//DIN數(shù)值預置在DCLK上升沿之前至少100ns PORTE|=(1<<0); //DCLK=1; delay(5);//低電平至少200ns PORTE&=~(1<<0); //DCLK=0; delay(5); } for(fori=0;fori<3;fori++) { PORTE&=~(1<<0);//加至少3個機器周期 delay(5); PORTE|=(1<<0); delay(5); } DDRE&=~(1<<3); for(fori=0;fori<12;fori++) { PORTE&=~(1<<0);//DCLK=0 data<<=1; delay(5);//低電平至少200ns PORTE|=(1<<0);//DCLK=1; delay(5); dat=PINE; if(dat&0x08) data++; PORTE&=~(1<<0);//DCLK=0 delay(5); } for(fori=0;fori<3;fori++) { PORTE|=(1<<0);//加至少3個機器周期 delay(5); PORTE&=~(1<<0); delay(5); } PORTE|=(1<<1);//CS=1 return (data); } |
| 2樓: | >>參與討論 |
| 作者: northerns 于 2007/3/21 9:04:00 發(fā)布:
幫幫忙吧 |
|
| 3樓: | >>參與討論 |
| 作者: shuaiyu 于 2007/3/21 10:37:00 發(fā)布:
回 你寫的看不懂..說下你的大概思路..一起探討 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |