Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạpchương trình cho vi điều khiển với các chế độ nạp khác nhau.. CHƯƠNG 4 CÁC PHƯƠNG PHÁP HIỂN THỊ CHO BẢNG QUANG BÁO1
Trang 1CHƯƠNG DẪN NHẬP
1.1 ĐẶT VẤN ĐỀ
Thông tin liên lạc là vấn đề được quan tâm trong xã hội Ngay từ ngày xưa, conngười đã biết vận dụng những gì đã có sẵn để truyền tin như lửa, âm thanh, các dấuhiệu…
Ngày nay, với sự phát triển của xã hội thì ngày càng có nhiều cách tiếp cận vớinhững thông tin mới Ta có thể biết được thông tin qua báo chí, truyền hình, mạnginternet, qua các pano, áp phích… Thông tin cần phải được truyền đi nhanh chóng, kịpthời và phổ biến rộng rãi trong toàn xã hội Và việc thu thập thông tin kịp thời, chínhxác là yếu tố hết sức quan trọng trong sự thành công của mọi lĩnh vực Các thiết bị tựđộng được điều khiển từ xa qua một thiết bị chủ hoặc được điều khiển trực tiếp qua hệthống máy tính
Việc sử dụng vi điều khiển để điều khiển hiển thị có rất nhiều ưu điểm mà cácphương pháp truyền thống như panô, áp phích không có được như việc điều chỉnhthông tin một cách nhanh chóng bằng cách thay đổi chương trình Với những lý do trên,nhóm thực hiện đề tài đưa ra một cách thức nữa phục vụ thông tin là dùng quang báo.Nội dung nghiên cứu của đề tài chính là tạo ra một bảng quang báo ứng dụng trong việchiển thị thong tin ở các nơi công cộng như công ty, nhà xưởng, nhà ga…
Thế giới ngày càng phát triển thì lĩnh vực điều khiển cần phải được mở rộnghơn Việc ứng dụng mạng truyền thông công nghiệp vào sản xuất mang lại nhiều thuậnlợi con người, thông tin được cập nhật nhanh chóng và được điều khiển một cách chínhxác
1.2 NỘI DUNG ĐỀ TÀI
Với khoảng thời gian thực hiện đề tài 4 tuần, Em chọn nội dung của đề tài nhưsau:
- Nghiên cứu, tìm phương án điều khiển và xử lý dữ liệu cho bảng led ma trận hiểnthị
- Nghiên cứu và tìm phương án để xử lý giao tiếp máy tính và bảng quang báo
- Thi công bảng quang báo hiển thị đơn sắc kích thước 8x64 điểm ảnh
- Thi công mạch giao tiếp giữa máy tính và bảng quang báo
- Lập trình CCS cho Pic16F877A
- Lập trình VISUAL BASIC để truyền nhận dữ liệu giữa máy tính và mạch quangbáo
1.3 MỤC ĐÍCH ĐỀ TÀI
Trong quá trình nghiên cứu và thực hiện đề tài này nhằm giúp người học:
- Tăng khả năng tự nghiên cứu cũng như tự học
- Bước đầu tiếp xúc với thực tế
- Vận dụng những kiến thức đã có đồng thời tìm tòi những kiến thức mới để hiểusâu sắc hơn trong lĩnh vực này
Để thiết kế được một hệ thống như đã nêu ở trên thì người nghiên cứu phải nắmvững kiến thức chuyên ngành điện tử, tìm hiểu, nghiên cứu qua sách vở, tài liệu nướcngoài và dạng mạch thực tế để thi công phần cứng
1.4 ĐỐI TƯỢNG NGHIÊN CỨU
Trang 2GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
- Tìm hiểu vi điều khiển PIC16F877A
- Tìm hiểu phương pháp lập trình CCS cho PIC
- Tìm hiểu phương pháp lập trình VISUAL BASIC
- Bảng quang báo led ma trận kích thước 8x64 điểm ảnh
1.5 LẬP KẾ HOẠCH NGHIÊN CỨU
Để thực hiện đề tài này nhóm sinh viên đã kết hợp sử dụng nhiều phương pháp
- Phương tiện: máy vi tính, Internet, thư viện…
Kế hoạch nghiên cứu:
- Tuần 1: Nhận đề tài và lập đề cương tổng quát
+ Thu thập tài liệu và lập đề cương chi tiết
- Tuần 2, 3, 4: Thiết kế thi công và viết báo cáo
Trang 32.1 GIỚI THIỆU VỀ LED MA TRẬN
Ma trận LED bao gồm nhiều LED cùng nằm trong một vỏ chia thành nhiều cột
và hàng, mỗi giao điểm giữa hàng và cột có thể có 1 LED (ma trận LED một màu) haynhiều LED (2 LED tại một vị trí tạo thành ma trận LED 3 màu) Để LED tại một vị trínào đó sáng thì phải cấp hiệu điện thế dương giữa Anode và Cathode Trên cơ sở cấutrúc như vậy, ta có thể mở rộng hàng và cột của ma trận LED để tạo thành các bảngquang báo
2.1.1 PHÂN LOẠI LED MA TRẬN
Trang 4GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
2.1.2 LED MA TRẬN 8x8
Led ma trận m×n là Led ma trận có m cột và n hàng Led ma trận 8×8 là led matrận gồm có 8 cột và 8 hàng Led ma trận này có hai loại: loại thứ nhất là cathode chung(common cathode – hàng cathode, cột anode), loại thứ hai là anode chung (commonanode– hàng anode, cột cathode)
Đề tài sử dụng loại Led ma trận cathode chung (cathode cột) vì dễ dàng tìmmua được Led ma trận loại này trên thị trường linh kiện điện tử ở nước ta, đa dạng vềkích cỡ và màu sắc, có loại indoor, outdoor
2.1.4 SƠ ĐỒ NGUYÊN LÝ LED MA TRẬN 8X8
Hình dạng thực tế và sơ đồ chân led ma trận 8x8
Trang 5- Độ phân giải (số điểm ảnh): 16 x 40 x (chiều dài hiển thị/305)
- Kết nối chuẩn (Máy tính, cổng COM) tuỳ chọn (RJ45, Bàn phím)
- Bảng này có thể hiển thị một dòng chữ cao 122mm (16 điểm ảnh - như hìnhtrên) hoặc hai dòng chữ cao 61mm (8 điểm ảnh) nhưng không dấu Tiếng Việt
- Kết nối chuẩn (Máy tính, cổng COM) tuỳ chọn (RJ45)
2.2.2 MẪU HAI DÒNG CHỮ (32 X 240 ĐIỂM ẢNH)
Các thông số kỹ thuật:
- Kích thước hiển thị: chiều cao 244mm, chiều dài tuỳ ý (thường là bội của305mm)
- Độ phân giải (số điểm ảnh): 32 x 40 x (chiều dài hiển thị/305)
- Kết nối chuẩn (Máy tính, cổng COM) tuỳ chọn ( RJ45)
- Bảng này có thể hiển thị hai dòng chữ cao 122mm (16 điểm ảnh – như hìnhtrên) hoặc một dòng chữ cao 244mm (32 điểm ảnh - như hình dưới)
- Kết nối chuẩn (Máy tính, cổng COM) tuỳ chọn ( RJ45)
2.3 GIỚI THIỆU VỀ BẢNG QUANG BÁO HIỂN THỊ LED MA TRẬN TRONG ĐỒ ÁN
2.3.1 PHẦN CỨNG:
- Kích thước hiển thị: chiều cao 6 cm,chiều dài 48 cm
- Độ phân giải (số điểm ảnh):8 x 64
Trang 6GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
- Dùng ngôn ngữ lập trình CCS để lập trình cho vi xử lý PIC16F877A
- Dùng ngôn ngữ lập trình Visual Basic để viết phần mềm giao diện máy tính
Trang 7CHƯƠNG 3 KHẢO SÁT LINH KIỆN
3.1 VI ĐIỀU KHIỂN PIC16F877A
3.1.1 HÌNH DẠNG VÀ SƠ ĐỒ CHÂN
Hình 3.2: Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân
3.1.2 MỘT VÀI THÔNG SỐ 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 đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối đacho 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 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 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:
- 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
Trang 8GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
- 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 SerialProgramming)
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
3.1.3 SƠ ĐỒ KHỐI CỦA PIC16F877A
Hình 3.3: Sơ đồ khối vi điều khiển PIC16F877A.
Trang 9Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Resetvector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interruptvector) Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóabở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 Đốivới PIC16F877A bộ nhớ dữ liệu được chia 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 (Special Function Register)nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General PurposeRegister) 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ệugiú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 10GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
Hình 3.4: Sơ đồ bộ nhớ dữ liệu của PIC16F877A
Trang 113.1.5 CÁC CỔNG XUẤT NHẬP CỦA PIC16F877A
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ươngtác với thế giới bên ngoài 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
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD và PORTE
*PORT A:
PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectionalpin), 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 thanhghi 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à output, ta “clear” bit điều khiểntương ứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối vớicác PORT và các thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đốivới PORTB 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
* PORT B:
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ạpchươ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òn đượ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
Cá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
* PORT C:
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
* PORT D:
Trang 12GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
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
* PORT E:
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ển củ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à xác lập các thông số cho chuẩn giao tiếpPSP
- ADCON1 : thanh ghi điều khiển khối ADC
3.1.6 NGẮT
PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển bởi thanhghi INTCON (bit GIE) Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắtriêng Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bấtchấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bit GIE và cácbit điều khiển khác Bit điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghiINTCON, thanh ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE Bit điều khiểncác ngắt nằm trong thanh ghi PIE1 và PIE2 Cờ ngắt của các ngắt nằm trong thanh ghiPIR1 và PIR2
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương trìnhngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt được thực thi, bit GIE tựđộng được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ nhớStack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h Lệnh RETFIE được dùng đểthoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE cũng
sẽ được set để cho phép các ngắt hoạt động trở lại Các cờ hiệu được dùng để kiểm trangắt nào đang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắt tiếptục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạngthái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt nào xảy racần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt
Cần chú ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm chương trìnhđược cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ không được cất và
có thể bị thay đổi giá trị trong quá trình thực thi chương trình ngắt Điều này nên được
xử lí bằng chương trình để tránh hiện tượng trên xảy ra
Trang 13Hình 3.9: Sơ đồ logic của tất cả các ngắt trong vi điều khiển PIC16F877A.
3.2 IC MAX 232:
Max 232 là một dòng IC khá phổ biến được phát triển bởi nhiều hãng sản xuấtchip đây là IC chuyên dụng rất hay được dùng trong việc chuyển đổi mức logic khi taghép nối một IC có tín hiệu chuẩn TTL( 5v) với cổng COM( RS232) trên máy tính cócác mục đích giao tiếp khác nhau
Trên cổng COM của máy tính ,mức logic 0 và 1 có điện áp thay đổ tronh khoảng-15v đến +15v trong khi đó phần lớn các IC mà cụ thể là dòng vi điều khiển trong thực
tế có mức điện áp theo chuẩn TTL( mức 0 là 0v, mức 1 là 5v) do đó khi muốn ghép nối
IC này với máy tính ta cần dùng các IC đệm để chuyển đổi giữa 2 mức điện áp này.Max232 là 1 trong số các IC đó
Max232 có 2 bộ chuyển đổi điện áp cho phép cùng lúc ghép 2 thiết bị tới 2 cổngCOM của máy tính khi hoạt động IC này có thêm một số tụ mắc ngoài
Trang 14GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
3.3 IC 7805
IC 7805 là một IC thuộc họ 78xx với các dòng 7805 ổn áp 5v, 7809 ổn áp 9v, 7812
ổn áp 12v IC này được sử dụng trong mạch để tạo ra điện áp 5v ổn định cung cấp chomạch khi đặt một điện áp ở đầu vào của IC ( thường khoảng 9 đến 35v) đầu ra IC sẽcho điện áp ổn định 5v dòng cung cấp 1-2 A tùy loại
Trang 153.4.2 CÁC THÔNG SỐ KỸ THUẬT
- D401A là Transistor loại NPN
- Độ khuếch đại dòng điệnβ : β = 85 - 240
- Điện thế giới hạn: VCEOmax = 20 V, VEBO = 5V,VCBO=25V
- Dòng điện giới hạn: IC max = 1A
- Công suất chịu được: P = 0.9W
3.5 TRANSISTOR B688
3.5.1 SƠ ĐỒ CHÂN VÀ ĐẶC TUYẾN TRUYỀN DẪN
Trang 16GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
- Độ khuếch đại dòng điệnβ : β = 55→160
- Điện thế giới hạn: VCEOmax = ±120 V, VEBO =± 5V,VCBO=±120V
- Dòng điện giới hạn: IC max = 10A
- Công suất chịu được: P = 80W
Trang 173.6 IC TPIC6B595
TPIC6B595 là thanh ghi dịch dùng để giải mã cột, hàng led ma trận, được tíchhợp bởi IC 74HC595 với IC đệm dòng ULN2803
Hình3.9: Sơ đồ chân TPIC 6B595
3.6.1 CHỨC NĂNG CÁC CHÂN CỦA IC TPIC6B595
- VCC, GND: hai chân này dùng để cấp nguồn nuôi cho IC, VCC nối với +5V,GND được nối mass
- NC: No Connection, chân này không sử dụng đến
- RCK: Chân phát xung clock đầu ra
- SER_IN: Serial Data In, ngõ vào dữ liệu nối tiếp
- SER_OUT: Serial Data Out, ngõ ra dữ liệu nối tiếp
- /SRCLK: Xóa thanh ghi
- SRCK: Chân phát xung clock đầu vào
- /G: output enable, chân cho phép xuất dữ liệu Khi chân này ở mức logic thấpthì dữ liệu ở ngõ ra của Flip-Flop được đưa ra ngoài Ngược lại, khi chân này ở mức logiccao thì dữ liệu không được phép đưa ra ngoài
- DRAIN0– DRAIN7: outputs, các ngõ ra của IC
3.6.2 ĐẶC TÍNH CỦA 6B595
- Là IC ghi dịch chế tạo theo cộng nghệ CMOS
- Tốc độ truyền tín hiệu 20ns
- Phạm vi điện áp hoạt động: 4-5.5V
- Phạm vi dòng điện chịu được: 500mA
3.6.3 SƠ ĐỒ KHỐI TPIC6B595
Trang 18GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
Hình3.10 Sơ đồ khối TPIC 6B595
3.6.4 NGUYÊN LÝ HOẠT ĐỘNG
Hình3.11: Nguyên lý hoạt động của 6B595
Chân SER_In là đường dữ liệu vào (bit dữ liệu nối tiếp) Một xung SRCK sẽ làmbit này đi vào thanh ghi dịch bên trong IC TPIC6B595 Sau 8 bit liên tục thì thanh ghidịch này lại là bit đầu tiên của IC tiếp theo (chân SER_OUT nối với chân SER_IN của ICsau) Ta đưa liên tục để xuất đủ dữ liệu cho 128 cột led ma trận
Thanh ghi dịch mới chỉ thay đổi bên trong IC chứ chưa đưa dữ liệu ra cácchân Muốn đưa dữ liệu từ các thanh ghi dịch này ra chân TPIC 6B595 thì cần đưa mộtxung kích vào chân RCK (chân số 12) Chân G được nối mass để cho phép dữ liệu xuất
ra để hiển thị
Trang 19CHƯƠNG 4 CÁC PHƯƠNG PHÁP HIỂN THỊ CHO BẢNG QUANG BÁO
1 1 1
Sau đó dữ liệu kế tiếp được đưa ra 8 hàng và được chốt lại bởi một IC chốt khác,trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của IC chốt Như vậy dữ liệu củahàng nào được đưa ra đúng địa chỉ của hàng đó trong khi các dữ liệu của các hàng khácvẫn hiện diện trên hàng mà không bị mất đi Việc thực hiện chốt hàng được thể hiện ởlưu đồ như sau:
Trang 20GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
Hình 4.2: Qui trình hiển thị chốt hàng.
4.1.2 CHỐT CỘT
Chốt cột là phương pháp trong một khoảng thời gian xác định chỉ có một hàngđược tích cực, dữ liệu được đưa ra 8 cột rồi chốt lại, dữ liệu được hiển thị trên màn hìnhled ma trận Sau đó dữ liệu được đưa ra 8 cột kế tiếp và được chốt lại bởi một IC chốtkhác, trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của IC chốt (dữ liệu vẫnhiện diện tại các cột) Như vậy dữ liệu của cột nào được đưa ra đúng địa chỉ của cột đótrong khi các dữ liệu của các cột khác vẫn hiện diện trên cột mà không bị mất đi Việcthực hiện chốt cột được thể hiện ở lưu đồ như sau:
Trang 21Hình 4.3: Qui trình hiển thị chốt cột.
4.1.3 ƯU, NHƯỢC ĐIỂM CỦA PHƯƠNG PHÁP DÙNG IC CHỐT
* Ưu điểm:
- Mở rộng số hàng, số cột của bảng quang báo
- Dữ liệu được truyền đi nhanh
- Chuyển đổi cách quét hàng, cột một cách linh hoạt
* Nhược điểm:
- Tạo bảng mã khó khăn
- Khó khăn trong việc lập trình xuất dữ liệu ra
4.2 PHƯƠNG PHÁP HIỂN THỊ SỬ DỤNG THANH GHI DỊCH
4.2.1 QUÉT CỘT
a) Giới thiệu chung về phương pháp quét cột
Phương pháp quét cột là phương pháp mà trong một khoảng thời gian xác định chỉcho một cột được tích cực hiển thị trong khi các cột khác đều tắt, các cột được quét(tích cực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiều lần với tốc độ
> 24 hình/1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trên màn hình led ma trận
Trang 22GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUYb) Quá trình thực hiện quét cột.
Dữ liệu của cột thứ nhất được đưa ra hàng sau đó tích cực cột thứ nhất như vậy dữliệu của cột thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữ liệu của cộtthứ hai được đưa ra hàng sau đó tích cực cột thứ hai lúc này dữ liệu của hàng thứ haiđược hiển thị trên man hình led ma trận, cứ như vậy cho đến dữ liệu của cột cuối cùngđược đưa ra hàng sau đó tích cực cột cuối cùng Cứ như thế quá trình trên được lặp đilặp lại > 24lần/1s, đến đây chúng ta quan sát được một hình ảnh liên tục hiển thị trênmàn hình led ma trận
Ví dụ: Hiển thị chữ A lên màn hình Led ma trận (hàng được tích cực ở mức 1, cột
được tích cực ở mức 0)
Hình 4.1: Hiển thị chữ A trên led ma trận dùng phương pháp quét cột
Quá trình đưa dữ liệu ra hàng và cột được tiến hành đồng thời với các giá trịtheo bảng dưới đây:
Trang 23Dữ liệu đưa vào các hàngH8H7H6H5H4H3HH1 Cột được chọntích cực
Như vậy toàn bộ dữ liệu của chữ A đã được đưa ra hiển thị trên màn hình Led
ma trận Quá trình trên được diễn ra rất nhanh > 24lần/s nên chúng ta có cảm giác nódiễn ra một cách đồng thời, nhờ đó chúng ta quan sát được trên màn hình Led ma trậnlàmột chữ A liên tục
Phương pháp quét cột thích hợp cho các bảng quang báo sử dụng Led ma trậncó
số lượng cột ít hơn số lượng hàng, vì thời gian sáng của LED khi quét cột lớn hơn thờigian sáng của LED khi quét hàng Như vậy điện áp nguồn cung cấp được sử dụng trongquét cột nhỏ hơn điện áp nguồn cung cấp sử dụng trong quét hàng Trong phươngpháp quét cột việc đưa dữ liệu ra hàng và tạo bảng mã là khá dễ dàng cho người lậptrình
4.2.2 QUÉT HÀNG
a) Giới thiệu chung về phương pháp quét hàng
Quét hàng là phương pháp mà trong một khoảng thời gian xác định chỉ cho mộthàng được tích cực hiển thị trong khi các hàng khác đều tắt, các hàng được quét (tíchcực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiều lần với tốc độ >24hình /1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trên màn hình led ma trận
b) Quá trình thực hiện quét hàng:
Trang 24
GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
Hình 4.5: Qui trình đưa dữ liệu ra 8 cột cho led ma trận.
Quét hàng sử dụng thanh ghi dịch là tương đối phức tạp cho người lập trìnhtrong việc đưa dữ liệu ra cột Dữ liệu lần lượt được đưa vào chân Datain của thanh ghidịch sau đó tác động xung clock dữ liệu đươc dịch đi Việc thực hiện quét hàng đượcthực hiện theo lưu đồ giải thuật ở hình 4.5
Dữ liệu của hàng thứ nhất được đưa ra cột sau đó tích cực hàng thứ nhất, nhưvậy dữ liệu của hàng thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữ liệucủa hàng thứ hai được đưa ra cột sau đó tích cực hàng thứ hai lúc này dữ liệu của hàngthứ hai được hiển thị trên màn hình led ma trận, cứ như vậy cho đến dữ liệu của hàngcuối cùng được đưa ra cột sau đó tích cực hàng cuối cùng Cứ như thế quá trình trênđược lặp đi lặp lại > 24lần/1s, đến đây chúng ta quan sát được một hình ảnh liên tụchiển thị trên màn hình led ma trận
Ví dụ: Hiển thị chữ A lên màn hình Led ma trận (hàng được tích cực ở mức 1, cột
được tích cực ở mức 0)
Trang 25Hình 4.6: Hiển thị chữ A trên led ma trận dùng phương pháp quét hàng
Quá trình đưa dữ liệu ra hàng và cột được tiến hành đồng thời với các giá trị theo bảng dưới đây:
Bảng 4.2
Như vậy toàn bộ dữ liệu của chữ A đã được đưa ra hiển thị trên màn hình Led
ma trận Quá trình trên được diễn ra rất nhanh > 24lần/s nên chúng ta có cảm giác nódiễn ra một cách đồng thời, nhờ đó mà chúng ta quan sát được trên màn hình Led matrận là một chữ A liên tục
Phương pháp quét hàng thích hợp cho các bảng quang báo sử dụng Led ma trận
có số lượng hàng nhỏ hơn số lượng cột, vì thời gian sáng của Led khi quét hàng lâu hơnthời gian sáng của Led khi quét cột Như vậy điện áp nguồn cung cấp được sử dụngtrong quét hàng nhỏ hơn điện áp nguồn cung cấp sử dụng trong quét cột Tuy nhiêntrong phương pháp quét hàng thì việc đưa dữ liệu ra cột và tạo bảng mã là khó khăn
Dữ liệu đưa vào các cộtC8C7C6C5C4C3C2C1
Hàng được chọntích cực
Trang 26GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
4.2.3 ƯU, NHƯỢC ĐIỂM CỦA PHƯƠNG PHÁP HIỂN THỊ SỬ DỤNG THANH GHI DỊCH
* Ưu điểm:
- Tiết kiệm đường truyền, hiệu quả kinh tế
- Tiết kiệm chân PORT
- Truyền dữ liệu đi xa hơn
- Mở rộng bảng ma trận lên một cách dễ dàng
- Lập trình dễ dàng trong phương pháp quét cột
* Nhược điểm:
- Tốn thời gian để thực hiện việc truyền dữ liệu đến các cột
- Chuyển đổi không linh hoạt bằng sử dụng phương pháp chốt
- Lập trình khó khăn hơn khi sử dụng phương pháp quét hàng
4.3 MẠCH QUANG BÁO SỬ DỤNG TRONG ĐỒ ÁN
Do mạch quang báo trong đồ án được thiết kế với độ phân giải 8x64 (8 hàng,
64 cột) nên chọn phương pháp quét hàng để đảm bảo cho hình ảnh hiển thị được liêntục và sắc nét
Trang 27CHƯƠNG 5:
GIAO TIẾP NỐI TIẾP 5.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 và 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) vàDCE
(Data Communication Equipment) DCE là các thiết bị trung gian như MODEMcò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) và TxD (truyền) Các tínhiệu còn lại có chức năng hỗ trợ để thiết lập và điều khiển quá trình truyền,được gọi là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 là
có thể kiểm soát đường truyền
5.2 Chuẩn RS232 :
Tín hiệu truyền nối tiếp 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) và có 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ó đặ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 có thể lên đến 115.200 bps
Các phương thức nối giữa DTE và DCE:
- Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1 hướng
Trang 28GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
- 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:
Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark (điện áp -10V) Khibắt
đầu truyền, DTE sẽ đưa ra xung Start (space: 10V) và sau đó lần lượt truyền từ D0đến D7 và Parity, cuối cùng là xung Stop (mark: -10V) để khôi phục trạng thái đườngtruyền Dạng tín hiệu truyền mô tả như sau (truyền ký tự A):
Hình 4.1 – Tín hiệu truyền của ký tự ‘A’
Các đặc tính kỹ thuật của chuẩn RS-232 như sau:
Trang 29Cá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 và 19200 bps
Sơ đồ chân:
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân)
5.3 Truyền thông giữa hai nút
Các sơ đồ khi kết nối dùng cổng nối tiếp:
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 có dữ liệu đến DTE, dữ liệu này sẽ được đưa vào bộ đệm và
Trang 30GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUYNgoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau:
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ủaDTE2
cho biết sẵn sàng nhận dữ liệu và 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ếtDTE1 có thể nhận dữ liệu Khi thực hiện kết nối giữa DTE và DCE, do tốc độ truyềnkhá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 có 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ựchiện bằng hai ký tự Xon và Xoff Ký 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 ký tự Xoff Quá trình điều khiển bằng phần cứng dùnghai chân RTS và 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 có khả năng nhận dữ liệu (đang rảnh) thì gởi lại CTS
5.4 Truy xuất trực tiếp thông qua cổng COM
Các cổng nối tiếp trong máy tính được đánh số là COM1, COM2, COM3, COM4vớ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 chotrong bảng sau:
Trang 31Các thanh ghi này có thể truy xuất trực tiếp kết hợp với địa chỉ cổng (ví dụ nhưthanh
ghi cho phép ngắt của COM1 có địa chỉ là BACOM1 + 1 = 3F9h
* IIR (Interrupt Identification):
IIR xác định mức ưu tiên và nguồn gốc của yêu cầu ngắt mà UART đang chờphụcn vụ Khi cần xử lý ngắt, CPU thực hiện đọc các bit tương ứng để xác định nguồngốc của ngắt Định dạng của IIR như sau:
* IER (Interrupt Enable Register):
IER cho phép hay cấm các nguyên nhân ngắt khác nhau (1: cho phép, 0: cầm ngắt)
Trang 32GVHD: TỐNG THANH NHÂN SVTH: NGUYỄN ĐỨC HUY
FIE: FIFO Error – sai trong FIFO
TSRE: Transmitter Shift Register Empty – thanh ghi dịch rỗng (=1 khi đã phát 1
ký
tự và bị xoá khi có 1 ký tự chuyển đến từ THR
THRE: Transmitter Holding Register Empty (=1 khi có 1 ký tự đã chuyển từ THR–
TSR và bị xoá khi CPU đưa ký tự tới THR)
BI: Break Interrupt (=1 khicó sự gián đoạn khi truyền, nghĩa là tồn tại mức logic 0 trong khoảng thời gian dài hơn khoảng thời gian truyền 1 byte và bị xoá khi CPUđọc LSR)
FE: Frame Error (=1 khi có lỗi khung truyền và bị xoá khi CPU đọc LSR)
PE: Parity Error (=1 khi có lỗi parity và bị xoá khi CPU đọc LSR)