Professional Documents
Culture Documents
Adc Pic
Adc Pic
Lớp : CĐT2-K13
MSV: 2018603336
GV: Vũ Trung Kiên
Câu 1. Vẽ, lắp ráp mạch điện và lập trình theo yêu cầu:
a. Vẽ, lắp ráp mạch điện như sau: 5V
R
- Sử dụng biến trở để tạo điện áp 0 đến 5V I/O pin
560
nối với chân AN1. VR LED
- LED1-LED8 nối lần lượt với các chân ANx
b. Vẽ lưu đồ thuật toán và viết chương trình theo yêu cầu như sau:
- Đọc giá trị số biến đổi được từ điện áp trên kênh AN1 và hiển thị dưới dạng
số nhị phân trên LED1-LED10. LED sáng tương ứng bit “1”, LED tắt tương
ứng bit “0”; bit có trọng số lớn nhất (D9) tương ứng LED10, bit có trọng số
nhỏ nhất (D0) tương ứng LED1.
- LED11 sáng khi điện áp trên AN1 lớn hơn hoặc bằng 3V, tắt khi điện áp
trên AN1 nhỏ hơn 3V.
Bài làm:
ảnh code:
Bài code :
#include<p18f4520.h>
#include<delays.h>
#include<adc.h>
#pragma config OSC = HS
#pragma config LVP = OFF
#pragma config MCLRE = ON
#pragma config WDT = OFF
unsigned int x; float y;
void main (void)
{
TRISA=0xff; //RA1 co chieu vao
TRISC=0x00;
TRISD=0x00;
TRISE=0X00;
ADCON1=0x0e; // -VREF = VSS ; +VREF = VDD
// Cau hinh ADC
OpenADC(
ADC_FOSC_2 & ADC_RIGHT_JUST & ADC_0_TAD,
ADC_CH1 & ADC_INT_OFF & ADC_VREFPLUS_VDD &
ADC_VREFMINUS_VSS,
14);
while(1)
{
// Doc ADC
ConvertADC(); // ra lenh bien doi
while(BusyADC()); // cho bien doi xong
x=ReadADC();
x=x&0b0000001111111111;
PORTD=x%256;
PORTC=x/256;
y=(x*5)/1023;
if (y>=3) PORTE=0b10;
else PORTE=0b00;
}
}
4. Ảnh chụp khi điện áp trên AN1 là 5V, khi đó LED1-LED11 sáng.