📄 picdem2.c
字号:
/* This is a simple demo project written for use with
* the HI-TECH Software PICC compiler. It may be compiled
* and run on the Microchip PICDEM 2 PLUS DEMO BOARD.
* Features demonstrated include driving the LCD display and
* the A2D converter.
Additional files required for this demo are included in the
PIC\SAMPLES directories:
DELAY\delay.c
DELAY\delay.h
lcd.c
lcd.h
*/
#include <htc.h>
#include <stdio.h>
#include "lcd.h"
/* this is the maximum value of an A2D conversion. */
#define MAXVOLTAGE 5
void init(void){
lcd_init(FOURBIT_MODE);
ADON=1; /* enable A2D converter */
ADIE=0; /* not interrupt driven */
ADCON1=0x0E;
ADCON0=1;
TRISB=0x00; // Set PORTB in output mode
T1CON=0x31; // turn on timer 1
TMR1IE=1; // timer 1 is interrupt enabled
PEIE=1; // enable peripheral interrupts
GIE=1; // turn on interrupts
}
void interrupt isr(void){
if(TMR1IE && TMR1IF){
PORTB++;
TMR1IF=0;
}
}
void main(void){
unsigned char last_value;
unsigned char volts;
unsigned char decivolts;
unsigned char outString[20];
init();
lcd_puts("Adust the");
lcd_home2(); // select line 2
lcd_puts("potentiometer");
while(1){
ADGO=1;
while(ADGO)continue;
ADIF=0;
if(ADRESH!=last_value)
{
volts=0;
for(decivolts=(ADRESH*10*MAXVOLTAGE/255);decivolts>=10;decivolts-=10)
volts++;
lcd_clear();
sprintf(outString,"A2D = %d.%d volts",volts,decivolts);
lcd_puts(outString);
}
last_value=ADRESH;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -