You are on page 1of 7

Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử

BÁO CÁO VI XỬ LÝ 2 ; 10
HỌ TÊN : HỔ CÔNG ĐỨC ; ERROR:
MSSV : 07201005 ; ĐIỂM:
LỚP : 072010A NHÓM: ;
Đặt vấn đề: “DÙNG PIC 16F877A ĐIỀU ĐỂ ĐO NHIỆT ĐỘ CỦA NGÕ VÀO KÊNH THỨ 0 DÙNG CẢM
BIẾN LM35, KẾT NỐI VỚI 4 LED 7 ĐOẠN, DÙNG NGÔN NGỮ C.

1. Sơ đồ khối:

Khối Hiển Thị

Khối Nguồn Khối Xử Lý Khối cảm biến
nhiệt

Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 1

Sơ đồ mạch: Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 2 .Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử 2.

Lưu đồ chương trình chính BEGIN KHỞI TẠO PORTB.D.Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử 3.KHỞI TẠO ADC LỰA CHỌN KÊNH AN0 CHUYỂN ĐỔI ADC CỦA KÊNH AN0 ĐỌC ADC HEX_BCD HIỂN THỊ END Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 3 . Lưu đồ giải thuật: a.

Lưu đồ chương trình hex_bcd: HEX_BCD NGAN=TAM/1000 TÍNH TRĂM&CHỤC&ĐƠN VỊ XUẤT MÃ 7 ĐOẠN XÓA SỐ 0 VÔ NGHĨA RETURN c.Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử b. Lưu đồ chương trình hiển thị: HIỂN THỊ MÃ ĐƠN VỊ RA PORTB MÃ CHỤC RA PORT B MÃ TRĂM RA PORTB MÃ NGÀN RA PORTB CHỌN LED QUÉT DELAY CHONG LEM RETURN Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 4 .

INT DONVI. DONVI= TAM %10. IF (NGAN == 0) { MNGAN=0XFF. TAM = TAM %1000.CHUC.0x80. UNSIGNED CHAR MDONVI.0xF8. Chương trình c: #INCLUDE <16F877A.0xbf}.MTRAM.0xF9. IF (TRAM == 0) Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 5 . VOID HEX_BCD (INT16 TAM) { NGAN = TAM/1000.MNGAN. 0x90.H> #DEVICE ADC=10 #FUSES NOWDT.0xA4.PUT.Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử d. CHUC = TAM/10.0xB0. NGAN.NOPROTECT.NOLVP #USE DELAY(CLOCK=20000000) CONST UNSIGNED CHAR MALED7DOAN[11]={0xC0. MCHUC = MALED7DOAN[CHUC]. MCHUC = MCHUC&0X7F.0x92.0x99.I.0x82.MCHUC. TAM = TAM %100. MDONVI= MALED7DOAN[DONVI]. MTRAM = MALED7DOAN[TRAM]. INT16 KQADC. TRAM. TRAM = TAM/100. MNGAN = MALED7DOAN[NGAN].HS.

OUTPUT_HIGH(PIN_D2). OUTPUT_LOW(PIN_D1). OUTPUT_B(MNGAN). OUTPUT_B(MTRAM). OUTPUT_LOW(PIN_D3). OUTPUT_LOW(PIN_D0). OUTPUT_B(MCHUC). OUTPUT_HIGH(PIN_D0).Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử { MTRAM=0XFF. Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 6 . OUTPUT_HIGH(PIN_D3). OUTPUT_LOW(PIN_D2). DELAY_MS(1). DELAY_MS(1). OUTPUT_HIGH(PIN_D1). } } } VOID HIENTHI () { OUTPUT_B(MDONVI). SET_TRIS_D(0x00). IF (CHUC == 0 ) MCHUC=0XFF. } VOID MAIN() { SET_TRIS_B(0x00). DELAY_MS(1). SETUP_ADC(ADC_CLOCK_DIV_32). DELAY_MS(1).

I++) { HIENTHI (). I<50. KQADC= KQADC /1000. } } } Bộ môn Điện tử Công nghiệp Báo cáo Vi Xử Lý 2 Trang 7 . KQADC= KQADC *4887. WHILE(1) { KQADC=READ_ADC(). FOR (I=0.Đại học Sư Phạm Kỹ Thuật Khoa Điện – Điện tử SETUP_ADC_PORTS(AN0). HEX_BCD (KQADC).