Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa học kỹ thuật, cho nên nhu cầu về thông tin trở nên thiết yếu đối với con người trong cuộc sống cũng như trong hoạt động sản xuất kinh doanh. Việc đưa thông tin quảng cáo đến với người tiêu dùng,đến với xã hội trở nên dễ dàng và nhanh chóng. Thông qua nhiều hình thức quảng cáo khác nhau mà các doanh nghiệp giới thiệu sản phẩm của mình đến mọi người.Trong nhiều hình thức đa dạng của thông tin quảng cáo như báo, đài, tivi,tờ rơi, áp phích thì việc dùng bảng thông tin điện tử là một cách đơn giản và hiệu quả để quảng cáo.
Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi đi vào một hiệu sách, bạn có thể biết được hiệu sách đó bán loại sách gì, giá cả ra sao là nhờ vào bảng đèn quang báo rất bắt mắt trước cửa hiệu. Hoặc khi vào sân bay, bạn biết được giờ giấc các chuyến bay, các thông báo ngắn của phi trường, cũng là nhờ vào quang báo. Và khi đi trên đường phố lúc về đêm, bạn sẽ bắt gặp cùng với ánh đèn màu là rất nhiều các bảng quang báo lớn với các hình ảnh sinh động như ly bia Tiger đang trào bọt, hay các hình ảnh, logo hiện lên với đủ kiểu (từ trên xuống, từ trái sang, ).
Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng trong đời sống hiện đại và để mọi người biết đến một vài ứng dụng cụ thể cũng như tầm quan trọng của các hệ thống nhúng,nhóm em đã tìm hiểu và đưa ra mô hình quang báo sử dụng LED ma trận 8x32.
Thực hiện thiết kế môn học em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Lê Mạnh Tuấn – Bộ môn Hệ Thống Nhúng đã giúp em hoàn thành đề tài một cách tốt nhất.
41 trang |
Chia sẻ: oanh_nt | Lượt xem: 1154 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Đồ án Hiển thị chữ “DH GTVT CO SO 2” trên nền led ma trận 8x32, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhận xét của giáo viên
……………………………………………………………………………………………………………………………..………………..
……………………………………………………………………………………………………………………………..………………..
……………………………………………………………………………………………………………………………..………………..
……………………………………………………………………………………………………………………………..………………..
……………………………………………………………………………………………………………………………..………………..
……………………………………………………………………………………………………………………………..………………..
Tp.HCM, Ngày… Tháng… Năm 2012
Giáo viên
(Ký ghi rõ họ tên)
MỤC LỤC
LỜI NÓI ĐẦU
Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa học kỹ thuật, cho nên nhu cầu về thông tin trở nên thiết yếu đối với con người trong cuộc sống cũng như trong hoạt động sản xuất kinh doanh. Việc đưa thông tin quảng cáo đến với người tiêu dùng,đến với xã hội trở nên dễ dàng và nhanh chóng. Thông qua nhiều hình thức quảng cáo khác nhau mà các doanh nghiệp giới thiệu sản phẩm của mình đến mọi người.Trong nhiều hình thức đa dạng của thông tin quảng cáo như báo, đài, tivi,tờ rơi, áp phích… thì việc dùng bảng thông tin điện tử là một cách đơn giản và hiệu quả để quảng cáo.
Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi đi vào một hiệu sách, bạn có thể biết được hiệu sách đó bán loại sách gì, giá cả ra sao… là nhờ vào bảng đèn quang báo rất bắt mắt trước cửa hiệu. Hoặc khi vào sân bay, bạn biết được giờ giấc các chuyến bay, các thông báo ngắn của phi trường,…cũng là nhờ vào quang báo. Và khi đi trên đường phố lúc về đêm, bạn sẽ bắt gặp cùng với ánh đèn màu là rất nhiều các bảng quang báo lớn với các hình ảnh sinh động như ly bia Tiger đang trào bọt, hay các hình ảnh, logo hiện lên với đủ kiểu (từ trên xuống, từ trái sang, ……).
Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng trong đời sống hiện đại và để mọi người biết đến một vài ứng dụng cụ thể cũng như tầm quan trọng của các hệ thống nhúng,nhóm em đã tìm hiểu và đưa ra mô hình quang báo sử dụng LED ma trận 8x32.
Thực hiện thiết kế môn học em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Lê Mạnh Tuấn – Bộ môn Hệ Thống Nhúng đã giúp em hoàn thành đề tài một cách tốt nhất.
Em xin chân thành cảm ơn!
Sinh viên thực hiện: Lâm Quốc Hùng
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG NHÚNG
Tóm tắt
Giới thiệu và nêu khái niệm hệ thống nhúng. Trình bày vai trò của hệ thống nhúng trong ngành công nghệ cao.
1.1. Mở đầu
Trong sự phát triển mạnh mẽ của khoa học kĩ thuật với nền kinh tế trí thức và xu hướng hội nhập toàn cầu như hiện nay, thế giới và Việt Nam đang thực hiện việc kết hợp giữa các ngành thuộc lĩnh vực công nghệ cao trong một Khoa hoặc cơ sở đào tạo. Đó là lĩnh vực khoa học dưới 3 ngọn cờ: Máy tính, Điện tử- Viễn thông và Điều khiển tự động mà ta thường gọi là “3 C” (Computer – Communication - Control). Có thể nói, các quá trình sản xuất và quản lí hiện nay như: các hệ thống đo lường điều khiển tự động trong sản xuất công nghiệp; các hệ thống di động và không dây tiên tiến, các hệ thống thông tin vệ tinh, các hệ thống thông tin dựa trên Web, chính phủ điện tử, thương mại điện tử, các cơ sở dữ liệu của nhiều ngành kinh tế và của Quốc gia, các hệ thống thiết bị Y tế hiện đại, các thiết bị điện tử dân dụng, ... đều là sản phẩm của sự kết hợp giữa các lĩnh vực khoa học trên.
Hiện nay chúng ta đang ở thời đại hậu PC sau giai đoạn phát triển của máy tính lớn (Mainframe) 1960-1980, và sự phát triển của PC-Internet giai đoạn 1980-2000. Giai đoạn hậu PC-Internet này được dự đoán từ năm 2000 đến 2020 là giai đoạn của môi trường thông minh mà hệ thống nhúng là cốt lõi và đang làm nên làn sóng đổi mới trong công nghệ thông tin nói riêng và lĩnh vực công nghệ cao “3C”, nói chung. Một thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần thị trường PC, trong khi đó chúng ta mới nhìn thấy bề nổi của công nghệ thông tin là PC và Internet còn phần chìm của công nghệ thông tin chiếm 99% số processor trên toàn cầu này nằm trong các hệ nhúng thì còn ít được biết đến.
Phát triển các hệ nhúng và phần mềm nhúng là quốc sách của nhiều quốc gia trên thế giới, nhất là giai đoạn hậu PC hiện nay. Ở nước ta đáng tiếc lĩnh vực này lâu nay đã bị lãng quên, do vậy cần có những điều chỉnh phù hợp trong chiến lược phát triển để có thể theo kịp, rút ngắn khoảng cách tụt hậu đối với các nước trong khu vực và trên thế giới trong quá trình hội nhập nền kinh tế toàn cầu không thể tránh khỏi hiện nay.
1.2. Khái niệm về hệ nhúng
Hệ thống nhúng (tiếng Anh: Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Hệ thống nhúng có vai trò đảm nhận một phần công việc cụ thể của hệ thống mẹ. Hệ thống nhúng có thể là một hệ thống phần cứng và cũng có thể là một hệ thống phần mềm. (Wikipedia, 2010)
Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm điện, điều hòa, điện thoại di động, ô tô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành thông minh v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong cuộc sống của chúng ta.
Hình 1: Một số ví dụ về các thống nhúng thông dụng
Các nhà thống kê trên thế giới đã thống kê được rằng số chip vi xử lý ở trong các máy PC và các server, các mạng LAN, WAN, Internet chỉ chiếm khoảng 1% tổng số chip vi xử lý có trên thế giới, 99% số vi xử lý còn lại nằm trong các hệ thống nhúng.
Như vậy công nghệ thống không chỉ đơn thuần là PC, mạng LAN, WAN, Internet phần mềm quản lý ... như nhiều người thường nghĩ. Đó chỉ là bề nổi của một tảng băng chìm. Phần chìm của công nghệ thông tin chính là các ứng dụng của các hệ nhúng có mặt trong mọi ngành nghề của đời sống xã hội hiện nay.
Hệ điều khiển nhúng là hệ thống mà máy tính được nhúng vào vòng điều khiển của sản phẩm nhằm điều khiển một đối tượng, điều khiển một quá trình công nghệ đáp ứng các yêu cầu đặt ra. Hệ thống điều khiển nhúng lấy thông tin từ các cảm biến, xử lý tính toán các thuật điều khiển và phát tín hiệu điều khiển cho các cơ cấu chấp hành.
Khác với các hệ thống điều khiển cổ điển theo nguyên lý thủy lực, khí nén, rơle, mạch tương tự, hệ điều khiển nhúng là hệ thống điều khiển số được hình thành từ những năm 1960 đến nay. Trước đây các hệ điều khiển số thường do các máy tính lớn đảm nhiệm, ngày nay chức năng điều khiển số này do các chíp vi xử lý, các hệ nhúng đã thay thế. Phần mềm điều khiển ngày càng tinh sảo tạo nên độ thông minh của thiết bị và ngày càng chiếm tỉ trọng lớn trong giá thành của thiết bị.
Điểm qua về chức năng xử lý tin ở PC và ở các thiết bị nhúng có những nét khác biệt. Đối với PC và mạng internet chức năng xử lý đang được phát triển mạnh ở các lĩnh vực quản lý và dịch vụ như thương mại điện tử, ngân hàng điện tử, chính phủ điện tử, thư viện điện tử, đào tạo từ xa, báo điện tử ... các ứng dụng này thường sử dụng máy PC để bàn, mạng WAN, LAN hoạt động trong thế giới ảo. Còn đối với các hệ nhúng thì chức năng xử lý tính toán được ứng dụng cụ thể cho các thiết bị vật lý (thế giới thật) như mobile phone, quần áo thông minh, các thiết bị điện tử cầm tay, thiết bị y tế, xe ô tô, tầu tốc hành, phương tiện vận tải thông minh, máy đo, đầu đo, cơ cấu chấp hành thông minh, các hệ thống điều khiển, nhà thông minh, thiết bị gia dụng thông minh v.v...
1.3. Vai trò của hệ thống nhúng trong sự phát triển của lĩnh vực công nghệ cao “3C “.
Trong khi các hệ thống tin học sử dụng máy tính để hỗ trợ và tự động hóa quá trình quản lý, thì các hệ thống điều khiển tự động dùng máy tính để điều khiển và tự động hóa quá trình công nghệ. Chính vì vậy các thành tựu của công nghệ phần cứng và công nghệ phần mềm của máy tính điện tử được áp dụng và phát triển một cách có chọn lọc và hiệu quả cho các hệ thống điều khiển tự động. Và sự phát triển như vũ bão của công nghệ thông tin kéo theo sự phát triển không ngừng của lĩnh vực tự động hóa.
Ta có thể thấy quá trình các hệ nhúng thâm nhập vào từng phần tử, thiết bị thuộc lĩnh vực tự động hóa như đầu đo, cơ cấu chấp hành, thiết bị giao diện với người vận hành thậm chí vào các rơle, contactor, nút bấm mà trước kia hoàn toàn làm bằng cơ khí.
Trước khi đầu đo gồm phần tử biến đổi từ tham số đo sang tín hiệu điện, mạch khuyếch đại, mạch lọc và mạch biến đổi sang chuẩn 4-20mA để truyền tín hiệu đo về trung tâm xử lý. Hiện nay đầu đo đã tích hợp cả chip vi xử lý, biến đổi ADC, bộ truyền dữ liệu số với phần mềm đo đạc, lọc số, tính toán và truyền kết quả trên mạng số về thẳng máy tính trung tâm. Như vậy đầu đo đã được số hóa và ngày càng thông minh do các chức năng xử lý từ máy tính trung tâm trước kia nay đã được chuyển xuống xử lý tại chỗ bằng chương trình nhúng trong đầu đo.
Tương tự như vậy cơ cấu chấp hành như môtơ đã được chế tạo gắn kết hữu cơ với cả bộ servo với các thuật toán điều chỉnh PID tại chỗ và khả năng nối mạng số tới máy tính chủ.
Các tủ rơle điều khiển chiếm diện tích lớn trong các phòng điều khiển nay được co gọn trong các PLC(programble Logic Controller).
Các bàn điều khiển với hàng loạt các đồng hồ chỉ báo, các phím, núm điều khiển, các bộ tự ghi trên giấy cồng kềnh nay được thay thế bằng một vài PC.
Hệ thống cáp truyền tín hiệu analog 4-20mA, ± 10V từ các đầu đo, cơ cấu chấp hành về trung tâm điều khiển nhằng nhịt trước đây đã được thay thế bằng vài cáp đồng trục hoặc cáp quang truyền dữ liệu số
Ta có thể nói các hệ nhúng đã “thay thế và chiếm phần ngày càng nhiều” trong các phần tử, hệ thống thuộc lĩnh vực công nghệ cao “3C”.
Trong lĩnh vực rôbôt, với sự áp dụng các thành tựu của các hệ nhúng, rôbôt đã có thị giác và xúc giác. Việc áp dụng trí khôn nhân tạo vào rôbôt đã đưa rôbôt từ ứng dụng chủ yếu trong công nghiệp sang các lĩnh vực dịch vụ và y tế. Kết hợp với các thành tựu của cơ điện tử, rôbôt ngày càng uyển chuyển và thông minh hơn. Trong tương lai rôbôt không chỉ thay thế hoạt động cơ bắp của con người mà còn có thể thay thể các công việc đòi hỏi họat động trí não của con người. Lúc này hệ thống điều khiển của rôbôt không chỉ là các vi xử lý mạnh mà còn có sự hỗ trợ của các máy tính mạng nơron nhân tạo, xử lý song song nhúng trong rôbôt. Các nghiên cứu phát triển này hiện nay còn ở giai đoạn ban đầu.
1.4. Đặc tính, phương pháp thiết kế và xu thế phát triển của các hệ nhúng
Các hệ nhúng là những hệ kết hợp phần cứng và phần mềm một cách tối ưu. Các hệ nhúng là những hệ chuyên dụng, thường hoạt động trong chế độ thời gian thực, bị hạn chế về bộ nhớ, giá thành phải rẻ nhưng lại phải hoạt động tin cậy và tiêu tốn ít năng lượng. Các hệ nhúng rất đa dạng và có nhiều kích cỡ, khả năng tính toán khác nhau. Ngoài ra các hệ nhúng thường phải hoạt động trong môi trường khắc nghiệt có độ nóng ẩm, rung xóc cao. Ví dụ như các điều khiển các máy diesel cho tàu biển, các thiết bị cảnh báo cháy nổ trong hầm lò. Các hệ thống nhúng lớn thường là các hệ nối mạng. Ở máy bay, tàu vũ trụ thường có nhiều mạng nhúng kết nối để kiểm soát hoạt động và điều khiển.Trong ô tô hiện đại có đến trên 80 nút mạng kết nối các đầu đo cơ cấu chấp hành để bảo đảm ô tô hoạt động an toàn và thoải mái cho người sử dụng.
Thiết kế các hệ thống nhúng là thiết kế phần cứng và phần mềm phối hợp. Cách thiết kế cổ điển là cách xác định trước các chức năng phần mềm (SW) và phần cứng (HW) rồi sau đó các bước thiết kế chi tiết được tiến hành một cách độc lập ở hai khối. Hiện nay đa số các hệ thống tự động hóa thiết kế (CAD) thường dành cho thiết kế phần cứng. Các hệ thống nhúng hiện nay sử dụng đồng thời nhiều công nghệ như vi xử lý, DSP, mạng và các chuẩn phối ghép, protocol, do vậy xu thế thiết kế các hệ nhúng hiện nay đòi hỏi có khả năng thay đổi mềm dẻo hơn trong quá trình thiết kế 2 phần HW và SW. Để có được thiết kế cuối cùng tối ưu, quá trình thiết kế SW và HW phải phối hợp với nhau chặt chẽ và có thể thay đổi sau mỗi lần thử chức năng hoạt động tổng hợp. Thiết kế các hệ nhúng đòi hỏi kiến thức đa ngành về điện tử, xử lý tín hiệu, vi xử lý, thuật điều khiển và lập trình thời gian thực.
Phần mềm trong các hệ nhúng ngày càng chiếm tỉ trọng cao và đã trở thành một thành phần cấu tạo nên thiết bị bình đẳng như các phần cơ khí, linh kiện điện tử, linh kiện quang học ... các hệ nhúng ngày càng phức tạp hơn đáp ứng các yêu cầu khắt khe về thời gian thực, tiêu ít năng lượng, hoạt động tin cậy ổn định hơn, có khả năng hội thoại cao, có khả năng kết nối mạng, có thích nghi, tự tổ chức cao có khả năng tái cấu hình như một thực thể, một tác nhân.
Và có khả năng tiếp nhận năng lượng từ nhiều nguồn khác nhau (ánh sáng, rung động, điện từ trường, sinh học ...) để tạo nên các hệ thống tự tiếp nhận năng lượng trong quá trình họat động.
1.5. Môi trường thông minh
Sức đẩy của công nghệ sẽ đưa công nghệ vi điện tử tiếp cận và cộng năng với công nghệ sinh học tạo nên công nghệ nano với độ phức tạp giga vào thập niên 2010-2020. Các chip vi hệ thống xử lý hỗn hợp tương tự và số MS-SoC (Mixed Signal System on chip) vào giai đoạn này sẽ có trên 2 tỷ transistor, 1000 lõi CPU, 100MB bộ nhớ và hoạt động ở tần số 200GHz.
Với những vi hệ thống có khả năng tính toán siêu hạng này việc thiết kế các hệ nhúng sẽ gặp không ít thách thức như xử lý song song, độ phức tạp của phần mềm nhúng và khả năng cung cấp năng lượng cho các thiết bị cầm tay. Trong tương lai năng lượng cho truyền dữ liệu sẽ lớn gấp từ 5 đến 30 lần năng lượng hoạt động của các CPU.
1.6 Hệ thống quang báo dùng LED ma trận
Bảng hiển thị ma trận LED (dot-matrix display) co rất nhiều loại và đủ kích cỡ to nhỏ khác nhau, mỗi bảng gồm có rất nhiều LED đơn được ghép lại vời nhau thánh một khối.Trong khối đó các LED đơn được sắp xếp theo các hàng và các cột,tại mỗi giao điểm của hàng và cột là một LED đơn,và người ta thường phân biệt các loại bảng LED theo số hàng và cột. Môt bảng led 5x7 tức là có 5 cột dọc và 7 hàng ngang,tổng cộng sẽ có 5x7=35 led đơn được ghép lại.Cũng như vậy một bảng led 8x8 là có 8 hàng và 8 cột,do đó có 64 led đơn ghép lại.Và nhiều loại cỡ to hơn như 16x16 hay 32x32.Trong đề tài này chúng em sử dụng bảng led 8x32 tức là có 8 cột và 32 hàng, do đó có 256 led đơn ghép lại.
Các giải pháp và cách xác định bài toán
1.7.1 Phân tích và lựa chọn phương án
Có rất nhiều các để điều khiển một bảng LED ma trận, trong đề tài này chúng em sử dụng vi điều khiển PIC 16F877A.
Để có thể điều khiển được một khối LED ma trận 8x32 chúng ta không thể chỉ sử dụng các chân của vi điều khiển nên ở đây em sử dụng thêm IC dịch 74HC595 để mở rộng cổng, tiết kiệm chân cho vi điều khiển.
Xác định bài toán và giới hạn của đề tài
Hệ thống điều khiển 4 LED ma trận ,bảng led bao gồm 8 cột và 32 hàng
Hiển thị chữ “ DH GTVT CO SO 2” trên nền led ma trận 8x32
Dòng chữ chạy từ phải qua trái.
Và có thể thay đổi được dòng chữ đó thông qua PC
CHƯƠNG 2. GIỚI THIỆU PHẦN MỀM
2.1 Tổng quan về phần mềm CCS
2.1.1 Vì sao ta sử dụng CCS
Sự ra đời của một loại vi điều khiển đi kèm với việc phát triển phần mềm ứng dụng cho việc lập trình cho con vi điều khiển đó.Vi điều khiển chỉ làm việc với hai con số là 0 và 1.Ban đầu lập trình cho con vi điều khiển là làm việc với dãy các con số là 0 và 1.Sau này khi kiến trúc của con vi diều khiển ngày càng phức tạp hơn,số lượng thanh ghi lệnh nhiều lên,việc lập trình với các dãy số 0 và 1 không phù hợp nữa,đòi hỏi ra đời ngôn ngữ mới thay thế,ngôn ngữ Assembly.Sau này khi ngôn ngữ C ra đời,nhu cầu dùng ngôn ngữ C thay thế cho ASMtrong việc mô tả các le6nh5la6p5 trình cho vi đều khiển một cách ngắn gọn và dễ hiểu hơn dẫn đến sự ra đời của nhiều chương trình soạn thảo và biên dịch C cho vi điều khiển : Keil C, HT-PIC, MikroC, CCS….
Em chọn CCS cho phần thiết kế của mình vì CCS là một công cụ lập trình C cho mạch vi điều khiển PIC
2.1.2 Giới thiệu về CCS
CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển PIC của hãng Microchip.Chương trình là sự tích hợp của 3 trình biên dịch riêng biệt cho 3 dòng PIC khác nhau đó là:
PCB cho dòng PIC 12-bit opcodes
PCM cho dòng PIC 14-bit opcodes
PCH cho dòng PIC 16 và 18-bit
Tất cả 3 trình biên dịch này được tích hợp lại trong một chương trình bao gồm cả trình soạn thảo và biên dịch là CCS
Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp cho người sử dụng nắm bắt nhanh chóng được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình điều khie6n3se4 được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sử dụng ngôn ngữ lập trình cấp cao- Ngôn ngữ C.
2.2 Giới thiệu phần mềm proteus 7.8 SP
Phần mềm proteus là phần mềm mô phỏng hoạt động của mạch điện tử bao gồm thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như : MCS-51, PIC, AVR…..
Phần mềm bao gồm hai chương trình ISIS cho phép mô phỏng và ARES dùng để vẽ mạch in
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG
Sơ đồ khối tổng thể của hệ thống
KHỐI NGUỒN
KHỐI
XỬ LÝ
TRUNG
TÂM
KHỐI
ĐIỀU KHIỂN
LED
MA TRẬN
KHỐI HIỂN THỊ
Sơ đồ khối của hệ thống quang báo
Khối nguồn: Tạo ra điện áp một chiều ổn định 5V từ nguồn xoay chiều 220V để cung cấp cho các khối và linh kiện trong hệ thống.
Khối xử lý trung tâm: Tạo ra tín hiệu điều khiển khối điều khiển LED ma trận và khối hiển thị để hiển thị các ký tự như chương trình đã định trước.
Khối điều khiển LED ma trận: Nhận tín hiệu từ khối xử lý trung tâm, giải mã và cung cấp nguồn ổn định và đủ lớn để chuyển ra khối hiển thị.
Khối hiển thị: Nhận tín hiệu từ khối xử lý trung tâm và khối điều khiển LED ma trận để hiển thị các ký tự theo chương trình đã trong khối xử lý trung tâm
3.2 Sơ đồ khối Graph
Module Giải mã
Module
Hiển thị
IC Giải mã
Led
Ma trận
Chương trình điều khiển chính
Sơ đồ Callgraph
Sơ đồ đặc tả của hệ thống
Tắt hết LED
Hiển thị từng cột
Dịch trái
Bắt đầu
Delay
Hiển thị cột
tiếp theo
Delay
Hiển thị
hết
Các modul trong hệ thống
Module điều khiển trung tâm
Khối điều khiển trung tâm dùng vi điều khiển PIC16F877A. Vi điều khiển sẽ xuất tín hiệu để điều khiển khối hiển thị (Led ma trận) và khối điều khiển hiển thị theo các chương trình đã lập trình sẵn.
Bộ tạo dao động dùng thạch anh 20MHz cung cấp ngồn dao động cho vi điều khiển
Sơ đồ nguyên lý module điều khiển trung tâm
Module hiển thị
Module hiển thị sử dụng 4 led ma trận 8x8 ghép nối lại với nhau thành một ma trận 8x32. Các LED ma trận được nối chung các chân cho phép hàng với nhau(H1 đến H8). Các chân cho phép cột được tách riêng và nối vào Module điều khiển LED ma trận (C1 đến C32)
Sơ đồ module hiển thị
Module điều khiển LED ma trận
Module điều khiển LED được kết nối như hình dưới đây. Module sử dụng IC chốt dịch 74HC595 .
Sơ đồ module điều khiển LED ma trận
Module nguồn
Module này tạo ra điện áp một chiều từ nguồn xoay chiều 220V để cung cấp cho các linh kiện trong hệ thống. Sử dụng biến áp để biến điện áp xoay chiều 220V thành điện áp xoay chiều 12V, dùng chỉnh lưu từ 12V xoay chiều sang 12V một chiều, dùng IC ổn áp để lấy ra điện áp ổn định 5V ở ngõ ra.
Module nguồn
Lựa chọn linh kiện
Khối điều khiển
Sơ đồ chân vi điều khiển PIC 16F877A
Một vài thông số về vi điều khiển 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 đa cho 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 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
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ựa và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ộ 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. Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) 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.
Sơ đồ khối vi điều khiển PIC16F877A
Tổ chức bộ nhớ vi điều khiển PIC16F877A:
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (program memory) và bộ nhớ dữ liệu (data memory) .
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash , dung lượng bộ nhớ 8k word (1 word= 14bit) và được phân thành nhiều trang (từ page 0 đến page 3) .Như vậy bộ nhớ chương trinh có khả năng chứa được 8*1024 =8192 lệnh (vì một lệnh sau khi mã hóa 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 (PC) . Khi vi điều khiển reset , bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (reset vector). Khi có ngắt xảy ra , 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 sẽ được đề cập cụ thể trong phần sau.
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank có dung lượng 128 byte, 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 Purpose Pegister) 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ệu giú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.
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 lệnh CALL được thực hiện hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình PC tự động được vi điều khiển cất vào trong stack. Khi một trong các lệnh RETURN, RETLW hat RETFIE đượ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 qui trình định trước.
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ và hoạt động 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ị 6 cất vào Stack lần thứ 2. Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biết được khi nào stack tràn. Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng không có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điều khiển bởi CPU.
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ương tác với thế giới 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), tùy theo cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng chân trong mỗi cổng 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ể 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 đó.
Port A
Port A (RPA) bao gồm 6 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 Port A là output, 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 còn lại. Bên cạnh đó Port A 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).
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A (địa chỉ 05h) : chứa giá trị các pin trong
Port A. 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
Port B (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 Port B 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. Port B còn liên quan đến ngắt ngoại vi và bộ Timer0. Port B còn được tích hợp chức năng điện tr