Software Trigger and Polling Techniques
The steps below should be followed for software triggering and polling:
1.Send 00h to A/D mode control register (software trigger + polling transfer)
2.Send channel number to multiplexer control register.
3.Send the gain control code value to gain control register.
4.Send any value to software trigger control register to generate a software trigger signal.
5.Scan the READY bit of the A/D high byte data until READY=0
6.Read the 12 bits A/D data.
7.Convert the 12 bits binary data to the floating point value.
For example:
/* | */ | |
/* DEMO 3: AdPolling |
| */ |
/* Compiler: Borland C++ 3.1, Mode Large | */ | |
/* Output Code: HEX code |
| */ |
/* | */ | |
#include "P1002.H" |
|
|
WORD wBaseAddr,wIrq; |
|
|
| ||
WORD P1002_Delay(WORD wDownCount) |
| |
{ |
|
|
WORD h,l; |
|
|
int count; |
|
|
wDownCount &= 0x7fff; |
|
|
if (wDownCount<1) wDownCount=1; |
| |
/* Clock in=4M | ||
l=wDownCount&0xff; |
|
|
wDownCount=wDownCount / 256; |
| |
h=wDownCount&0xff; |
|
|
outp(wBaseAddr+3*4,0xB0); | /* mode_0, counter_2 */ | |
outp(wBaseAddr+2*4,l); | /* counter_2 low byte first */ | |
outp(wBaseAddr+2*4,h); | /* counter_2 high byte ,0x07D0=2000 */ | |
outp(wBaseAddr+3*4,0x80); | /* latch counter_2 */ | |
|
|
|
|
| 41 |