Trong quá trình thực hiện đề tài do lượng kiến thức khổng lồ nhưng sự hiểu biết của tôi là có hạn nên không thể khai thác được hết các công năng của vi điều khiển mà chỉ sử dụng một vài
Trang 1PHẦN I GIỚI THIỆU
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
· á ¸
Trang 3
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
· á ¸
Trang 4
LỜI MỞ ĐẦU
- - - ¹ ± º - - -
Ngày nay với sự phát triển vượt bậc của xã hội, đặc biệt là trong các ngành kỹ thuật Khi mà các sản phẩm mới liên tục ra đời, những vât liệu nổi trội hơn, công nghệ mới cũng ra đời… Song song đó thì nhu cầu của con người đối với sự tiến bộ của xã hội cũng ngày càng khắc khe hơn Đặc biệt khi ngành công nghệ số, trí tuệ nhân tạo ra đời nó cũng len lõi mọi lĩnh vực của xã hội Ví dụ điển hình là tronh lĩnh vực quản bá truyền thông Khi nhu cầu của các nhà kinh doanh ngày càng cao hơn về việc quảng cáo các sản phẩm, dịch vụ của mình đến với người tiêu dùng khắp mọi nơi và từ đó lĩnh vực này cũng liên tục cải thiện Khi máy tính ra đời đặc biệt là công nghệ số thì lĩnh vực truyền thông
đã có những bước phát triển đáng kể, các loại hình quảng cáo như pano, apphich, bản hiệu,…đã dần nhường chỗ cho các bảng điện tử đầy đủ màu sắc Và đặc biệt hơn chúng
có thể gửi đến mọi người các thông điệp đặc sắc, phong phú mà trước đây thì công nghệ chưa cho phép Chẳng hạn như: nhiều màu sắc, linh động, hình ảnh đẹp, có thể nhảy múa với đầy đủ các hiệu ứng mới lạ trước mắt người xem Khi mà quá trình đô thị hoá ngày càng nhanh cùng với sự phát triển của các toà nhà, cao ốc,…thì không gian ngày càng thu hẹp và tất nhiên những biển quảng cáo khổ rộng đã dần được thay thế bằng các bảng điện
tử, led, LCD,…
Khi bạn bước vào một ngân hàng, một cửa hiệu hay bất chợt đi trên đường bạn cũng có thể bắt gặp những dòng chữ đầy màu sắc chạy qua chạy lại thể hiện đầy đủ các thông điệp mà nhà kinh doanh muốn gửi đến tất cả mọi người Đáp ứng nhu cầu đó và cũng để hiểu thêm về công nhệ cũng như quá trình thiết kế thi công các loại bảng led quảng cáo, tôi quyết định chọn đề tài VI ĐIỀU KHIỂN VỚI QUANG BÁO để phục vụ cho môn đồ án 2 Trong quá trình thực hiện đề tài do lượng kiến thức khổng lồ nhưng sự hiểu biết của tôi là có hạn nên không thể khai thác được hết các công năng của vi điều khiển mà chỉ sử dụng một vài chức năng cơ bản Và cũng chưa có nhiều kinh nghiệm trong quá trình thực hiện các đề tài, tất nhiên cũng không thể tránh được những sai xót Rất mong nhận được những đóng góp chân thành của quý thầy cô và các bạn để có thể thực hiện tốt hơn cho các lần tiếp theo
Xin chân thành cảm ơn./
Tp Hồ Chí Minh tháng 01 - 2011
Sinh viên thực hiện
Nguyễn Ngọc Luân
Trang 5MỤC LỤC
PHẦN I GIỚI THIỆU 1
Nhận xét của giáo viên hướng dẫn 4
Nhận xét của giáo viên phản biện 5
Lời nói đầu 6
Mục lục 7
PHẦN II NỘI DUNG 9
Chương I Giới thiệu các linh kiện dùng trong đề tài 10
I Khối xử lý trung tâm – vi điều khiển 10
I.1 Khái niệm vi điều khiển 10
I.2 Giới thiệu họ vi điều khiển PIC 16F887 10
I.2.1 PIC là gì? 10
I.2.2 Tại sao là PIC mà không là các họ vi điều khiển khác 10
I.2.3 Bộ vi điều khiển 8bit PIC 16F887 11
II IC giao tiếp máy tính MAX 232 29
II.1 Tổng quan chuẩn RS232 29
II.1.1 Đặt vấn đề 29
II.1.2 Ưu điểm của chuẩn RS232 .30
II.1.3 Những đặc điểm cần lưu ý trong chuẩn RS232 30
II.1.4 Các mức điện áp đường truyền 30
II.1.5 Chuẩn RS232 trên máy tính 30
II.1.6 Quá trình truyền nhận dữ liệu 31
II.2 Sơ đồ kết nối IC MAX232 32
III Ram mở rộng 33
III.1 Giới thiệu 33
III.2 Sơ đồ chân IC HM62256ALP 33
III.3 Giải thích sơ đồ chân 34
III.4 Sơ đồ khối HM62256ALP 35
III.5 Nguyên lý hoạt động truy xuất dữ liệu của HM62256ALP 35
III.5.1 Quá trình ghi dữ liệu vào Ram 35
III.5.2 Quá trình đọc dữ liệu từ ram 36
IV IC ghi dịch 74HC595 36
IV.1 Giới thiệu 36
IV.2 Sơ đồ chân 36
IV.3 Giải thích sơ đồ chân 37
V Led ma trận 38
V.1 Hình dạng và cấu tạo 38
V.2 Nguyên lý hoạt động 39
Chương II Nguyên lý hoạt động của đề tài 41
I Sơ đồ khối hiễn thị 41
I.1 Bộ nguồn 41
I.2 Bộ dao động thạch anh 41
Trang 6I.3 Bộ reset 42
I.4 Khối xử lý trung tâm 42
I.5 Khối giải mã cột 42
I.6 Khối giải mã hang 42
I.7 Khối hiển thị 42
I.8 Khối giao tiếp máy tính 42
II Nguyên tắc hoạt động của đề tài 42
II.1 Nguyên tắc hoạt động của led ma trận 43
II.1.1 Hiển thị ký tự trên led ma trận 43
II.1.2 Dịch chữ trên led ma trận 45
II.2 Nguyên tắc truyền nhận dữ liệu từ máy tính 46
PHẦN III PHỤ LỤC 47
Phụ lục A Chương trình điều khiển 48
Phụ lục B Sơ đồ mạch in hai mặt 58
Trang 7PHẦN II NỘI DUNG
Trang 8CHƯƠNG I GIỚI THIỆU CÁC LINH KIỆN DÙNG TRONG
ĐỀ TÀI
· n ¸
I Khối xử lý trung tâm - vi điều khiển
I.1 Khái niệm vi điều khiển
Để hiểu khái niệm về bộ vi điều khiển, ta có thể làm phép so sánh với bộ vi xử lý công dụng chung nhu sau:
Ta biết rằng, các bộ vi xử lý công dụng chung như họ INTEL X 86 ( 8086,80286,
80386, 80486 và PENTIUM) hoặc họ MOTOROLA 680x0( 6800, 68010, 68020,68030,68040 v v ) không có Ram , Rom và không có các các cổng ra vào trên Chip…với lý do đó mà chúng được gọi là các bộ vi xử lý công dụng chung
Một nhà thiết kế hệ thống sử dụng một bộ vi xử lý công dụng chung chẳng hạn như Pentium hay 68040 sẽ phải bổ xung them RAM, ROM, các cổng vào ra và các bộ định thời ngoài để làm cho chúng hoạt động được Mặc dù việc bổ xung các RAM, ROM, các cổng vào ra sẽ làm cho hệ thống cồng kềnh lên nhưng nó lại có ưu điểm khi sử dụng các bộ vi xử lý này là rất linh hoạt Chẳng hạn như người thiết kế có thể quyết định về số lượng RAM, ROM, và các cổng vào ra cấn thiết sao cho phù hợp với khả năng, mục đích
sử dụng của hệ thống
Điều này không thể có đối với các bộ vi điều khiển Bởi vì, một vi điều khiển đã
có một CPU cùng với một số lượng RAM, ROM, các cổng vào ra và một bộ định thời trên cùng một chip Hay nói cách khác là bộ vi xử lý, RAM, ROM, các cổng vào ra và một bộ định thời được nhúng trên một chip Do vậy người thiết kế không thể bổ xung thêm bộ nhớ ngoài, số các cổng vào ra hoặc bộ định thời cho nó Với số lượng RAM, ROM và các cổng vào ra có định như vậy là một mặt hạn chế xong nó lại thật sự lý tưởng đối với những ứng dụng mang tính chuyên biệt, tối ưu về giá thành, tối ưu về không gian…
Hiện nay trên thị trường có các bộ vi điều hiển 8 Bit chính là 6811 của Motorola,
8051 của Intel, Z8 của Xilog và PIC16X của Microchip Technology Mỗi loại trên đểu có một tâp lệnh và thanh ghi duy nhất, nên chúng đều không tương thích lẫn nhau Cũng có những bộ vi điều khiển 16 bít và 32 bít được sản xuất ra bởi các hãng sản xuất khác nhau
I.2 Giới thiệu họ vi điều khiển PIC16F887
I.2.1 PIC là gì ??
PIC là viết tắt của “Programable Inteled ma trậnigent Computer”, có thể tạm dịch
là “máy tính thông minh khả trình” do hãng Genenral Intrument đặt tên cho vi điều khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển này sau đó được nghiêm cứu phát triển
I.2.2 Tại sao là PIC mà không là các họ vi điều khiển khác ??
Trang 9Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR, ARM,… Ngoài họ 8051 được hướng dẫn một cách căn bản ở một số trường đại học, bản thân người viết đã chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát triển các ứng dụng trên công cụ này vì các nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam
- Giá thành không quá đắt
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập
- Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho hơ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051
- Số lượng người sử dụng họ vi điều khiển PIC: hiện nay tại Việt Nam cũng như trên thế giới, họ vi điều khiển này sử dụng khá rộng rãi Điều này tạo thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn,…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,…
- Các tính năng đa dạng của vi điều khiển PIC, và các t1inh năng này không ngừng phát triển
Ngày nay, các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi trong các lĩnh vực kỹ thuật và đời sống xã hội, đặc biệt là trong kỹ thuật tự động hóa và điều khiển từ
xa Giờ đây với nhu cầu chuyên dụng hóa, tối ưu (thời gian, không gian, giá thành), bảo mật, tính chủ động trong công việc…ngày càng đòi hỏi khắt khe Việc đưa ra công nghệ mới trong lĩnh vực chế tạo mạch điện tử để đáp ứng những yêu cầu trên là hoàn toàn cấp thiết mang tính thực tế cao
I.2.3 Bộ vi điều khiển 8 bit PIC16F887
I.2.3.a Đặc tính nổi bật của bộ vi xử lý
+ Sử dụng công nghệ tích hợp cao RISC CPU
+ Người sử dụng 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 một chu kỳ lệnh ngoại trừ một số câu lệnh rẽ nhánh thực hiện trong hai chu ký lệnh
+ Tốc độ hoạt động là : - Xung đồng hồ vào là DC – 20MHz - Chu kỳ lệnh thực hiện trong 200ns
+ Bộ nhớ chương trình Flash 8Kx14 words
+ Bộ nhớ SRAM 368x8 bytes
+ Bộ nhớ EFPROM 256x8 bytes
+ Số port I/O 35 ports
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 thời gian (PWRT) và bộ tạo dao động (OST|)
Trang 10+ 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ệ
+ Phương thức cất giữ Sleep
+ Thiết kế hoàn toàn tĩnh
+ Dải điện thế hoạt động rộng: 2.0V đến 5.5V
+ Nguồn điện sử dụng hiện tại 25mA
Các đặt tính nổi bật của thiết bị ngoại vi trên chip
+ TIMER0: 8 bit của bộ định thời, bộ đếm với hệ số tỷ lệ trước
+ TIMER1: 16 bit 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 bit của bộ định thời, bộ đếm với 8 bit của hệ số tỷ lệ trước, hệ số tỷ lệ sau
+ Bộ chuyển đổi tín hiệu số sang tương tự với 10 bit
+ Cổng truyền thông tin nối tiếp SSP với SPI phương thức chủ và I2C(chủ / phụ)
Sơ đồ chân vi điều khiển PIC16F877A
Trang 11Hình 1: Sơ đồ chân PIC 16F887
Sơ đồ khối vi điều khiển PIC16f877A
Trang 12Hình 2: Sơ đồ khối PIC 16F887
I.2.3.b Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F887 bao gồm bộ nhớ chương trình (Programmemory) và bộ nhớ dữ liệu (Data Memory)
a) Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển PIC16F887 là bộ nhớ Flash, dung lượng
bộ nhớ 8K word (1 word = 14 bit) và được phân chia làm nhiều trang ( từ page 0 đến
Trang 13page 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ã hoá sẽ có dung lượng 1 word (14 bit))
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình
có dung lượng 13 bit
Khi vi điều khiển được reset, 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ỉ hoá bởi
dữ liệu PIC16F887 nhu sau:
Trang 14Hình 4: Bộ nhớ dữ liệu
Trang 15c) Thanh ghi chức năng đặc biệt
Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lặp và điều
khiển các khối chức năng đựoc tích hợp bên trong vi điều khiển Có thể phân chia SFR làm hai loại: thanh ghi SFR lien quan đến các chức năng bên trong CPU và thanh ghi SFR dùng để thiết lặp và điều khiển các khối chức năng bên ngoài ( ví dụ như ADC, PWM,…) Các thanh ghi lien quan đến chức năng bên trong:
¾ Thanh ghi SATUS (03h, 83h, 103h, 183h): thanh ghi chứa kết quả thưc hiện
phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy suất trong bộ nhớ
Trang 16¾ 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 bit cờ hiệu khi Timer0 bị tràn, ngắt ngoại vi RB0/INT và ngắt interrupt-on-change tại các chân của PORTB
¾ Thanh ghi PIE1 (8Ch): chứa các bit đ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ờ ngắt của các khối chức năng ngọai vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PEI1
¾ Thanh ghi PIE2 (8Dh): chứa các bit đ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à nga81t ghi vào bộ nhớ EEPROM
¾ Thanh 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 bit đ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
d) Thanh ghi mục đích chung GPR
Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua thanh ghi FSG (File Select Rersister) Đây là các 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ể dùng các thanh ghi này dể chứa các biến
số, hằng số, kết quả hoặc các tham số phục vụ cho chương trình
II.2.3.c Stack
Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùng nhớ đặc biệt không cho phép đọc hay ghi Khi có lệnh gọi chương trình con thực thi hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị bộ đếm chương trình PC tự động được vi điều khiển cất vào stack Khi một trong các lệnh RETURN, RETFILE hay
Trang 17RETLW được thực thi, giá trị PC sẽ tự động được lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng quy trình định trước
Bộ nhớ Stack trong vi điều khiển PIC16F887 có khả năng chứa được 8 địa chỉ và hoạt động theo theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị cất vào Stack lần thứ 2
Không có cờ hiệu nào cho biết trạng thái Stack, do đó ta không biết khi nào Stack tràn
II.2.3.d Các cổng xuất nhập của PIC16F887
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ác với thế giớ 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), tuỳ theo cách bố trí và chức năng của vi điều khiển mà số lượng các chân và số lương cổng nhập xuất có thể khác nhau Bên cạnh đó do vi điều khiển được tích hợp sẵn bên trong cá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ực 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ậ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 các thanh ghi SFR liên quan đến chân xuất nhập đó
Vi điều khiển PIC16F887 có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE
PORTA (RPA) bao gồm 8 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 ghi TRISA (đị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ốn xác lập chức năng của một chân trong PORTA là outout, 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ác PORT và các thanh ghi điều khiển tương ứng TRIS ( đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD và đối với PORTE là TRISE ) Bên cạnh đó PORTA cón là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP ( Master Synchronous Serial Port )
Trang 18b) 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ình cho 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ó được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình
Trang 19Hình 5: Sơ đồ khối PORTB <RB3:RB0>
Trang 20Hình 6: Sơ đồ khối PORTB <RB7:RB4>
Trang 21PORTD gồm 8 pin I/O: RD0, RD1, RD2, RD3 ứng với các chân số 19, 20, 21 và chân số 22 của vi điều khiển, RD4 đến RD7 ứng với các chân số 27 đến chân số 30 Thanh ghi điều khiển xuất nhập tương ứng là TRISD ( địa chỉ 88h ) PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Paraled ma trậnel Slave Port)
Hình 7: Sơ đồ khối PORTD <RD4:RD0>
Trang 22Hình 8: Sơ đồ khối PORTD<RD7:RD5>
PORTE gồm 4 chân I/O: RE0, RE1, RE2, RE3 ứng với các chân số 8, 9,10 và chân số 1.Thanh ghi điều khiển xuất nhập tương ứng là TRISE (địa chỉ 89h ) 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ển của chuẩn giao tiếp PSP
Trang 23Hình 9: Sơ đồ khối PORTE RE3
Hình 10: Sơ đồ khối PORTE<RE2:RE0>
II.2.3.e Các bộ định thời của chip
Trang 24Bộ vi điều khiển PIC16F887 có 3 bộ định thời Timer đó là: Timer0, Timer1, Timer2
Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F887 Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần (prescaler) 8 bit Cấu trúc của Timer0 cho phép ta lựa chọn xung clock tác động và cạnh tich 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ều khiển của Timer0 TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IE=0 không cho phép ngắt Timer0 tác động
Hình 11: Sơ đồ khối bộ TIMER0
Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong thanh ghi (TMR1H:TMR1L) cờ ngắt của Timer1 là bit TMR1IF Bit điều khiển của Timer1 sẽ là TMR1IE
Tương tự như Timer0, timer1 cũng có hai chế độ hoạt động: chế độ định thời (Timer) với xung kích là xung clock của osciled ma trậnator (tần số của Timer bằng ¼ tần số của osciled ma trậnator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lầy từ bên ngoài thộng qua chân RCO/T1OSO/T1CKI (cạnh tác động là cạnh lên) Việc lựa chọn chế độ hoạt động của Timer được điểu khiển bởi bit TMR1CS
Trang 25Hình 12: Sơ đồ khối bộ TIMER1
Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần prescaler và postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bit cho phép ngắt Timer2 tác động là TMR2ON Cờ ngắt của Timer2 là bit TMR2IF Xung ngõ vào được đưa qua
bộ chia tần số prescaler 4 bit (với các tỉ số chia tần là 1:1, 1:4 hoặc 1:16) và được điều khiển bởi các bit T2CKPS1:T2CKPS0
Trang 26Hình 13: Sơ đồ khối bộ TIMER2
ADC ( Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương
tự và số PIC16F887 có 14 ngõ vào analog (RA5:RA0, RE2:RE0và RB5:RB0) Hiệu điện thế chuẩn VREF có thể được 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í hiệu tuơng tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong 2 thanh ghi ADRESH:ADRESL Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này có thề sử dụng như các thanh ghi thông thường khác Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được lưu vào 2 thanh ghi ADRESH:ADRESL
Hình 14: Sơ đồ khối bộ chuyển đổi Analog
Trang 27II GIAO TIẾP MÁY TÍNH IC MAX232
Ngày nay các thiết bị đo lường, điều khiển đều phải giao tiếp với máy tính để quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn giao tiếp được coi
là đơn giản và dễ dùng đó là RS232 Hầu như các thiết bị đều được giao tiếp với máy tính thông qua chuẩn này
Hình 15: IC MAX 232
II.1 Tổng quan chuẩn RS232
II.1.1 Đặt vấn đề
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển,
đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ
115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền
Trang 28Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngắn gọn là chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng Com Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp
II.1.2 Ưu điểm của giao diện nối tiếp RS232
+ Khả năng chống nhiễu của các cổng nối tiếp cao
+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
II.1.3 Những đặc điểm cần lưu ý trong chuẩn RS232
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm
+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến 12V + Tốc độ truyền nhận dữ liệu cực đại là 100kbps
+ Các lối vào phải có điện dung nhỏ hơn 2500pF
+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m
+ Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 56600,115200 bps
II.1.4 Các mức điện áp đường truyền
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện
áp chênh lệch giữa một dây dẫn và đất Do đó ngay từ đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1 Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau: + Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 Kbps
II.1.5 Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com hay cổng nối tiếp RS232 Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com 3 Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25) Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng