Mạch đếm xe ra vào hiển thị trên LCD
Trang 1đó Nhưng thực tế để kiểm soát số xe ra vào thì rất khó,để giúp con người dễ dàng kiểm soát được chúng em xin giới thiệu mạch đếm xe ra vào hiển thị trên LCD.
1.2 GIỚI HẠN ĐỀ TÀI:
Chúng em đang thi công mạch đếm xe ra vào với một số yêu cầu sau:
- Tự động đếm số xe trong bãi giữ xe và hiển thị ra LCD
- Khi xe qua cảm biến vào số xe sẽ tăng lên 1 hiển thị ra LCD, khi xe ra số xe
sẽ giảm 1
1.3 MỤC ĐÍCH NGHIÊN CỨU
Khi thực hiện đề tài này, mục đích trước hết là hoàn tất chương trình môn học Mục đích thứ hai là bổ sung thêm kinh nghiệm cho công việc chúng em sau này
1.4 ĐỐI TƯỢNG NGHIÊN CỨU
- Tìm hiểu về vi xử lý sử dụng PIC 16F877A
- Tìm hiểu về LCD
- Tìm hiểu về các mạch cảm biến
Trang 2Chương 2: TỔNG QUAN VỀ PIC 16F877A
CHƯƠNG 2 TỔNG QUAN VỀ PIC 16F877A
2.1 SƠ LƯỢC VỀ VI ĐIÊU KHIỂN :
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ
PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, bộ nhớ đủ cho hầu hết các ứng dụng thông thường)
Do nhu cầu sử dụng trong đồ án này nên chúng tôi chỉ trình bày những phần có liên quan :
Cấu trúc tổng quát của PIC 16F877A như sau:8K Flash ROM
•368 Bytes RAM
•256 Bytes EEPROM
•5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập
•2 bộ định thời 8 bits (Timer 0 và Timer 2)
•Một bộ định thời 16 bits (Timer1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài
•2 bộ CCP( Capture / Compare/ PWM)
•1 bộ biến đổi AD 10 bits, 8 ngõ vào
•2 bộ so sánh tương tự (Compartor)
•1 bộ định thời giám sát (WatchDog Timer)
•Một cổng song song 8 bits với các tín hiệu điều khiển
Trang 3Chương 2: TỔNG QUAN VỀ PIC 16F877A
•Một cổng nối tiếp
•15 nguồn ngắt
•Có chế độ tiết kiệm năng lượng
•Nạp chương trình bằng cổng nối tiếp ICSP
•35 tập lệnh có độ dài 14 bit
•Tần số hoạt động tối đa 20MHz
2.2 Các dòng PIC và cách lựa chon vi điều khiển PIC
Các kí hiệu của vi điều khiển PIC
PIC12xxxx: độ dài lệnh 12 bit
PIC16xxxx: độ dài lệnh 16 bit
PIC18xxxx: độ dài lệnh 18 bit
C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ flash
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF, đây là kí hiệu cũ
Bên cạnh đó,một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ: PIC16F877 là EEPROM, còn PIC16F877A là flash)
Ở Việt Nam,dòng vi điều khiển phổ biến nhất do hãng microchip sản xuất
Cách lựa chọn một vi điều khiển phù hợp:
•Trước hết cần chú ý số chân của vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44, … chân.Cần chọn PIC có bộ nhớ flash có thể nạp chương trình được nhiều lần hơn
• Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển ,các chuẩn giao tiếp bên trong
• Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép
2.3 MỘT VÀI THÔNG SỐ VỀ VI ĐIỀU KHIỂN PIC 16F877A
Trang 4Chương 2: TỔNG QUAN VỀ PIC 16F877A
Đâ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 Mỗi lệnh được thực thi trong một chu kì xung clock Tốc độ hoạt động tối
đa cho phé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ố PORT I/O là 5 với 33 pin I/O
Các đặc tính ngoại vi 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ố 16 bit, có thể thực hiện chức năng đếm dựa và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 (SynchronousSerialPort), SPI và I2C
Cổng giao tiếp nối tiếp USART
Cổng giao tiếp song song PSP (ParallelSlavePort) 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 nạp 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
Trang 5Chương 2: TỔNG QUAN VỀ PIC 16F877A
Có thể hoạt động với nhiều dạng Oscillator khác nhau
2.4 SƠ LƯỢC VỀ CHÂN VÀ TỔ CHỨC BỘ NHỚ CỦA PIC 16F877A: 2.4.1 Sơ lược về các chân của PIC 16F877A:
Trang 6Chương 2: TỔNG QUAN VỀ PIC 16F877A
Hình 2.1: Sơ đồ chân và hình dạnh Pic16F877A
Trang 7Chương 2: TỔNG QUAN VỀ PIC 16F877A
2.4.2 Sơ đồ khối PIC16F877A.
Châ
-Vpp: ngõ vào áp lập trình
-AN0: ngõ vào tương tự
5 RA3/AN3/Vref+ -RA3:xuất/ nhập số
-AN3:ngõ vào tương tự
- Vref+: ngõ vào điện áp chuẩn (cao) của bộ A/D
6 RA4/TOCKI/C1OUT -RA4: xuất nhập số
-TOCKI: ngõ vào xung clock bên ngoài cho timer 0
-C1 OUT:ngõ ra bộ so sánh 1
7 RA5/AN4/ C2 OUT -RA5: xuất/ nhập số
-AN4: ngõ vào tương tự 4-C2 OUT: ngõ ra bộ so sánh 2
-RD: điều khiển việc đọc ở port nhánh song song
-AN5: ngõ vào tương tự
-WR: điều khiển việc ghi ở port nhánh song song
-AN6: ngõ vào tương tự
-CS: chip lựa chọn sự điều khiển ở port nhánh song song
-AN7: ngõ vào tương tự
Trang 8Chương 2: TỔNG QUAN VỀ PIC 16F877A
13 OSC1/CLKI Ngõ vào dao động thạch anh hoặc
xung clock bên ngoài
-OSC1: ngõ vào dao động thạch anh hoặc xung clock bên ngoài
-CLKI: ngõ vào nguồn xung bên ngoài Luôn được kết hợp với chức năng OSC1
14 OSC2/CLK0
-T1OCO: ngõ vào dao động timer 1-T1CK1: ngõ vào xung clock bên ngoài timer 1
Trang 9Chương 2: TỔNG QUAN VỀ PIC 16F877A
-RX : nhận bất đồng USART-DT : dữ liệu đồng bộ USART
-ngắt port B
Trang 10Chương 2: TỔNG QUAN VỀ PIC 16F877A
-PGC: mạch vi sai và dữ liệu lập trình ICSP
-ngắt port B
2.2
Trang 11Chương 2: TỔNG QUAN VỀ PIC 16F877A
2.4.3 Tổ chức bộ nhớ của PIC 16F877A
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) 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) Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit)
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 trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector) Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi
bộ đếm chương trình
* Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank.Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất 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ảm bớt lệnh của chương trình.Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau:
Trang 12Chương 2: TỔNG QUAN VỀ PIC 16F877A
Trang 13Hình 2.2: Sơ đồ bộ nhớ dữ liệu của PIC16F877A
Trang 14A
R E S I S T O R V A R
C B
Chương 3: CÁC LINH KIỆN KHÁC
CHƯƠNG 3 CÁC LINH KIỆN KHÁC 3.1 Điện trở và Biến trở :
Kí hiệu theo quy luật vòng màu
Bảng 2.1 bảng quy ước màu Màu điện trở Trị số Dung Sai Sai số
Trang 15Chương 3: CÁC LINH KIỆN KHÁC
Kí hiệu tụ hoá và hình dạng tụ hoá
- Tụ hóa là một loại tụ có phân cực Chính vì thế khi sử dụng tụ hóa yêu cầu người sử dụng phải cắm đúng chân của tụ điện với điện áp cung cấp Thông thường, các loại tụ hóa thường có kí hiệu chân cụ thể cho người sử dụng bằng các ký hiệu (+) hoặc (-) tương ứng với chân tụ
- Có hai dạng tụ hóa thông thường đó là tụ hóa có chân tại hai đầu trụ tròn của
tụ (tụ có ghi 220μF trên hình a) và loại tụ hóa có 2 chân nối ra cùng 1 đầu trụ tròn (tụ có ghi giá trị 10μF trên hình a) Đồng thời trên các tụ hóa, người ta thường ghi kèm giá trị điện áp cực đại mà tụ có thể chịu được Nếu trường hợp điện áp lớn hơn
so với giá trị điện áp trên tụ thì tụ sẽ bị phồng hoặc nổ tụ tùy thuộc vào giá trị điện
Trang 16Chương 3: CÁC LINH KIỆN KHÁC
áp cung cấp Thông thường, khi chọn các loại tụ hóa này người ta thường chọn các loại tụ có giá trị điện áp lớn hơn các giá trị điện áp đi qua tụ để đảm bảo tụ hoạt động tốt và đảm bảo tuổi thọ của tụ hóa
3.2.2 Tụ Không Phân Cực :
Tụ thường
- Các loại tụ nhỏ thường không phân cực Các loại tụ này thường chịu được các điện áp cao mà thông thường là khoảng 50V hay 250V Các loại tụ không phân cực này có rất nhiều loại và có rất nhiều các hệ thống chuẩn đọc giá trị khác nhau
- Rất nhiều các loại tụ có giá trị nhỏ được ghi thẳng ra ngoài mà không cần có
hệ số nhân nào, nhưng cũng có các loại tụ có thêm các giá trị cho hệ số nhân Ví dụ
có các tụ ghi 0.1 có nghĩa giá trị của nó là 0,1μF=100nF hay có các tụ ghi là 4n7 thì
có nghĩa giá trị của tụ đó chính là 4,7nF
Trang 17Chương 3: CÁC LINH KIỆN KHÁC
3.3.1 Giới thiệu về Diode:
Diode là loại linh kiện bán dẫn 2 cực có cấu tạo dựa trên chuyển tiếp P-N Điện cực nối với khối bán dẫn P gọi là Anot, điện cực nối với khối bán dẫn N gọi là Catot Dựa vào các đặt tính của chuyển tiếp P-N người ta chế tạo: diode chỉnh lưu, diode tách sóng,diode pshát quang
Trang 18Chương 3: CÁC LINH KIỆN KHÁC
- Ứng dụng của Diode: chỉnh lưu, tách sóng…
- Công dụng của diode: dùng để nén dòng xoay chiều thành một chiều và tách sóng
3.3.4 Diode 1N4007
Trang 19Chương 3: CÁC LINH KIỆN KHÁC
3.4 LM741 :
Hình3.2: Hình dạng và cấu tạo của LM741
Trang 20Chương 3: CÁC LINH KIỆN KHÁC
3.4.1 Tổng hợp vi sai
Mạch vi sai trong thực tế thường gồm có nhiều tầng (và được gọi là mạch
vi sai tổng hợp) với mục đích:
- Tăng độ khuếch đại AVS
- Giảm độ khuếch đại tín hiệu chung AC
Do đó tăng hệ số λ1.
- Tạo ngõ ra đơn cực để thuận tiện cho việc sử dụng cũng như chế tạo mạch khuếch đại công suất Thường người ta chế tạo m ạch vi sai tổng hợp d ưới d ạng IC gọi là IC thuật toán (op-amp _operational amplifier) Người ta chia một mạch vi sai tổng hợp ra thành 3 phần: Tầng đầu, các tầng giữa và tầng cuối
3.4.2 Các tầng giữa
Các tầng giữa có thể là vi sai hay đơn cực
- Mắc nối tiếp vi sai với vi sai:
của tầng vi sai trước Tầng sau không cần dùng nguồn dòng điện.
- Mắc vi sai nối tiếp với đơn cực:
Người ta thường dùng tầng đơn cực để dễ sử dụng.
3.5 LCD
3.5.1 Hình dạng:
Trang 21Chương 3: CÁC LINH KIỆN KHÁC
Hình3.3: Hình dạng của LCD
3.5.2 Cấu tạo
Bên trong LCD có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor Register) và thanh ghi dữ liệu DR (Data Register)
-Thanh ghi IR : Để điều khiển LCD
Như vậy để điều khiển LCD chúng ta cần đưa mã lệnh điều khiển thích hợp vào thanh ghi IR thông qua bảng mã sau:
Bảng mã lệnh
Mã Số Hex Lệnh Đến Thanh Ghi Của LCD
01 Xóa màn hình hiển thị
02 Trở về đầu dòng
04 Giảm con trỏ (dịch con trỏ sang trái)
06 Tăng con trỏ (dịch con trỏ sang phải)
05 Dịch hiển thị sang phải
07 Dịch hiển thị sang trái
08 Tắt con trỏ, tắt hiển thị
0A Bật con trỏ, tắt hiển thị
0C Tắt con trỏ, bật hiển thị
0E Nhấp nháy con trỏ, bật hiển thị
0F Tắt con trỏ, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch toàn bộ hiển thị sang phải
80 Đưa con trỏ về đầu dòng thứ nhất
C0 Đưa con trỏ về đầu dòng thứ hai
38 Cài LCD chạy chế độ 2 dòng và dùng ma trận 5 x 7
-Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM
DDRAM hoặc CGRAM (chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho MCU (ở chế độ đọc)
DR cũng là thanh Ram chứa dữ liệu cần hiển thị lên LCD
Bảng chức năng chân
Số
Chân
1 VSS chân này với GND của mạch điều khiển.Chân nối đất cho LCD, khi thiết kế mạch ta nối
2 VDD nối chân này với VCC=5V của mạch điều khiển.Chân cấp nguồn cho LCD, khi thiết kế mạch ta
Trang 22Chương 3: CÁC LINH KIỆN KHÁC
của LCD Khi thiết kế nối chân này với chân điều chỉnh của biến trở khoảng 5K đến 10k
Chân chọn thanh ghi (Register select) Nối chân
RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ
“đọc” - read)+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi
dữ liệu DR bên trong LCD
5 R/W chân R/W với logic “0” để LCD hoạt động ở chế độ Chân chọn chế độ đọc/ghi (Read/Write) Nối
ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E (xung này
7 > 14 D0 > D7 Tám đường của bus dữ liệu dùng để trao đổi
thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
Chi tiết sử dụng 2 giao thức này được đề cập ở phần sau
Trang 23Chương 3: CÁC LINH KIỆN KHÁC
3.6 TRANSISTOR LƯỠNG CỰC ( BJT: Bipolar Junction Transistor )
3.6.1 Cấu tạo và kí hiệu của Transistor
* Cấu tạo Transistor
- Ba lớp bán dẫn được nối ra thành ba cực , lớp giữa gọi là cực gốc ký hiệu là B (Base ), lớp bán dẫn B rất mỏng và có nồng độ tạp chất thấp
- Hai lớp bán dẫn bên ngoài được nối ra thành cực phát ( Emitter ) viết tắt là E, và cực thu hay cực góp ( Collector ) viết tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn (loại N hay P ) nhưng có kích thước và nồng độ tạp chất khác nhau nên không hoán vị cho nhau được
* Xét hoạt động của Transistor PNP
Sự hoạt động của Transistor PNP hoàn toàn tương tự Transistor NPN nhưng cực tính của các nguồn điện UCE và UBE ngược lại Dòng IC đi từ E sang C còn dòng IB đi
Trang 24Chương 3: CÁC LINH KIỆN KHÁC
3.6.2 C1815
Hình 3.4: Transistor công xuất nhỏ.
Trang 25Chương 3: CÁC LINH KIỆN KHÁC
3.6.3 TIP41(NPN) VÀ TIP42(PNP)
6.2.2 Transistor 2N3904
Trang 26Chương 3: CÁC LINH KIỆN KHÁC
3.7 IC ỔN ÁP KA7805 :
Họ KA78xx được đóng gói theo kiểu TO_220 và có nhiều mức điện áp ngõ ra ổn định làm cho chúng có phạm vi sử dụng rộng trong nhiều ứng dụng.Mỗi loại được tích hợp khả năng giới hạn dòng điện,tắt nhiệt, bảo vệ khu vực hoạt động nên chúng rất bền.Nếu được tản nhiệt thích hợp chúng có thể cung cấp dòng ngõ ra hơn1A.Mặc dù chúng được thiết kế trước hết là một bộ điều chỉnh điện áp,những thiết bị này còn được
sử dụng với các thiết bị ngoại vi để thu được điện áp và dòng điện điều chỉnh được
Trang 27
Chương 3: CÁC LINH KIỆN KHÁC
Hình 3.5: Hình dạng và sơ đồ chân của KA7805:
Sơ đồ khối bên trong:
Bảng đặc tính điện của KA7805: