Nội dung các bài thực hành:- Bài thực hành số 1: Thực hành điều khiển led đơn - Bài thực hành số 2: Thực hành hiển thị led 7 đoạn.. - Bài thực hành số 4: Thực hành nhận biết phím đơn.. -
Trang 1-BÁO CÁO THỰC HÀNH VI ĐIỀU KHIỂN
Giáo viên hướng dẫn : Phùng Toàn Thắng Sinh viên thực hiện : Vũ Văn Được
MSV :1700347
Lớp : k41 tđh
Hà Nội 2019
Trang 2Nội dung các bài thực hành:
- Bài thực hành số 1: Thực hành điều khiển led đơn
- Bài thực hành số 2: Thực hành hiển thị led 7 đoạn
- Bài thực hành số 3: Thực hành hiển thị LCD 16x2
- Bài thực hành số 4: Thực hành nhận biết phím đơn
- Bài thực hành số 5: Thực hành nhận biết phím matrix 4x3
- Bài thực hành số 6: Thực hành xử lý ngắt ngoài INT
- Bài thực hành số 7: Thực hành giao tiếp ADC
- Bài thực hành số 8: Thực hành giao tiếp với ROM
- Bài thực hành số 9: Thực hành giao tiếp thời gian thựcDS1307
- Bài thực hành số 10: Thực hành điều khiển động cơ DC
- Bài thực hành số 11: Thực hành điều động cơ khiển bước
Trang 301: Điều khiển hiển thị led đơn Bài tập ứng dụng: Thực hành điều khiển 8 led đơn sáng dần từ
phải sang trái Dữ liệu điều khiển led được xuất ra cổng Port D
Trang 4- Chương trình thực hiện chạy đúng theo nguyên lý đã đưa ra.
- Thời gian sáng tắt các đèn led phải đủ lớn để mắt có thể nhậnthấy sự thay đổi trạng thái của các led, vì do thời gian lưu ảnh
Trang 5Bài thực hành số 02: Điều khiển hiển thị led 7 thanh Bài tập ứng dụng: Hiển thị từ 0-9 bằng 4 led 7 thanh Dữ liệu
được điều khiển qua cổng PORTD Tín hiệu điều khiển led điềukhiển qua cổng PORTA
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES LP //Low power osc < 200 khz
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
//FUSES BORV25 //Brownout reset at 2.5V
#FUSES NOPUT //No Power Up Timer
Trang 6#FUSES LVP //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input
channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES MCLR //Master Clear pin enabled
//#FUSES XINST //Extended set extension and Indexed Addressing mode enabled
Trang 8• Nhận xét
- Chương trình thực hiện chạy đúng theo nguyên lý đã đưa ra
Trang 9Bài thực hành số 03: Điều khiển hiển thị LCD 16x02 Bài tập ứng dụng: Thực hành hiển thị trên LCD16x2 chữ:
“KIT PIC18F4520” ; “CHUC THANH CONG”
Tín hiệu điều khiển và dữ liệu LCD được xuất ra cổng PORTD
3.1. Sơ đồ nguyên lý
Trang 11Hình 3.1 Sơ đồ nguyên lý khối LCD16x02
char dong1 []="Hello,World";
char dong2 []="Chuc thanh cong";
Trang 12• Nhận xét
- Chương trình thực hiện chạy đúng theo nguyên lý đã đưa ra
- Điều chỉnh độ tương phản của màn hình để nhìn rõ nhất ký
nút nhất lên LCD khi nút nhấn trong mô đun được tác động Port
D được kết nối với LCD để hiển thị PortB kết nối với nút nhấn
4.1. Sơ đồ nguyên lý
Trang 13Hình 4.1 Sơ đồ nguyên lý khối nút nhấn
Trang 14#define button4 pin_B3
char dong1[]="\fTEST 4 BUTTON";
char dong2[]="\fphim vua bam: 1";
char dong3[]="\fphim vua bam: 2";
char dong4[]="\fphim vua bam: 3";
char dong5[]="\fphim vua bam: 4";
Trang 17• Nhận xét
- Chương trình thực hiện chạy đúng theo nguyên lý đã đưa ra
Trang 18Bài thực hành số 05: Nhận biết ma trận phím 3x4 Bài tập ứng dụng: Thực hành nhận biết ma trận phím nhấn
hiện thị lên LCD Cổng PORTD điều khiển hiển thị LCD, cổngPORTB quét phím nhấn
cac ham vao ra trong ccs
Chuong trinh bat tat 8 led tai port B
=======================*/
Trang 19#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES LP //Low power osc < 200 khz
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout
detected
//#FUSES BORV25 //Brownout reset at 2.5V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES LVP //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write
protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from
Trang 20power operation
#FUSES MCLR //Master Clear pin enabled
//#FUSES XINST //Extended set extension and Indexed Addressing mode enabled
#Define Button1 PIN_B0
#Define Button2 PIN_B1
#Define Button3 PIN_B2
#Define Button4 PIN_B3
#use delay(clock=4Mhz)
#use
rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)//#use Fast_IO(D)//thu vien cau hinh chan
Trang 23• Nhận xét
- Chương trình thực hiện chạy đúng theo nguyên lý đã đưa ra
- Cần thêm thuật toán chống dội phím do tác động nhiễu cơ khí
từ phím nhấn