Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, nhất là trong lĩnh vực điện tử, việc đưa các thông tin quảng cáo đến với người tiêu dùng thật dễ dàng và nhanh chóng. Sản phẩm của doanh nghiệp sẽ được giới thiệu đến mọi người thông qua hình thức quảng cáo.
Trong rất nhiều hình thức quảng cáo thông tin như : báo, tivi, các website thì hình thức dùng bảng thông tin điện tử là cách đơn giản và hiệu quả để quảng cáo. Chúng ta dễ dàng bắt gặp các bảng thông tin điện tử như vậy ở sân bay, nhà ga, ngân hàng hoặc các bảng quảng cáo sản phẩm của doanh nghiệp trên đường phố lúc về đêm.
Qua đó thấy rằng, bảng thông tin điện tử được ứng dụng rất rộng rãi trong các lĩnh vực khác nhau : giới thiệu sản phẩm, biển thông báo, biển hiệu. Để hiển thị và thay đổi nội dung thông tin trên bảng quang báo đòi hỏi phải có kiến thức về lĩnh vực điện tử nhất định, do đó sẽ gây nhiều khó khăn cho đa số người dùng. Vì thế để tránh mất thời gian và để thuận tiện hơn cho người sử dụng, nhóm chúng em quyết định nghiên cứu và thực hiện đề tài “Thiết kế mạch quang báo giao tiếp bàn phím máy tính”. Thao tác hiển thị và thay đổi nội dung trở nên đơn giản và hiệu quả.
Trong quá trình thực hiện đề tài, nhóm chúng em đã nhận được sự giúp đỡ tận tình của thầy Lê Minh. Khi chúng em gặp khó khăn thì thầy đã nhiệt tình phân tích và chỉ dẫn hướng giải quyết cho chúng em. Nhóm chúng em xin trọng cám ơn thầy.
42 trang |
Chia sẻ: ngtr9097 | Lượt xem: 3547 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mạch quang báo giao tiếp bàn phím máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phần A
GIỚI THIỆU
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG
-------------------
ĐỒ ÁN MÔN HỌC 1
NGÀNH: CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Đề tài:
THIẾT KẾ MẠCH QUANG BÁO GIAO TIẾP BÀN PHÍM MÁY TÍNH
GVHD : LÊ MINH
SVTH : NGUYỄN HOÀNG VƯƠNG THẠCH
MSSV : 08119047
NGUYỄN VIẾT MINH TIẾN
MSSV : 08119059
TP. HỒ CHÍ MINH – 6/2011
Ñaïi Hoïc Sö Phaïm Kyõ Thuaät
Khoa Ñieän – Ñieän Töû
Boä Moân Ñieän Töû Vieãn Thoâng
COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄTNAM
Ñoäc Laäp – Töï Do – Haïnh Phuùc
Ngaøy……thaùng … naêm 201..
PHIEÁU CHAÁM ÑOÀ AÙN MOÂN HOÏC…..
(Daønh cho ngöôøi höôùng daãn)
Hoï teân sinh vieân : ………………………………………………………………………………… MSSV: ……………………………..
…………………………….……………………………………………………………………………………………….MSSV:………………………………
Teân ñeà taøi : ………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………
Ngöôøi höôùng daãn : …………………………………………………………………………………………………………………………………
Nhöõng öu ñieåm cuûa Ñoà aùn :
………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………….
Nhöõng thieáu soùt cuûa Ñoà aùn:
………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ………………………………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………………………….
Ñeà nghò : Ñöôïc baûo veä: o Boå sung ñeå ñöôïc baûo veä: o Khoâng ñöôïc baûo veä: o
Caùc caâu hoûi sinh vieân phaûi traû lôøi tröôùc Toå chaám ÑAMH:
………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………..…………………………………………………
………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………………………………….……………………………………………………………………………………………………………………………………………………………
Ñaùnh giaù Ñieåm (Soá vaø chöõ):………………………………..
CHÖÕ KYÙ vaø HOÏ TEÂN
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, nhất là trong lĩnh vực điện tử, việc đưa các thông tin quảng cáo đến với người tiêu dùng thật dễ dàng và nhanh chóng. Sản phẩm của doanh nghiệp sẽ được giới thiệu đến mọi người thông qua hình thức quảng cáo.
Trong rất nhiều hình thức quảng cáo thông tin như : báo, tivi, các website… thì hình thức dùng bảng thông tin điện tử là cách đơn giản và hiệu quả để quảng cáo. Chúng ta dễ dàng bắt gặp các bảng thông tin điện tử như vậy ở sân bay, nhà ga, ngân hàng…hoặc các bảng quảng cáo sản phẩm của doanh nghiệp trên đường phố lúc về đêm.
Qua đó thấy rằng, bảng thông tin điện tử được ứng dụng rất rộng rãi trong các lĩnh vực khác nhau : giới thiệu sản phẩm, biển thông báo, biển hiệu. Để hiển thị và thay đổi nội dung thông tin trên bảng quang báo đòi hỏi phải có kiến thức về lĩnh vực điện tử nhất định, do đó sẽ gây nhiều khó khăn cho đa số người dùng. Vì thế để tránh mất thời gian và để thuận tiện hơn cho người sử dụng, nhóm chúng em quyết định nghiên cứu và thực hiện đề tài “Thiết kế mạch quang báo giao tiếp bàn phím máy tính”. Thao tác hiển thị và thay đổi nội dung trở nên đơn giản và hiệu quả.
Trong quá trình thực hiện đề tài, nhóm chúng em đã nhận được sự giúp đỡ tận tình của thầy Lê Minh. Khi chúng em gặp khó khăn thì thầy đã nhiệt tình phân tích và chỉ dẫn hướng giải quyết cho chúng em. Nhóm chúng em xin trọng cám ơn thầy.
MỤC LỤC
Trang
Phần A Giới thiệu
Trang bìa
Trang chấm ĐAMH của GVHD
Lời nói đầu
Mục lục
Liệt kê bảng
Liệt kê hình
Phần B Nội dung 1
Chương 1 Cơ sở lý thuyết 2
1.1 Giới thiệu vi điều khiển ATmega16L 2
1.1.1 Giới thiệu 2
1.1.2 Khảo sát sơ đồ chân 2
1.1.3 Cấu trúc của ATmega16L 3
1.1.4 Truyền thông nối tiếp đồng bộ và không đồng bộ(USART) 4
1.2 Led ma trận 6
1.3 Bàn phím PS/2 8
1.3.1 Sơ đồ chân 8
1.3.2 Nguyên lý hoạt động 8
1.3.3 Giao thức của bàn phím 9
Chương 2 Sơ đồ khối 10
2.1 Sơ đồ khối 10
2.2 Chức năng các khối 10
Chương 3 Thiết kế 11
3.1 Thiết kế các khối 11
3.2 Sơ đồ nguyên lý 11
3.2.1 Mạch nguyên lý mạch vi điều khiển 12
3.2.2 Mạch nguyên lý mạch led ma trận 13
3.3 Linh kiện sử dụng trong mạch 14
Chương 4 Thi công 15
4.1 Sơ đồ mạch in 15
4.1.1 Mạch in mạch vi điều khiển 15
4.1.2 Mạch in mạch led ma trận 15
4.2 Hàn và ráp linh kiện 17
4.3 Kết quả thi công 17
Chương 5 Kết luận 18
5.1 Kết quả đạt được 18
5.2 Hạn chế và hướng phát triển 18
Phần C Phụ lục và Tài liệu tham khảo 19
Phụ lục I Lưu đồ giải thuật 20
Phụ lục II Mã nguồn chương trình 23
Phụ lục III Giới thiệu IC liên quan 34
Tài liệu tham khảo 36
LIỆT KÊ BẢNG
Bảng 1.1 Độ dài dữ liệu truyền 6
Bảng 1.2 Tính tốc độ Baud 6
Bảng 1.3 Mã scancode của bàn phím 9
Bảng 3.1 Linh kiện sử dụng trong mạch 14
LIỆT KÊ HÌNH
Hình 1.1 Sơ đồ chân của ATmega16L 2
Hình 1.2 Bộ nhớ chương trình 3
Hình 1.3 Bộ nhớ dữ liệu 3
Hình 1.4 Thanh ghi UDR 4
Hình 1.5 Thanh ghi UCSRA 4
Hình 1.6 Thanh ghi UCSRB 5
Hình 1.7 Thanh ghi UCSRC 5
Hình 1.8 Thanh ghi UBRRH và UBRRL 6
Hình 1.9 Led ma trận 8x8 7
Hình 1.10 Sáng chữ A 7
Hình 1.11 Cổng PS/2 8
Hình 1.12 Giản đồ thời gian truyền 1 byte từ bàn phím đến thiết bị chủ 9
Hình 2.1 Sơ đồ khối 10
Hình 3.1 Mạch nguyên lý mạch vi điều khiển 12
Hình 3.2 Mạch nguyên lý mạch led ma trận 13
Hình 4.1 Mạch in mạch vi điều khiển 15
Hình 4.2 Mạch in mạch led ma trận 16
Hình 4.3 Mạch thực tế 17
Hình III.1 Sơ đồ logic của 74HC595 34
Hinh III.2 Sơ đồ chân ULN2803 35
Phần B
NỘI DUNG
Chương 1
CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu vi điều khiển ATmega16L
1.1.1 Giới thiệu
ATmega16L là vi điều khiển thuộc họ AVR do hãng Atmel sản xuất. Đây là chip vi điều khiển 8 bit khá mạnh, có nhiều tính năng, độ ổn định, khả năng tích hợp, sự mềm dẻo trong việc lập trình và rất tiện lợi.
Các tính năng của ATmega16L :
Bộ nhớ Flash 16KB, 512 byte EEPROM, 1 KB SRAM cho phép nạp xóa 10000 Flash/100000 EEPROM
Có 32 chân vào ra dữ liệu chia làm 4 port : PORT A,B,C,D và cả 4 Port đều có điện trở kéo lên.
Giao tiếp SPI – Giao tiếp I2C – Có 8 kênh ADC 10 bit
2 bộ Timer/Couter 8 bit, 1 bộ Timer/Couter 16 bit
1 bộ USART
1.1.2 Khảo sát sơ đồ chân
Hình 1.1 trình bày sơ đồ chân ATmega16L
Các PORT A, B, C, D là các Port xuất nhập của ATmega16L
VCC, GND là các chân cấp nguồn cho vi điều khiển với điện áp hoạt động là 5V
RESET là chân reset của ATmega16L, tín hiệu reset này tích cực mức thấp.
XTAL1, XTAL2 là 2 chân tạo bộ dao động ngoài cho vi điều khiển. Tần số thạch anh sử dụng cho ATmega16L là 0 – 8 MHz.
AREF là chân lấy điện áp chuẩn khi sử dụng bộ ADC.
AVCC là chân ổn định điện áp cho bộ biến đổi khi sử dụng bộ ADC.
Hình 1.1 : Sơ đồ chân của ATmega16L
1.1.3 Cấu trúc của ATmega16L
ATmega16L có cấu trúc Havard, trong đó đường truyền cho bộ nhớ dữ liệu và đường truyền cho bộ nhớ chương trình được tách riêng.
* Bộ nhớ chương trình : là bộ nhớ Flash lập trình được gồm 2 phần : phần đầu chứa các vector ngắt và phần mã lệnh nằm ngay sau đó.
Hình 1.2 : Bộ nhớ chương trình
* Bộ nhớ dữ liệu : Chia thành 5 phần
Hình 1.3 : Bộ nhớ dữ liệu
Phần 1 : Là phần đầu tiên trong bộ nhớ dữ liệu gồm 32 thanh ghi 8 bit có tên là Register File (RF). Các thanh ghi này được đặt tên theo thứ tự từ R0 đến R31. Chúng là nguồn chứa các số hạng trong phép toán và cũng là đích chứa kết quả trả lại của phép toán
Phần 2 : nằm ngay sau Register File, gồm 64 thanh ghi nhập/xuất (64 I/O Register) hay còn gọi là vùng nhớ I/O (I/O Memory). Tất cả các thanh ghi điều khiển, trạng thái… của thiết bị đều nằm ở đây. Việc điều khiển các Port có liên quan đến 3 thanh ghi DDRx, PORTx và PINx (x là tên của Port), tất cả 3 thanh ghi này đều nằm trong vùng nhớ I/O.
Thanh ghi DDRx : thanh ghi điều khiển hướng dữ liệu vào/ra cho các chân của cổng. Viết giá trị 1 vào một bit trong thanh ghi DDRx thì chân tương ứng của PORTx sẽ là chân xuất, ngược lại giá trị 0 thì chân tương ứng sẽ là ngõ nhập.
Thanh ghi PORTx : thanh ghi xác lập điện trở kéo lên.
Thanh ghi PINx : dùng để đọc giá trị logic trên các chân của PORTx
Phần 3 : RAM tĩnh, nội (Internal SRAM), là vùng chứa các biến tạm thời trong lúc thực thi chương trình.
Phần 4 : RAM ngoại, chỉ tồn tại khi gắn thêm bộ nhớ ngoài
Phần 5 : EEPROM, bộ nhớ này không bị xóa ngay cả khi mất điện, thích hợp cho việc lưu dữ liệu. Phần bộ nhớ EEPROM được tách riêng và có địa chỉ tính từ 0x0000.
1.1.4 Truyền thông nối tiếp đồng bộ và không đồng bộ (USART)
Vi điều khiển ATmega16L có 1 bộ USART. Có 3 chân liên quan đến module này là chân xung nhịp (XCK), chân truyền dữ liệu (TXD), chân nhận dữ liệu (RXD).
Có 5 thanh ghi liên quan đến việc điều khiển và hoạt động của USART là:
* UDR : là thanh ghi dữ liệu, là thanh ghi 8 bit có chức năng chứa giá trị nhận được và phát đi của USART.
Hình 1.4 : Thanh ghi UDR
* UCSRA : là 1 trong 3 thanh ghi điều khiển hoạt động của USART, thanh ghi này chủ yếu chứa các bit trạng thái
Hình 1.5 : Thanh ghi UCSRA
RXC : báo quá trình nhận kết thúc
TXC : báo quá trình truyền kết thúc.
UDRE : báo thanh ghi dữ liệu đang trống.
FE : khung truyền có lỗi
DOR : dữ liệu tràn.
PE : kiểm tra Parity có lỗi.
U2X : bit chỉ định gấp đôi tốc độ truyền
MPCM : bit chọn chế độ hoạt động đa xử lý.
* UCSRB : thanh ghi quan trọng điều khiển USART
Hình 1.6 : Thanh ghi UCSRB
RXCIE : bit cho phép ngắt khi quá trình nhận kết thúc.
TXCIE : bit cho phép ngắt khi quá trình truyền kết thúc.
UDRIE : bit cho phép ngắt khi thanh ghi UDR trống.
RXEN : bit điều khiển bộ nhận của USART, để kích hoạt chức năng nhận dữ liệu phải set bit này lên 1.
TXEN : bit điều khiển bộ truyền phát
UCSZ2 : bit này kết hợp với 2 bit khác trong thanh ghi UCSRC quy định độ dài của dữ liệu truyền nhận.
RXB8 : đóng vai trò là bit nhận thứ 9 trong chế độ truyền thông 9 bit, 8 bit đầu được chứa trong UDR.
TXB8 : đóng vai trò là bit truyền thứ 9 trong chế độ truyền thồng 9 bit, 8 bit đầu được chứa trong UDR.
* UCSRC : thanh ghi quy định khung truyền và chế độ truyền
Hình 1.7 : Thanh ghi UCSRC
Thanh ghi này có địa chỉ trùng với thanh ghi UBRRH (thanh ghi chứa byte cao dùng để xác lập tốc độ baud). Vì thế bit thứ 7 trong thanh ghi này, tức bit URSEL là bit chọn thanh ghi. Khi URSEL=1 thì thanh ghi UCSRC được chọn, nếu URSEL=0 thì thanh ghi UBRRH được chọn.
UMSEL : bit chọn chế độ truyền thông đồng bộ và không đồng bộ. Nếu UMSEL=1 thì chế độ đồng bộ được kích hoạt, nếu UMSEL=0 thì chế độ không đồng bộ được sử dụng.
UPM1 và UPM0 : hai bit được dùng để quy định kiểm tra Parity. Nếu UPM1:0=00 thì Parity không được sử dụng, nếu UPM1:0=10 thì Parity chẵn được dùng, nếu UPM1:0=11 thì Parity lẻ được dùng.
USBS : bit Stop trong khung truyền, nếu USBS=1 thì sẽ có 2 Stop bit, nếu USBS=0 thì sẽ có 1 Stop bit.
UCSZ1 và UCSZ0 : hai bit này kết hợp với bit UCSZ2 trong thanh ghi UCSRB quy định độ dài dữ liệu truyền. Bảng 1.1 tóm tắt các giá trị có thể của tổ hợp 3 bit này và độ dài truyền dữ liệu tương ứng.
Bảng 1.1: Độ dài dữ liệu truyền
UCPOL : bit chỉ chế độ xung kích trong chế độ truyền thông đồng bộ. Nếu UCPOL=0 thì dữ liệu thay đổi ở cạnh lên của xung, nếu UCPOL=1 thì dữ liệu thay đổi ở cạnh xuống của xung.
* UBRRH và UBRRL : hai thanh ghi thấp và cao quy định tốc độ baud
Hình 1.8 : Thanh ghi UBRRH và UBRRL
Như trong hình trên, chỉ có 4 bit thấp của UBRRH được dùng, 4 bit này kết hợp với 8 bit trong thanh ghi UBRRL tạo thành 12 bit quy định tốc độ baud. Nếu ghi vào thanh ghi UBRRL thì tốc độ baud sẽ tức thì được cập nhật. Vì thế phải ghi vào UBRRH trước sau đó mới ghi vào UBRRL.
Bảng 1.2 trình bày cách tính tốc độ baud dựa vào giá trị của thanh ghi UBRR và ngược lại, cách tính giá trị cần thiết cho thanh ghi UBRR khi đã biết tốc độ baud.
Bảng 1.2 : Tính tốc độ Baud
1.2 Led ma trận
Led ma trận là 1 tập hợp các led đơn được bố trí theo ma trận hình chữ nhật hay vuông, cho phép hiển thị ký tự bất kỳ. Trên thị trường có các loại ma trận led được tích hợp sẵn như 7x5 ( 7 hàng và 5 cột), 8x8 (8 hàng và 8 cột) .v.v.
Hình 1.9 : Led ma trận 8x8
Trong led ma trận : theo hàng thì các anode được nối chung, theo cột thì các cathode được nối chung. Như vậy với led ma trận 7x5 thì có 7 hàng và 5 cột. Anode nối với mức cao(H) và cathode nối với mức thấp(L) thì led sáng, các trường hợp còn lại led tắt. Hình 1.10 hiển thị chữ A trên led ma trận 8x8, có 2 cách hiển thị chữ A :
Hình 1.10 : Sáng chữ A
Cách 1 : mã quét gởi ra cột và dữ liệu gởi ra hàng:
Chọn cột 1 (bằng cách kéo cột 1 xuống mức L) các cột còn lại ở mức H , sau đó gởi byte dữ liệu ra 8 hàng (led nào sáng thì bit tương ứng bằng 1, led nào tắt thì bit tương ứng bằng 0).
Chọn cột 2 sau đó gửi byte dữ liệu tương ứng ra 8 hàng.
Chọn cột 3 sau đó gửi byte dữ liệu tương ứng ra 8 hàng.
Chọn cột 4 sau đó gửi byte dữ liệu tương ứng ra 8 hàng.
Chọn cột 5 sau đó gửi byte dữ liệu tương ứng ra 8 hàng.
Do tốc độ quét nhanh nên chúng ta sẽ thấy sáng cả chữ A.
Các byte dữ liệu có thể sử dụng chương trình tạo mã ma trận để lấy mã dễ dàng.
Với led ma trận 8x8, nếu chọn dòng làm việc cho 1 led là 20mA thì dòng cần cho 1 cột sẽ là 20 mA * 8= 160 mA. Vì thế cần đảm bảo cấp đủ dòng để led ma trận được sáng rõ.
Ưu điểm :
Khi mở rộng thêm led chỉ cần kết nối song song 8 hàng và cột dùng thanh ghi dịch rất đơn giản do số đường điều khiển ít.
Mỗi 1 thời điểm chỉ có 1 cột sáng nên dòng tiêu thụ thấp
Mạch đơn giản.
Khuyết điểm :
Bị giới hạn số cột vì khi mở rộng càng nhiều cột thì thời gian tắt của led tăng thêm. Giả sử có 100 cột thì thời gian sáng của mỗi cột bằng 1/100, thời gian tắt bằng 99/100.
Cách 2 : mã quét gửi ra hàng và dữ liệu gửi ra cột
Chọn hàng 1 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 2 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 3 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 4 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 5 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 6 sau đó đưa dữ liệu tương ứng ra các cột
Chọn hàng 7 sau đó đưa dữ liệu tương ứng ra các cột
Ưu điểm :
Khi tăng thêm led => số cột tăng lên thì thời gian sáng/tắt của led vẫn khổng đổi là 1/8.
Khuyết điểm :
Dòng cấp cho led lớn
Do số cột tăng nên cần nhiều thời gian để đưa dữ liệu ra cột
Với bảng quảng cáo led lớn có nhiều led phải sử dụng IC có tốc độ cao để quét.
1.3 Bàn phím PS/2
1.3.1 Sơ đồ chân
Hình 1.11 : Cổng PS/2
Cổng PS/2 gồm có 6 chân trong đó chỉ sử dụng 4 chân :
+ VCC và GND cấp nguồn 5V cho bàn phím
+ DATA : đường dữ liệu
+ CLOCK : đường xung clock
1.3.2 Nguyên lý hoạt động
Khi một phím bất kỳ trên bàn phím được nhấn, nó sẽ phát ra 1 mã hex cố định, mã này được gọi là “scan code”. Theo sau mã scan code là mã “break code” để xác định phím đó được nhả, nó gồm có 2 byte : byte đầu thường là F0, byte thứ 2 lặp lại byte mã scan code. Bảng 1.3 trình bày mã scancode của một số phím trên bàn phím.
Bảng 1.3 : Mã scancode của bàn phím
1.3.3 Giao thức của bàn phím
Có 2 chế độ giao tiếp : chế độ từ bàn phím đến thiết bị chủ và chế độ từ thiết bị chủ đến bàn phím. Trong đề tài này sẽ không trình bày chế độ giao tiếp từ thiết bị chủ đến bàn phím, chỉ tập trung vào chế độ từ bàn phím đến thiết bị chủ.
Bàn phím ở trạng thái nghỉ sẵn sàng để gửi dữ liệu chỉ khi cả 2 đường DATA và CLOCK đều ở mức cao. Để truyền dữ liệu được chính xác thì khung truyền 11 bit được sử dụng. Bit đầu tiên là bit Start (mức 0), theo sau là 8 bit dữ liệu (bit LSB được truyền trước), 1 bit Parity (Odd Parity) và kết thúc là bit Stop (mức 1).
Hình 1.12 : Giản đồ thời gian truyền 1 byte từ bàn phím đến thiết bị chủ
Dữ liệu được thay đổi tại cạnh lên của xung Clock và để thu được dữ liệu chính xác thì phải đọc ngay tại cạnh xuống của xung Clock.
Để thu dữ liệu có thể sử dụng ngắt cạnh xuống của vi điều khiển hoặc dùng chế độ truyền thông nối tiếp đồng bộ (USART) của vi điều khiển.
Chương 2
SƠ ĐỒ KHỐI
2.1 Sơ đồ khối
Hình 2.1 : Sơ đồ khối
2.2 Chức năng các khối
- Khối Bàn phím :
Sử dụng bàn phím để nhập chữ hoặc ký tự cần hiển thị lên led ma trận
- Khối Vi điều khiển :
Dùng vi điểu khiển để xuất tín hiệu cho khối điều khiển cột và xuất dữ liệu ra khối điều khiển hàng để hiển thị được chữ hoặc ký tự lên led ma trận
- Khối điều khiển hàng :
Nhiệm vụ của khối này là đưa dữ liệu ra hàng của led ma trận và đệm dòng cho hàng để đảm bảo cấp đủ dòng cho led ma trận.
- Khối điều khiển cột :
Thực hiện việc quét cột led ma trận liên tục để chữ hoặc ký tự được hiển thị. Đồng thời cũng cần đệm dòng cho cột để đảm bảo độ sáng của led ma trận
- Khối led ma trận :
Hiển thị chữ hoặc ký tự
Chương 3
THIẾT KẾ
3.1 Thiết kế các khối
Dựa trên sơ đồ khối đã thiết kế, nhóm thực hiện đề tài bắt đầu thiết kế từng khối
- Khối bàn phím : sử dụng bàn phím máy tính chuẩn PS/2. Cấu tạo bàn phím thường là 101 hoặc 102 phím, với đầy đủ các phím ký tự và phím số, dễ dàng trong việc soạn thảo để hiển thị.
- Khối vi điều khiển : dùng vi điều khiển ATmega16L với 1 KB SRAM đủ dung lượng để nhận nhiều ký tự từ bàn phím.
- Khối điều khiển hàng : dùng IC ULN2803 đệm cho hàng (vì IC ULN2803 là đệm đảo nên bảng mã led ma trận sẽ bị đảo), kết hợp sử dụng transistor npn D468 với dòng Ic=1 A đảm bảo dòng cung cấp đủ cho các hàng của led ma trận.
- Khối điều khiển cột : dùng IC dịch 74HC595 để quét cột của led ma trận. Vì dòng ngõ ra của IC 74HC595 chỉ là 20mA không đủ để đệm dòng cho cột của led ma trận, phải sử dụng thêm IC ULN2803 để đệm dòng cho cột
- Khối led ma trận : dùng 4 led ma trận 8x8 1 màu để hiển thị chữ hoặc ký tự được nhập từ bàn phím.
3.2 Sơ đồ nguyên lý
Để đỡ phức tạp trong việc vẽ mạch in, sơ đồ nguyên lý được chia làm 2 mạch : mạch vi điều khiển và mạch led ma trận
3.2.1 Mạch nguyên lý mạch vi điều khiển
Hình 3.1: Mạch nguyên lý mạch vi điều khiển
3.2.2 Mạch nguyên lý mạch led ma trận
3.3 Linh kiện sử dụng trong mạch
Bảng 3.1 : Linh kiện sử dụng trong mạch
Số thứ tự
Tên linh kiện
Số lượng
1
Vi điều khiển ATmega16L
1
2
IC ULN2803
5
3
IC 74HC595
4
4
Transistor NPN D468
8
5
IC ổn áp 7805
2
6
Domino 2
2
7
Jack nguồn DC
2
8
Điện trở thanh 4k7
1
9
Điện trở 10k
9
10
Thạch anh 8 Mhz
1
11
Điện trở 1k
1
12
Điện trở 680 ohm
1
13
Led 3mm
2
14
Led ma trận 8x8
4
15
Tụ 1000uF/16V
1
16
Tụ 100uF/50V
1
17
Tụ 10uF/50V
1
18
Tụ 2.2uF/50V
1
19
Tụ 104
1
20
Tụ 22p
2
21
Cổng PS/2
1
22
Nút nhấn mềm
1
Chương 4
THI CÔNG
4.1 Sơ đồ mạch in
Từ sơ đồ nguyên lý đã thiết kế, nhóm thực hiện đề tài tiến hành vẽ mạch in
4.1.1 Mạch in mạch vi điều khiển
Hình 4.1 : Mạch in mạch vi điều khiển
4.1.2 Mạch in mạch led ma trận
Hình 4.2 : Mạch in mạch led ma trận
4.2 Hàn và ráp linh kiện
Sau khi vẽ xong mạch in, nhóm thực hiện đề tài đem sơ đồ mạch in đi in, sau đó là tiến hành ủi và rửa mạch.
Kế đến nhóm thực hiện đề tài gắn và hàn các linh kiện lên mạch. Trong quá trình gắn và hàn linh kiện nhóm thực hiện đề tài đã chú ý đến : gắn đúng chân của các transistor, sử dụng thêm đế IC để khi hàn không làm hỏng IC, gắn đúng chiều các IC lên đế.
4.3 Kết quả thi công
Sau khi đã hàn và ráp linh kiện, nhóm thực hiện đề tài kiểm tra mạch (kiểm tra các mối hàn xem có bị dính với nhau không, kiểm tra các linh kiện có bị gắn ngược không…) và bắt đầu viết code cho mạch.
Khi code đã hoàn thành, nhóm thực hiện đề tài tiến hành nạp code cho vi điều khiển và chạy thử. Mạch chạy đúng và đạt yêu cầu. Khi nhập các ký tự bất kỳ trên bàn phím sẽ hiển thị đúng các ký tự đó trên led ma trận
Hình 4.3 : Mạch thực tế
Chương 5
KẾT LUẬN
5.1 Kết quả đạt được
Sau nhiều tuần tích cực tìm hiểu và nỗ lực thực hiện, nhóm thực hiện đề tài đã hoàn thàn