MỞ ĐẦUNgày nay kĩ thuật vi xử lý đã trở nên quen thuộc trong các nghành kĩ thuật và trong dân dụng.Các bộ vi xử lí có khả năng xử lí nhiều hoạt động phức tạp màchỉ cần một chip vi mạch n
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢIPHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH
Trang 2MỞ ĐẦU
Ngày nay kĩ thuật vi xử lý đã trở nên quen thuộc trong các nghành kĩ thuật và trong dân dụng.Các bộ vi xử lí có khả năng xử lí nhiều hoạt động phức tạp màchỉ cần một chip vi mạch nhỉ,nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ và dễ dàng sử dụng
Trong những năm gần đây LED 7 đoạn hay các loại LED nhiều đoạn khác đã được sử dụng rộng rãi để hiển thị lên màn hình chữ hoặc các chữ số nhằm đáp ứng nhu cầu và thị hiếu của con người
Chính vì những lí do trên nhóm chúng em đã đề xuất ý tưởng và làm đề tài trên.Vì kiến thức của chúng em chưa nắm sâu về vi xử lí.Chúng em mong thầy cho chúng em những đánh giá và nhận xét để chúng em hoàn thiện một cách tốt hơn để đáp ứng cho những môn học về sau.Chúng em xin chân thành cảm ơn thầy và chúc thầy luôn dồi dào sức khỏe
Trang 3MỤC LỤC
PHẦN 1: TỔNG QUAN CÁC PHẦN MỀM VIẾT CHƯƠNG TRÌNH VÀ
THIẾT KẾ MẠCH 1
1.1 Phần Mềm Proteus: 1
1.1.1 Khái Niệm Về Phần Mềm Proteus: 1
1.1.2 Những ưu điểm và Nhược điểm của phần mềm: 1
1.2 Các bước để lập trình PIC trên trình biên dịch XC8: 3
PHẦN 2: THIẾT KẾ SƠ ĐỒ GHÉP NỐI LED 7 ĐOẠN VỚI PIC16F877A VÀ VIẾT CHƯƠNG TRÌNH THỰC HIỆN HIỂN THỊ ĐẾM 7
2.1 Thiết kế sơ đồ ghép nối 7
2.2 Chương trình thực hiện 7
PHẦN 3 MẠCH ỨNG DỤNG CỦA PIC16F877A 8
3.1 Giới Thiệu Sơ Lược Về PIC16F877A: 8
3.2 Thông Số Kĩ Thuật PIC16F877A 9
3.3 Sơ đồ các chân PIC16F877A 11
3.5 Vẽ sơ đồ nguyên lý mạch trong proteus: 17
3.6 Vẽ mạch in và sơ đồ 3D bố trí linh kiện: 19
Trang 4DANH MỤC HÌNH ẢNH
Hình 1.1: Màn Hình Giao DiệnHình 1.2 Cửa sổ chương trình MPLAB X IED
Hình 1.3 Cửa sổ tạo chương trình mới trên MPLAB X IEDHình 1.4 Cửa sổ tạo chương trình mới trên MPLAB X IED
Hình 1.5 Cửa sổ tạo chương trình mới trên MPLAB X IED
Hình 1.6 Cửa sổ tạo chương trình mới trên MPLAB X IED
Hình 1.7 Cửa sổ tạo chương trình mới trên MPLAB X IED
Hình 2.1 Sơ đồ ghép nốiHình 3.1 Hình ảnh thực tế Pic16F877AHình 3.2 Sơ đồ chân PIC16F877AHình 3.3 Hình ảnh điện trở thực tếHình 3.4 Hình ảnh nút nhấn thực tếHình 3.5 Hình ảnh LED 7 đoạnHình 3.6 Loại CC của LED 7 đoạnHình 3.7 Loại CA của LED 7 đoạnHình 3.8 Hiển thị các số từHình 3.9 Kí hiệu cổng NOTHình 3.10 Màn hình làm việc chính proteus.Hình 3.11 Cửa sổ tạo thư mục mới.Hình 3.12 Cửa sổ Pick devices (chọn linh kiện).Hình 3.13 Cửa sổ làm việc PCB layout.Hình 3.14.Vẽ mạch in trên PCB LayoutHình 3.15 Sơ đồ 3D bố trí linh kiệnHình 3.16 File PDF của mạch
Trang 5PHẦN 1: TỔNG QUAN CÁC PHẦN MỀM VIẾT CHƯƠNG TRÌNH
VÀ THIẾT KẾ MẠCH
Hình 1.1 Màn Hình Giao Diện
1.1.1 Khái Niệm Về Phần Mềm Proteus:
Phần mềm Proteus là một phần mềm thiết kế mạch in được phát minh bởi Labcenter Electronics Nó được sử dụng để thiết kế các mạch khác nhau trên PCB (bo mạch in) và mô phỏng các mạch khác nhau Việc sử dụng proteus cho bất kỳ dự án mạch điện tử nào làm cho dự án đó tiết kiệm chi phí và ít sai sót hơn do cấu trúc sơ đồ trên proteus
Năm 1988, phiên bản Proteus đầu tiên được gọi là PCB-B được tạo ra bởi John Jameson, chủ tịch của công ty
Proteus được sử dụng để mô phỏng, thiết kế và vẽ các mạch điện tử Nó đượcphát minh bởi Labcenter Electronics
Bằng cách sử dụng proteus, bạn có thể thiết kế mạch hai chiều.Với việc sử dụng phần mềm kỹ thuật này, bạn có thể xây dựng và mô phỏng
các mạch điện và điện tử khác nhau trên máy tính cá nhân hoặc máy tính xách tay
1.1.2 Những ưu điểm và Nhược điểm của phần mềm:1.1.2.1 Ưu điểm:
Có rất nhiều ưu điểm khi mô phỏng các mạch trên proteus trước khi thực hiện chúng trong thực tế
Thiết kế mạch trên proteus tốn ít thời gian hơn so với việc xây dựng mạch trên thực tế
Trang 6Khả năng xảy ra lỗi ít hơn trong mô phỏng phần mềm chẳng hạn như kết nốilỏng lẻo, mất nhiều thời gian để tìm ra các vấn đề kết nối trong một mạch thực tế.
Mô phỏng mạch cung cấp tính năng chính mà một số linh kiện của mạch không thực tế thì bạn có thể xây dựng mạch của mình trên proteus Không có khả năng đốt cháy và làm hỏng bất kỳ linh kiện điện tử nào trong proteus.Các công cụ điện tử rất đắt tiền có thể dễ dàng mắc vào proteus như máy hiện sóng
Sử dụng proteus, bạn có thể tìm thấy yếu tố khác nhau của các mạch như dòng điện, giá trị điện áp của bất kỳ linh kiện nào và điện trở bất kỳ lúc nào, điều này rất khó trong một mạch thực tế
1.1.2.2 Nhược điểm:
Giao diện không được sắt nét và không hấp dẫn
1.1.3 Cách tải phần mềm Proteus:
Tìm trên mạng những trang uy tín để dowload phần mềm về máy tính
1.1.4 Cách sử dụng và thực thi lệnh trong proteus:
Bước 1: Khởi động chương trình Proteus Professional.Bước 2: Mở chương trình ISIS Professional.Bước 3: Lấy tất cả các linh kiện sử dụng từ thư viện của Proteus.Bước 4: Đưa linh kiện ra ngoài màn hình thiết kế
Bước 5: Thay đổi thông số kỹ thuật của linh kiện.Bước 6: Bố trí, sắp xếp lại linh kiện cho hợp lý.Bước 7: Nối dây
Bước 8: Kiểm tra sơ đồ mạch nguyên lý
1.1.5 Ứng dụng của Proteus:
Ứng dụng Proteus giúp người sử dụng có thể thấy trước được mạch thiết kế chạy đúng hay sai trước khi thi công mạch Các công cụ phục vụ cho việc phân
Trang 7tích mạch có độ chính xác khá cao như vôn kế đo điện áp, ampe kế đo dòng điện,máy đao động ký Đối với các bạn yêu thích điện tử thì đây là công cụ tuyệt vời.
1.2 Các bước để lập trình PIC trên trình biên dịch XC8:Bước 1: Khởi tạo chương trình MPLAB X IED, giao diện xuất hiện như hình
Hình 1.2 Cửa sổ chương trình MPLAB X IED
Bước 2: Tiến hành tạo dự án mới cho bài tập File => Newproject ( một dao diện
mới được tạo ra) Chọn Microchip Embedded => Standadone Project => Next
Hình 1.3 Cửa sổ tạo chương trình mới trên MPLAB X IED
Trang 8Bước 3: Sử dụng PIC16F877A, Tool => simulator => Next.
Hình 1.4 Cửa sổ tạo chương trình mới trên MPLAB X IED
Bước 4: Chọn trình biên dịch XC8 => Next.
Hình 1.5 Cửa sổ tạo chương trình mới trên MPLAB X IED
Trang 9Bước 5: Nhập tên dự án ở phần Projectname, chú ý như những ngôn ngữ lập
trình khác , đặt tên không dấu, đặt tên gợi nhớ Thư mục dẫn ở vị trí quản lí tốt nhất, lưu ý tên các đường dẫn, thư mục không dấu, nếu có dấu tiếng việt thì trình biên dịch bị lỗi
Hình 1.6 Cửa sổ tạo chương trình mới trên MPLAB X IED
Bước 6: Sau khi tạo xong dự án mới Chọn Source File => New => main.c
=>Finish (đặt tên không dấu)
Trang 10Hình 1.7 Cửa sổ tạo chương trình mới trên MPLAB X IED
Bước 7: Chương trình sẽ tạo một file với khung mẫu, ta tiến hành code và “ Buil
Main Project ”
Trang 11PHẦN 2: THIẾT KẾ SƠ ĐỒ GHÉP NỐI LED 7 ĐOẠN VỚIPIC16F877A VÀ VIẾT CHƯƠNG TRÌNH THỰC HIỆN HIỂN THỊ
ĐẾM.2.1 Thiết kế sơ đồ ghép nối.
Hình 2.1 Sơ đồ ghép nối
2.2 Chương trình thực hiện.
Trang 12PHẦN 3 MẠCH ỨNG DỤNG CỦA PIC16F877A3.1 Giới Thiệu Sơ Lược Về PIC16F877A:
+ PIC16F877A là một Vi điều khiển PIC 40 chân và được sử dụng hầu hết trong các dự án và ứng dụng nhúng Nó có năm cổng bắt đầu từ cổng A đến cổngE Nó có ba bộ định thời trong đó có 2 bộ định thời 8 bit và 1 bộ định thời là 16 Bit Nó hỗ trợ nhiều giao thức giao tiếp như giao thức nối tiếp, giao thức song song, giao thức I2C PIC16F877A hỗ trợ cả ngắt chân phần cứng và ngắt bộ địnhthời
Trang 13
Hình 3.1 Hình ảnh thực tế Pic16F877A
3.2 Thông Số Kĩ Thuật PIC16F877A.
Trang 143.3 Sơ đồ các chân PIC16F877A.
Hình dưới đây là Sơ đồ chân PIC16F877A Ngoài ra còn có bảng thông tin chi tiết đi kèm số thứ tự của chân, tên tương ứng và mô tả sơ lược về chân
Hình 3.2 Sơ đồ chân PIC16F877A
- Các đặc tính ngoại vi bao gồm các khối chức năng sau+ Timer 0: bộ đếm 8 bit với bộ chia tần số 8 bit;
Trang 15+ Timer 1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chứcnăng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ởchế độ sleep;
+ Timer 2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler;+ Hai bộ Capture/so sánh/điều chế độ rộng xung;+ Các chuẩn giao tiếp nối tiếp SSP (Sync hronous Serial Port), SPI và I2C;
+ Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ;+ Cổng giao tiếp song song PSP (Parallel Sl ave Port) với các chân điềukhiển RD, WR, CS ở bên ngoài;
- Các đặc tính Analog+ 8 kênh chuyển đổi ADC 10 bit;+ Hai bộ so sánh;
- Bên cạnh đó còn một vài đặc tính khác của vi điều khiển như:+ Bộ nhớ flash với khả năng ghi xóa được 100.000 lần;+ Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần;+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm;+ Khả năng tự nạp chương trình với sự điều khiển của phần mềm;+ Nạp được chương trình ngay trên mạch điện ICSP (In CircuitSerial
Programming) thông qua 2 chân;+ Watchdog Timer với bộ dao động trong;+ Chức năng bảo mật mã chương trình;+ Chế độ Sleep;
+ Có thể hoạt động với nhiều dạng Oscillator khác nhau.- Các đặc tính đặc biệt của PIC16F877A
+ Bộ nhớ Flash 16 Kbyte với khả năng ghi/xoá tới 100.000 lần;+ Bộ nhớ EEPROM 256 byte với khả năng ghi/xoá 1.000.000 lần;+ Thời gian lưu trữ dữ liệu trên bộ nhớ Flash và EEPROM tới 100 năm;
+ Khả năng tự lập trình với sự điều khiển của phần mềm;+ Các ngắt với nhiều mức độ ưu tiên;
+ Mở rộng Watchdog Timer: Chu kỳ có thể lập trình từ 41ms đến 131s;+ Nạp chương trình ngay trên mạch ICSP (In-Circuit Serial Programming)- Một số ngắt trong PIC16F877A:
+ Ngắt chung;+ Chuyển đổi A/D đã hoàn tất;+ Nút bấm;
+ Có Capture hay Compare trên CCP1 và CCP2;+ Hoàn thành ghi EEPROM;
+ Ngắt ngoài;+ Thay đổi bất kỳ trên chân B4-B7;+ Tràn Timer;
- PIC16F877A có 3 bộ định thời và đếm (Timer/Counter):+ Timer0;
+ Timer1;
Trang 16+ Timer2.
3.4 Một số linh kiện khác:3.4.1 Điện trở:
Hình 3.3 Hình ảnh điện trở thực tế
Điện trở là một linh kiện điện tử thụ động có khả năng cản trở dòng điện chảy qua mạch Điện trở có nhiều ứng dụng trong điện tử, như hạn chế cường độ dòng điện, điều chỉnh mức độ tín hiệu, chia điện áp, kích hoạt các linh kiện điện tử chủ động khác, v.v Đơn vị đo điện trở là ohm (Ω), và đơn vị đo điện dẫn là siemens (S) Điện trở của một vật được định nghĩa bằng tỉ số giữa điện áp và dòng điện qua nó, theo công thức R=U/I Điện trở của một vật phụ thuộc vào chất liệu, hình dạng, kích thước và nhiệt độ của vật Điện trở có thể được phân loại theo nhiều tiêu chí, như giá trị, sai số, công suất, nhiệt độ, v.v Điện trở thường được biểu diễn bằng các vòng màu có giá trị khác nhau, hoặc bằng các kýhiệu trên mạch điện
3.4.2 Nút ấn:
Trang 17Hình 3.4 Hình ảnh nút nhấn thực tế
- Nút ấn là một loại công tắc đơn giản điều khiển hoạt đô žng của máy hoặc một số loại quá trình Hầu hết, các nút nhấn là nhựa hoặc kim loại Hình dạng củanút ấn có thể phù hợp với ngón tay hoặc bàn tay để sử dụng dễ dàng Tất cả phụ thuộc vào thiết kế cá nhân Nút ấn có 2 loại chính là nút nhấn thường mở hoặc nút nhấn thường đóng
- Nút nhấn có ba phần: Bộ truyền động, các tiếp điểm cố định và các rãnh Bộ truyền động sẽ đi qua toàn bộ công tắc và vào một xy lanh mỏng ở phía dưới Bên trong là một tiếp điểm đô žng và lò xo Khi nhấn nút, nó chạm vào các tiếp điểm tĩnh làm thay đổi trạng thái của tiếp điểm Trong một số trường hợp, người dùng cần giữ nút hoặc nhấn liên tục để thiết bị hoạt đô žng Với các nút nhấn khác,chốt sẽ giữ nút bật cho đến khi người dùng nhấn nút lần nữa
3.4.3 Led 7 đoạn:
Hình 3.5 Hình ảnh LED 7 đoạn
- Mỗi led là một đoạn Khi mỗi đoạn chiếu sáng thì một phần của chữ số(hệ thập phân hoặc thập lục phân) sẽ được hiển thị Đôi khi có thêm led thứ 8 đểbiểu thị dấu thập phân khi có nhiều led 7 đoạn nối với nhau để hiển thị các số lớnhơn 10
Trang 18- Mỗi đèn led 7 đoạn có chân đưa ra khỏi hộp hình vuông Mỗi một chân sẽđược gán cho một chữ cái từ a đến g tương ứng với mỗi led Những chân khácđược nối lại với nhau thành một chân chung.
- Như vậy bằng cách phân cực thuận (forward biasing) các chân của ledtheo một thứ tự cụ thể, một số đoạn sẽ sáng và một số đoạn khác không sáng chophép hiển thị ký tự mong muốn Điều này cho phép chúng ta hiển thị các số thậpphân từ 0 đến 9 trên cùng một led 7 đoạn
- Chân chung được sử dụng để phân loại led 7 đoạn Vì đèn led có 2 chân, 1chân là anode và 1 chân là cathode nên có 2 loại led 7 đoạn là cathode chung(CC) và anode chung (CA)
- Sự khác nhau giữa 2 loại có thể thấy ngay ở tên gọi của nó Loại CC là cácchân cathode được nối chung với nhau Còn loại CA là các chân anode được nốichung với nhau Cách chiếu sáng mỗi loại như sau:
+ Loại CC (common cathode): Tất cả các chân cathode được nối với nhauvà nối đất, hay logic là 0 Mỗi phân đoạn được chiếu sáng bằng cách sử dụngđiện trở đặt tín hiệu logic 1 (hay mức cao) để phân cực thuận từng cực anode (từa đến g)
Hình 3.6 Loại CC của LED 7 đoạn
+ Loại CA (common anode): Tất cả các chân anode được nối với nhau với logic là 1 Mỗi phân đoạn được chiếu sáng bằng cách sử dụng điện trở tín hiệu logic 0 (hay low) vào các cực cathode (từ a đến g)
Trang 19Hình 3.7 Loại CA của LED 7 đoạn
- Nói chung loại CA phổ biến hơn trong 2 loại Loại CA không thay thếđược cho loại CC trong mạch điện, và ngược lại vì cách nối đèn led bị đảongược
- Tùy vào chữ số thập phân nào được hiển thị mà một bộ đèn led cụ thể sẽđược phân cực thuận Ví dụ để hiển thị chữ số 0, cần phải chiếu sáng 6 đoạntương ứng là a, b, c, d, e và f Như vậy các số từ 0 đến 9 có thể hiển thị bằng 1led 7 đoạn như hình bên dưới
Hình 3.8 Hiển thị các số từ
3.4.5: Cổng NOT
Cổng NOT là một cổng logic đơn giản, thực hiện phép phủ định trạng thái của một tín hiệu đầu vào Nó đảo ngược trạng thái của tín hiệu từ TRUE thành FALSE và ngược lại Cổng NOT thường được sử dụng để đảo ngược hoặc điều khiển các tín hiệu logic trong mạch điện tử
Trang 20Hình 3.9: Kí hiệu của cổng NOT
Bảng trạng thái của công NOT
Trang 21Hình 3.11 Cửa sổ tạo thư mục mới.
Bước 3: Lấy tất cả các linh kiện sử dụng từ thư viện của Proteus.
Lưu ý: có một số linh kiện không có sẵn trong thư viện nên chúng ta cần tự tạo linh kiện cho phù hợp với mạch
Hình 3.12 Cửa sổ Pick devices (chọn linh kiện).
Bước 4: Đưa linh kiện ra ngoài màn hình thiết kế , sắp xếp lại linh kiện cho hợp
lí.Có thể thay đổi thông số kỹ thuật của linh kiện bằng cách click trực tiếp vào linh kiện và nhập giá trị
Bước 5: Nối dây và kiểm tra sơ đồ nguyên lí.
Trang 223.6 Vẽ mạch in và sơ đồ 3D bố trí linh kiện:Bước 1: Sau khi hoàn thành xong mạch nguyên lí → chọn PCB Layout để vẽ
mạch in
Hình 3.13 Cửa sổ làm việc PCB layout.
Hình 3.14.Vẽ mạch in trên PCB Layout
Trang 23Hình 3.15 Sơ đồ 3D bố trí linh kiện
Bước 2: Đổ đồng cho mạchBước 3: Xuất file PDF mạch
Hình 3.16 File PDF của mạch.
Trang 243.7 Thi công mạch.
Bước 1 : Ủi mạch in
Bước 2 : Rửa và bóc lớp giấy thừa Bước 3: Ngâm mạch với dung dịch FeCl3Bước 4: Gắn linh kiện và tiến hành hàn chân
.
Trang 25TÀI LIỆU THAM KHẢO
1 https://play.google.com/store/apps/details?id=com.picmicrocontroller
2 16f877a -asm.pdf
https://cuuduongthancong.com/pvf/1499089/pic//vi-dieu-khien-pic-3 https://youtu.be/Wml1_jYjUXo
4 su-dung-pic16f877a/