BÁO CÁO ĐỒ ÁN CƠ SỞ 2 MẠCH ĐÈN GIAO THÔNG NGÃ TƯ SỬ DỤNG PIC16F877A AI MUỐN LẤY FILE PROTUES MẠCH CODE MẠCH IN THÌ CỨ LIÊN HỆ QUA MAIL NGUYENVANLYHTGMAIL.COM ĐỂ LẤY MẠCH .LỜI NÓI ĐẦU 2 CHƯƠNG I: GIỚI THIỆU CHUNG 3 1.1. Tổng quan về hệ thống điều khiển tín hiệu đèn giao thông 3 1.2. Phân tích lựa chọn phương án điều khiển 3 a. Mạch dùng IC số 3 b. Điều khiển bằng vi điều khiển. 4 c. Với vi mạch dùng kỹ thuật vi xử lý. 4 d. Điều khiển bằng PLC. 4 CHƯƠNG II: GIỚI THIỆU LINH KIỆN 5 2.1. Led 7 đoạn 5 a. Kết nối với vi điều khiển 7 b. Giao tiếp vi điều khiển với led 7 đoạn 10 2.2. Cấu trúc bộ vi điều khiển 10 CHƯƠNG III: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 21 3.1 Sơ đồ nguyên lý theo từng khối 21 a. Khối hiển thị 21 b. Khối tín hiệu điều khiển 21 c. Khối điều khiển đèn 22 d. Sơ đồ mạch nguyên lý chung 23 3.2 Nguyên lý hoạt động: 23 3.3 Chương trình điều khiển 24 CHƯƠNG IV: THI CÔNG MẠCH 4.1 Vẽ mạch in……………………………………………………………………………………..29 4.2 Mạch mô phỏng………………………………………………………………………………..29 4.3 Mạch thực tế…………………………………………………………………………………...29 CHƯƠNG V: PHẦN TỔNG KẾT 30 TÀI LIỆU THAM KHẢO 31
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG I: GIỚI THIỆU CHUNG 3
1.1 Tổng quan về hệ thống điều khiển tín hiệu đèn giao thông 3
1.2 Phân tích lựa chọn phương án điều khiển 3
a Mạch dùng IC số 3
b Điều khiển bằng vi điều khiển 4
c Với vi mạch dùng kỹ thuật vi xử lý 4
d Điều khiển bằng PLC 4
CHƯƠNG II: GIỚI THIỆU LINH KIỆN 5
2.1 Led 7 đoạn 5
a Kết nối với vi điều khiển 7
b Giao tiếp vi điều khiển với led 7 đoạn 10
2.2 Cấu trúc bộ vi điều khiển 10
CHƯƠNG III: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 21
3.1 Sơ đồ nguyên lý theo từng khối 21
a Khối hiển thị 21
b Khối tín hiệu điều khiển 21
c Khối điều khiển đèn 22
d Sơ đồ mạch nguyên lý chung 23
3.2 Nguyên lý hoạt động: 23
3.3 Chương trình điều khiển 24
CHƯƠNG IV: THI CÔNG MẠCH 4.1 Vẽ mạch in……… 29
4.2 Mạch mô phỏng……… 29
4.3 Mạch thực tế……… 29
CHƯƠNG V: PHẦN TỔNG KẾT 30
TÀI LIỆU THAM KHẢO 31
Trang 2LỜI NÓI ĐẦU
Với thời đại phát triển như ngày nay thì vấn đề giao thông ngày càng được trú trọng Cácphương tiện tham gia giao thông cũng gia tăng không ngừng và hệ thống giao thông ngày càngphức tạp Vì vậy để đảm bảo được sự an toàn khi tham gia giao thông thì việc sử dụng các hệthống tín hiệu để điều khiển và phân luồng tại các nút giao thông là rất cần thiết Qua thực tếchúng em nhận thấy vấn đề này là rất sát thực Hơn nữa là chúng em đã được trang bị những kiến
thức trong quá trình nghiên cứu và học tập tại trường chúng em đã chọn đề tài “ Thiết kế và chế
tạo hệ thống điều khiển tín hiệu giao thông 2 chế độ lập trình bằng vi điều khiển”
Trong suốt quá trình thực hiện đề tài chúng em đã nhận được sự hướng dẫn tận tình của
thầy “Trần Duy Cường” và các thầy cô trong khoa cơ điện điện tử Chúng em xin chân thành
cám ơn các thầy cô Tuy nhiên trong quá trình thực hiện đồ án do kiến thức hiểu biết còn hạn hẹpcũng như chúng em chưa có nhiều điều kiện khảo sát thực tế nhiều, thời gian làm đồ án không dài
do vậy đồ án của chúng em cũng không thể tránh được những thiếu sót Chúng em rất mong thầy
cô và các các bạn đóng góp và bổ sung ý kiến để đồ án của chúng em thêm hoàn thiện hơn
Chúng em xin chân thành cám ơn!
Trang 3CHƯƠNG I: GIỚI THIỆU CHUNG1.1 Tổng quan về hệ thống điều khiển tín hiệu đèn giao thông
Trước tình hình phương tiện tham gia giao thông ngày càng gia tăng không ngừng và hệthống giao thông ngày càng phức tạp Chính lý do này đã dẫn đến tình trạng ùn tắc và tai nạngiao thông ngày càng gia tăng Vì vậy để đảm bảo giao thông được an toàn và thông suốt thì việc
sử dụng các hệ thống tín hiệu để điều khiển và phân luồng tại các nút giao thông là rất cần thiết.Với tầm quan trọng như vậy hệ thống điều khiển tín hiệu giao thông cần đảm bảo những yêu cầusau:
- Đảm bảo trong quá trình hoạt động một cách chính xác và liên tục
- Độ tin cậy cao
- Đảm bảo làm việc ổn định, lâu dài
1.2 Phân tích lựa chọn phương án điều khiển
Với sự phát triển của khoa học kỹ thuật để điều khiển được hệ thống giao thông chúng
ta có nhiều cách khác nhau như là: Dùng IC số, các bộ vi xử lý, vi điều khiển, các bộ điều khiểnPLC
a Mạch dùng IC số
Với mạch dùng IC số có những ưu điểm sau:
Giá thành rẻ
Mạch đơn giản dễ thực hiện
Tổn hao công suất bé, mạch có thể dùng pin hoặc acquy
Tuy nhiên khi sử dụng kỹ thuật số rất khó khăn trong việc thay đổi chương trình Muốnthay đổi một chương trình nào đó thì buộc ta phải thay đổi phần cứng Do đó mỗi lần phải lắp lạimạch dẫn đến tốn kém về kinh tế mà nhiều khi yêu cầu đó không thực hiện được nhờ phươngpháp này
Trang 4Với sự phát triển mạnh mẽ của ngành kỹ thuật số đặc biệt là cho ra đời các họ vi xử lý,
vi điều khiển hay PLC đã giải quyết được những bế tắc và kinh tế hơn mà phương pháp dùng IC
số kết nối lại không thực hiện được
b Điều khiển bằng vi điều khiển.
Ngoài ưu điểm của phương pháp trên, phương pháp này còn có những ưu điểm sau:
Do trong vi điều khiển có sử dụng các bộ timer, các hệ thống ngắt, câu lệnh đơn giản nênviệc lập trình đơn giản hơn
Trong mạch có thể sử dụng ngay bộ nhớ trong đối với chương trình có quy mô nhỏ rấttiện lợi mà vi xử lý không thực hiện được
Nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lý cũng giao tiếp được nhưng
là giao tiếp song song sang nối tiếp để giao tiếp với máy tính
c Với vi mạch dùng kỹ thuật vi xử lý.
Với phương pháp này có những ưu điểm sau:
Ta có thể thay đổi một cách linh hoạt bằng việc thay đổi phần mềm trong khi đó phầncứng không thay đổi mà mạch dùng IC số không thể thực hiện được mà nếu có thể thực hiệnđược thì cũng cứng nhắc mà người công nhân khó tiếp cận, đễ nhầm
Số linh kiện sử dụng trong mạch cũng ít hơn
Mạch đơn giản hơn mạch dùng IC số
Song do phần cứng của vi xử lý chỉ sử dụng CPU đơn chíp mà không có các bộ nhớRAM, ROM, các bộ timer, hệ thống ngắt Do vậy việc viết chương trình gặp nhiều khó khăn Dovậy hiện nay để khắc phục những nhược điểm trên hiện nay người ta sử dụng bộ vi điều khiển
d Điều khiển bằng PLC
Với phương pháp sử dụng PLC có những ưu diểm sau:
Lập trình đơn giản, độ tin cậy cao
Chức năng điều khiển thay đổi dễ dàng bằng thiết bị lập trình (máy tính, màn hình) màkhông cần thay đổi phần cứng nếu không có yêu cầu thêm bớt các thiết bị nhập xuất
Thời gian hoàn thành một chu trình điều khiển rất nhanh
Trang 5Tuy nhiên phương pháp này có nhiều ưu điểm hơn vi xử lý nhưng việc áp dụng trong hệthống nhỏ là không thích hợp bởi giá thành rất cao
Với những ưu điểm của từng phương pháp là khác nhau Tuy nhiên thực hiện đề tài nàynhóm chúng em chọn phương pháp điều khiển bằng vi điều khiển bởi đây là phương án tối ưunhất phù hợp với đề tài
Hiện nay bộ vi điều khiển PIC 16F877A đang được sử dụng rộng rãi vì vậy chúng em lựachọn bộ điều khiển này để điều khiển hệ thống
CHƯƠNG II: GIỚI THIỆU LINH KIỆN 1.3 Led 7 đoạn
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với thông
số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn" Led 7 đoạn được sử dụng
khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện thị số là đủ, chẳng hạn led 7 đoạn đượcdùng để hiển thị nhiệt độ phòng, trong các đồng hồ treo tường bằng điện tử, hiển thị số lượng sảnphẩm được kiểm tra sau một công đoạn nào đó
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm một led đơnhình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 đoạn 8 led đơn trên led 7đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với nhau vào một điểm, được đưachân ra ngoài để kết nối với mạch điện 8 cực còn lại trên mỗi led đơn được đưa thành 8 chânriêng, cũng được đưa ra ngoài để kết nối với mạch điện
Led 7 đoạn có 2 loại:
Anode (cực +) chung: đầu (+) chung này được nối với +Vcc, các chân còn lại dùng đểđiều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chânnày ở mức 0
Cathode (cực -) chung: đầu( -) chung được nối xuống Ground (hay Mass), các chân cònlại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vàocác chân này ở mức 1
Trang 6Hiển thị LED 7 thanh là phần tử hiển thị thông dụng, để hiển thị các phần tử số từ 0 đến 9trong một số hệ thập phân Nó gồm 7 thanh xếp thành hình số 8, mỗi thanh là một diode ( LED )phát quang hoặc hiển thị tinh thể lỏng Điode thưòng được cấu tạo từ các chất Ga, As, P …nócũng có tính chất chỉnh lưu như diode thường Nhưng khi điện áp thuận đạt nên diode vượt quámức ngưỡng Ung nào đó thì diode sáng Điện áp ngưỡng thay đổi từ 1,5 đến 5 v tuỳ theo từng loại
có màu sắc khác nhau
LED màu đỏ có điện áp ngưỡng Ung = 1,6 đến 2 v
LED màu cam có điện áp ngưỡng Ung = 2,2 đến 3 v
LED màu xanh lá cây có điện áp ngưỡng Ung = 2,8 đến 3,2 v
LED màu vàng có điện áp ngưỡng Ung = 2,4 đến3, 2 v
LED màu xanh ra trời có điện áp ngưỡng Ung = 3 đến 5 v
Thiết kế bộ giải mã hiển thị cho LED 7 thanh với tín hiệu đầu vào là mã BCD
Dạng chỉ thị led 7 đoạn:
Trang 7Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗiled đơn trong khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V có thể hạn dòngbằng điện trở 330Ω trước các chân nhận tín hiệu điều hiển
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua lednếu led 7 đoạn được nối với nguồn 5V
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b Tương tựvới các chân và các led còn lại
a Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào đócủa Vi điều khiển để điều khiển led 7 đoạn Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ Vi điềukhiển để điều khiển hoạt động sáng tắt của từng led led đơn trong nó, dữ liệu được xuất ra điềukhiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn" Có hai kiểu mã hiển thị led 7 đoạn:
mã dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -)chung Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các chân còn lại đượcđặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic)hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1)
Bảng mã hiển thị led 7 đoạn( led 7 đoạn anot chung: led đơn sáng ở mức 0)
Số hiển thị trên led 7
Trang 8Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn canot chung(các led đơn sang ở mức 1)
Số hiển thị trên led 7
Trang 9Dữ liệu xuất có dạng nhị phân như sau : hgfedcba
Từ bảng chức năng lập bảng karnaught cho 7 hàm ra ta có kết quả:
b Giao tiếp vi điều khiển với led 7 đoạn
Nếu kết nối mỗi một Port của Vi điều khiển với 1 led 7 đoạn thì tối đa kết nối được 4 led
7 đoạn Mặt khác nếu kết nối như trên sẽ hạn chế khả năng thực hiện các công việc khác của Viđiều khiển Cho nên cần phải kết nối, điều khiển nhiều led 7 đoạn với số lượng chân điều khiển từ
Vi điều khiển càng ít càng tốt Có hai giải pháp: một là sử dụng các IC chuyên dụng cho việc
Trang 10hiện thị led 7 đoạn, hai là kết nối nhiều led 7 đoạn vào cùng một đường xuất tín hiệu hiển thị Nộiphần này sẽ đề cập đến cách kết nối nhiều led 7 đoạn theo giải pháp thứ 2
Để kết nối nhiều led 7 đoạn vào vi điều khiển thực hiện như sau: nối tất cả các chân nhậntín hiệu của tất cả các led 7 đoạn (chân abcdefgh) cần sử dụng vào cùng 1 Port, trong ví dụ, 8 led
7 đoạn có các chân nhận tín hiệu cùng được được nối với P0 Dùng các ngõ ra còn lại của Vi điềukhiển điều khiển on/off cho led 7 đoạn, mỗi ngõ ra điều khiển ON/OFF cho 1 led 7 đoạn,(ON: led
7 đoạn được cấp nguồn để hiển thị, OFF: led 7 đoạn bị ngắt nguồn nên không hiển thị được)
Tại mỗi thời điểm, chỉ nên cho Vi điều khiển điều khiển cho 1 led 7 đoạn hoạt động, do
đó tại mỗi thời điểm chỉ nên có 1 ngõ ra duy nhất nối với transitor ở mức 0 Tại mỗi thời điểm chỉ
có một led 7 đoạn được ON nên sẽ không xảy ra tình trạng quá tải cho tải và quá tải cho vi điềukhiển khi điều khiển nhiều led 7 đoạn
1.4 CẤU TRÚC BỘ VI ĐIỀU KHIỂN:
a Sơ đồ chân vi điều khiển PIC 16F877A.
Hình 9: Sơ đồ chân vi điều khiển PIC16F877A
b Một vài thông số về vi điều khiển PIC16F877A.
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit
Trang 11Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối đa chophép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữliệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORTI/O là 5 với 33 pin I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựavào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
- Timer2: 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 (Synchronous 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 Slave Port) với các chân điều khiể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 đó là 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 Circuit Serial 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 Sơ đồ khối vi điều khiển PIC16F877A
Trang 12Hình 10 Sơ đồ khối vi điều khiển PIC16F877A.
d Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình(Programmemory) và bộ nhớ dữ liệu (Data Memory)
Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển
PIC16F877A là bộ nhớ flash, dung lượng bộ
nhớ 8K word (1 word = 14 bit) và được phân
thành nhiều trang (từ page0 đến page 3)
Trang 13Như vậy bộ nhớ chương trình có khả năng
dung lượng 13 bit (PC<12:0>)
Khi vi điều khiển được reset, bộ đếm
chương trình sẽ chỉ đến địa chỉ 0000h (Reset
vector) Khi có ngắt xảy ra, bộ đếm chương
cà các bank của bộ nhớ dữ liệu giúp thuận tiện trong quátrình truy xuất và làm giảmbớt lệnh của chương trình Sơ đồ cụ thể của bộ nhớ dữ liệu
PIC16F877A như sau:
Trang 14Hình 12.Sơ đồ bộ nhớ dữ liệu PIC16F877A.
Trang 15e Cổng xuất nhập
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tácvới thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình tương tác đó,chức năng của vi điều khiển được thể hiện một cách rõ ràng
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách bốtrí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng chân trongmỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trongcác đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường,một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của cácđặc tính ngoại vi nêu trên đối với thế giới bên ngoài Chức năng của từng chân xuất nhậptrong mỗi cổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghiSFR liên quan đến chân xuất nhập đó
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD và PORTE
PORTA
PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectional pin),nghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghiTRISA (địa chỉ 85h) Muốn xác lập chức năng của một chân trong PORTA là input, ta
“set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốnxác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tươngứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với cácPORT và các thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đối vớiPORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD vàđối vớiPORTE là TRISE) Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vàoanalog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (MasterSynchronous Serial Port)
Các thanh ghi SFR liên quan đến PORTA bao gồm:
PORTA (địa chỉ 05h) :chứa giá trị các pin trong PORTA
TRISA (địa chỉ 85h) : điều khiển xuất nhập
CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh
CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp
ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển bộ ADC
PORTB
PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISB.Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương trìnhcho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi
và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi
Trang 16Các thanh ghi SFR liên quan đến PORTB bao gồm:
PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB
TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập
OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0
PORTC
PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISC.Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM
và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART
Các thanh ghi điều khiển liên quan đến PORTC:
PORTC (địa chỉ 07h) : chứa giá trị các pin trong PORTC
TRISC (địa chỉ 87h) : điều khiển xuất nhập
PORTD
PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD.PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port)
Các thanh ghi liên quan đến PORTD bao gồm:
Thanh ghi PORTD: chứa giá trị các pin trong PORTD
Thanh ghi TRISD : điều khiển xuất nhập
Thanh ghi TRISE : điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP
PORTE
PORTE (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISE.Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điều khiểncủa chuẩn giao tiếp PSP
Các thanh ghi liên quan đến PORTE bao gồm:
PORTE : chứa giá trị các chân trong PORTE
TRISE : điều khiển xuất nhập và chuẩn giao tiếp PSP
ADCON1 : thanh ghi điều khiển khối ADC
f TIMER 0
Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F877A Timer0
là bộ đếm 8 bit được kết nối với bộ chia tần số (prescaler) 8 bit Cấu trúc của Timer0 chophép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock
Ngắt Timer0 sẽ xuất hiện khi Timer0 bị tràn Bit TMR0IE (INTCON<5>) là bit điềukhiển của Timer0 TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IF= 0 không chophép ngắt Timer0 tác động Sơ đồ khối của Timer0 như sau: