You are on page 1of 13

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT


THÀNH PHỐ HỒ CHÍ MINH

NGUYỄN MINH CHÂU


NGUYỄN VĂN TUẤN

ĐỀ TÀI:
NGHIÊN CỨU PHẦN MỀM MIKRO BASIC
VÀ THIẾT KẾ KIT THÍ NGHIỆM PIC

Chuyên Ngành Kỹ Thuật Điện - Điện Tử


Hệ Đại Học Chính Quy

Thành Phố Hồ Chí Minh Tháng 1 Năm 2010


PHẦN I
Bộ Giáo Dục Và Đào Tạo CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Trường Đại Học Sư Phạm Kỹ Thuật Độc lập - Tự do - Hạnh phúc
Thành Phố Hồ Chí Minh

KHOA ĐIỆN - ĐIỆN TỬ


NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP


Họ và tên: NGUYỄN MINH CHÂU MSSV: 08301004
NGUYỄN VĂN TUẤN MSSV: 08301045
Lớp: 083010B
Ngành: KỸ THUẬT ĐIỆN - ĐIỆN TỬ
Hệ: ĐẠI HỌC CHÍNH QUY
Niên khóa: 2008 – 2010
1.Tên đề bài: NGHIÊN CỨU PHẦN MỀM MIKRO BASIC VÀ THIÊT KẾ KIT
THÍ NGHIỆM PIC.
2. Các số liệu ban đầu:
.................................................................................................................................
3. Nội dung các phần thuyết minh:
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
4. Các bản vẽ đồ thị:
.................................................................................................................................
.................................................................................................................................
5. Giáo viên hướng dẫn: Thầy NGUYỄN THANH BÌNH.
6. Ngày giao nhiệm vụ: ...........................................................................................
7. Ngày hoàn thành nhiệm vụ: .................................................................................

Giáo viên hƣớng dẫn Thông qua bộ môn


Ngày … tháng … năm 2010
Chủ nhiệm bộ môn

Thầy NGUYỄN THANH BÌNH


LỜI MỞ ĐẦU

Kỹ thuật vi xử lý với tốc độ phát triển nhanh chóng và mang đến những thay
đổi to lớn trong khoa học và công nghệ cũng nhƣ trong đời sống hàng ngày
của mỗi ngƣời. Ngày nay, các thiết bị máy móc ngày càng trở nên thông minh
hơn, các công việc đƣợc thực hiện hiệu quả hơn, đó cũng là nhờ vi xử lý, vi
điều khiển.

Kỹ thuật vi xử lý, vi điều khiển là kỹ thuật của tƣơng lai, là chìa khóa đi vào
công nghệ hiện đại. Đối với sinh viên chuyên ngành điện tử, đây là một lĩnh
vực mới, hứa hẹn mở ra nhiều triển vọng. Để góp phần tạo nên nền tảng ban
đầu vững chắc cho việc học tập, tìm hiểu kỹ thuật vi xử lý, vi điều khiển và
quen với lập trình bằng ngôn ngữ cấp cao, nhóm thực hiện đề tài: “ NGHIÊN
CỨU PHẦN MỀM MIKRO BASIC VÀ THIÊT KẾ KIT THÍ NGHIỆM PIC”.

Những kiến thức, năng lực đạt đƣợc trong quá trình học tập ở trƣờng sẽ
đƣợc đánh giá qua đợt bảo vệ đồ án cuối khóa. Vì vậy nhóm thực hiện cố
gắng tận dụng những kiến thức đã học ở trƣờng cùng với sự tìm tòi, nghiên
cứu để có thể hoàn thành tốt đồ án này.

Mặc dù nhóm thực hiện đã cố gắng hoàn thành tốt và đúng thời hạn nhƣng
chắc chắn sẽ không tránh khỏi những thiếu sót, mong quý thầy cô và các bạn
sinh viên thông cảm. Nhóm thực hiện đồ án mong đƣợc đón nhận những ý
kiến đóng góp của quý thầy cô và các bạn sinh viên. Xin chân thành cảm ơn!

Nhóm thực hiện đề tài:


Nguyễn Minh Châu
Nguyễn Văn Tuấn
LỜI CẢM ƠN

Nhóm thực hiện đồ án xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Thanh
Bình_ Giảng viên khoa Điện-Điện tử đã trực tiếp hƣớng dẫn và tận tình giúp
đỡ nhóm nhiều trong thời gian thực hiện đồ án.

Nhóm cũng chân thành cảm ơn Cô CVHT Trần Tùng Giang_ Giảng viên
khoa Điện-Điện tử đã góp ý và chia sẻ kinh nghiệm quý báu.

Cảm ơn các thầy cô trong Khoa Điện-Điện tử đã tạo những điều kiện tốt nhất
cho nhóm hoàn thành đồ án.

Nhóm thực hiện đồ án cũng gửi lời đồng cảm ơn đến các bạn lớp 083010, các
bạn cùng thực hiện nhóm đề tài Vi Điều Khiển đã chia sẻ trao đổi kiến thức
cũng nhƣ những kinh nghiệm quý báu trong thời gian thực hiện đề tài.

Xin chân thành cảm ơn!


Nhóm thực hiện đề tài,
Nguyễn Minh Châu
Nguyễn Văn Tuấn
MỤC LỤC
NỘI DUNG TRANG

PHẦN I: GIỚI THIỆU .......................................................................... i


Trang bìa ............................................................................................................ ii
Nhiệm vụ đồ án ................................................................................................. iii
Lời mở đầu ........................................................................................................ iv
Lời cảm ơn ......................................................................................................... v
Mục lục .............................................................................................................. vi
Liệt kê hình vẽ .................................................................................................. vii
Liệt kê các bảng................................................................................................ vii

PHẦN II: NỘI DUNG.............................................................................

CHƢƠNG I: DẪN NHẬP ................................................................................ 1

1.1. Đặt vấn đề ................................................................................................. 2


1.2. Lý do chọn đề tài. .................................................................................... 2
1.3. Đối tượng nghiên cứu ............................................................................... 2
1.4. Giới hạn đề tài........................................................................................... 3
1.5. Dàn ý nghiên cứu ...................................................................................... 3
1.6. Tình hình nghiên cứu ................................................................................ 3
1.7. Ý nghĩa thực tiển. ..................................................................................... 4

CHƢƠNG II: VI ĐIỀU KHIỂN PIC 16F877A ............................................. 5


2.1. Tổng quan vi điều khiển PIC 16F877A ................................................... 6
2.1.1. Giới thiệu chung về vi điều khiển PIC .................................................. 6
2.1.2 Một vài đặc tính của vi điều khiển PIC ................................................. 7
2.1.3 Một vài đặc tính của vi điều khiển PIC 16F877A ................................. 7
2.2. Cổng xuất nhập của pic 16F877A ........................................................... 8
2. 2.1. PORTA ................................................................................................. 8
2. 2.1. PORTB ................................................................................................. 9
2. 2.1. PORTC ................................................................................................. 9
2. 2.1. PORTD ................................................................................................. 9
2. 2.1. PORTE .................................................................................................. 9
2.3. Cấu trúc bộ nhớ. ..................................................................................... 10
2.3.1. Boä nhôù chöông trình ............................................................................ 10
2.3.2. Bộ nhớ dữ liệu ..................................................................................... 11
2.3.2. Stack .................................................................................................... 13
2.4. Timer ...................................................................................................... 14
2.4.1 Timer0 .................................................................................................. 14
2.4.2 Timer1 .................................................................................................. 15
2.4.3 Timer2 .................................................................................................. 17
2.5. Module so sánh, điều chế độ rộng xung ................................................. 17
2.6. Chế độ truyền nối tiếp. ........................................................................... 21
2.6.1. I2C ....................................................................................................... 21
2.6.2. USART ................................................................................................ 28
2.7. Bộ chuyển đổi ADC. .............................................................................. 33
2.8. Các tính chất đặc biệt của PIC 16f877a.................................................. 35
2.8.1 Configuration bit................................................................................... 35
2.8.2 Oscillator............................................................................................... 36
2.8.3. Chế độ Reset ........................................................................................ 36
2.8.4 Ngăt....................................................................................................... 38
2.8.5 WATCHDOG TIMER ......................................................................... 39
2.8.6 Chế độ SLEEP ...................................................................................... 40

CHƢƠNG III: PHẦN MỀM LẬP TRÌNH MIKRO BASIC. ..................... 42


3.1. Giới thiệu về phần mềm ......................................................................... 43
3.1.1 Giới thiệu tổng quan ............................................................................. 43
3.1.2. Màn hình soạn thảo chương trình.. ...................................................... 44
3.1.3. Màn hình theo dõi mã chương trình. . ................................................. 45
3.1.4. Gỡ rối.. . ............................................................................................... 45
3.1.5. Cửa sổ thông tin lỗi.............................................................................. 47
3.1.6. Cửa sổ thống kê. . ................................................................................ 47
3.1.7. Các công cụ tích hợp sẵn. .................................................................... 48
3.1.8. Các phím tắt.. ....................................................................................... 53
3.2. Tạo các ứng dụng.................................................................................... 54
3.2.1 Projects ................................................................................................. 54
3.2.2. Các file nguồn ...................................................................................... 55
3.2.3. Biên dịch chương trình. . ..................................................................... 56
3.2.4. Thông tin lỗi... . ................................................................................... 57
3.3. Ngôn ngữ lập trình cho PIC. . ................................................................. 57
3.3.1 Chú thích ................................................................................................ 57
3.2.2. Phần tử chung... ....................................................................................... 57
3.3.3. Khai báo biến.. ...................................................................................... 59
3.3.4. Hằng số... . ............................................................................................ 59
3.3.5. Nhãn.. ................................................................................................... 59
3.3.6. Biểu tượng.. . ......................................................................................... 59
3.3.7. Function (Hàm)...................................................................................... 60
3.3.8. Loại dữ liệu (type).. ............................................................................... 61
3.3.8.1 Array (Mảng)....................................................................................... 61
3.3.8.2 Chuỗi ( Strings) ................................................................................... 62
3.3.8.3 Kiểu dữ liệu tự tạo (Structures) ............................................................. 62
3.3.9 Toán tử (Operator) ................................................................................... 63
3.3.10 Mệnh đề điều kiện. ................................................................................ 64
3.2.10.1. Mệnh đề IF.... ................................................................................... 64
3.2.10.2 Select Case.... ................................................................................... 64
3.2.11. Vòng lặp.... .......................................................................................... 65
3.2.11.1. Vòng lặp For.... ................................................................................. 65
3.2.11.2. While…wend.... ................................................................................ 65
3.2.11.3. Do…loop until.... .............................................................................. 66
3.2.12. Lệnh rẽ nhánh và lệnh nhảy.... .............................................................. 66
3.2.12.1. Lệnh break.... .................................................................................... 66
3.2.12.2. Lệnh continue.... ............................................................................... 67
3.2.12.3 Lệnh goto.... ..................................................................................... 67
3.2.12.4 Hàm exit..... ...................................................................................... 67
3.3.13. Phát biểu asm.. .................................................................................... 68
3.3.14. Biên dịch địa chỉ .................................................................................. 70
3.4. Thư viện của Mikrobasic.. . .................................................................... 69
3.4.1. Button Library.... ................................................................................... 69
3.4.2. Conversions Library... ............................................................................ 70
3.4.3. C Type Library.. . .................................................................................. 70
3.4.4. Math Library... . .................................................................................... 71
3.4.5. Time Library.. ....................................................................................... 71
3.4.6. Trigonometry Library.. .......................................................................... 71
CHƢƠNG IV: THIẾT KẾ PHẦN CỨNG CHO KIT THÍ NGHIỆM ...... 72
4.1. Các yêu cầu của bộ thí nghiệm vi điều khiển. ....................................... 73
4.2. Khối xử lý trung tâm . ............................................................................ 73
4.2.1 Yêu cầu ................................................................................................. 73
4.2.2 Thiết kế ................................................................................................. 73
4.3. Giao tiếp led đơn. .................................................................................. 74
4.3.1 Yêu cầu. ............................................................................................... 74
4.3.2 Thiết kế. ............................................................................................... 75
4.4. Giao Tiếp Led 7 Đọan .......................................................................... 75
4.4.1 Yêu cầu. ............................................................................................... 75
4.4.2 Thiết kế. ............................................................................................... 76
4.4.2.1. Led 7 đọan có IC giải mã. ............................................................... 76
4.4.2.2. Led 7 đọan theo phương pháp quét. ................................................ 76
4.5. Giao Tiếp Lcd. ....................................................................................... 77
4.5.1 Yêu cầu. ............................................................................................... 77
4.5.2 Thiết kế. ............................................................................................... 78
4.6. Giao tiếp led ma trận ............................................................................. 79
4.6.1 Yêu cầu. ............................................................................................... 79
4.6.2 Thiết kế. ............................................................................................... 79
4.7. Giao tiếp cảm biến nhiệt độ. ................................................................. 82
4.7.1 Yêu cầu. ............................................................................................... 82
4.7.2 Thiết kế. ............................................................................................... 82
4.8. Giao Tiếp Thời Gian Thực. .................................................................. 83
4.8.1 Yêu cầu. ............................................................................................... 83
4.8.2 Thiết kế. ............................................................................................... 83
4.9. Module Nút Nhấn Đơn. ........................................................................ 85
4.9.1 Yêu cầu. ............................................................................................... 85
4.9.2 Thiết kế. ............................................................................................... 85
4.10. Biến Trở Điều Chỉnh Analog. ............................................................. 87
4.10.1 Yêu cầu. ............................................................................................. 87
4.10.2 Thiết kế. ............................................................................................. 87
4.11. Giao Tiếp Bàn Phím Tương Tự. ......................................................... 87
4.11.1 Yêu cầu. ............................................................................................. 87
4.11.2 Thiết kế. ............................................................................................. 87
4.12. Ma Trận Phím 4x4. ............................................................................. 88
4.12.1 Yêu cầu. ............................................................................................. 88
4.12.2 Thiết kế. ............................................................................................. 88
4.13. SWITCH. ............................................................................................ 89
4.12.1 Yêu cầu. ............................................................................................. 89
4.12.2 Thiết kế. ............................................................................................. 89
4.14. Module Chuyển Đổi Số-Tương Tự DAC. .......................................... 90
4.14.1 Yêu cầu. ............................................................................................. 90
4.14.2 Thiết kế. ............................................................................................. 90
4.15. Giao Tiếp Động Cơ Bước. .................................................................. 92
4.15.1 Yêu cầu. ............................................................................................. 92
4.15.2 Thiết kế. ............................................................................................. 93
4.16. Giao Tiếp Tải Công Suất. ................................................................... 93
4.16.1 Yêu cầu. ............................................................................................. 93
4.16.2 Thiết kế. ............................................................................................. 94
4.17. Giao Tiếp Bộ Nhớ. .............................................................................. 95
4.17.1 Yêu cầu. ............................................................................................. 95
4.17.2 Thiết kế. ............................................................................................. 96
4.18. Giao Tiếp Máy Tính. .......................................................................... 96
4.18.1 Yêu cầu. ............................................................................................. 96
4.18.2 Thiết kế. ............................................................................................. 97
4.19. Các Module Hỗ Trợ. ........................................................................... 97
4.19.1 Buzzer. ............................................................................................... 97
4.19.2 Đếm sản phẩm dùng hồng ngoại. ...................................................... 98
4.19.3 Bộ phát xung có tần số có thể thay đổi. ............................................ 98
4.19.4 Giải mã BIN/HEX. ............................................................................ 99
4.19.5 Công tắc xoay điện tử. ...................................................................... 99

CHƢƠNG V
KẾT QUẢ NGHIÊN CỨU-KẾT LUẬN-HƢỚNG PHÁT TRIỂN. ....... 100
5.1 Kết quả nghiên cứu. ............................................................................. 101
5.2 Kết luận . .............................................................................................. 101
5.3 Hướng phát triển .................................................................................. 101

PHẦN II: TÀI LIỆU THAM KHẢO ..............................................


LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1: Boä nhôù chöông trình PIC16F877A ................................................................. 10
Hình 2.2: Sô ñoà boä nhôù döõ lieäu PIC16F877A ................................................................ 11
Hình 2.3: Sô ñoà khoái cuûa Timer0 ................................................................................... 14
Hình 2.4: Sô ñoà khoái cuûa Timer1 ................................................................................... 16
Hình 2.5: Sô ñoà khoái cuûa Timer2. .................................................................................. 17
Hình 2.6: Sô ñoà khoái CCP (Capture mode).................................................................... 18
Hình 2.7: Sô ñoà khoái CCP (Compare mode).................................................................. 19
Hình 2.8: Sô ñoà khoái CCP (PWM mode) và caùc tham soá cuûa PWM. ........................... 20
Hình 2.9: Sô ñoà khoái MSSP (I2Cslave mode). .............................................................. 22
Hình 2.10: Sô ñoà khoái BRG (Baud Rate Benerator) cuûa I2C Master mode ................ 25
Hình 2.11: Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Start. ......... 25
Hình 2.12: Giaûn ñoà xung I2C Master mode trong quaù trình taïo ñieàu kieän Stop .......... 26
Hình 2.13: Giaûn ñoà xung I2C Master mode trong quaù trình truyeàn döõ lieäu ................. 26
Hình 2.14: Giaûn ñoà xung I2C Master mode trong quaù trình nhaän döõ lieäu .................... 27
Hình 2.15: Sô ñoà khoái cuûa khoái truyeàn döõ lieäu USART ............................................... 28
Hình 2.16: Sô ñoà khoái cuûa khoái nhaän döõ lieäu USART .................................................. 30
Hình 2.17: Sô ñoà khoái boä chuyeån ñoåi ADC ................................................................... 33
Hình 2.18: Caùc caùch löu keát quaû chuyeån ñoåi AD .......................................................... 34
Hình 2.19: Bộ dao động................................................................................................... 36
Hình 2.20: Sô ñoà caùc cheá ñoä reset cuûa PIC16F877A .................................................... 38
Hình 2.21: Sô ñoà logic cuûa taát caû caùc ngaét trong vi ñieàu khieån PIC16F877A. ............. 39

Hình 3.1: Giao diện chương trình MikroBasic ............................................................... 43


Hình 3.2: Cửa sổ cài đặt các hiệu chỉnh của màn hình soạn thảo .................................. 44
Hình 3.3: Cửa sổ trình duyệt mã chương trình ............................................................... 45
Hình 3.4: Cửa sổ hiện thị thông tin của chương trình .................................................... 46
Hình 3.5: Xem các thông tin về thời gian ........................................................................ 46
Hình 3.6: Cửa sổ liệt kê thông tin lỗi .............................................................................. 47
Hình 3.7: Thông tin bộ nhớ RAM sử dụng trong chương trình ....................................... 47
Hình 3.8: Thông tin bộ nhớ ROM sử dụng trong chương trình ...................................... 48
Hình 3.9: Thống kê dung lượng chương trình con .......................................................... 48
Hình 3.10: Công cụ giao tiếp cổng COM ........................................................................ 49
Hình 3.11: Soạn thảo nội dung bộ nhớ EEPROM........................................................... 49
Hình 3.12: Lập mã 7 đoạn. .............................................................................................. 50
Hình 3.13: Bảng mã ASCII. ............................................................................................... 50
Hình 3.14: Tạo mã LCD .................................................................................................. 51
Hình 3.15: Tạo mã cho LCD dạng bitmap ...................................................................... 51
Hình 3.16: Công cụ giao tiếp cổng USB. ........................................................................ 52
Hình 3.17: Công cụ giao tiếp mạng................................................................................. 52

Hình 4.1: Sơ đồ mạch nguyên lý khối xử lý trung tâm .................................................... 74


Hình 4.2: Sơ đồ mạch nguyên lý module led đơn ............................................................ 75
Hình 4.3: Sơ đồ mạch nguyên lý giao tiếp led 7 đọan dùng IC chuyên dụng ................. 76
Hình 4.4: Sơ đồ mạch nguyên lý giao tiếp led 7 đọan phương pháp quét. ..................... 77
Hình 4.5: Sơ đồ chân của LCD........................................................................................ 78
Hình 4.6: Sơ đồ mạch nguyên lý giao tiếp LCD. ............................................................. 78
Hình 4.7: Sơ đồ mạch nguyên lý điều khiển 1 led ma trận .............................................. 80
Hình 4.8: Mạch nguyên lý điều khiển nhiều led ma trận. ............................................... 81
Hình 4.9: Mạch nguyên lý kết nối với cảm biến nhiệt độ LM35 ..................................... 82
Hình 4.10: Sơ đồ kết nối phần cứng DS1820 .................................................................. 82
Hình 4.11: Sơ đồ chân của DS12887 .............................................................................. 83
Hình 4.12: Sơ đồ chân của DS1307 ................................................................................ 84
Hình 4.13: Sơ đồ nguyên lý kết nối với DS1307. ............................................................. 84
Hình 4.14: Mạch nguyên lý thời gian thực ...................................................................... 84
Hình 4.15: Nút nhấn tác dụng mức cao có chống rung bằng phần cứng ....................... 85
Hình 4.16: Nút nhấn tác động mức thấp, không chống rung bằng phần cứng. .............. 86
Hình 4.17: Nút nhấn tác dụng mức thấp, có chống rung ................................................ 86
Hình 4.18: Nút nhấn tác dụng mức cao, có chống rung ................................................. 86
Hình 4.19: Sơ đồ mạch nguyên lý module tạo tín hiệu tương tự. .................................... 87
Hình 4.20: Sơ đồ mạch nguyên lý kết nối bàn phím tương tự. ........................................ 87
Hình 4.21: Sơ đồ kết nối theo nguyên lý .......................................................................... 88
Hình 4.22: Kết nối ma trận phím trên board thí nghiệm ................................................. 89
Hình 4.23: Nguyên lý Module Switch trên bộ thí nghiệm ............................................... 89
Hình 4.24: Sơ đồ chân của DAC0808. ............................................................................ 90
Hình 4.25: Vref nguồn dương và nguồn âm ...................................................................... 91
Hình 4.26: Sơ đồ chân của TL082. .................................................................................. 91
Hình 4.27: Sơ đồ mạch nguyên lý khối DAC. .................................................................. 92
Hình 4.28: Hình dạng một số dạng động cơ bước trong thực tế ..................................... 92
Hình 4.29: Sơ đồ bố trí các cuộn dây .............................................................................. 93
Hình 4.30: Kết nối các cuộn dây ..................................................................................... 93
Hình 4.31: Mạch nguyên lý Module điều khiển động cơ bước........................................ 93
Hình 4.32: Mạch nguyên lý điều khiển Relay. ................................................................. 94
Hình 4.33: Mạch nguyên lý giao tiếp tải công suất xoay chiều ...................................... 95
Hình 4.34: Giao tiếp với bộ nhớ ...................................................................................... 96
Hình 4.35: Mạch giao tiếp máy tính qua cổng COM và cổng USB. ............................... 97
Hình 4.36: Sơ đồ mạch nguyên lý Buzzer ........................................................................ 97
Hình 4.37: Sơ đồ mạch nguyên lý bộ đếm sản phẩm....................................................... 98
Hình 4.38: Sơ đồ mạch nguyên lý tạo xung ..................................................................... 98
Hình 4.39: Mạch nguyên lý giải mã bin/hex. .................................................................. 99
Hình 4.40: Sơ đồ mạch nguyên lý công tắc xoay điện tử ................................................ 99

You might also like