Tải bản đầy đủ (.pdf) (42 trang)

thiết kế hệ thống xử lý nước thải bệnh viện đạt tiêu chuẩn việt nam loại a

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (730.75 KB, 42 trang )

LỜI NÓI ĐẦU
Khoa học kỹ thuật ngày càng phát triển mạnh mẽ, kỹ thuật điện tử cũng được chú trọng phát
triển nhiều hơn. Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, đời sống xã hội ngày
càng phát triển dựa trên những ứng dụng của khoa học vào đời sống. Vì vậy mà công nghệ
điện tử mang tính tự động ngày càng được ứng dụng rộng rãi. Sự phát triển của máy tính đã
mở rộng các ứng dụng của vi điều khiển. Các bộ vi điều khiển với đa tính năng đang đựơc
ứng dụng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kỹ thuật và đời sống xã
hội. Hầu hết các thiết bị được điều khiển tự động, từ các thiết bị văn phòng cho đến các thiết
bị trong gia đình đều dùng các bộ vi điều khiển nhằm đem lại sự tiện nghi cho con người
trong thời đại công nghiệp hoá, hiện đại hoá. Vì vậy việc ghép nối giữa máy tính và vi điều
khiển ngày càng trở lên quan trọng.
Để ứng dụng môn Ghép nối máy tính và giao diện vào thực tế, sau một thời gian
nghiên cứu học tập dưới sự giảng dạy của các thầy cô giáo trong khoa về kiến thức chuyên
ngành, đồng thời cùng với sự giúp đỡ nhiệt tình của thầy Phạm Ngọc Hưng, chúng em đã
tiến hành thiết kế và hoàn thành đề tài: “Mạch điều khiển các thiết bị trong nhà”.
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ệm của chúng
em còn hạn chế nên không thể tránh khỏi những sai xót. Chúng em rất mong nhận được sự
giúp đỡ và đóng góp ý kiến của thầy cô cùng các bạn để đồ án được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Hưng Yên, tháng 12 năm 2008
Nhóm sinh viên thực hiện: 1. Trần Thị Hạt
2. Nguyễn Thị Thắm
3. Bùi Quyết Thắng
4. Phạm Thị Xoa
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN






















Hưng Yên,tháng 12 năm 2008
Giáo viên hướng dẫn


GVHD:Phạm Ngọc Hưng
2
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
MỤC LỤC
Phần I: Lý thuyết tổng quan 5
I.Tổng quan về VĐK PIC16F876A 5
1. Giới thiệu họ vi điều khiển PIC 5
2. Vi điều khiển PIC 16F876A 5

II.Giao tiếp cổng nối tiếp 19
1. Cấu trúc cổng nối tiếp 19
2. Truyền thông giữa hai nút 22
3. Truy xuất trực tiếp thông qua cổng 24
Phần II. Thiết kế phần cứng 28
I.Sơ đồ khối và chức năng các khối 28
1. Sơ đồ khối 28
2. Chức năng các khối 28
II.Sơ đồ nguyên lý 31
Kết luận 32
GVHD:Phạm Ngọc Hưng
3
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Ý TƯỞNG THIẾT KẾ
Thiết kế hệ thống điều khiển các thiết bị trong nhà(quạt, máy bơm nước, tivi, đèn)
dùng vi điều khiển thông qua máy vi tính. Hệ thống bao gồm: Khối nguồn, khối xử lý trung
tâm dùng PIC16F876A, khối điều khiển, khối hiển thị và cuối cùng là khối truyền thông. Khi
tác động vào các nút ON hoặc OFF trên khối điều khiển thì tương ứng với nó là việc cấp
hoặc ngắt nguồn cho các thiết bị sử dụng. Khi tín hiệu được truyền đi, sau một thời gian cảm
biến sẽ nhận tác động và báo lại cho máy tính biết là vi điều khiển đã nhận được thông tin
hay chưa. Nếu chưa nhận được máy tính sẽ truyền lại thông tin đó lần nữa, khi nào vi điều
khiển nhận được mới thôi.
Quy trình thực hiện ý tưởng
Bước 1:
Nghiên cứu & khảo sát PIC16F876A, tạo giao diện trên Visuabasic 6.0.
Bước 2:
Sau khi đã nghiên cứu và khảo sát xong chúng ta bắt đầu thực hiện xây dựng mạch
theo đúng nhiệm vụ của đề tài. Xây dựng các khối: Khối nguồn, khối xử lý trung tâm dùng
PIC16F876A, khối điều khiển, khối hiển thị và cuối cùng là khối truyền thông. Việc truyền

và nhận dữ liệu từ máy tính và vi điều khiển như thế nào chính là vấn đề mà chúng ta cần
quan tâm.
Bước 3:
Vẽ mạch thực hiện thiết kế mạch in (board) mục đích bố trí linh kiện hợp lý từ sơ đồ trải (sơ
đồ nguyên lý ) mục đích giảm kích thước mô hình, đề tài được thực hiện trên phần mềm
Eagle. Từ các bước trên ta có thể bắt đầu tiến hành thực hiện viết thuyết minh và thực hiện ý
tưởng.
GVHD:Phạm Ngọc Hưng
4
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
PHẦN I: LÝ THUYẾT TỔNG QUAN
I. TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
1. Giới thiệu họ vi điều khiển PIC
PIC là viết tắt của” Programable Intelligent Computer”, tạm dịch là “ máy tính thông
minh khả trình” của hãng Microchip. Hiện tại ở Việt Nam và trên thế giới sử dụng PIC khá
rộng rãi. Các tính năng đa dạng họ vi điều khiển PIC cũng như các công cụ hỗ trợ lập trình
cho họ vi điều khiển PIC không ngừng được cải tiến và phát triển đã tạo ra những ứng dụng
vượt trội của PIC so với các họ vi điều khiển khác.
Các kí hiệu của họ vi điều khiển PIC:
PIC 12xxxx: độ dài lệnh 12 bit
PIC 16xxxx: độ dài lệnh 14 bit
PIC 18xxxx: độ dài lệnh 16 bit
C: PIC có bộ nhớ EPROM ( chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ Flash
LF: PUC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF
Bên cạnh đó có một số vi điều khiển có kí hiệu 16Fxxx là EEPROM, nếu có thêm chữ
A ở cuối là flash (ví dụ 16F877 là EEPROM, 16F877A là flash). Ngoài ra còn có thêm một
dòng vi điều khiển PIC mới là dsPIC. Ở Việt Nam phổ biến nhất là các họ Vi điều khiển PIC

do hãng Microchip sản xuất.
2. Vi điều khiển PIC 16F876A
2.1. Mô tả cấu trúc
PIC 16F876A thuộc họ 16F87x sử dụng công nghệ tích hợp cao RISC CPU, có thể
lập trình với 35 câu lệnh đơn giản. Tất cả các câu lệnh thực hiện trong 1 chu kì lệnh ngoại trừ
một số câu lệnh rẽ nhánh thực hiện trong 2 chu kì lệnh. Tốc độ hoạt động xung đồng hồ vào
GVHD:Phạm Ngọc Hưng
5
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
là DC-20MHz với chu kì lệnh thực hiện trong 200ns. Bộ nhớ chương trình Flash 8Kx14
words. Bộ nhớ Ram là 368x8 bytes, bộ nhớ dữ liệu EFPROM 256x8 bytes.
Khả năng của bộ vi xử lí này :
+ Khả năng ngắt (lên tới 14 nguồn ngắt trong và ngắt ngoài)
+ Ngăn nhớ Stack được phân chia làm 8 mức
+ Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp.
+ Nguồn khởi động lại (POR).
+ Bộ tạo xung thời gian (PWRT) và bộ tạo dao động (OST)
+ Bộ đếm xung thời gian (WDT) với nguồn dao động trên chip (nguồn dao động RC)
hoạt động đáng tin cậy.
+ Có mã chương trình bảo vệ. Có bảng lựa chọn dao động
+ Phương thức cất giữ SLEEP.
+ Công nghệ CMOS FLASH/EEPROM nguồn mức thấp, tốc độ cao.
+ Thiết kế hoàn toàn tĩnh. Mạch chương trình nối tiếp có hai chân.
+ Xử lý đọc/ghi tới bộ nhớ chương trình.
+ Dải điện thế hoạt động rộng: 2.0V ÷ 5.5V. Nguồn sử dụng hiện tại 25mA.
+ Dãy nhiệt độ công nghiệp và thuận lợi.
+ Công suất tiêu thụ thấp: < 0.6mA với 5V, 4MHz
20µA với 3V, 32 kHz
< 1µA nguồn dự phòng.

Các đặc tính nổi bật của thiết bị ngoại vi trên chip:
+ Timer0: 8 bít của bộ định thời, bộ đếm với hệ số tỷ lệ trước
+ Timer1:16 bít của bộ định thời, bộ đếm với hệ số tỷ lệ trước, có khả năng tăng trong
khi ở chế độ Sleep qua xung đồng hồ được cung cấp bên ngoài.
+ Timer2: 8 bít của bộ định thời, bộ đếm với 8 bít của hệ số tỷ lệ trước, hệ số tỷ lệ
sau.
+ Có 2 chế độ bắt giữ, so sánh, điều chế độ rộng xung (PWM)
GVHD:Phạm Ngọc Hưng
6
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
+ Chế độ bắt giữ 16 bít, tốc độ 12,5 ns, chế độ so sánh với 16 bít, tốc độ giải quyết
cực đại là 200ns, chế độ điều chế độ rộng xung với 10 bít.
+ Bộ chuyển đổi tín hiệu số sang tương tự với 10 bít.
+ Cổng truyền thông nối tiếp SSP với SPI phương thức chủ và I
2
C(chủ/phụ)
+ Bộ truyền nhận thông tin đồng bộ, dị bộ(USART/SCL) có khả năng phát hiện 9 bít
địa chỉ.
+ Cổng phụ song song (PSP) với 8 bít mở rộng, với RD, WR, và CS điều khiển.
Sơ đồ các chân của PIC 16F876:
2.2. Sự tổ chức bộ nhớ PIC 16F876A
PIC 16F87A có 3 khối bộ nhớ: bộ nhớ chương trình FLASH, bộ nhớ dữ liệu RAM, bộ
nhớ EEPROM.
a) Tổ chức bộ nhớ chương trình FLASH và Stack nhớ
PIC 16F876 có một bộ đếm chương trình 13 bít và có 8Kx14 từ mã của bộ nhớ
chương trình FLASH, được chia thành 4 trang mỗi trang 2Kx14 từ mã.
Khi Reset địa chỉ bắt đầu thực hiện chạy là 0000h, vectơ ngắt bắt đầu 0004h. Stack có
8 mức dùng để lưu địa chỉ lệnh thực hiện tiếp theo sau lệnh CALL và khi xảy ra ngắt.
Bản đồ bộ nhớ chương trình và các ngăn xếp:

GVHD:Phạm Ngọc Hưng
7
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Sơ đồ khối chức năng của PIC 16F876:
GVHD:Phạm Ngọc Hưng
8
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
b) Tổ chức bộ nhớ dữ liệu RAM
RAM là bộ nhớ có thể đọc và ghi, nó không lưu dữ liệu khi mất điện, bộ nhớ RAM
của PIC 16F876A có 4 bank, mỗi bank có dải địa chỉ 0-7FH(128 byte) trên các bank những
thanh ghi đa mục đích, hoạt động như một RAM tĩnh (General purpose register), và những
thanh ghi chức năng đặc biệt (Special function registers) ở vùng địa chỉ thấp. Bít RP1(Status
<6>) và bit RP0(Status <5>) dùng để lựa chọn bank làm việc.
GVHD:Phạm Ngọc Hưng
9
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
 Các thanh ghi đa mục đích (General purpose register): các thanh ghi này được truy
cập bằng cả hai cách trực tiếp hoặc gián tiếp qua thanh ghi FSR, tổng cộng có 368
byte.
 Các thanh ghi chức năng đặc biệt: các thanh ghi này được dùng bởi CPU và các khối
ngoại vi để điều khiển sự hoạt động theo yêu cầu của thiết bị.
Sau đây là một số thanh ghi đặc biệt quan trọng:
 Các thanh ghi trạng thái STATUS: có 4 thanh ghi trạng thái trên 4 dãy, tại các địa chỉ
03h, 83h, 103h, 183h. Các thanh ghi này cho biết trạng thái của phần tử logic toán học
ALU, trạng thái Reset, trạng thái của các bít lựa chọn dãy thanh ghi cho bộ nhớ dữ
liệu
 Các thanh ghi lựa chọn OPTION_REG: có 2 thanh ghi lựa chọn tại các địa chỉ 81h và

181h, các thanh ghi này có thể đọc hoặc ghi, nó chứa đựng nhiều bit điều khiển khác
nhau để xác định hệ số định trước TMR0/hệ số định sau WDT, ngắt ngoài INT,
TMR0, các điện áp treo trên cổng B
 Các thanh ghi INTCON: có 4 thanh ghi INTCON tại các địa chỉ 0Bh, 8Bh, 10Bh,
18Bh. Các thanh ghi này có thể đọc và ghi, chứa đựng nhiều sự cho phép và các bit cờ
cho việc tràn thanh ghi TMR0, các ngắt thay đổi cổng RB và chân các ngắt ngoài
RB0/INT.
 Thanh ghi PIE1: Tại địa chỉ 8Ch, chứa đựng các bit cho phép riêng lẻ cho các ngắt
ngoại vi.
 Thanh ghi PIR1: Tại địa chỉ 0Ch, chứa đựng các bit cờ riêng lẻ cho các ngắt ngoại vi.
 Thanh ghi PIE2: Tại các địa chỉ 8Dh, chứa đựng các bit cho phép riêng lẻ cho các
ngắt ngoại vi CCP2, ngắt xung đột tuyến SSP và EEPROM ghi các hoạt động ngắt
 Thanh ghi PCON (Power Control): Chứa bit cờ cho phép phân biệt giữa việc Reset hệ
thống để Reset MCLR ngoại với Reset WDT
 PCL và PCLATH: Chương trình đếm chỉ rõ địa chỉ của lệnh tiếp theo được thực hiện.
PC có độ rộng 13 bit, byte thấp được gọi là thanh ghi PCL (có thể đọc hoặc ghi), byte
cao được gọi là thanh ghi PCH .
GVHD:Phạm Ngọc Hưng
10
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
c) Các trang bộ nhớ chương trình
PIC16F876A có 8Kx14 PLASH các lệnh CALL, GOTO chỉ cung cấp 11 bit địa chỉ
cho phép rẽ nhánh được 2K của một trang bộ nhớ chương trình, 2 bit cao được cung cấp
bởi 2 bit 3,4 của PCLATH <4:3> do vậy tuỳ việc thiết lập các bit 3,4 của PCLATH trước
khi lệnh CALL, GOTO thực hiện cho phép rẽ nhánh tới các trang bộ nhớ khác nhau
Chú ý các lệnh RETURN, RETFIE không làm thay đổi PCLATH
2.3. Các cổng vào/ra
PIC16F876A có 3 cổng vào/ra là Port A, Port B, Port C. Một số chân của cổng vào/ra
được tích hợp với một số hàm có thể thay đổi để phù hợp với những thiết bị ngoại vi.

a) Cổng A và thanh ghi TRISA
Cổng A là cổng hai chiều với độ rộng đường truyền là 6 bit. Để điều khiển việc truy
xuất dữ liệu người ta dùng thanh ghi TRISA. Nếu đặt bit TRISA = 1 thì cổng A sẽ tương ứng
có các chân là chân vào. Nếu xoá bít TRISA = 0 thì cổng A sẽ tương ứng có các chân là chân
ra. Việc đọc cổng A chính là đọc trạng thái của các chân, việc viết phải qua các chốt của
cổng. Các chân của cổng A chủ yếu sử dụng nhận tín hiệu tương tự hoặc các chân vào/ra.
Riêng chân RA4 có thể đa hợp với chân vào bộ Timer 0 và khi đó nó trở thành chân
RA4/T0CKI. Chân này như một đầu vào của Trigger Schmitt và nó mở đầu ra. Các chân
khác của cổng A là chân vào bộ TTL. Việc điều khiển các chân này thông qua việc đặt hay
xoá các bít của thanh ghi ADCON1. Thanh ghi TRISA điều khiển trực tiếp các chân của
cổng A, khi sử dụng các chân này để nhận tín hiệu tương tự vào ta phải chắc chắn rằng các
bít của thanh ghi TRISA đã được đặt rồi.
Sơ đồ khối chân RA3:RA0, chân RA5, và chân RA4/TOCK1 của cổng A
GVHD:Phạm Ngọc Hưng
11
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
b) Cổng B và thanh ghi TRISB
Cổng B là cổng hai chiều với độ rộng đường truyền là 8 bit. Tương ứng với nó để
điều khiển trực tiếp dữ liệu ta sử dụng thanh ghi TRISB. Nếu đặt bít TRISB = 1 thì cổng B
được định nghĩa là chân vào. Nếu xoá bít TRISB = 0 thì cổng B được định nghĩa là chân ra.
Nội dung của chốt ra có thể chọn trên mỗi chân.
Có 3 chân của cổng B có thể đa hợp với các chương trình vận hành bằng điện áp thấp.
Đó là các chân sau: RB3/PGM, RB6/PGC, RB7/PGD. Sự thay đổi hoạt động của những chân
này được miêu tả ở trong phần đặc tính nổi bật. Mỗi chân của cổng B có khả năng dừng bên
trong nhưng yếu. Điều này được trình bày bởi việc xoá bit RBPU (bit 7 của thanh ghi
OPTION_REG). Khả năng dừng này sẽ tự động tắt đi khi các chân của cổng được định nghĩa
là chân ra. Khả năng dừng này sẽ tự động mất đi khi ta RESET. Bốn chân của cổng B, từ
RB7÷ RB4 có đặc tính là ngắt khi thay đổi trạng thái. Chỉ những chân được định dạng là
những chân vào thì ngắt này mới tồn tại. Một vài chân RB7:RB4 được định dạng như chân ra

nó thi hành ngắt trên sự thay đổi so sánh. Chân vào RB7:RB4 được so sánh với giá trị cũ của
chốt ở lần đọc cuối cùng của cổng B. Sự ghép đôi không khớp chân ra của RB7:RB4 bằng
GVHD:Phạm Ngọc Hưng
12
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
lệnh OR làm phát ra ngắt với cờ bit RBIF của thanh ghi INTCON. Ngắt này có thể khởi
động thiết bị từ trạng thái SLEEP.
Sơ đồ khối của chân RB3÷RB0, và chân RB7÷RB4 của cổng B:
c) Cổng C và thanh ghi TRISC
Cổng C là cổng 2 chiều với độ rộng đường truyền là 8 bit. Tương ứng với việc điều
khiển nó là thanh ghi TRISC. Nếu đặt bit TRISC=1 thì tương ứng với chân của cổng C là
chân vào. Nếu xoá bit TRISC=0 thì tương ứng với chân của cổng C là chân ra. Đặt nội dung
của chốt ra có thể đặt trên chân chọn. Cổng C đa hợp với việc vận hành thiết bị ngoại vi.
Chân của cổng C thông qua bộ đệm Trigger Schmitt đầu vào.
Khi chế độ I
2
C hoạt động, thì các chân cổng PORTC (4:3) có thể được sắp xếp với
mức I
2
C thường hoặc với mức SMBUS bằng cách sử dụng bit CKE (SSPSTART<6>) là bit
6 của thanh ghi SSPSTART.
Khi vận hành các thiết bị ngoại vi bằng việc xác định bit TRIS của mỗi chân cổng C.
Một số phần phụ có thể ghi đè lên bit TRISC làm cho chân này trở thành chân ra, trong khi
đó thì một số phần phụ khác lại ghi đè lên bit TRIS làm cho nó trở thành chân vào. Từ khi
những bit TRIS ghi đè thì trong việc tác động trong các thiết bị ngoại vi là có thể, những lệnh
đọc-sửa–ghi (BSF, BCF, XORWF) với thanh ghi TRISC như là nơi gửi tới sẽ được tránh.
GVHD:Phạm Ngọc Hưng
13
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện

Khoa Điện-Điện tử
Người sử dụng nên đề cập tới việc phân chia kết nối các thiết bị ngoại vi cho việc set chính
xác các bit TRIS
Sơ đồ khối chân RC <0:2> RC <5:7> và chân RC <3:4>của cổng C
2.4. Các bộ Timer của chip
Bộ vi điều khiển PIC 16F876 có 3 bộ Timer đó là: Timer 0, Timer 1, Timer2.
a) Bộ Timer0
Là bộ định thời hoặc bộ đếm có những ưu điểm nổi bật sau:
+ 8 bit cho timer hoặc bộ đếm.
+ Có khả năng đọc và viết.
+ Có thể dùng đồng hồ bên trong hoặc bên ngoài.
+ Có thể chọn cạnh xung của xung đồng hồ.
+ Có hệ số chia cho xung đầu vào có thể lập trình lại bằng phần mềm.
+ Ngắt tràn.
 Hoạt động của bộ Timer0:
GVHD:Phạm Ngọc Hưng
14
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Timer 0 có thể hoạt động như một bộ định thời hoặc một bộ đếm. Viêc chọn bộ định thời
hoặc bộ đếm có thể được xác lập bằng việc xoá hoặc đặt bit TOSC của thanh ghi
OPTION_REG<5>.
Nếu dùng hệ số chia xung đầu vào thì xoá bit PSA của thanh ghi OPTION_REG<3>.
Trong chế độ bộ định thời được lựa chọn bởi việc xoá bit T0CS (OPTION_REG<5>),
nó sẽ được tăng giá trị sau một chu kỳ lệnh nếu không chọn hệ số chia xung đầu vào. Và giá
trị của nó được viết tới thanh ghi TMR0.
Chế độ đếm được lựa chọn bởi việc set bit T0CS (OPTION_REG<5>).
Trong chế độ bộ đếm, nó sẽ được tăng ở xung đi xuống nếu xoá bit T0SE
(OPTION_REG<4>) hoặc ở xung đi lên nếu set bit T0SE. Và giá trị của nó được viết tới
thanh ghi TMR0.

Khi dùng xung clock bên ngoài cho bộ định thời Timer 0 và không dùng hệ số chia
clock đầu vào Timer 0 thì phải đáp ứng các điều kiện cần thiết để có thể hoạt động đó là phải
đảm bảo xung clock bên ngoài có thể đồng bộ với pha xung clock bên trong (T
OSC
).
 Các hệ số chia:
Hệ số chia dùng cho Timer 0 hoặc bộ WDT. Các hệ số này không có khả năng đọc và
khả năng viết. Để chọn hệ số chia xung vào Timer 0 hoặc cho bộ WDT ta tiến hành xoá
hoặc đặt bit PSA của thanh ghi OPTION_REG<3>.
Những bit PS2, PS1, PS0 của thanh ghi OPTION_REG<2:0> dùng để xác lập các hệ
số chia.
 Ngắt của bộ Timer0:
Ngắt của bộ Timer 0 được phát sinh ra khi thanh ghi TMR0 bị tràn tức từ FFh quay về
00h. Khi đó bit T0IF của thanh ghi INTCON<2> sẽ được đặt. Bit này phải được xoá bằng
phần mềm nếu cho phép ngắt bit T0IE của thanh ghi INTCON<5> được set. Timer 0 bị dừng
hoạt động ở chế độ SLEEP ngắt Timer 0 không đánh thức bộ xử lý ở chế độ SLEEP.
* Thanh ghi OPTION_REG
GVHD:Phạm Ngọc Hưng
15
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Bit 5 TOCS lựa chọn nguồn clock
1= Clock ngoài từ chân T0CKI 0= Clock trong Focs/4
Bit 4 T0SE bit lựa chọn sườn xung clock
1= Timer 0 tăng khi chân T0CKI từ cao xuống thấp (sườn xuống)
0= Timer 0 tăng khi chân T0CKI từ thấp lên cao (sườn lên)
Bit 3 PSA bit gán bộ chia xung đầu vào
1= gán bộ chia Prescaler cho WDT
0=gán bộ chia Prescaler cho Timer 0
Bit 2:0 PS2:PS1 lựa chọn hệ số chia xung đầu vào theo bảng sau:

PS2:PS0 Timer 0 WDT
000 1:2 1:1
001 1:4 1:2
010 1:8 1:4
011 1:16 1:8
100 1:32 1:16
101 1:64 1:32
110 1:128 1:64
111 1:256 1:128
b) Bộ Timer1
Bộ Timer1 có thể là bộ đếm hoặc bộ định thời với ưu điểm sau:
+ 16 bit cho bộ đếm hoặc bộ định thời (gồm 2 thanh ghi TMR1H:TMR1L).
+ Có khả năng đọc và viết.
+ Có thể chọn xung đồng hồ bên trong hoặc bên ngoài.
+ Có thể ngắt khi tràn FFFFh về 0000h.
Timer1 có 1 thanh ghi điều khiển, đó là thanh ghi T1C0N. Bộ Timer1 có hoạt động
hay không hoạt động là nhờ việc đặt hoặc xoá bit TMR1ON (T1CON<0>).
 Hoạt động của Timer1:
Nó có thể hoạt động ở một trong các chế độ sau:
GVHD:Phạm Ngọc Hưng
16
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
+ Là một bộ định thời 16 bit.
+ Là một bộ đếm có đồng bộ.
+ Là một bộ đếm không có đồng bộ.
Phương thức hoạt động của bộ này được xác định bởi việc chọn nguồn xung vào
Timer1. Nguồn xung đồng hồ được chọn bởi việc đặt xoá bit TMR1CS (T1CON<1>). Ở chế
độ bộ định thời, đầu vào là clock trong Fosc/4, bit đồng bộ T1SYNC (T1CON<2>) không có
tác dụng vì clock trong luôn đồng bộ. Chế độ bộ đếm hoạt động hai chế độ. Có đồng bộ xung

vào xoá bit T1SYNC (T1CON<2>), không đồng bộ xung vào set bit T1SYNC (T1CON<2>)
Timer1 tăng ở sườn lên xung đầu vào.
Khi bộ dao động Timer1 cho phép hoạt động thì các chân RC1/T1OSI/CCP2,
RC0/T1OSO/T1CKI trở thành chân vào.
Ở chế độ đếm có đồng bộ bộ đếm tăng mỗi khi sườn lên ở chân RC0 hoặc ở chân
RC1 nếu bit T1OSEN xoá và xung vào phải đồng bộ với clock trong, ở chế độ này bộ đếm
không tăng trong trạng thái SLEEP.
Ở chế độ đếm không đồng bộ Timer1 tăng mỗi khi sườn lên ở chân RC0 hoặc ở chân
RC1 nếu bit T1OSCEN xoá, ở chế độ này bộ đếm tiếp tục tăng trong trạng thái SLEEP và có
khả năng tràn gây ra ngắt khi đó bộ xử lý được đánh thức.
 Dao động của Timer1:
Mạch dao động thạch anh được xây dựng giữa 2 chân TiOSI và T1OS0. Khi dao động
được cung cấp ở chế độ công suất thấp thì tần số cực đại của nó sẽ là 200kHz và trong nó ở
chế độ SLEEP nó cung cấp ở tần số 32kHz.
 Ngắt của bộ Timer1:
Cặp thanh ghi TMR1H và TMR1L tăng từ giá trị 0000h đến FFFFh đến giá trị này
tiếp tục tăng thì tràn và quay lại giá trị 0000h. Và ngắt xuất hiện khi tràn quá giá trị FFFFh
khi này cờ ngắt TMR1IF sẽ được đặt. Ngắt có thể hoạt động hoặc không hoạt động nhờ việc
đặt hoặc xoá bit TMR1IE.
* Thanh ghi điều khiển Timer 1 T1CON:
GVHD:Phạm Ngọc Hưng
17
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Bit 7,6 không sử dụng
Bit 5,4 T1CKPS1:T1CKPS0 lựa chọn hệ số chia xung đầu vào
T1CKPS1:T1CKPS0
0 1:1
1 1:2
10 1:4

11 1:8
Bit 3 T1OSEN bit điều khiển bộ dao động Timer1
1= Bộ dao động hoạt động 0= Bộ dao động không hoạt động
Bit 2 Bit điều khiển xung clock ngoài đồng bộ khi TMRCS=1
Bit 2=0 có đồng bộ clock ngoài Bit 2=1 không đồng bộ clock ngoài
Khi TMR1CS=0 bit này không tác dụng
Bit 1 TMR1CS bit lựa chọn nguồn xung clock vào
TMR1CS=1 clock từ chân RC0/T1OSO/T1CKI (sườn lên)
TMR1CS=0 clock trong Fosc/4
Bit 0 Bit bật tắt Timer
1= Timer 1 enable 0= Timer 1 Disable
c) Bộ Timer2
Bộ Timer2 có những đặc tính sau đây:
+ 8 bit cho bộ định thời (thanh ghi TMR2)
+ 8 bit vòng lặp (thanh ghi PR2)
+ Có khả năng đọc và viết ở cả 2 thanh ghi nói trên
+ Có khả năng lập trình bằng phần mềm tỷ lệ trước
+ Có khả năng lập trình bằng phần mềm tỷ lệ sau
Chế độ SSP dùng đầu ra của TMR2 để tạo xung clock. Timer2 có một thanh ghi điều
khiển đó là thanh ghi T2CON.
GVHD:Phạm Ngọc Hưng
18
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Timer2 có thể tắt bằng việc xoá bit TMR2CON của thanh ghi T2CON.
 Hoạt động của bộ Timer2:
Timer 2 được dùng chủ yếu ở phần điều chế xung của bộ CCP, thanh ghi TMR2 có
khả năng đọc và viết, nó có thể xoá bằng việc reset lại thiết bị. Đầu vào của xung có thể chọn
các tỷ lệ sau: 1:1, 1:2 hoặc 1:16 việc chọn các tỷ lệ này có thể điều khiển các bit sau
T2CKPS1 và bit T2CKPS0

 Ngắt của bộ Timer2:
Bộ Timer 2 có 1 thanh ghi 8 bit PR2. Timer 2 tăng từ giá trị 00h cho đến khớp với
PR2 và tiếp theo nó sẽ reset lại giá trị 00h và lệnh kế tiếp thực hiện. Thanh ghi PR2 là một
thanh ghi có khả năng đọc và viết. Thanh ghi PR2 bắt đầu từ giá trị FFh đầu ra của TMR2 là
đường dẫn cổng truyền thông đồng bộ, nó được dùng để phát các xung đồng bộ.
* Thanh ghi T2CON
Bit 7 không sử dụng
Bit 6-3 TOUTPS3:TOUTPS0 bit lựa chọn hệ số đầu ra Timer2
0000 = 1:1
0001 = 1:2
0010 = 1:3

1111 = 1:16
Bit 2 TMR2ON bit bật tắt hoạt động Timer2
1 = Enable
0 = Disable
Bit 1-0 2CKPS1:T2CKPS0 chọn hệ chia đầu vào
00 = 1:1
01 = 1:4
GVHD:Phạm Ngọc Hưng
19
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
1x = 1:16
II. GIAO

TIẾP

CỐNG


NỐI

TIẾP
1. Cấu trúc cổng nối tiếp
Cổng

nối

tiếp

được

sử

dụng

để

truyền

dữ

liệu

hai

chiều

giữa


máy

tính



ngoại

vi,
có các

ưu

điểm

sau:
- Khoảng

cách

truyền

xa

hơn

truyền

song


song.
- Số

dây

kết

nối

ít.
- Có

thể

truyền

không

dây

dùng

hồng

ngoại.
- Có

thể

ghép


nối

với

vi

điều

khiển

hay

PLC

(Programmable

Logic

Device).
- Cho

phép

nối

mạng.
- Có

thể


tháo

lắp

thiết

bị

trong

lúc

máy

tính

đang

làm

việc.
- Có

thể

cung

cấp


nguồn

cho

các

mạch

điện

đơn

giản
Các

thiết

bị

ghép

nối

chia

thành

2

loại:


DTE

(Data

Terminal

Equipment)


DCE (Data

Communication

Equipment).

DCE



các

thiết

bị

trung

gian


như
MODEM

còn

DTE

là các

thiết

bị

tiếp

nhận

hay

truyền

dữ

liệu

như

máy

tính,


PLC,

vi
điều

khiển,



Việc

trao

đổi tín

hiệu

thông

thường

qua

2

chân

RxD


(nhận)



TxD
(truyền).

Các

tín

hiệu

còn

lại



chức năng

hỗ

trợ

để

thiết

lập




điều

khiển

quá
trình

truyền,

được

gọi



các

tín

hiệu

bắt

tay (handshake).

Ưu


điểm

của

quá

trình
truyền

dùng

tín

hiệu

bắt

tay





thể

kiểm

soát

đường truyền.

Tín

hiệu

truyền

theo

chuẩn

RS-232

của

EIA

(Electronics

Industry
Associations). Chuẩn

RS-232

quy

định

mức

logic


1

ứng

với

điện

áp

từ

-3V

đến

-25V
(mark),

mức

logic

0 ứng

với

điện


áp

từ

3V

đến

25V

(space)





khả

năng

cung

cấp
dòng

từ

10

mA


đến

20

mA. Ngoài

ra,

tất

cả

các

ngõ

ra

đều



đặc

tính

chống

chập

mạch.
Chuẩn

RS-232

cho

phép

truyền

tín

hiệu

với

tốc

độ

đến

20.000

bps

nhưng

nếu

cáp truyền

đủ

ngắn



thể

lên

đến

115.200

bps.
GVHD:Phạm Ngọc Hưng
20
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Các

phương

thức

nối

giữa


DTE



DCE:
-

Đơn

công

(simplex

connection):

dữ

liệu

chỉ

được

truyền

theo

1


hướng.
-

Bán

song

công

(

half-duplex):

dữ

liệu

truyền

theo

2

hướng,

nhưng

mỗi

thời

điểm chỉ

được

truyền

theo

1

hướng.
-

Song

công

(full-duplex):

số

liệu

được

truyền

đồng

thời


theo

2

hướng.
Định

dạng

của

khung

truyền

dữ

liệu

theo

chuẩn

RS-232

như

sau:
Start

D0
D1
D2
D3
D4
D5
D6
D7
P
Stop
0 1
Khi

không

truyền

dữ

liệu,

đường

truyền

sẽ



trạng


thái

mark

(điện

áp

-10V).

Khi
bắt

đầu

truyền,

DTE

sẽ

đưa

ra

xung

Start


(space:

10V)



sau

đó

lần

lượt

truyền

từ

D0
đến

D7


Parity,

cuối

cùng




xung

Stop

(mark:

-10V)

để

khôi

phục

trạng

thái

đường
truyền.

Dạng tín

hiệu

truyền




tả

như

sau

(truyền



tự

A):
Các

đặc

tính

kỹ

thuật

của

chuẩn

RS-232


như

sau:
Chiều

dài

cable

cực

đại 15m
Tốc

độ

dữ

liệu

cực

đại 20

Kbps
Điện

áp

ngõ


ra

cực

đại
±

25V
Điện

áp

ngõ

ra



tải
±

5V

đến

±

15V
Trở


kháng

tải 3K

đến

7K
Điện

áp

ngõ

vào
±

15V
Độ

nhạy

ngõ

vào
±

3V
GVHD:Phạm Ngọc Hưng
21

Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao diện
Khoa Điện-Điện tử
Trở

kháng

ngõ

vào 3K

đến

7K
Các

tốc

độ

truyền

dữ

liệu

thông

dụng

trong


cổng

nối

tiếp

là:

1200

bps,

4800

bps,
9600

bps



19200

bps
Sơ đồ chân
Cổng

COM


dạng

đầu

nối

DB9

(9

chân)



tả

như

hình

4.2.

Ý

nghĩa

của

các


chân


tả

như

sau:
D9 Tín
hiệu
Hướng
truyền

tả
1 - - Protected

ground:

nối

đất

bảo

vệ
3 TxD DTE

DCE Transmitted

data:


dữ

liệu

truyền
2 RxD DCE

DTE Received

data:

dữ

liệu

nhận
7 RTS DTE

DCE Request

to

send:

DTE

yêu

cầu


truyền

dữ

liệu
8 CTS DCE

DTE Clear

to

send:

DCE

sẵn

sàng

nhận

dữ

liệu
6 DSR DCE

DTE Data

set


ready:

DCE

sẵn

sàng

làm

việc
5 GND - Ground:

nối

đất

(0V)
1 DCD DCE

DTE Data

carier

detect:

DCE

phát


hiện

sóng

mang
4 DTR DTE

DCE Data

terminal

ready:

DTE

sẵn

sàng

làm

việc
9 RI DCE

DTE Ring

indicator:

báo


chuông
GVHD:Phạm Ngọc Hưng
22
Trường ĐHSPKT Hưng Yên Đồ án: Ghép nối máy tính và giao
diện
Khoa Điện-Điện tử
2. Truyền thông giữa hai nút
Các



đồ

khi

kết

nối

dùng

cổng

nối

tiếp:
Tx
D
Rx

D
GN
D
TxD
RxD
GN
D
Tx
D
Rx
D
GN
D
TxD
RxD
GN
D
DTE1 DTE2 DTE DCE
GVHD:Phạm Ngọc Hưng
23
Hình

4.3



Kết

nối


đơn

giản

trong

truyền

thông

nối

tiếp
Khi

thực

hiện

kết

nối

như

trên,

quá

trình


truyền

phải

bảo

đảm

tốc

độ



đầu

phát
và thu

giống

nhau.

Khi



dữ


liệu

đến

DTE,

dữ

liệu

này

sẽ

được

đưa

vào

bộ

đệm



tạo
ngắt.
Ngoài


ra,

khi

thực

hiện

kết

nối

giữa

hai

DTE,

ta

còn

dùng



đồ

sau:
Tx

D
RxD
GN
D
RTS
TxD
RxD
GN
D
RTS
CTS
DTE1 DTE2
Hình

4.4



Kết

nối

trong

truyền

thông

nối


tiếp

dùng

tín

hiệu

bắt

tay
Khi

DTE1

cần

truyền

dữ

liệu

thì

cho

DTR

tích


cực



tác

động

lên

DSR

của

DTE2
cho

biết

sẵn

sàng

nhận

dữ

liệu




cho

biết

đã

nhận

được

sóng

mang

của

MODEM

(ảo).
Sau

đó,

DTE1

tích

cực


chân

RTS

để

tác

động

đến

chân

CTS

của

DTE2

cho

biết
DTE1



thể nhận


dữ

liệu.

Khi

thực

hiện

kết

nối

giữa

DTE



DCE,

do

tốc

độ

truyền
khác


nhau

nên

phải thực

hiện

điều

khiển

lưu

lượng.

Quá

trinh

điều

khiển

này



thể

thực

hiện

bằng

phần

mềm hay

phần

cứng.

Quá

trình

điều

khiển

bằng

phần

mềm

thực
hiện


bằng

hai



tự

Xon



Xoff.


tự

Xon

được

DCE

gởi

đi

khi


rảnh

(có

thể

nhận

dữ

liệu).

Nếu

DCE

bận

thì

sẽ

gởi


tự

Xoff.

Quá


trình

điều

khiển

bằng

phần

cứng

dùng

hai

chân

RTS



CTS.

Nếu
DTE

muốn truyền


dữ

liệu

thì

sẽ

gởi

RTS

để

yêu

cầu

truyền,

DCE

nếu



khả

năng
nhận


dữ

liệu

(đang rảnh)

thì

gởi

lại

CTS.
3. Truy xuất trực tiếp thông qua cổng
Các

cổng

nối

tiếp

trong

máy

tính

được


đánh

số



COM1,

COM2,

COM3,

COM4
với các

địa

chỉ

như

sau
Giao

tiếp

nối

tiếp


trong

máy

tính

sử

dụng

vi

mạch

UART

với

các

thanh

ghi

cho
trong
bảng

sau:

Offset DLAB R/W Tên Chức

năng
0
0 W THR Transmitter

Holding

Register

(đệm

truyền)
0 R RBR Receiver

Buffer

Register

(đệm

thu)
1 R/W BRDL Baud

Rate

Divisor

Latch


(số

chia

byte

thấp)
1
0 R/W IER Interrupt

Enable

Register

(cho

phép

ngắt)
1 R/W BRDH Số

chia

byte

cao
2
R IIR Interrupt

Identification


Register

(nhận

dạng

ngắt)
W FCR FIFO

Control

Register
3 R/W LCR Line

Control

Register

(điều

khiển

đường

dây)
4 R/W MCR Modem

Control


Register

(điều

khiển

MODEM)
5 R LSR Line

Status

Register

(trạng

thái

đường

dây)
6 R MSR Modem

Status

Register

(trạng

thái


MODEM)
7 R/W Scratch

Register

(thanh

ghi

tạm)
Tên Địa

chỉ Ngắt Vị

trí

chứa

địa

chỉ
COM1 3F8h 4 0000h:0400h
COM2 2F8h 3 0000h:0402h
COM3 3E8h 4 0000h:0404h
COM4 2E8h 3 0000h:0406h

×