CCS的c语言编程,PIC CCS C语言程序范例

  This program displays the min and max of 30 A/D samples over   

  the RS-232 interface.  The process is repeated forever.       

                                                                 

  Configure the CCS prototype card as follows:                   

      Insert jumpers from: 11 to 17, 12 to 18 and 9 to 16       

      Use the #9 POT to vary the voltage.                       

/

#include <16C71.H>

#use delay(clock=15000000)

#use rs232(baud=9600,xmit=PIN_A3,rcv=PIN_A2)

main() {

int i,value,min,max;

printf("Sampling:");

setup_port_a( ALL_ANALOG );

setup_adc( ADC_CLOCK_INTERNAL );

set_adc_channel( 0 );

do {

min=255;

max=0;

for(i=0;i<=30;++i) {

delay_ms(100);

value = Read_ADC();

if(value < min)

min=value;

if(value > max)

max=value;

}

printf("nrMin: %2X  Max: %2Xrn",min,max);

} while (TRUE);

}

Output Listing

....................       min=255;

008D:  MOVLW  FF

008E:  MOVWF  28

....................       max=0;

008F:  CLRF   29

....................       incc=TRUE;

0090:  BSF    2B,0

....................       for(i=0;i<=30;++i) {

0091:  CLRF   26

0092:  MOVLW  1F

0093:  SUBWF  26,W

0094:  BTFSC  03,0

0095:  GOTO   0AC

....................          delay_ms(100);

0096:  MOVLW  64

0097:  MOVWF  2C

0098:  GOTO   02D

....................          value = Read_ADC();

0099:  BSF    1F,2

009A:  BTFSC  1F,2

009B:  GOTO   09A

009C:  MOVF   1E,W

009D:  MOVWF  27

....................          if(value < min)

009E:  MOVF   28,W

009F:  SUBWF  27,W

00A0:  BTFSC  03,0

00A1:  GOTO   0A4

....................             min=value;

00A2:  MOVF   27,W

00A3:  MOVWF  28

....................          if(value > max)

00A4:  MOVF   27,W

00A5:  SUBWF  29,W

00A6:  BTFSC  03,0

00A7:  GOTO   0AA

....................             max=value;

00A8:  MOVF   27,W

00A9:  MOVWF  29

....................       }

00AA:  INCF   26,F

00AB:  GOTO   092

....................       if (incc)

00AC:  BTFSC  2B,0

....................         counter++;

00AD:  INCF   2A,F

c2c9ed493cd281aa86d8a6f5178c4c01.gif [1] [2] 610626052e95c7fbe3d254abc769d9ad.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值