PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 31-05-2009, 08:37 AM   #7
tienchuan
Đệ tử 4 túi
 
tienchuan's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 71
:
cho em tham gia với!
Nhân tiện em xin đưa chương trình "đo nhiệt độ "dùng cảm biến nhiệt LM35DZ hiển thị trên 2 led 7 đoạn anode chung ,dùng pic16f877a (phí quá,nhưng chip này do Thầy em cho).
cai mach in em vẽ thiếu chân nguồn cho 2 con led7,em nhát quá chạy lun cái jumper trước con trở Reset xuống luôn>


// |+++++++++++++++++++++++++++++++++++++++++++++++++ ++|
// | CHUONG TRINH HIENTHI NHIET DO TREN 2 LED 7 DOAN |
// | BAO CAO THUC TAP MACH SO UNG DUNG |
// | NGUYEN TIEN CHUAN-071250520207-07DT2 |
// |+++++++++++++++++++++++++++++++++++++++++++++++++ ++|


// ||||||||||||---------------------- KET NOI PHAN CUNG --------------------||||||||||||||||
//++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++\
//| RB0->6 KET NOI DEN CAC CHAN A,B,C,D,E,F,G CUA 2 LED 7 DOAN ANODE CHUNG. +\
//| CHAN 8(VCC) CUA 2 LED 7 D0AN DUOC DIEU KHIEN BOI 2 BJT THUAN PNP: A1015 +\
//| CHAN C CUA 2 BJT NOI VOI CHAN VCC CUA 2 LED 7 DOAN DE DIEU KHIEN QUET LED +\
//| CHAN E CUA BJT NOI VOI NGUON +\
//| CHAN B (BAM DIEN TRO 10K )CUA BJT HANG CHUC VA DON VI NOI LAN LUOT VOI CHAN RD1,RD0 +\
//|---------------------------------------------------------------------------------------+\
//| SU DUNG TRINH BIEN DICH PCWH COMPLIER VER:4.018 +\
//| SU DUNG TRINH WINPIC800 DE NAP FILE HEX LEN PIC QUA CHUAN GIAO TIEP ICSP +\
//|+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++\



#include <16F877A.h> // KHAI BAO SU DUNG PIC 16F877A

#include <def_877a.h> // FILE DINH NGHIA CAC THANH GHI VA CAC BIT

#device *=16 adc=10 // KHAI BAO SU DUNG CON TRO 16 BIT VA ADC 10 BIT

// KHAI BAO CAU HINH CHO PIC 16F877A
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT

// KHAI BAO SU DUNG DELAY VOI TAN SO DAO DONG NGOAI
#use delay(clock=12000000)

int8 high,low; // KHAI BAO CAC BIEN SO NGUYEN 1 BYTE

// KHAI BAO BANG MA LED 7 DOAN ANODE CHUNG
int8 const a[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };

// CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI
void convert_bcd(int8 x)
{
low=x%10; // CHU SO HANG DON VI
high=x/10; // CHU SO HANG CHUC

}
// CHUONG TRINH CON HIEN THI RA 2 LED 7 DOAN
void display()
{
PORTB=a[low];
RD0=0;
delay_us(500);
RD0=1;
PORTB=a[high];
RD1=0;
delay_us(500);
RD1=1;
}

void main()
{
float value;
int16 i;
trisb = 0x00; // THIET LAP CAC CHAN PORTB LA OUTPUT
trisd = 0x00; // THIET LAP CAC CHAN PORT D LA OUTPUT
trise = 0x00; // THIET LAP CAC CHAN PORT E LA OUTPUT
trisa = 0xff; // THIET LAP CAC CHAN PORT A LA INPUT

// KHOI TAO ADC

setup_adc(ADC_CLOCK_INTERNAL); // THIET LAP THOI GIAN LAY MAU BANG XUNG CLOCK
setup_adc_ports(AN0); // THIET LAP CHAN AN0 LA CHAN VAO ADC
set_ADC_channel(0) ;
delay_us(10); // TRE 10US

value=(float)read_adc(); // DOC GIA TRI ADC
value = value/2.048; //
convert_bcd((int8)value); // GOI CHUONG TRINH CON CONVERT_BCD

i=0;
while(1)
{
i++;
value =(float) read_adc();
value = value/2.048;
if (i==500)
{
convert_bcd((int8)value);
i=0;
}
display();
}
}
File Kèm Theo
File Type: rar main.rar (59.3 KB, 53 lần tải)
tienchuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 06:41 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam