Trong đó môn kỹ thuật vi điều khiển được pháttriển mạnh dựa trên những tiến bộ của công nghệ tích hợp các linh kiện bán dẫn và hệ lập trình có bộ nhớ kết hợp với máy tính điện tử.. 2.4:
Trang 1Thiết kế mạch cân Ô tô điện tử 40 tấn
Mục Lục
Trang 2Nhận Xét Của Giáo Viên 1
Mục Lục 2
Lời Mở Đầu 3
Phần I : Giới Thiệu Đề Tài 4
Phần II : Cơ Sở lý Thuyết Có Liên Quan 7
Chương 1 Cảm Biến 7
Chương 2 Mạch Khuếch Đại Tín Hiệu 13
Chương 3 Các Vần Đề Về Vi Điều Khiển PIC 16F877A 16
Chương 4 Khối Hiển Thị LCD 31
Phần III : Thi Công Và Thiết Kế Mạch 42
Chương 1 Sơ Đồ Khối Và Chức Năng Của Từng Mạch 42
Chương 2 Chương Trình Điều Khiển 53
Phần IV kết Luận 57
Tài Liệu Tham Khảo 57
Trang 3LỜI MỞ ĐẦU
Ngày nay, sự phát triển mạnh mẽ của khoa học công nghệ, cuộc sống của conngười đã có những thay đổi ngày càng tốt hơn, với những trang thiết bị hiện đạiphục vụ công cuộc công nghiệp hoá, hiện đại hoá đất nước Đặc biệt góp phần vào
sự phát triển đó thì ngành kĩ thuật điện tử đã góp phần không nhỏ trong sự nghiệpxây dựng và phát triển đất nước Trong đó môn kỹ thuật vi điều khiển được pháttriển mạnh dựa trên những tiến bộ của công nghệ tích hợp các linh kiện bán dẫn và
hệ lập trình có bộ nhớ kết hợp với máy tính điện tử Từ những thời gian đầu pháttriển đã cho thấy sự ưu việt của nó và cho tới ngày nay tính ưu việt đó ngày càngđược khẳng định thêm Những thành tựu của nó đã có thể biến được những cáitưởng chừng như không thể thành những cái có thể, góp phần nâng cao đời sốngvật chất và tinh thần cho con người
Để góp phần làm sáng tỏ hiệu quả của những ứng dụng trong thực tế của mônhọc em sau một thời gian học tập được các thầy, cô giáo trong khoa giảng dạy vềcác kiến thức chuyên nghành, đồng thời được sự giúp đỡ nhiệt tình của thầy
Nguyễn Hải Hà em đã hoàn thành đồ án với đề tài :“ Thiết kế cân điện tử ôtô 40 tấn”
Cùng với sự lỗ lực của bản thân nhưng do thời gian, kiến thức và kinh nghiệmcủa em còn có hạn nên sẽ không thể tránh khỏi những sai sót Chúng em rất mongđược sự giúp đỡ & tham khảo ý kiến của thầy cô và các bạn nhằm đóng góp pháttriển thêm đề tài
PHẦN I: GIỚI THIỆU ĐỀ TÀI
Trang 41 Cơ sở lựa chọn đề tài.
Ngày nay cùng với sự phát triển của công nghiệp điện tử, kỹ thuật thì một sốcác hệ thống điều khiển đã dần dần được tự động hóa Với những kỹ thuật tiên tiếnnhư vi điều khiển, PLC … được ứng dụng vào lĩnh vực điều khiển thì các hệ thốngđiều khiển cơ khí thô sơ, với tốc độ xử lý chậm chạp, ít chính xác đã được thay thếbằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lậptrước
Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay, việc đo trọnglượng tự động là một yêu cầu hết sức cần thiết và quan trọng Vì nắm bắt đượctrọng lương làm việc của cả một hệ thống, dây chuyền sản xuất giúp chúng ta biếtđược tình trạng làm việc của hệ thống Qua đó có những xử lý kịp thời tránh đượcnhững hư hỏng có thể xảy ra
Việc đo áp suất thì trong các hệ thống điều khiển trong công nghiệp hiện nayluôn yêu cầu cần độ chính xác và thời gian đáp ứng , xử lý nhanh nhất bởi vậytrung tâm của chương trình điều khiển thường là những vi điều khiển
Để đáp ứng được theo yêu cầu thì có rất nhiều phương pháp để thực hiện, quaquá trình học và nghiên cứu khảo sát vi điều khiển PIC thì thấy rằng vi điều khiển
có ứng dụng rất tốt như yêu cầu của đề tài và muốn hệ thống chính xác đạt đượchiệu quả nhanh nhất thì cần phải có bộ sử lý tín hiệu tốt Được sự đồng ý của khoa
Cơ Khí Động Lực Trường Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Em nghiên cứu và tiến hành thực hiện đề tài:
“Thiết kế mạch cân ô tô điện tử 40 tấn”
Các hệ thống điều khiển khi thiết kế đều yêu cầu thỏa mãn chất lượng đặt ra, các chỉ tiêu chất lượng phải tốt nhất theo một nghĩa nào đó Trong trường hợp tổng quát, các chỉ tiêu tối ưu của một hệ thống điều khiển thường được gọi là tiêu chuẩntối ưu, các tiêu chuẩn tối ưu đó là:
+ Thời gian hiệu chỉnh ngắn nhất
+ Tốc độ điều chỉnh nhanh nhất
+ Cấu trúc nhỏ nhất
+ Năng lượng tiêu thụ trong hệ thống ít nhất
Trang 52 Đối tượng nghiên cứu:
Trong thực tế về cuộc sống và trong công nghiệp nhiều vị trí cần và thường dùngcảm biến trọng lượng hoặc điện trở tinh Khi điều khiển trọng lượng, đặc tính cầnchú ý là nhận và sử lý thông tin nhanh từ cảm biến tới bộ sử lý trung tâm
3:Nội dụng nghiên cứu:
Nội dung chính của đồ án đề cập đến những vấn đề chính sau:
*Cảm biến
* Mạch khuếch đại
* Tổng quan vi điều khiển PIC
*Thi công và thiết kế mạch
* Kết luận và kiến nghị
4 Nhiệm vụ nghiên cứu.
*Thiết kế khối nguồn
* Nghiên cứu về đối tượng điều khiển
*Viết chương trình điều khiển
* Nghiên cứu lý thuyết vi điều khiển PIC
* Xây dụng được sơ đồ, thuật toán và chương trình điều khiển
5 Phương pháp nghiên cứu.
* Nghiên cứu lí thuyết để xây dựng thuật toán điều khiển
*Dùng mô phỏng để kiểm nghiệm kết quả nghiên cứu lý thuyết
*Dùng thực nghiệm để khẳng định kết quả nghiên cứu
PHẦN II: CƠ SỞ LÝ THUYẾT LIÊN QUAN
Trang 6Các đại lượng cần đo(m) thường không có tính chất điện (như nhiệt độ, ápsuất ) tác động lên cảm biến cho ta một đặc trưng (s) mang tính chất điện (nhưđiện tích, điện áp, dòng điện hoặc trở kháng) chứa đựng thông tin cho phép xácđịnh giá trị của đại lượng đo Đặc trưng (s) là hàm của đại lượng cần đo (m):
s = F(m) (1.1)Người ta gọi (s) là đại lượng đầu ra hoặc là phản ứng của cảm biến, (m) là đạilượng đầu vào hay kích thích (có nguồn gốc là đại lượng cần đo) Thông qua đođạc (s) cho phép nhận biết giá trị của (m)
I.2 Phân loại
Các bộ cảm biến được phân loại theo các đặc trưng cơ bản sau đây:
- Theo nguyên lý chuyển đổi giữa đáp ứng và kích thích (bảng 1.1)
Hiện tượng Chuyển đổi đáp ứng và kích thích
Hiện tượng vật lý - Nhiệt điện
Hiện tượng hóa học - Biến đổi hoá học
- Biến đổi điện hoá
- Phân tích phổ
Hiện tượng sinh học - Biến đổi sinh hoá
- Biến đổi vật lý
- Hiệu ứng trên cơ thể sống
-Phân loại theo dạng kích thước
Trang 7- Điện dẫn, hằng số điện môi
Trang 8- Giao thông
- Vũ trụ
- Quân sự
- Phân loại theo thông số của mô hình mạch thay thế
+ Cảm biến tích cực có đầu ra là nguồn áp hoặc nguồn dòng
+ Cảm biến thụ động được đặc trưng bằng các thông số R, L, C, M tuyến tínhhoặc phi tuyến
I.3 Các đặc trưng cơ bản
- Độ nhạy của cảm biến
+ Độ nhạy trong chế độ tĩnh và tỉ số chuyển đổi tĩnh
+ Độ nhạy trong chế độ động
- Độ tuyến tính
- Sai số và độ chính xác
- Độ nhanh và thời gian hồi đáp
- Giới hạn sử dụng của cảm biến
2.Cảm biến (biến trở)
2.1 Khái niệm
Biến trở cấu tạo bởi 1 thanh điện trở hoặc một cung điện trở có giá trị xác định
và một tiếp điểm có thể di chuyển trơn trên than của thanh điện trở hay cung điệntrở ấy để chia tỉ lệ điện trở tùy theo ý muốn bằng cách thay đổi vị trí trên cung điệntrở hay thanh điện trở ấy
2.2 Hình ảnh một số loại biến trở thông dụng
Trang 10(Một số loại biến trở thông dụng)2.3 Các loại biến trở và cách sử dụng.
Trang 11Tuy cùng có chung nguyên tắc cấu tạo nhưng biến trở cũng được chia ra làmnhiều loại nhỏ với các chức năng như sau :
- Biến trở thường :
Về nguyên lí cấu tạo không có gì khác biệt với cách thức cấu tạo chung của biếntrở Có thể là dạng thanh trượt hoặc cũng có thể là dạng xoay Chức năng của loạilinh kiện này là chia giá trị điện trở của thanh điện trở làm 2 phần là R1 và R2 và : R1 + R2 = const
Nó dung để chia tỷ lệ R1 / R2 một cách tương đối chính xác
Dựa vào đó nó có thể dung để điều chỉnh dòng qua mạch bằng cách mắc nối tiếpvới mạch đó, tuy nhiên dòng điện rất nhỏ do trị số điện trở thường khá lớn, có thểvài Kilo Ôm hoay cũng có khi đến hang trăm Kilo Ôm hay Mega Ôm
Cũng có thể dung để trích một phần điện áp theo một tỉ lệ nào đó
- Biến trở công suất :
Cấu tạo rất giống biến trở thường tuy nhiên cấu tạo bằng vật liệu chịu được côngsuất cao đo đó dòng lớn hơn, bền hơn , ổn định hơn và thường dung điều khiển cácmáy móc công nghiệp
- Biến trở vi chỉnh :
Là loại biến trở điều chỉnh thay đổi chậm, trong giới hạn biến đổi của nó thì tỉ lệchia hay giá trị R1, R2 thay đổi rất chậm và phải xoay ốc điều chỉnh rất nhiều vòngthì giá trị mới biến đổi hết trong khoảng giới hạn Dòng qua nó rất nhỏ do vậy nóchỉ dung để làm cầu phân áp hoặc lấy một giá trị điện trở một cách chính xác
- Biến trở quay :
Cũng là biến trở nhưng giá trị điện trở của nó thay đổi theo góc quay, góc quay của
nó có thể quay góc rất lớn ( nhiều vòng ) và giá trị biến đổi tỉ lệ với góc quay.Khác với các loại biến trở trên thì loại biến trở này thường dung như một cảm biến
đo góc quay thay cho encorder
CHƯƠNG II: MẠCH KHUẾCH ĐẠI TÍN HIỆU
Trang 121.Giới thiệu về mạch khuếch đại
Mạch khuếch đại được sử dụng trong hầu hết các thiết bị điện tử, như mạch khuếch đại âm tần trong Cassete, Âmply, Khuếch đại tín hiệu video trong Tivi mầuv.v
Có ba loại mạch khuyếch đại chính là :
* Khuyếch đại về điện áp : Là mạch khi ta đưa một tín hiệu có biên độ nhỏ vào, đầu ra ta sẽ thu được một tín hiệu có biên độ lớn hơn nhiều lần
* Mạch khuyếch đại về dòng điện : Là mạch khi ta đưa một tín hiệu có cường độ yếu vào, đầu ra ta sẽ thu được một tín hiệu cho cường độ dũng điện mạnh hơn nhiều lần
* Mạch khuyếch đại công suất : Là mạch khi ta đưa một tín hiệu có công suất yếu vào , đầu ra ta thu được tín hiệu có công suất mạnh hơn nhiều lần, thực ra mạch khuyếch đại công suất là kết hợp cả hai mạch khuyếch đại điện áp và
khuyếch đại dòng điện làm một
2
Các chế độ hoạt động của mạch khuyếch đại
Các chế độ hoạt động của mạch khuyếch đại phụ thuộc vào chế độ phân cực choTransistor, tuỳ theo mục đích sử dụng mà mạch khuyếch đại được phân cực để KĐ
Trang 13* Để Transistor hoạt động ở chế độ A, ta phải định thiên sao cho điện áp UCE ~60% ÷ 70% Vcc.
2.2 Mạch khuyếch đại ở chế độ B
Trong các mạch khuếch đại Lớp B, sẽ có 2 linh kiện đầu ra (hoặc 2 bộ linhkiện), mỗi linh kiện sẽ lần lượt dẫn trong đúng 180 độ của tín hiệu vào (hay đúngnửa chu kỳ)
Mạch khuyếch đại ở chế độ B chỉ khuyếch đại một bán chu kỳ của tín hiệu ngừ vào
2.3: Mạch khuyếch đại kết hợp chế độ A và B
Lớp AB được phối hợp giữa 2 Lớp A và Lớp B, làm tăng cường độ tuyến tínhcủa các tín hiệu nhỏ, sẽ có góc dẫn lớn hơn 180 độ tùy thuộc vào sự lưa chọn củanhà thiết kế
Mạch khuyếch đại công suất Âmply có : Q1 khuyếch đại ở chế độ A, Q2 vàQ3 khuyếch đại ở chế độ B, Q2 khuyếch đại cho bán chu kỳ dương, Q3 kuyếch đạicho bán chu kỳ âm
Trang 142.4: Mạch khuyếch đại ở chế độ C
Là mạch khuyếch đại có điện áp UBE được phân cự ngược với mục đích chỉ lấy tín hiệu đầu ra là một phần đỉnh của tín hiệu đầu vào, mạch này thường sử dụng trong các mạch tách tín hiệu : Thí dụ mạch tách xung đồng bộ trong ti vi mầu
Ứng dụng mạch khuyếch đại chế độ C trong mạch tách xung đồng bộ Ti vi mầu.
CHƯƠNG III: CÁC VẤN ĐỀ VỀ VI ĐIỀU KHIỂN PIC 16F877A
1 Giới thiệu chung về PIC
PIC là chữ viết tắt của từ Programable Intelligent Computer có thể dịch làmáy tính thông minh khả trình do hãng Genenral Instrument đặt tên cho vi điềukhiển đầu tiên của họ PIC 1650 được thiết kế dùng làm các thiết bị ngoại vi cho vi
Trang 15điều khiển CP1600 Vi điều khiển sau đó được nghiên cứu và phát triển thêm và từ
đó hình thành nên dòng vi điều khiển PIC như ngày nay
2 VI ĐIỀU KHIỂN PIC 16F877A.
I.1 Sơ đồ chân vi điều khiển PIC 16F877A.
I.2 Một và thông số của vi điều khiển PIC 16F877A.
Đây là vi điều khiển thuộc họ PIC 16Fxxx với tập lệnh gồm có 35 lệnh có độdài 14 bit.Mỗi một lệnh đều được thực thi trong một chu kì xung clock Tốc độhoạt động tối đa cho phép là 20MHz với một chu kì lệnh là 200ms Bộ nhớ chươngtrình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM vớidung lượng 256x8 byte Số PORT I/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:
* TimerO:Bộ đếm 8 bít với bộ chia tần số 8 bit
* Timer1 :Bộ đếm 16 bít 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 bít 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,SPI và I2C
Trang 16* Các chuẩn giao tiếp song song PSP với các chân vi điều khiển RD,WR,CS ở bênngoài.
Các đặc tính Analog
* 8 kênh chuyển đổi ADC 10bit
* Hai bộ so sánh
Bên cạch đó là một vài đặc tính khác của vi điều khiển:
* Bộ nhớ flash với khả năng gi xoá đuợc 100000 lần
* Bộ nhớ EEPROM với khả năng gi xoá được 1000000 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 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 dao động khác nhau
I.3 Sơ đồ khối vi điều khiển PIC 16F877A
Trang 17I.4 Tổ chức bộ nhớ vi điều khiển PIC 16D877A
Trang 18Cấu trúc bộ nhớ của vi điều khiển PIC16F887A bao gồm bộ nhớ chươngtrình(Programmemory) và bộ nhớ dữ liệu (Data Memory).
I.4.1 Bộ nhớ chương trình PIC 16F877A
Bộ nhớ chương trình của vi điều khiển là bộ nhớ flash,dung lượng bộ nhớ8Kword (1word = 14 bit)
Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 =8192 lệnh Để mã hoá được địa chỉ 8Kword bộ nhớ chương trình ,bộ đếm chương trình có dung lượng 13bit
Khi được vi điều khiển được reset,bộ đếm chương trình sẽ chỉ đến địa chỉ0000h.Khi có ngắt xảy ra,bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h
Bộ nhớ chương trình không bao gồm bộ nhơ stack và không được địa chỉ hoá bởi
bộ đếm chương trình
I.4.2 Bộ nhớ dữ liệu
Trang 19Là bộ nhớ EEPROM đươc chia ra làm nhiều bank.Đối với PIC16F877A đượcchia ra làm 4 bank,mỗi bank có dung lượng 128byte,bao gồm các thanh ghi cóchức năng đặc biệt SFG nằm ở các vùng có địa chỉ thấp và các thanh ghi mục đíchchung GPR nằm ở vị trí còn lại trong bank.Các thanh ghi SFR thường đượ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…
Trang 202.4.1 Thanh ghi chức năng
Đây là thanh ghi sử dụng bởi CPU hoặc được dùng để thiết lập và điều khiển cáckhối các khối chức năng được tích hợp bên trong vi điều khiển.Có thể phân thanhghi SFG thành hai loại:
+Thanh ghi SFR lien quan đến các chức năng bên trong CPU
+Thanh ghi SRF dùng để thiết lập và điều khiển các khối chức năng bên ngoài
Thanh ghi STATUS (03h,83h,103h,183h): Thanh ghi chứa kết quả của phép toán
của khối ALU,trạng thái reset và các bit chon bank cần truy xuất trong bộ nhớ dữliệu
Thanh ghi OPTION_REG (81h,181h):Thanh ghi này cho phép đọc và ghi,cho
phép điều khiển chức năng pull_up của các chân trong PORTB,xác lập các tham
số về xung tác động ,cạnh tác động của ngắt ngoại vi và bộ đếm Timer0
Thanh ghi INTCON (0Bh, 8Bh, 10Bh, 18Bh):thanh ghi cho phép đọc và ghi,
chứa các bit điều khiển và các bít cờ hiệu khi Timer0 bị tràn, ngắt ngoại viRB0/INT và ngắt interrput-on-change tại các chân của PORTB
Thanh ghi PIE1( 8Ch): chứa các bít điều khiển chi tiết các ngắt của các khối chức
năng ngoại vi
Thanh ghi PIR1( 0Ch ) : chứa các cờ ngắt của các khối chức năng ngoại vi, các
ngắt này được cho phép bởi các bít điều khiển chứa trong thanh ghi PIE1
Thanh ghi PIE2 ( 8Dh ) : chứa các bít điều khiển các ngắt của các khối chức năng
CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM
Trang 21Thanh ghi PIR2 ( 0Dh): chứa các cờ ngắt của các khối chức năng ngoại vi, các
ngắt này được cho phép bởi các bít điều khiển chứa trong thanh ghi PIE2
Thanh ghi PCON ( 8Eh ) : chứa các cờ hiệu cho biết trạng thái các chế độ reset
của vi điều khiển
2.4.2 Thanh ghi mục đích chung GPR
Các thanh ghi này có thể được truy xuất trực tiếp,gián tiếp thông qua thanh ghiFSG.Đây là thanh ghi dữ liệu thông thường,người sử dụng có thể tuỳ theo mụcđích chương trình mà có thể sử dụng thanh ghi này để chứa các biến số hằng số vàcác tham số phục vụ cho chương trình
2.5 Các cổng suất nhập của vi điều khiển 16F877A
Cổng xuất nhập (I/O port) là phương tiện mà vi điều khiển dùng để giao tiếp vớibên ngoài.Một cổng xuất nhập dữ liệu bao gồm nhiều chân tuỳ theo (I/O pin),tuỳ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ốchân trong mỗi cổng có thể khác nhau,một số chân xuất nhập còn có thêm chứcnăng khác Chức năng của từng chân xuất nhập trong mỗi cổng hoàn toàn có thểđược xác lập và điều khiển được thông qua thanh ghi SFR liên quan đến chân xuấtnhập đó
Vi điều khiển PIC16F877A có 5 cổng xuất nhập bao gồm:
PORTA,PORTB,PORTC,PORTD và PORTE
2.5.1 PORTA
Bao gồm 6 (I/O pin),đây là các chân 2 chiều nghĩa là có thể xuất và nhậpđược.Chưc năng của I/O này được điều khiển bởi thanh ghi TRISA (85h).Muốnxác lập chức năng của một chân trong PORTA là input ta “set” bit điều khiểntương ứng với chân đó trong thanh ghi TRISA và ngược lại.Thao tác này hoàn toàntương tự đối với các PORT và các thanh ghi diều khiển tương ứng TRIS Bên cạnh
đó PORTA còn là ngõ vào củaADC,bộ so sánh,analog ngõ vào xung clock củaTim:er0 và ngõ vào của bộ giao tiếp MSSP
PORTA (địa chỉ 05h): Chứa các 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
Trang 22CVRCON (đị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
2.5.2 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 đó có một số chân của PORTB còn được sử dụng trong quá trìnhnạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liênquan đến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chức năng điệntrở kéo lên được điều khiển bởi chương trình
Các thanh ghi SCR liên quan đến PORTB bao gồm:
PORTB ( địa chỉ 06h, 106 ): 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
2.5.3 PORTC
PORTC ( PRC ) 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
2.5.4 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 SlavePort )
Các thanh ghi liên quan đến PORTB bao gồm :
Thanh ghi PORTD : chứa các giá trị 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 PSPL
Trang 232.5.5 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ácchân điều khiển của chuẩn giao tiếp PSP
Các thanh ghi liên quan đến PORTE bao gồm :
PORTE : Chứa các chân trong PORTE
TRISE : Điều khiển xuất nhập tương ứng và xác lập các thông số cho chuẩn giaotiếp PSP
ADCON1: Thanh ghi điều khiển khối ADC
2.6 Các bộ Timer của vi điều khiển PIC 16F877A
2.6.1 TIMER 0
Đây là một trong ba bộ đếm hoặc bộ định thời của PIC16F877A.Timer0 là bộ đếm8bit được kết nối với bộ chia tần số 8bit.Cấu trúc của Timer0 cho phép ta lựa chonxung clock tác động và cạnh tính cực của xung clock.Ngắt Timer0 sẽ xuất hiện khiTimer0 bị tràn.Bit TMR0IE là bit điều khiển Timer0.TMR0IE=1 cho phép ngắtTimer0 tác động,TMR0IE=0 không cho phép ngắt Timer0 tác động
Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC,khi đó thanh ghi TMR0
sẽ tăng theo từng chu kì xung đồng bộ,khi gía trị thanh ghi TMR0 từ FFh trở về00h,ngắt Timer0 xuất hiện một cách linh động
Muốn Timer0 hoạt động ở chế độ counter ta set bit TOSC,khi đó xung tác động lên
bộ đếm được lấy từ chân RA4/TOCK1.bit TOSE cho phép lựa chọn cạnh tác độngvào bột đếm.Cạnh tác động sẽ là cạnh lên nếu TOSE=0 và cạnh tác động sẽ là cạnhxuống nếu TOSE=1
Khi thanh ghi TMR0 bi tràn ,bit TMR0IE sẽ được set.Đây chính là cờ ngắt củaTimer.Ngắt Timer0 không thể đánh thức vi điều khiển từ chế độ sleep
Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:
*TMR0( địa chỉ 01h,101h):chứa giá trị đếm của Timer0
*INTCON(địa chỉ 0Bh,8Bh,10Bh,18Bh): Cho phép ngắt hoạt động(GIE và PEIE)
*OPTION_REG( địa chỉ 81h,181h):điều khiển prescaler
Sơ đồ khối của Timer 0 :
Trang 242.6.2 TIMER1
Là bộ định thời 16 bit giá trị của Timer1 sẽ được lưu trong hai thanh ghi(TMR1H,TMR1L).Cờ ngắt của Timer1 là bit TMR1IF,bit điều khiển làTMR1IE.Có hai chế độ hoặt động chế độ định thời (Timer)và chế độ đếm(counter) với xung kích phản ánh các sự kiện cần đếm lấy từ bên ngoài
Sơ đồ khối của Timer1
Trang 25Ngoài ra Timer1 còn có chưc năng reset input bên trong được điều khiển bởi mộttrong khối CCP.Timer1 có hai chế độ đếm là đồng bộ và bất đồng bộ chế độ đếmđược quyết định bởi bit điều khiển T1SYNC
Khi T1SYNC =1 xung đếm lấy từ bên ngoài sẽ không được đồng bộ hoá với xungclock bên trong,Timer1 sẽ tiếp tục quá trình đếm khi vi điều khiển đang ở chế độsleep và ngắt do Timer1 tạo ra khi bi tràn có khả năng “đánh thức” vi điều khiển.Ởchế độ đếm bất đồng bộ Timer1 không thể được sử dụng đẻ làm nguồn xung clockcho khối CCP
Khi T1SYNC=0 xung đếm vào Timer1 sẽ đông bộ hoá với clock bên trong.ở chế
độ này Timer1 sẽ hoặt động khi vi điều khiển đang ở chế độ sleep.Các thanh ghiliên quan đến Timer1
*INTCON(địa chỉ 0Bh,8Bh,10Bh,18Bh): Cho phép ngắt hoặt động (GIE và PEIE)
*PIR1 ( địa chỉ 0Ch): Chứa cờ ngắt Timer1(TMR1IF)
*PIE1(địa chỉ 8Ch):Cho phép ngắt Timer1(TMR1IE)
*TMR1L(địa chỉ 0Eh):Chứa giá trị 8 bit thấp của bộ đếm Timer1
*T1CON(địa chỉ 10h):Xác lập các thông số cho Timer1
2.6.3 TIMER2
Timer2 Là bộ định thời 8bit được hỗ trợ bởi hai bộ chia tần số prescaler vàpostscaler.Thanh ghi chứa giá trị đếm của Timer2 là TMR2,bit cho phép ngắtTimer2 tắc động là TMR2ON,Cờ ngắt là bit TMR2IF.Xung ngõ vào được đua qua
Trang 26bộ chia tần số prescaler 4 bit(với các tỉ số 1:1,1:4 hoặc 1:6 được điều khiển bởiT2CKPS1:T2CKPS0).
Sơ đồ khối của Timer2
Ngõ ra của Timer2 còn được kết nối với khối SSP,do đó Timer2 còn đòng vaitrò tạo ra xung clock đồng bộ cho khối giao tiếp SSP
Các thanh ghi liên quan đến Timer2 bao gồm:
*INTCON(địa chỉ 0Bh,8Bh,10Bh,18Bh) cho phép toàn bộ ngắt(GIE VÀ PEIE)
*TMR2(địa chỉ 11h: chứa giá trị đếm của Timer2)
*T2CON(địa chỉ12h):xác lập các thông số cho Timer2
*PR2(địa chỉ 92h) thanh ghi hõ trợ cho Timer2
*PIR1(địa chỉ 0Ch)chứa cờ ngắt (TMR2IF)
*PIE1(địa chỉ 8Ch)chứa bít điều khiển Timer2(TMR2IE)
2.7 ADC.
ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạngtương tự và số PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệuđiện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩnđược xác lập trên hai chân RA2 và RA3 Kết quả chuyển đổi từ tín tiệu tương tựsang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghiADRESH:ADRESL Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này cóthể được sử dụng như các thanh ghi thông thường khác Khi quá trình chuyển đổihoàn tất, kết quả sẽ được lưu vào hai thanh ghi ADRESH và ADRESL, bit
(ADCON<2>) được xóa về không và cờ ngắt AIDF được set
Trang 27Quá trình chuyển đổi từ tương tự sang số như sau:
*Thiết lập các thông số cho bộ chuyển đổi ADC:
Chọn ngõ vào analog, chọn điện áp mẫu (dựa trên các thông số của thanh ghiADCON1)
Chọn kênh chuyển đổi AD(thanh ghi ADON0)
Chọn xung clock cho kênh chuyển đổi AD(thanh ghi ADON0)
Cho phép bộ chuyển đổi AD hoạt động(thanh ghi ADCON0)
*Thiết lập các cờ ngắt cho bộ AD
Clear bit ADIF
Set bit ADIE
Set bit PEIE
Set bit GIE
*Đợi tới khi quá trình lấy mẫu hoàn tất
*Bắt đầu quá trình chuyển đổi(set bit GO/DONE )
*Đợi tới khi quá trình chuyển đổi hoàn tất bằng cách:
Kiểm tra bit GO/DONE Nếu GO/DONE = 0, quá trình chuyển đổi đã hoàn tất.Kiểm tra cờ ngắt
*Đọc kết quả chuyển đổi và xóa cờ ngắt, set bit GO/DONE (nếu tiếp tục cấnchuyển đổi)
*Tiếp tục thực hiện các quá trình i, ii cho các chuyển đổi tiếp theo
Trang 28Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm: