在開發板沒有配置顯示功能的情況下,使用串行通訊功能是較好的顯示觀察手段。對于ADC的檢測效果的觀察,就可以采用這種辦法。 程序設計的思想是使用引腳P06來采集外部模擬信號值,并通過程序通訊來顯示采樣值。其中,P16為串行通訊的發送端,而P17為串行通訊的接收端。 ADC采集的顯示函數為: - void PRT(void)
- {
- int f=0;
- guc_Uartbuf_a[0]=gui_AdcValue/1000+'0';
- guc_Uartbuf_a[1]=gui_AdcValue%1000/100+'0';
- guc_Uartbuf_a[2]=gui_AdcValue%100/10+'0';
- guc_Uartbuf_a[3]=gui_AdcValue%10+'0';
- guc_Uartbuf_a[4]=0x0D;
- guc_Uartbuf_a[5]=0x0A;
- IE &=~ 0x40;
- for(guc_i=0;guc_i<6;guc_i++)
- {
- if((guc_Uartbuf_a[guc_i]>'0')||(f==1))
- {
- S2BUF = guc_Uartbuf_a[guc_i];
- f=1;
- }
- else
- {
- S2BUF = ' ';
- }
-
- if(guc_i==2) f=1;
-
- while(!(S2CON & 0x02));
- S2CON &=~ 0x02;
- }
- IE |= 0x40;
- }
復制代碼
ADC采集的主程序為: - void main()
- {
-
- while((CLKCON&0x20)!=0x20);
- CLKSWR = 0x51;
- while((CLKSWR&0xC0)!=0x40);
- CLKDIV = 0x01;
- P1M4 = 0xC2;
-
- P0M6 = 0x02;
- ADCC0 = 0x80;
- ADCC1 = 0x06;
- ADCC2 = 0x4B;
-
- P1M6 = 0xC2;
- P1M7 = 0x62;
- TXD2_MAP = 0x16;
- RXD2_MAP = 0x17;
-
- RCAP5H = 0xFF;
- RCAP5L = 0x98;
- T5CON = 0x06;
- S2CON2 = 0x00;
- S2CON = 0x10;
- IE |= 0x40;
- EA = 1;
-
- while(1)
- {
- ADCC0 |= 0x40;
- while(!(ADCC0&0x20));
- ADCC0 &=~ 0x20;
- gui_AdcValue = ADCR;
- PRT();
- delay();
- }
- }
復制代碼
經程序下載后,檢測的效果如下圖所示。 檢測效果
|