Đăng ký Đăng nhập
Trang chủ Kỹ thuật - Công nghệ Điện - Điện tử Báo cáo thí nghiệm vi xử lý và vi điều khiển...

Tài liệu Báo cáo thí nghiệm vi xử lý và vi điều khiển

.DOC
37
562
147

Mô tả:

Báo cáo thí nghiệm vi xử lý và vi điều khiển
Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN TỬ VIỄN THÔNG ---o0o--- BÁO CÁO THÍ NGHIỆM KỸ THUẬT VI XỬ LÝ & VI ĐIỀU KHIỂN Giáo viên hướng dẫn Danh Sách SVTH Nhóm Nhóm:07-24A : Phạm Xuân Trung :Lê Trị An Trần Lê Nhật Bình Phạm Văn Công Phạm Văn Hải Nguyễn Mạnh Hổ Cao Mạnh Hùng : 07- 24A Trang: 1 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân Đà Nẵng Tháng 12-2010 BÀI THÍ NGHIỆM SỐỐ 1: A LED-TURNING ON/OFF, FLASHING 1.1 MỤC ĐÍCH -Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 led đơn báo hiệu được mắc ở ngoài. Tính toán trể. 1.2. Yêu cầu: - Sử dụng được Kit PICDEM2 Plus. - Sử dụng được bộ công cụ lập trình MPLAB. - Viết giả thuật và chương trình bật, tắt và nháy một led đơn. - Nắm cấu trúc phần cứng của PIC16F877A. 1.3 Sơ đồ khối chung: BỘ XỬ LÝ TRUNG TÂM BỘ DAO ĐỘNG OUTPUT Sơ đồ nguyên lí giản lược cho PIC16F877A OSC2 RB1 PIC16f877A OSC1 Vcc GND 1.4 Xây dựng sơ đồ khối: 1.4.1: Tính toán trể 1ms (DELAY) bằng phương pháp giảm thanh ghi: Chu kỳ dao động của thạch anh t0 : t0 = 1 f0 Thời gian thực hiện xong một lệnh ti : ti = 4*t0. Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* Vậy 1ms = 5*(199 + 1)*1 s Nhóm:07-24A 1 = 1 s 4 *10 6 Trang: 2 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 1.4.2 Bật, tắt và nháy một led đơn: BẮT ĐẦU XÓA PORTB CHỌN BANK1 XÓA TRISB CHỌN BANK0 BẬT RB1 DELAY TẮT RB1 DELAY Nhóm:07-24A Trang: 3 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 1.4.3 Chương trình con DELAY1MS: DELAY COUNT1 199 COUNT2 1 GIẢM COUNT2 COUNT2 = 0? N Y GIẢM COUNT1 N COUNT1 =0? Y RETURN Nhóm:07-24A Trang: 4 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 1.5 Viết chương trình bằng ngôn ngữ ASEMBLY: ; Khai bao vi dieu khien processor 16f877a include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF COUNT1 EQU 0X20 COUNT2 EQU 0X21 ;Bat dau chuong trinh ORG 0X0000 GOTO START START CLRF PORTB BSF STATUS,RP0 BCF STATUS,RP1 CLRF TRISB BCF STATUS,RP0 LOOP MOVLW 0X02 MOVWF PORTB CALL DELAY CLRF PORTB CALL DELAY GOTO LOOP DELAY MOVLW D'199' MOVWF COUNT1 LOOP1 MOVLW D'1' MOVWF COUNT2 DECFSZ COUNT2,1 GOTO $+2 DECFSZ COUNT1,1 GOTO LOOP1 RETURN END Nhóm:07-24A Trang: 5 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân BÀI THÍ NGHIỆM SỐ 2: BIN COUTING,TURNING ON ODD/EVEN NUMBERED LEDs 2.1:MỤC ĐÍCH -Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 4 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm. 2.2. Yêu cầu: - Sử dụng được Kit PICDEM2 Plus - Sử dụng được bộ công cụ lập trình MPLAB - Viết giả thuật và chương trình bật, tắt 4 led đơn theo số lẻ, số chẳn và đếm nhị phân. - Nắm cấu trúc phần cứng của PIC16F877A. 2.3 Sơ đồ khối chung: BỘ XỬ LÝ TRUNG TÂM BỘ DAO ĐỘNG OUTPUT Sơ đồ nguyên lí giản lược cho PIC16F877A OSC2 RB0 PIC16f877A OSC1 RB1 RB2 RB3 Vcc GND 2.4 Xây dựng sơ đồ khối: 2.4.1 Tính toán trể 1s (DELAY) bằng phương pháp giảm thanh ghi: 1 Chu kỳ dao động của thạch anh t0 : t0 = f 0 Thời gian thực hiện xong một lệnh ti : ti = 4*t0. Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* Vậy 1s = 4*250*(199 + 1)*5*1 s Nhóm:07-24A 1 = 1 s 4 *10 6 Trang: 6 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 2.4.1 Bật, tắt 4 led đơn theo số lẻ, số chẳn: ĐẾM CHẴN ĐẾM LẺ SETUP PORTB SETUP PORTB XÓA COUNT XÓA COUNT W W COUNT GỌI TABLE PORTB W COUNT GỌI TABLE ` PORTB W DELAY DELAY ALY TĂNG W TĂNG W W XOR 8 W XOR 8 Z=0? Z=0? N Y TĂNG COUNT Nhóm:07-24A TĂNG COUNT Trang: 7 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 2.4.2:Đếm nhị phân: BẮT ĐẦU XÓA PORTB XÓA COUNT W COUNT GỌI TABLE PORTB W DELAY TĂNG W W XOR 15 N Z=0? Y TĂNG COUNT Nhóm:07-24A Trang: 8 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 2.4.3 Chương trình con DELAY: DELAY COUNT1 4 COUNT2 250 COUNT3 199 COUNT4 1 GIẢM COUNT4 COUNT4 =0 ? GIẢM COUNT3 COUNT3 =0 ? GIẢM COUNT2 COUNT2 =0 ? Y GIẢM COUNT1 Nhóm:07-24A COUNT1 =0 ? RETURN Trang: 9 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 2.5 Viết chương trình bằng ngôn ngữ ASEMBLY: 2.5.1 Bật, tắt 4 led đơn theo số chẵn: processor 16f877a include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &_XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF COUNT1 EQU 0X20 COUNT2 EQU 0X21 COUNT3 EQU 0X22 COUNT4 EQU 0X23 ORG 0X0000 GOTO START START CLRF PORTB BCF STATUS,RP1 BSF STATUS,RP0 CLRF PORTB BCF STATUS,RP0 LOOP CLRF COUNT LOOP0 MOVF COUNT,0 CALL TABLE MOVWF PORTB CALL DELAY INCF COUNT,0 XORLW D'8' BTFSC STATUS,Z GOTO LOOP INCF COUNT4,1 GOTO LOOP0 TABLE ADDWF PCL,1 RETLW b’00000000’ RETLW b’00000010’ RETLW b’00000100’ RETLW b’00000110’ RETLW b’00001000’ RETLW b’00001010’ RETLW b’00001100’ Nhóm:07-24A Trang: 10 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân RETLW b’00001110’ DELAY MOVLW D'4' MOVWF COUNT1 LOOP2 MOVLW D'250’ MOVWF COUNT2 LOOP1 MOVLW D'199' MOVWF COUNT3 LOOP0 MOVLW D'1' MOVWF COUNT4 DECFSZ COUNT4,1 GOTO $+2 DECFSZ COUNT3,1 GOTO LOOP0 DECFSZ COUNT2,1 GOTO LOOP1 DECFSZ COUNT1,1 GOTO LOOP2 RETURN END 2.5.2: Bật, tắt 4 led đơn theo số lẻ: processor 16f877a include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF COUNT1 EQU 0X20 COUNT2 EQU 0X21 COUNT3 EQU 0X22 COUNT4 EQU 0X23 ORG 0X0000 GOTO START START CLRF PORTB BCF STATUS,RP1 BSF STATUS,RP0 CLRF PORTB BCF STATUS,RP0 LOOP CLRF COUNT LOOP0 MOVF COUNT,0 CALL TABLE MOVWF PORTB Nhóm:07-24A Trang: 11 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân CALL DELAY INCF COUNT,0 XORLW D'8' BTFSC STATUS,Z GOTO LOOP INCF COUNT4,1 GOTO LOOP0 TABLE ADDWF PCL,1 RETLW b’00000001’ RETLW b’00000011’ RETLW b’00000101’ RETLW b’00000111’ RETLW b’00001001’ RETLW b’00001011’ RETLW b’00001101’ RETLW b’00001111’ DELAY MOVLW D'4' MOVWF COUNT1 LOOP2 MOVLW D'250’ MOVWF COUNT2 LOOP1 MOVLW D'199' MOVWF COUNT3 LOOP0 MOVLW D'1' MOVWF COUNT4 DECFSZ COUNT4,1 GOTO $+2 DECFSZ COUNT3,1 GOTO LOOP0 DECFSZ COUNT2,1 GOTO LOOP1 DECFSZ COUNT1,1 GOTO LOOP2 RETURN END 2.5.3:Đếm nhị phân: processor 16f877a include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF COUNT EQU 0X20 COUNT1 EQU 0X21 COUNT2 EQU 0X22 Nhóm:07-24A Trang: 12 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân COUNT3 EQU 0X23 ORG 0X0000 GOTO START START CLRF PORTB BCF STATUS,RP1 BSF STATUS,RP0 CLRF PORTB BCF STATUS,RP0 LOOP CLRF COUNT LOOP0 MOVF COUNT,0 CALL TABLE MOVWF PORTB CALL DELAY INCF COUNT,0 XORLW D'15' BTFSC STATUS,Z GOTO LOOP INCF COUNT4,1 GOTO LOOP0 TABLE ADDWF PCL,1 RETLW b’00000001’ RETLW b’00000010’ RETLW b’00000011’ RETLW b’00000100’ RETLW b’00000101’ RETLW b’00000110’ RETLW b’00000111’ RETLW b’00001000’ RETLW b’00001001’ RETLW b’00001010’ RETLW b’00001011’ RETLW b’00001100’ RETLW b’00001101’ RETLW b’00001110’ RETLW b’00001111’ DELAY MOVLW D'4' MOVWF COUNT1 LOOP2 MOVLW D'250’ MOVWF COUNT2 LOOP1 MOVLW D'199' Nhóm:07-24A Trang: 13 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân MOVWF COUNT3 LOOP0 MOVLW D'1' MOVWF COUNT4 DECFSZ COUNT4,1 GOTO $+2 DECFSZ COUNT3,1 GOTO LOOP0 DECFSZ COUNT2,1 GOTO LOOP1 DECFSZ COUNT1,1 GOTO LOOP2 RETURN END Nhóm:07-24A Trang: 14 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân BÀI THÍ NGHIỆM SỐ 3: LEFT AND RIGHT SCROLLING LEDs 3.1:MỤC ĐÍCH -Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm. 3.2. Yêu cầu: - Sử dụng được Kit PICDEM2 Plus - Sử dụng được bộ công cụ lập trình MPLAB - Viết giả thuật và chương trình quét 4 led đơn từ phải sang và từ trái sang. - Nắm cấu trúc phần cứng của PIC16F877A. 3.3 Sơ đồ khối chung: BỘ XỬ LÝ TRUNG TÂM BỘ DAO ĐỘNG OUTPUT Sơ đồ nguyên lí giản lược cho PIC16F877A OSC2 RB0 PIC16f877A OSC1 RB1 RB2 RB3 Vcc GND 3.4 Xây dựng sơ đồ khối: Nhóm:07-24A Trang: 15 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 3.4.1: Tính toán trể 1s (DELAY) bằng phương pháp giảm thanh ghi: 1 Chu kỳ dao động của thạch anh t0 : t0 = f 0 Thời gian thực hiện xong một lệnh ti : ti = 4*t0. Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* Vậy 2s = 8*250*(199 + 1)*5*1 s 1 = 1 s 4 *10 6 3.4.2: Sơ đồ khối: BẮT ĐẦU SETUP PORTB SET BIT C DỊCH TRÁI PORTB DELAY RB3=1 ? DỊCH PHẢI PORTB DELAY RB0=1 ? Nhóm:07-24A Trang: 16 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân DELAY 3.4.2:Chương trình con DELAY: COUNT1 8 COUNT2 250 COUNT3 199 COUNT4 1 GIẢM COUNT4 COUNT4 =0 ? GIẢM COUNT3 COUNT3 =0 ? GIẢM COUNT2 COUNT2 =0 ? GIẢM COUNT1 Nhóm:07-24A COUNT1 =0 ? RETURN Trang: 17 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân 3.5:Chương tình ASEMBLY: processor 16f877a include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF COUNT1 EQU 0X20 COUNT2 EQU 0X21 COUNT3 EQU 0X22 COUNT4 EQU 0X23 ORG 0X0000 GOTO START START CLRF PORTB BCF STATUS,RP1 BSF STATUS,RP0 CLRF PORTB BCF STATUS,RP0 BCF STATUS,C LEFT RLF PORTB,f CALL DELAY BTFSS PORTB,3 GOTO LEFT RIGHT RRF PORTB,f CALL DELAY BTFSS PORTB,0 GOTO RIGHT GOTO LEFT DELAY MOVLW D'8' MOVWF COUNT1 LOOP2 Nhóm:07-24A Trang: 18 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân MOVLW D'250’ MOVWF COUNT2 LOOP1 MOVLW D'199' MOVWF COUNT3 LOOP0 MOVLW D'1' MOVWF COUNT4 DECFSZ COUNT4,1 GOTO $+2 DECFSZ COUNT3,1 GOTO LOOP0 DECFSZ COUNT2,1 GOTO LOOP1 DECFSZ COUNT1,1 GOTO LOOP2 RETURN END Nhóm:07-24A Trang: 19 Báo cáo thí nghiệm VXL&VDK Trung GVHD: Phạm Xuân BÀI THÍ NGHIỆM SỐ 4: BUTTON CONTROL 4.1MỤC ĐÍCH -Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm. 4.2. Yêu cầu: - Sử dụng được Kit PICDEM2 Plus - Sử dụng được bộ công cụ lập trình MPLAB - Viêt giải thuật và chương trình dùng nút bấm để chuyển đổi các chế độ quét 4 LED đã làm ở bài thí nghiệm số 4. - Nắm cấu trúc phần cứng của PIC16F877A. 4.3 Sơ đồ khối chung: BỘ DAO ĐỘNG BỘ XỬ LÝ TRUNG TÂM OUTPUT INPUT Sơ đồ khối và sơ đồ nguyên lý giản lược cho PIC16F877A - Sơ đồ khối: Nhóm:07-24A Trang: 20
- Xem thêm -

Tài liệu liên quan