Với mục đích làm nổi bật lên sản phẩm của mình cả khi trời sáng hay tối người ta đã sử dụng rộng rãi các bảng quảng cáo điện tử.. Dữ liệu mã hóa cấp nguồn cho các hàng trong cột được gửi
Giới thiệu chung
Quảng cáo
Hàng ngày, dù ở bất cứ đâu chúng ta cũng đều bắt gặp những loại hình quảng cáo khác nhau : trong nhà thì là trên ti vi, đài radio, internet … còn ngoài trời thì là các băng rôn, bảng, biển quảng cáo và thậm chí là cả tờ rơi nữa Vậy quảng cáo là gì và tại sao lại phải quảng cáo ?
Quảng cáo là hình thức tuyên truyền, giới thiệu thông tin về sản phẩm, dịch vụ, công ty hay ý tưởng Quảng cáo là những nỗ lực nhằm tác động tới hành vi, thói quen mua hàng của người tiêu dùng hay khách hàng bằng cách cung cấp những thông điệp bán hàng theo cách thuyết phục về sản phẩm hay dịch vụ của người bán Các nhà hàng, công ty, doanh nghiệp … tham gia các hoạt động quảng cáo không ngoài mục đích quảng bá hình ảnh, giới thiệu sản phẩm, dịch vụ, thông tin … của họ để từ đó thu hút được thêm các khách hàng tiềm năng, nâng cao tính cạnh tranh và đem lại nhiều nguồn lợi cho công ty Một chiến dịch quảng cáo tốt sẽ góp phần tích cực vào sự phát triển của doanh nghiệp vì thế cũng có thể nói rằng, quảng cáo đã, đang và vẫn sẽ tiếp tục đóng một vai trò quan trọng trong cuộc sống của xã hội loài người hiện nay.
Trên thế giới, quảng cáo hiện nay đã phát triển tới những trình độ cao, tuy nhiên ở Việt Nam - do còn nhiều hạn chế - nên đa số các sản phẩm quảng cáo vẫn còn ở trình độ thấp Các sản phẩm quảng cáo để có thể đến với khách hàng tiềm năng cần phải được truyền tải qua cac hương tiện truyền thông, như: báo in, tạp chí, đài phát thanh, truyền hình, báo điện tử.
Các loại hình quảng cáo phổ biến hiện nay :
Quảng cáo qua bưu điện
Quảng cáo trên các phương tiện vận chuyển.
Quảng cáo qua các trang vàng.
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Quảng cáo trên tờ rơi, áp phích, pano hay băng rôn.
Quảng cáo trên bao bì sản phẩm.
Quảng cáo qua các thư gửi trực tiếp.
Quảng cáo bằng đèn LED.
Bảng led quảng báo
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
13 trong một tương lai không xa Đây chắc chắn sẽ là một bước tiến quan trọng trong ngành công nghiệp năng lượng vì hiện tại đèn LED trắng có tuổi thọ tới 50.000 giờ sử dụng, gấp 50 lần so với bóng đèn 60W Điều này có nghĩa là chúng có thể thắp sáng liên tục trong vòng gần 6 năm Hơn thế nữa chúng dùng điện áp thấp nên không gây cháy nổ mà tiết kiệm điện hơn nhiều so với bóng đèn khác Một trong những ứng dụng quan trọng và phổ biến hiện nay của đèn LED chính là trong lĩnh vực quảng cáo : bảng quảng cáo bằng đèn LED.
1.1.2 Quảng cáo bằng led Đèn LED thực sự là có cách đột phá mới trong công nghệ cao nói chung và trong quảng cáo nói riêng Đó là các bảng hiệu, bảng chỉ dẫn, panel quảng cáo… có sử dụng đèn LED và mạch điện tử để tạo hiệu ứng ánh sáng Qua tìm hiểu ta thấy nhiều đặc điểm nổi bật của nó như độ bền của nó cao gấp mấy chục lần bóng đèn thường, và lại rất ít hao điện, không gây cháy nổ, an toàn tuyệt đối, chống rung động tốt, đặc biệt là nó vẫn sáng rõ vào ban ngày vì vậy có thể dụng cả những biển quảng cáo trong nhà (indoor) và ngoài trời (outdoor) cho hiệu quả cao cũng như gây sự chú ý đồng thời truyền đạt thông tin đến khách hàng và người đi đường
Bảng điện tử có thông tin thay đổi được còn được gọi là bảng quang báo hay màn hình điện tử LED, có nhiều màu sắc, nhiều cách hiển thị sinh động, dễ dàng thu hút sự chú ý của mọi người Do dễ dàng thay đổi thông tin trên bảng điện tử nên đây được xem là phương tiện truyền đạt thông tin hiện đại, nhanh chóng.
Bảng LED quảng cáo được sử dụng cả indoor, outdoor và semi-outdoor :
Bảng indoor sử dụng tốt trong nhà, không sử dụng ngoài trời được vì không đủ độ sáng và không chịu được mưa nắng.
Bảng outdoor có độ sáng cao, kết cấu chắc chắn, chịu được mưa nắng.
Bảng semi-outdoor có độ sáng cao, sử dụng tốt ngoài trời nhưng chịu mưa nắng kém nên bảng quảng cáo loại này thường được đặt ở dưới mái hiên nhà
Trong lĩnh vực quảng cáo, ứng dụng của đèn LED được thể hiện dưới nhiều hình thức khác nhau như :
Bảng thông tin điện tử chữ chạy
Bảng thông tin điện tử là sản phẩm của ngành công nghệ cao với nhiều ưu điểm nổi bật đã trở thành một phần không thể thiếu trong nhiều lĩnh vực của cuộc sống Điểm nổi bật của bảng thông tin điện tử là khả năng thay đổi thông tin và phương thức trao đổi thông tin Với nhiều tính năng độc đáo, bảng thông tin điện tử
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
(bảng quang báo, bảng điện tử, bảng LED) luôn thu hút được đông đảo sự chú ý quan sát của nhiều người Do đó, nó là sản phẩm đắc dụng cho các chương trình quảng cáo, các bản tin chứng khoán, tài chính…
Cũng vì tính tiện lợi mà bảng thông tin điện tử được ứng dụng rộng rãi ở nhiều nơi với nhiều mục đích khác nhau như: khách sạn, nhà hàng, trung tâm thương mại, trụ sở công ty, ngân hàng, sân bay, hiệu vàng, sàn giao dịch chứng khoán, giao thông hay tại các cổng trào của các tỉnh và thành phố… Được thiết kế rất khoa học nên bảng thông tin điện tử rất dễ dàng khi sử dụng, có thể điều khiển bằng bàn phím chuyên dụng, bằng nút bấm, điều khiển từ xa hay máy tính… Không những thế, nó còn rất tiện lợi trong sản xuất, lắp đặt
Ngoài ra bảng thông tin điện tử còn có các thuộc tính ưu việt khác như : điện áp thấp, tính ổn định cao, cường độ sáng mạnh, thay đổi nội dung nhanh, dễ dàng, kỹ xảo hiển thị đa dạng.
Biển hiệu, biển vẫy gây chú ý cho khách đi đường
Là loại biển quảng cáo điện tử sử dụng đèn LED siêu sáng được lập trình bằng vi điều khiển tạo nên các hiệu ứng hiển thị khác nhau gây ấn tượng mạnh mẽ và sự chú ý đặc biệt đối với người đi đường.
Bảng thông tin và hình ảnh đồ họa:
Là sản phẩm của ngành công nghệ cao với nhiều ưu điểm nổi bật đã trở thành một phần quan trọng trong nhiều lĩnh vực cuộc sống Bảng có khả năng thể hiện đa dạng các hình bằng chữ, logo và các hình ảnh đồ họa Có thể đặt màu sắc khác nhau cho từng dòng chữ hoặc từng chữ, điều chỉnh được tốc độ kỹ xảo Là phương thức quảng cáo hình ảnh Logo, giới thiệu về sản phẩm một cách cô đọng súc tích nhất.
Các loại bảng tỷ giá: bảng giá vàng, bảng giá ngoại tệ, bảng tỷ giá ngân hàng…
Là bảng thông tin điện tử thiết kế chuyên dụng cho từng ngành (đặc biệt là ngân hàng), sản phẩm được sử dụng rộng rãi ở các sở giao dịch, phòng giao dich…, là phương tiện tốt giúp cho việc trao đổi tỷ giá nhanh, thuận tiện Bảng có nhiều tính năng dễ sử dụng và thay đổi thông tin qua máy tính
Bảng quảng cáo màn hình Full Colour :
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Sản phẩm màn hình Full Colour là dòng sản phẩm mới, ứng dụng những công nghệ khoa học tiên tiến nhất của ngành LED hiện nay Sản phẩm được ứng dụng trong mọi lĩnh vực của xã hội như văn hóa, truyền thông, thể thao, du lịch.
Giới thiệu chung về hệ thống
Với mục đích tìm hiểu về cách thiết kế và xây dựng một bảng quảng cáo điện tử bằng đèn LED đơn giản chúng em xây dựng một hệ thống quang báo với sơ đồ khối như sau:
Hình 1 - 1 Sơ đồ khối hệ thống
Kh ối điều khiển hiển thị : có chức năng xử lý các dữ liệu từ IC Atmega32 để tạo ra các dữ liệu về mức logic cần cấp cho các led trong từng cột đồng thời điều khiển quá trình cấp nguồn cho led ma trận Khối này được xây dựng bằng các thủ tục xử lý dữ liệu trên vi điều khiển Khi nhận được dữ liệu về chuỗi ký tự cần hiển thị thì khối này sẽ tạo dữ liệu về mức logic cần cấp cho led ma trận Khi nhận được Điều khiển hi ển t h ị
Kh ối ch ốt dữ li ệ u c ột
Kh ối khuếch đại công suất c ột
Kh ối hiển thị led ma tr ận
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
17 dữ liệu về màu sắc, hiệu ứng hiển thị thì khối này sẽ xác định thủ tục gửi dữ liệu cho các khối chốt dữ liệu hàng và cột.
Kh ối quét hàng: khối này có chức năng cấp mức logic cao cho các hàng vì led ma trận ta thiết kế là các led cùng hàng mắc chung anot,mức logic cao được cấp cho các led thông qua ULN2803 dùng để đệm thêm dòng cho tín hiệu kích transitor(dùng Tip127 là transistor PNP ghép darlington có công suất kéo dòng max là 7A)
Kh ối ch ốt dữ liệu cột : có chức năng chốt các giá trị logic mức thấp cấp nguồn cho các cột trong hàng của ma trận Khối này gồm một chuỗi các bộ 74HC595 mắc nối tiếp Dữ liệu về mức logic của các hàng và tín hiệu báo chốt dữ liệu sẽ được khối điều khiển hiển thị gửi đến Các dữ liệu này sẽ được chốt lại tại đầu ra của khối cho đến khi dữ liệu mới được yêu cầu chốt
Kh ối khuếch đại công suất cột : có chức năng đảm bảo cấp đủ nguồn cho các cột trong hàng của led ma trận, đồng thời hạn chế dòng chạy qua các chân của các IC chốt dữ liệu hàng Để đảm bảo chức năng này khối này gồm các IC ULN2803 mắc nối tiếp với các IC 74HC595
Kh ối hi ển thị led ma trận: gồm nhiều led đơn được ghép nối với nhau thành hàng và cột Các led đơn trong cùng một hàng thì được nối chung anot còn trong cùng một cột thì được nối chung catot có kích thước 0,2 x 1,2m
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Giới thiệu về vi điều khiển AVR Atmega32
Giới thiệu về vi điều khiển họ AVR
2.1.1 Một số đặc trưng Đây là loại vi điều khiển 32 bit, xử lý nhanh, tiêu thụ năng lượng thấp
AVR [6] có cấu trúc RISC với :
131 lệnh, hầu hết các lệnh thực thi trong một chu kỳ xung nhịp.
Tốc độ làm việc 16MPIS, với thạch anh 16 MHz
ISP Flash với khả năng 10.000 lần ghi xóa
Khả năng quét toàn diện theo chuẩn JTAG.
Hỗ trợ khả năng Debug onchip
Hỗ trợ lập trình Flash, EEROM, fuse…
Lock bit qua giao tiếp JTAG
Timer/ counter 8 bit với các chế độ : so sánh và chia tần số.
Timer/counter 16 bit với các chế độ : so sánh, chia tần số, capture, PWM
Timer thời gian thực (Real time Clock) với bộ dao động riêng biệt.
Kênh biến đổi ADC 10 bit.
Bộ giao tiếp nối tiếp lập trình được USART
Watch_dog timer với bộ dao động on_chip riêng biệt.
Những thuộc tính đặc biệt :
Power on reset và Brown-out detection
Chế độ hiệu chỉnh bộ sai số cho bộ dao động RC on chip
Các chế độ ngắt ngoài và trong đa dạng.
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
6 mode sleep : Idle, ADC noise reduction, tiết ki ệm năng lượng, power-down, standby, extended standby
Các phần mềm lập trình cho AVR :
AVRStudio, Code Vision Các phần mềm này có hỗ trợ phần nạp và Debug on chip
Ngoài ra có thể dùng chương trình nạp PonyProg2000, Winpic800 …
AVR có cấu trúc Havard trong đó đường truyền cho bộ nhớ dữ liệu (data memory bus) và đường truyền cho bộ nhớ chương trình (Program memory bus) được tách riêng Data memory bus chỉ có 8 bit và được kết nối với hầu hết các thiết bị ngoại vi, các Register File Trong khi đó, program memory bus có độ rộng 16 bit và chỉ phục vụ cho thanh ghi lệnh (instruction register).
Bộ nhớ chương trình (program memory) là bộ nhớ Flash lập trình được Trong các loại AVR cũ như AT90S1200 bộ nhớ chương trình chỉ gồm một phần là Application Flash Section còn trong các loại AVR mới có thêm phần Boot Flash Section Chức năng chính của bộ nhớ chương trình là chứa các lệnh (instruction) nên chúng ta không có nhiều cơ hội tác động nên bộ nhớ này khi lập trình cho chip
Cũng chính vì vậy mà đối với người lập trình thì bộ nhớ này “không quá quan trọng” Tất cả các thanh ghi quan trọng cần khảo sát nằm trong bộ nhớ dữ liệu của chip
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Hình 2 - 1 C ấu trúc bộ nhớ AVR
Bộ nhớ dữ liệu (data memory) : đây là phần chứa các thanh ghi quan trọng nhất của chip Bộ nhớ dữ liệu trên các chip AVR có độ lớn khác nhau tùy theo mỗi chip Tuy nhiên về cơ bản bộ nhớ này được chia làm các phần :
Tệp thanh ghi (Register file) : gồm 32 thanh ghi 8 bit có địa chỉ tuyệt đối từ 0x0000 đến 0x001F Các thanh ghi này được đặt tên là từ R0 đến R31 Chúng có đặc điểm :
• Được truy cập trực tiếp trong các instruction.
• Các toán tử, phép toán thực hiện trên các thanh ghi này chỉ cần một xung Clock.
• Tệp thanh ghi được kết nối trực tiếp với bộ xử lý trung tâm, CPU chip
• Chúng là nguồn chứa các số hạng trong các phép toán và cũng là đích chứa kết quả
Các thanh ghi vào ra (thanh ghi I/O hay còn gọi là vùng nhớ I/O) là cổng giao tiếp giữa CPU với thiết bị ngoại vi Tất cả các thanh ghi điều khiển, trạng thái … của thiết bị ngoại vi đều nằm ở đây.
RAM ngoại (External RAM) : các chip vi điều khiển AVR cho phép người dùng có thể gắn thêm RAM ngoài để chứa biến, vùng này thực
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
21 chất chỉ tồn tại khi nào người sử dụng gắn thêm bộ nhớ ngoài vào chip
EEPROM (Electrical Erasable Programmable ROM) là một phần quan trọng của các chip AVR mới, vì là ROM nên bộ nhớ này không bị xóa ngay cả khi không cấp nguồn nuôi chip, rất thích hợp cho các ứng dụng lưu trữ dữ liệu.
Hình 2 - 2 C ấu trúc bên trong của AVR
Hoạt động :Các lệnh được chứa trong bộ nhớ chương trình Flash Memory dưới dạng các thanh ghi 16 bit Bộ nhớ chương trình được truy cập trong mỗi chu kỳ xung Clock và một lệnh chứa trong Program memory được load vào thanh ghi lệnh (instruction Register), thanh ghi lệnh tác động cũng như lựa chọn tệp thanh ghi
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
22 cũng như RAM cho ALU thực thi Trong khi thực thi chương trình, địa chỉ của dòng lệnh đang thực thi được quyết định bởi bộ đếm chương trình – PC (Program Counter)
AVR có ưu điểm là hầu hết các lệnh đều được thực thi trong một chu kỳ xung nhịp, vì thế mà trong một số trường hợp dù nguồn clock của AVR nhỏ hơn một số loại vi điều khiển khác (như PIC) nhưng thời gian thực thi vẫn nhanh hơn.
2.1.4 Một số họ vi diều khiển AVR
Vi điều khiển AVR rất phong phú và đa dạng, bao gồm nhiều họ khác nhau :
Họ ATUC30xxxx (xxxx thể hiện dung lượng Flash của vi điều khiển, ví dụ : ATUC30512 có 512 kB Flash)
Dòng vi điều khiển MEGA AVR
Sơ bộ về vi điều khiển Atmega32
Atmega32 [3] là bộ vi điều khiển CMOS 32 bit tiêu thụ điện năng thấp dựa trên kiến trúc RISC (Reduced Intruction Set Computer) Vào ra Analog – digital và ngược lại Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1 Mhz
Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá chế độ độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lí
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Hình 2 - 3 Sơ đồ khối của Atmega 32
Atmega32 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc đa năng Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic
Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Intruction Set Computer) thông thường.
Khi sử dụng vi điều khiển Atmega32, có rất nhiều phần mềm được dùng để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C, ICCAVR C -
CMPPILER của GNU… Trình dịch C đã được nhiều người dụng và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C Phần mềm này hỗ trợ nhiều ứng dụng và có nhiều hàm có sẵn nên việc lập trình tốt hơn
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Được chế tạo theo kiến trúc RISC hiệu suất cao mà điện năng tiêu thụ thấp
Tập lệnh gồm 131 lệnh, hầu hết đều chỉ thực thi trong 1 chu kì xung nhịp.
Bộ nhân hai chu kì.
32 x 8 thanh ghi làm việc đa dụng.
16 MIPS với thông lượng 16MHz
32KB Flash ROM lập trình được ngay trên hệ thống :
Giao diện nối tiếp SPI có thể lập trình ngay trên hệ thống.
Cho phép 1000 lần ghi/xóa.
Bộ EEPROM 1Kbyte, cho phép 100.000 lần ghi/xóa
16 Kbyte bộ nhớ chương trình in-System Self-programmable Flash
Chu kì ghi/xóa (Write/Erase) :10.000 Flash/ 100.000 EEPROM
Độ bền dữ liệu 20 năm ở 85°C và 100 năm ở 25°C
Bộ biến đổi ADC 8 kênh, 10 bit
Bộ truyền nối tiếp bất đồng bộ vạn năng UART.
Tốc độ làm việc: 16MHz đối với Atmega 32
Tốc độ xử lí lệnh đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây
Bộđịnh thời gian thực (RTC) với bộdao động và chếđộđếm tách biệt
2 bộ Timer 8 bit và 1 bộ Timer 16 bit với chếđộ so sánh và chia tần số tách biệt và chếđộ bắt mẫu
4 kênh điều chế độ rộng xung PWM
Có đến 13 interrupt ngoài và trong
Bộ lập trình Watch dog timer
6 chế độ ngủ : Idle, ADC Noise Reduction, Power-save, Power-down, Standby và Extended Standby
Giao tiếp nối tiếp Master/Slave SPI
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Hình 2 - 4 Sơ đồ chân Atmega 32
VCC: Điện áp nguồn nuôi
PortA (PA7…PA0): PortA nhận vào tín hiệu Analog và chuyển đổi qua tín hiệu Digital Ngoài ra PortA có thểđược tách ra làm vào ra 2 hướng 2 bit nếu bộ chuyển đổi A/D không được sử dụng Khi các chân PA0 đến PA7 là các lối vào và được đặt xuống chế độ thấp từ bên ngoài, chúng sẽ là nguồn dòng nếu các điện trở nối lên nguồn dương được kích hoạt Các chân của Port A ở vào trạng thái có điện trở cao khi tín hiệu Reset ở chế độ tích cực hoặc ngay cả khi không có tín hiệu xung đồng hồ Port A cung cấp các đường địa chỉ/dữ liệu vào/ra hoạt động theo kiểu đa hợp kênh khi dùng bộ nhớ SRAM ở bên ngoài
PortB, D : tương tự như PortA
PortC (PC7…PC0): tương tự như PortA Nhưng nếu cho phép giao diện JTAG, thì các chân PC5, PC3, PC2 sẽ hoạt động ngay cả khi reset lại tín hiệu
Reset: Lối vào đặt lại Bộ vi điều khiển sẽ được đặt lại khi chân này ở chế độ thấp trong hơn 50ns, các xung ngắn hơn không tạo ra tín hiệu đặt lại
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
XTAL1: Lối vào bộ khuếch đại đảo và lối vào mạch tạo xung nhịp bên trong
XTAL2: Lối ra bộ khuếch đại đảo : XTAL1 và XTAL2 lần lượt là lối vào và lối ra của một bộ khuếch đại đảo Bộ khuếch đại này được bố trí để làm bộ tạo dao động trên chip Một bộ tinh thể thạch anh hoặc một bộ cộng hưởng gốm có thểđược sử dụng Đểđiều khiển bộ vi điều khiển từ một nguồn xung nhịp bên ngoài, chân XTAL2 để trống, còn chân XTAL1 được nối với bộdao động bên ngoài
AREF : Là chân chuyển đổi tín hiệu analog cho bộ chuyển đổi A/D
AVCC : Là chân nguồn cho Port A và cho bộ chuyển đổi A/D Nó có thể tự kết nối với nguồn chính ngay cảkhi ADC không được sử dụng
Kiến trúc AVR nói chung, các chức năng chính của CPU đảm bảo sự thực thi chính xác process CPU phải có khảnăng truy xuất bộ nhớ, thực hiện tính toán, điều khiển thiết bị ngoại vi và các kênh ngắt
Trong thứ tự thực hiện song song, AVR sử dụng kiến trúc Harvard với bộ nhớ tách rời giữa hai luồng process và dữ liệu Các chỉ lệnh trong bộ nhớ process được thực hiện với những mức pipeline đơn Trong khi một lệnh đang thực thi, lệnh tiếp theo sẽđược tìm nạp trước từ bộ nhớ process Khái niệm này cho phép các lệnh sẽ được thực hiện trong mọi chu kỳ xung Bộ nhớ process là hệ thống bộ nhớ Flash lập trình lại được Truy xuất nhanh thanh ghi File chứa 32*8 bit thanh ghi làm việc đa năng với một chu kỳ xung đơn truy xuất thời gian Điều này cho phép bộ tính toán ALU làm việc đơn chu kỳ
6 trong 32 thanh ghi có thể sử dụng như 3 địa chỉ gián tiếp thanh ghi con trỏ cho không gian địa chỉ dữ liệu Nó cũng có th ể được sử dụng như con trỏ của bộ nhớ process Flash
Một lệnh AVR có 16 bit đơn định dạng word
Mỗi địa chỉ bộ nhớ process chứa 16 hoặc 32 lệnh
Bộ nhớ process Flash được chia ra làm 2 khu vực, khu vực khởi động process và khu vực ứng dụng process Cả hai khu vực được thiết kế bảo vệ các bit ghi và đọc/ghi
Trong khi các ngắt và process con được gọi, địa chỉ trả về của Counter process (PC) được lưu trữ trong Stack Stack được định phần trong dữ liệu tổng quát SRAM, vì vậy kích thước STACK được hạn chế bởi kích thước SRAM tổng và cách sử dụng của nó Tất cả các process sử dụng phải khởi tạo giá trịđầu cho Stack Poiter trước khi process con hoặc ngắt được gọi Stack Poiter được đọc/ghi được sử
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
27 dụng trong không gian I/O Dữ liệu SRAM có thể dễ dàng được truy xuất qua 5 cách đánh địa chỉ khác nhau hỗ trợ trong kiến trúc AVR Không gian bộ nhớ trong kiến trúc AVR là tất cả những bản đồ bộ nhớ phổ biến tuyến tính Một module ngắt linh hoạt có những thanh ghi điều khiển trong không gian I/O với một ngắt toàn cục cho phép ngắt trong thanh ghi trạng thái Tất cả các ngắt đều có vector ngắt riêng biệt trong bảng vector ngắt Địa chỉ vector ngắt càng thấp quyền ưu tiên ngắt càng cao
Không gian bộ nhớ I/O chứa 64 địa chỉ cho các chức năng ngoại vi CPU như thanh ghi điều khiển,SPI, và một số chức năng I/O khác
Hình 2 - 5 Sơ đồ khối cấu trúc A tmega32
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Thực thi cao AVR ALU hoạt động trong sự kết nối trực tiếp với tất cả 32 thanh ghi hỗ trợ làm việc Hoạt động trong ALU được chia thành 3 chức năng chính: số học, logic và chức năng bit
2.2.2.2 Thanh ghi trạng thái (Status Registers) :
Nguyên tắc điều khiển led ma trận
C ấu trúc và nguyên lý cấp nguồn cho led ma trận
Led ma trận bao gồm các led đơn được xếp thành hàng và cột Các led đơn trong cùng một hàng thì được nối chung anot (catot) còn trong cùng một cột thì được nối chung catot (anot) Do đó để các led có thể sáng ta phải cấp nguồn cho led như sau : cấp mức cao (thấp) cho hàng và mức thấp (cao) cho cột
Hình 3 - 1 Led ma tr ận chung anot
Với cách sắp xếp như trên tại một thời điểm ta không thể hiển thị một kí tự (với trên 2 hàng 2 cột) trên ma trận Do đó để có thể hiển thị một kí tự trên led ma trận thì ta phải lợi dụng hiện tượng lưu ảnh trên võng mạc Ta phải để cho từng hàng (cột) của kí tự lần lượt kiện thị trên led ma trận với tần số cao Trước tiên ta phải xác định mức logic cần cấp cho từng hàng (cột) của led ma trận để hiển thị ký tự rồi lưu các giá trị logic này lại Sau đó khi cần hiển thị ký tự thì ta lần lượt đưa các giá trị này ra các chân cấp nguồn cho hàng (cột) đồng thời cấp nguồn cho cột (hàng) tương ứng với nó.
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Nguyên t ắc tạo font chữ hiển thị
Để cụ thể hơn ta xét ví dụ hiển thị chữ R trên led ma trận 8x8 rồi từ đó ta liên hệ tới ma trận led 0,2x1,2m của ta trong đề tài này theo cách quét lần lượt từng cột ma trận Do quét theo từng cột nên ta sẽ phải xác định mức logic cần cấp cho tất cả các led trong từng cột Giả thiết các led cùng hàng mắc chung anot , các led trong cùng một cột mắc chung catot Khi đó nếu muốn một led nào đó trong cột sáng thì ta phải cấp điện áp mức cao vào hàng tương ứng
B ảng 3 - 1 T ạo font chữ cho kí tự
Nhìn vào bảng trên ta thấy muốn hiển thị chữ R phải cấp nguồn cho các led trong từng cột như sau :
Các led trong các cột khác được cấp điện áp mức thấp
Các giá trị này cần được lưu lại trong bộ nhớ của vi điều khiển để khi cần ta có thể lấy ra Ta có thể lưu các giá trị này thành từng byte trong bộ nhớ theo trật tự từ hàng 1 tới hàng 8 hay ngược lại Ví dụ cột 1 ta lưu theo thứ tự từ hàng một tới 8 thì lưu giá trị 0F8H còn nếu ngược lại thì là 7FH
Việc mã hóa font phụ thuộc vào cách cấp nguồn cho ma trận led Nếu ta cấp nguồn cho từng cột của ma trận led sáng lần lượt thì font chữ phải lưu các giá trị
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
38 logic mã hóa cách cập nguồn cho tất cả các led trong cột đó Giả sử ta mã hóa font 6 cột 8 hàng ( 5 cột mã hóa chữ 1 cột tạo khoảng cách 2 chữ kế tiếp) như đã nêu trong nguyên tắc điều khiển led thì mỗi kí tự cần 6 byte dữ liệu để lưu.
Điều khiển hiển thị led ma trận
Để tiện cho việc truy xuất dữ liệu ta có thể khai báo 1 mảng trong bộ nhớ Flash của Atmega32 lưu các dữ liệu này Khi đó địa chỉ đầu của dữ liệu mã hóa 2 ký tự gần nhau thì cách nhau cách nhau 6 Vì vậy khi biết được vị trí của 1 kí tự trong font thì ta có thể xác định địa chỉ của dữ liệu mã hóa kí tự đó Trên cơ sở đó ta có thể dễ dàng xuất dữ liệu của kí tự cần hiển thị ra
Sau khi xác định được các mức logic cần cấp cho ma trận led thì ta có thể tiến hành điều khiển quá trình cấp nguồn cho led ma trận để có được hình ảnh như ý muốn Việc cấp nguồn cho led ma trận phụ thuộc vào cách mã hóa dữ liệu (theo từng hàng hay theo từng cột của ma trận) Nếu dữ liệu mã hóa là các hàng trong 1 cột (hàng) thì tại một thời điểm ta chỉ cấp nguồn cho một cột (hàng Quá trình điều khiển hiển thị led ma trận 8x8 theo từng cột (hàng) bao gồm các bước sau :
- B1: Lấy mẫu dữ liệu : lấy các dữ liệu về mức logic cần cấp cho các cột (hàng) của ma trận
- B4: Xuất dữ liệu tương ứng với cột đó ( đã được lấy mẫu từ trước) để cấp nguồn cho các hàng của ma trận
- B5: i=i+1 ; quay lại bước 2 nếu i>8 ,nếu không thì quay lại bước 3
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Xuất dữ liệu của cả cột i ra 74HC595 i=i+1
Hình 3 - 2 Lưu đồ thuật toán cấp nguồn cho ma trận led
Nếu chỉ điều khiển 1 số lượng led ma trận nhỏ thì ta có thể dùng trực tiếp các chân của vi điều khiển để điều khiển việc cấp nguồn cho led ma trận Nếu ma trận lớn hơn thì ta phải dùng các bộ ghi dịch để cấp nguồn cho led ma trận
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
40 Để hình ảnh trên led ma trận hiển thị rõ ràng không bị nháy ta cần phải điều khiển tần số quét led ma trận
Tóm lại đ ể điều khiển led ma trận ta đầu tiên ta cần phải xác định được phương pháp cấp nguồn cho ma trận ( cấp nguồn theo từng cột hay từng hàng ) Sau khi đã xác định được phương pháp cấp nguồn ta cần phải xây dựng font chữ cho phù hợp với cách cấp nguồn Từ đây ta có thể tiến hành điều khiển việc cấp nguồn cho ma trận để dòng chữ trên ma trận hiển thị như mong muốn.
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Điều khiển cấp nguồn cho led ma trận
Điều khiển xuất dữ liệu ra cột dùng 74HC595
4.2.1 Chức năng của 74HC595 Đây là IC ghi dịch với 8 bit ngõ ra QH:QA với chốt dữ liệu 8 bit Dữ liệu chỉ được đưa qua một chân SDI và được điều khiển bởi các chân RCK (chân điều khiển chốt dữ liệu), SCK (chân điều khiển việc dịch dữ liệu vào IC thông qua các xung clock), SCLR (chân tác động mức thấp dùng để xóa dữ liệu, và chân Q’H ( chân đưa dữ liệu nối tiếp ra ngoài, chân này dùng để nối nhiều IC 74HC595 lại với nhau), và chân G (cho phép ngõ ra)
Hình 4 - 4 Sơ đồ chân 74HC595
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
B ảng 4 - 1 Ch ức năng hoạt động của 74HC595
4.2.2 Sử dụng 74HC595 để cấp nguồn cho các cột của ma trận
Cách điều khiển IC thông qua bảng sự thật như hình trên Trước tiên đưa một bit dữ liệu vào chân SDI, tạo một cạnh dương ở chân SCR để dịch bit dữ liệu vào đó, quá trình cứ tiếp tục lặp lại cho đến khi dữ liệu được dịch hết vào IC Sau đó tạo một cạnh dương ở chân RCK để chốt dữ liệu ở chân output.
Ban đầu đường dữ liệu (SDI) được mặc định là mức logic 0, sau đó ta kiểm tra bit dữ liệu đó ( bit thứ 7 trong thanh ghi sendreg) xem có thật sự bằng 0 hay
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
46 không nếu bằng một thì ta set đường dữ liệu lên mức logic 1 Như vậy ta lần lượt kiểm tra mức logic của các bit dữ liệu cần đưa vào IC 74HC595 và set/clear đường dữ liệu SDI tương ứng với bit dữ liệu cần dịch Việc còn lại là tạo cạnh dương tại chân SCK để đưa dữ liệu SDI vào IC Như vậy sau 8 lần dịch, 8 bit dữ liệu chứa trong thanh ghi sendreg đã được đưa vào thanh ghi dịch bên trong IC Việc đưa dữ liệu từ thanh ghi dịch ra ngoài được thực hiện bằng cách tạo một cạnh dương tại chân RCK
Mục đích sử dụng IC 74HC595 là nâng cao số lượng pin output của vi điều khiển Thay vì xuất trực tiếp một giá trị nào đó từ các port I/O, ta có thể xuất gián tiếp thông qua IC 74HC595
Ta có thể điều khiển một IC hay nhiều IC ghép lại với nhau thông qua 4 chân SDI, SCK, SCLR, RCK Điều này cho phép mở rộng vô hạn số lượng output cho vi điều khiển, tất nhiên với một nhược điểm là thời gian truy xuất chậm do dữ liệu phải được dịch từng bit vào IC thông qua từng cạnh dương tác động vào chân SCK trước khi đưa dữ liệu ra ngoài thông qua các chân QH:QA
Các chân SCK, RCK, và SCLR được nối chung lại với nhau, trong khi chân SDO của IC trước đưa vào chân SDI của IC nối sau Còn dữ liệu được đưa vào chân SDI.
Hình 4 - 2 Ghép n ối tiếp các IC 74HC595
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
T ẠO TẦN SỐ QUÉT CHO MA TR Ậ N Để đảm bảo cho hình ảnh hiển thị rõ nét thì ta cần phải điều chỉnh tần số hiển thị cho phù hợp Tần số hiển thị càng cao thì hình ảnh càng rõ nét Dùng bộ định thời của vi điều khiển giúp ta có thể điều khiển tần số hiển thị của ma trận led Mỗi khi ngắt định thời được thực hiện thì ta sẽ cho một hang2 của ma trận sáng Qua đó ta có thể tính được tần số hiển thị của ma trận bằng 1/8 tần số ngắt Chương sẽ giới thiệu về một số chế độ của Timer1 và các thanh ghi dùng để thiết lập chế độ , sau đó sẽ trình bày về cách thiết lập thanh ghi dùng cho việc điều khiển tần số quét led ma trận.
Timer1 Atmega16
5.1.1 Một số chế độ hoạt động
Trước tiên ta cần chú ý các định nghĩa sau:
• BOTTOM : Counter tới BOTTOM khi nó có dạng 0x0000
• MAX : Counter tới MAX khi nó có dạng 0xFFFF
• TOP : khi Counter tới TOP khi giá trị của nó bằng giá trị cao nhất trong hàng đếm Giá trị TOP có thểđược gán là 1 trong các giá trị cố định khác sau : 0x00FF, 0x01FF, 0x03FF hoặc là giá trị lưu trong OCR1A hoặc thanh ghi ICR1 Việc gán giá trị TOP phụ thuộc vào chế độ hoạt động a) Chế độ thông thường :
Chế độ hoạt động đơn giản nhất của Timer là chế độ thường (WGM13:0 0) Trong chế độ này bộ đếm luôn đếm lên và không được xóa Bộ đếm tràn khi đếm qua giá trị max (MAX= 0xFFF) và trở lại BOTTOM (0x0000) Trong chế độ này Timer/Counter Overflow Flag (TOV1) sẽ được thiết lập ngay khi TCNT1 trở về
0 Trong trường hợp này cờ TOV1 hoạt dộng như bit thứ 17 của bộ đếm nên nó không tự xóa Tuy nhiên khi kết hợp với ngắt tràn Timer cờ này có thể tự động xóa, độ phân giải của Timer có thể tăng lên bởi phần mềm
Khối bắt tín hiệu đầu vào khá dễ sử dụng ở chế độ thường nhưng cần phải chú ý tới khoảng thời gian lớn nhất giữa các sự kiện ngoài, khoảng thời gian này phải không vượt quá độ phân giải của bộ đếm Nếu khoảng thời gian giữa các sự kiện quá dài ta có thể dùng ngắt tràn hay tăng độ rộng xung đếm để có thể mở rộng độ phân giải cho khối này b) Chế độ CTC ( clear timer on compare) :
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Trong chế độ CTC (WGM13:0 = 4 hoặc 12), thanh ghi ICR1 hoặc OCR1A được sử dụng tạo độ phân giải cho bộ đếm Trong chế độ CTC bộ đếm bị xóa về 0 khi giá trị bộ đếm (TCTN1) trùng với giá trị của thanh ghi OCR1A (WGM13:0 = 4) hoặc ICR1 (WGM13:0 = 12) Thanh ghi OCR1A hoặc ICR1 định nghĩa giá trị đỉnh cho bộ đếm
Hình 5 - 1 Gi ản đồ thời gian chế độ CTC
Một ngắt có thể phát ra khi giá trị bộ đếm đạt tới giá trị TOP bởi cùng sử dụng cờ OCF1A hoặc ICF1 Nếu ngắt được cho phép, thủ tụcđiều khiển ngắt có thể được sử dụng để cập nhập lại giá trị TOP Thay đổi TOP bằng giá trị gần với BOTTOM khi bộ đếm đang chạy với độ rộng xung lớn phải thực hiện cẩn thận Nếu giá trị mới ghi cho OCR1A hoặc ICR1 thấp hơn so với giá trị của TCNT, bộ đếm sẽ không bắtđược thời điểm đạt giá trị TOP Do đó nó sẽ đếm tới giá trị MAX (0xFFF) rồi quay về0x0000 trước khi có thể có thể gặp đượcgiá trị TOP Để có thể tạo sóng đầu ra trong chế độCTC, đầu ra OC1A có thể lật mức logic của nó mỗi khi bắt gặp giá trị top bằng cách thiết lập các bit chọn chế độ so sánh đầu ra COM1A1:0
= 01 Giá trị của chân OC1A sẽ không được cập nhật nếu ta không thiết lập nó là đầu ra (DDR_OC1A=1) Sóng phát ra từ chân OCA1 sẽ có tần số cực đại của
1 f OC A = f clk I O _ / khi OCR1A được lập về 0x0000 Tần số củasóng được tính như sau:
Công th ức 5 - 1 Quan h ệ giữa tần số đầu ra với tần số timer ở chế dộ CTC
N thể hiện độ chia tần ,có thể là các giá trị sau : 1, 8, 64, 256, 1024
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Fast Pulse Width Modulation hoặc chế độ fast PWM ( WGM13:0 5,6,7,14,15) có chức năng tạo ra nhiều dạng sóng tần số cao Fast PWM khác với chức năng PWM bởi nó chế độ hoạt động sườn đơn Bộ đếm đếm từ BOTTOM tới TOP sau đó lập tức quay về BOTTOM Trong chế độ so sánh không đảo đầu ra thì đầu ra OC1x được thiết lập khi TCNT1 và OCR1x bằng nhau, và xóa khi đạt giá trị TOP Trong chế độ so sánh đảo đầu ra thì chân OC1x được xóa khi ICNT1 và OCR1x bằng nhau, và được thiết lập khi đạt giá trị TOP Do chỉ dùng sườn đơn nên tần số hoạt động của fast PWM cao gấp 2 lần so với các chế độ Phase correct và Phase and Frequency corect PWM ( các chế độ này khi hoạt động dùng 2 sườn)
Tần số cao làm chế độ fast PWM phù hợp với điều chỉnh công suất, chỉnh lưu và ứng dụng DAC Độ phân giải cho fast PWM có thể cố định 8, 9 hoặc 10 bit, hoặc định nghĩa bởi ICR1 hoặc OCR1A Độ phân giải nhỏ nhất cho phép là 2 bit (ICR1, OCR1A lập lên 0x0003), lớn nhất là 16 bit (ICR1 hoặc OCR1A khi được gán giá trị MAX) Độ phân giải PWM trong các bit có thể tính theo hàm :
Công th ức 5 - 2 Độ phân giải PWM log( 1) log(2)
Hình 5 - 2 Gi ản đồ thời gian chế độ Fast PWM
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Cờ tràn Timer/Counter (TOV1) được lập mỗi khi Counter tới giá trị TOP
Ngoài ra chân OC1A hoặc ICF1 được thiết lập trong cùng một chu kỳ xung với thời điểm TOV1 được thiết lập Nếu ngắt được cho phép, thủ tục điều khiển ngắt có thể được sử dụng để cập nhập lại TOP và các giá trị so sánh Khi thay đổi các giá trị TOP ta phải chắc chắn giá trị TOP mới lớn hơn hoặc bằng giá trị của tất cả các thanh ghi so sánh nếu không sẽ không có sự gặp nhau giữa TCNT1 và OCR1x
Thủ tục cậpđể nhập lại ICR1 khác với 0CR1A khi sử dụngđểđịnh nghĩa giá trị TOP Thanh ghi ICR1 không có 2 bộ đệm Nếu ICR1 thay đổi tới 1 giá trị thấp hơn TCNT1 khi bộ đếm đang chạy thì nó sẽ đếm tớ giá trị MAX (0xFFFF) và quay lại giá trị 0x0000 OCR1A có bộ đẹm kép nên có thể ghi lên nó bất kỳ lúc nào Khi OCR1A I/O được ghi, giá trị ghi sẽ được đưa vào trong thanh ghi đệm OCR1A Thanh ghi so sánh OCR1A sẽ cập nhập lại ghía trị trong thanh ghi đệm tại chu kỳ sau khi TCNT1 đạt giá trị TOP
Trong chế độ fast PWM, khối so sánh cho phép tạo ra 1 dạng sóng tại chân OC1x Thiết lập các bit COM1x1:0 tới 2 có thể tạo ra một dạng PWM không đảo và một PWM đảo bằng cách thiết lập COM1x1:0 lên 3 Giá trị tại chân OC1x chỉ quan sát được nếu chân này được thiết lập là đầu ra (DDR_OC1x) Dạng sóng PWM được sinh ra khi thiết lập (xóa) chân OC1x tại thời điểm OCR1x = TCNT1 và xóa (thiết lập) OC1x tại thời điểm bộ đếm bị xóa ( từ TOP về BOTTOM)
Tần số PWM tại đầu ra có thể được tính theo hàm:
Công th ức 5 - 3 Quan h ệ giữa tần số đầu ra với tần số timer ở chế độ Fast PWM log( 1) log(2)
N thể hiện độ chia tần ,có thể là các giá trị sau : 1, 8, 64, 256, 1024 d) Chế độ Phase Correct PWM
Chế độ này hoạt động dựa trên hai sườn lên xuống.Bộ đếm sẽ đếm liên tục từ giá trị BOTTOM đến giá trị MAX và sau đó từ giá trị MAX đến giá t rị BOTTOM.Trong chế độ so sánh không đảo chân so sánh (OCx) sẽ bị xóa khi giá trị TCNTx bằng giá trị OCRx trong quá trình đếm lên và sẽ được thiết lập bằng 1 khi giá trị so sánh xuất hiện trong quá trình đếm xuống.Chế độ so sánh đảo thì các giá trị là ngược lại.Với hoạt động hai sườn xung này thì chế độ này không tạo ra được tần số nhỏ như chế độ một sườn xung Nhưng do tính cân đối của hai sườn xung thì nó tốt hơn cho điều khiển động cơ
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
Chế độ phase correct PWM hoạt động cố định là 8 bít.Trong chế độ này bộ đếm sẽ tăng cho đến khi đạt giá trị MAX, khi đó nó sẽ đổi chiều đếm Biểu đồ thời gian sau đây mô tả hoạt động của hoạt động quá trình:
Hình 5 - 3 Gi ản đồ thời gian chế độ Phase Corect PWM
Từ biểu đồ thời gian ta nhận thấy việc thay đổi tần số trong hoạt động của phase correct PWM có thể thay thế bằng hai giá trị là MAX và BOTTOM Nó linh hoạt hơn so với chế độ Fast PWM
Bit7,6 COM1A1,2 : chọn chế độ đầu ra cho kênh A
T ạo tần số quét ma trận
Để đảm bảo mắt người có thể cảm nhận được hình ảnh dễ dàng không bị rung thì ta cần tạo tần số quét khoảng 60Hz
Do ma trận led có 8 cột sáng luân phiên nên số lần cấp nguồn cho led là :
Khi đó khoảng cách giữa 2 lần cấp nguồn liên tiếp khoảng :
Tần số của thạch anh là 11.0592MHz do đó số chu kì dao động trong khoảng thời gian trên là :
11.0592 x 2083= 23040lần Đây cũng là số chu kì mà timer phải đếm để cấp nguồn cho led các cột của ma trận. Để đơn giản trong việc điều khiển cấp nguồn cho led ma trận ta dùng ngắt Timer1 chế độ CTC ngắt khi bộ đếm đạt giá trị TOP=OCR1A Do không cần lấy sóng đầu ra nên ta có thể gán 0x10 cho thanh ghi TIMSK , gán 0x00 cho thanh ghi TCCR1A , gán 0x0M cho TCCR1B với M là một trong các giá trị sau :9,A,B,C,D
Do đó khi dùng ngắt chế độ CTC thì ta cần nạp giá trị 23115 cho thanh ghi OCR1A nếu không chia tần số dao động ( các bit CS12:0 của TCCR1B dược gán
001) Với các độ chia tần khác của Timer ta có thể nạp các giá trị sau:
B ảng 5 - 4 T ạo tốc độ quét 60 Hz cho ma trận
CS12 CS11 CS10 OCR1A TCCR1B
THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M
57 Để thay đổi tốc độc quét cho ma trận ta có thể thay đổi các giá trị của các thanh ghi OCR1A và TCCR1B ( các bit CS12,11,10 của TCCR1B)