On 9/18/06, Shawn Wilton wrote: > I'll give that a shot Vasile, but it looks like what I'm already doing. Your C compiler is doing automatic bank management ? > > > On 9/18/06, Vasile Surducan wrote: > > > > This is a jal procedure for reading the AD module of the 12F675. I > > think is self explanatory. Try to convert it in C and will (probably) > > work. > > > > const bit ref_extern = high > > const bit ref_vdd = low > > const bit left_justify = high > > const bit right_justify = low > > > > procedure one_ch_ad_read ( byte in channel, bit in ref, bit in justify ) > > is > > ; result in adresh and adresl, > > ; channel = 0...3, ref=high means external reference, justify=high > > means left justify > > var byte local > > if channel == 0 then local = 0b_0000_0001 > > elsif channel == 1 then local = 0b_0000_0010 > > elsif channel == 2 then local = 0b_0000_0100 > > elsif channel == 3 then local = 0b_0000_1000 > > end if > > asm bsf _rp0 ; set bank1 > > ansel = ( 0b_0001_0000 + local ) ; fosc/8, internal 4MHz clock > > asm bcf _rp0 ; set bank0 > > channel = channel << 2 > > adcon0 = ( 0 + channel ) > > if ref then > > asm bsf vcfg > > else asm bcf vcfg > > end if > > if justify then > > asm bcf adfm > > else asm bsf adfm > > end if > > > > asm bsf adon ; supply the ad module > > delay_10uS ( 1 ) ; wait the sampling time > > asm bsf go_done ; start the conversion > > while go_done loop end loop ; wait for ad completion > > end procedure > > > > usage: > > one_ch_ad_read ( 0, ref_vdd, left_justify ) > > read the adresh and adresl > > > > > > On 9/18/06, Shawn Wilton wrote: > > > Yeah, I have tried this and the conversion never returns. I block on > > the > > > poll of the Go\Not Done bit and it never changes back to a zero > > indicating a > > > successful conversion. > > > > > > > > > On 9/18/06, Vasile Surducan wrote: > > > > > > > > There are two wais (at least) of using the AD module in PIC > > > > microcontrollers. > > > > First one is: set the AD channels and device operating frequency, turn > > > > on the AD module, wait 20uS for aquisition time and wait untill the > > > > GO/DONE bit is changing > > > -- > > > http://www.piclist.com PIC/SX FAQ & list archive > > > View/change your membership options at > > > http://mailman.mit.edu/mailman/listinfo/piclist > > > > > -- > > http://www.piclist.com PIC/SX FAQ & list archive > > View/change your membership options at > > http://mailman.mit.edu/mailman/listinfo/piclist > > > > > > -- > > Shawn Wilton (b9 Systems) > http://b9Systems.com <- New web page > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist