64
MỤC LỤC DANH MỤC HÌNH ẢNH SỬ DỤNG TRONG BÁO CÁO..................3 LỜI NÓI ĐẦU..............................................4 CHƯƠNG I:CƠ SỞ LÝ THUYẾT VÀ GIẢI PHÁP THIẾT KẾ...........5 I. GIỚI THIỆU SẢN PHẨM.................................5 1. Lý do chọn đề tài..................................5 2. Lựa chọn giải pháp thiết kế........................5 CHƯƠNG II PHÂN TÍCH THIẾT KẾ MẠCH.......................6 I. SƠ ĐỒ KHỐI.......................................... 6 II. CHỨC NĂNG CỦA TỪNG KHỐI............................6 1. Khối Nguồn:........................................6 2. Khối xử lý :.......................................6 3. Khối RESET.........................................7 4. Khối tạo xung dao động:............................7 5. Khối điều khiển:...................................7 6. Khối hiển thị:.....................................7 III. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH.......................7 IV. CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH...................8 V. GIỚI THIỆU VỀ ATMEGA32:.............................9 1. Vi điều khiển Atmega32:............................9 2. Đóng gói:..........................................9 3. Các tính năng:....................................11 4. Các bộ nhớ:.......................................12 5. Nguồn dao động:...................................14 6. Các ngắt:.........................................14 7. Các cổng vào ra:..................................15 8. Giao tiếp SPI ( Serial Peripheral Interface):.....15 9. Giao tiếp USART:..................................17 10........Giao tiếp hai dây tuần tự _ Two – wire Serial Inteface ( TWI, I2C)................................22 VI. GIỚI THIỆU IC 74HC595:............................26

báo cáo

Embed Size (px)

DESCRIPTION

điều khiển 32 led dùng atmega

Citation preview

Page 1: báo cáo

MỤC LỤC

DANH MỤC HÌNH ẢNH SỬ DỤNG TRONG BÁO CÁO.......................................3

LỜI NÓI ĐẦU...............................................................................................................4

CHƯƠNG I:CƠ SỞ LÝ THUYẾT VÀ GIẢI PHÁP THIẾT KẾ.............................5

I. GIỚI THIỆU SẢN PHẨM.....................................................................................5

1. Lý do chọn đề tài.................................................................................................52. Lựa chọn giải pháp thiết kế...............................................................................5

CHƯƠNG II PHÂN TÍCH THIẾT KẾ MẠCH........................................................6

I. SƠ ĐỒ KHỐI.......................................................................................................6

II. CHỨC NĂNG CỦA TỪNG KHỐI................................................................6

1. Khối Nguồn:.....................................................................................................62. Khối xử lý :.......................................................................................................63. Khối RESET.....................................................................................................74. Khối tạo xung dao động:.................................................................................75. Khối điều khiển:...............................................................................................76. Khối hiển thị:....................................................................................................7

III. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH..................................................7

IV. CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH............................................8

V. GIỚI THIỆU VỀ ATMEGA32:.........................................................................9

1. Vi điều khiển Atmega32:.................................................................................92. Đóng gói:...........................................................................................................93. Các tính năng:................................................................................................114. Các bộ nhớ:....................................................................................................125. Nguồn dao động:............................................................................................146. Các ngắt:.........................................................................................................147. Các cổng vào ra:.............................................................................................158. Giao tiếp SPI ( Serial Peripheral Interface):...............................................159. Giao tiếp USART:..........................................................................................1710. Giao tiếp hai dây tuần tự _ Two – wire Serial Inteface ( TWI, I2C).......22

VI. GIỚI THIỆU IC 74HC595:..........................................................................26

1. Khái niệm IC 74HC595.................................................................................262. Datasheet IC74HC595...................................................................................26

VII. LED.................................................................................................................29

1. Cấu tạo............................................................................................................292. Hình dạng.......................................................................................................29

IX. TỤ ĐIỆN.........................................................................................................30

X. IC 7805...............................................................................................................31

Page 2: báo cáo

XI. THẠCH ANH.................................................................................................32

CHƯƠNG III QUY TRÌNH THỰC HIỆN.............................................................33

I. THIẾT KẾ PHẦN CỨNG CỦA MẠCH.........................................................33

1. Thiết kế sơ đồ mạch nguyên lý.....................................................................332. Thiết kế sơ đồ mạch in trên phần mềm Altium designer...........................394. In mạch lên tấm đồng:...................................................................................415. Khoan mạch...................................................................................................426. Hàn mạch........................................................................................................43

II. XÂY DỰNG PHẦN MỀM...............................................................................44

1. Chương trình nạp cho vi điều khiển Atmega32:.........................................442. Chạy thử mạch...............................................................................................44

KẾT LUẬN..................................................................................................................44

TÀI LIỆU THAM KHẢO..........................................................................................46

Page 3: báo cáo

3

DANH MỤC HÌNH ẢNH SỬ DỤNG TRONG BÁO CÁO

Hình 2.1: sơ đồ nguyên lý hoạt động của mạch..........................................................................9Hình 2.2 : Sơ đồ đóng gói Atmega32.......................................................................................10Hình 2.3: Sơ đồ cấu trúc bên trong của Atmega32...................................................................12Hình 2.4 : Bộ nhớ Flash............................................................................................................14Hình 2.5: Bộ nhớ SRAM..........................................................................................................15Hình 2.6: Lựa chọn tần số hoạt động........................................................................................15Hình 2.7 : Các ngắt của Atmega32...........................................................................................16Hình 2.8: Sơ đồ nguyên lý tương đương cổng vào ra...............................................................16Hình 2.9 : Sơ đồ khối giao tiếp SPI..........................................................................................17Hình 2.10 : Sơ đồ khối bộ USART...........................................................................................19Bảng 2.11: Tính toán tốc độ baud:............................................................................................19Hình 2.12: Định thời chế độ đồng bộ:......................................................................................20Hình 2.13: Định dạng khung dữ liệu........................................................................................21Hình 2.14 : Kết nối TWI bus....................................................................................................24Hình 2.15 : Trao đổi dữ liệu TWI.............................................................................................24Hình 2.16 : Điều kiện start và stop TWI...................................................................................25Hình 2.17: Định dạng khung địa chỉ TWI................................................................................25Hình 2.18: Định dạng gói dữ liệu.............................................................................................25Hình 2.19: IC 74HC595............................................................................................................27Hình2.20: Sơ đồ chân của IC 74HC 595..................................................................................28Hình 2.21: Giản đồ thời gian về cách hoạt động của IC...........................................................29Hình 2.22: led đơn....................................................................................................................31Hình 2.23: kí hiệu led................................................................................................................31Hình 2.24: kí hiệu điện trở.......................................................................................................31Hình 2.25: Sơ đồ chân của IC 7805..........................................................................................32Hình 2.26 Sơ đồ cấu tạo của IC 7805......................................................................................33Hình 3.1: sơ đồ khối nguồn.......................................................................................................35Hình 3.2: sơ đồ khối xử lý........................................................................................................36Hình 3.3: sơ đồ khối tạo dao động............................................................................................37Hình 3.4 sơ đồ khối reset..........................................................................................................37Hình 3.5 : Sơ đồ khối điều khiển..............................................................................................38Hình 3.6: sơ đồ khối hiển thị.....................................................................................................39Hình 3.7: sơ đồ mạch in được thiết kế trên phần mềm Proteus................................................40Hình 3.8 sơ đồ mạch in.............................................................................................................41Hình 3.9 :chuyển mạch in từ giấy ra bản mạch bằng bàn là.....................................................42Hình 3.10 : mạch in hoàn chỉnh................................................................................................43Hình 3.11 : Board mạch sau khi được khoan............................................................................44Hình 3.12: khoan các linh kiện lên mạch in..............................................................................44Hình 3.13 : sản phẩm cuối cùng................................................................................................45

Page 4: báo cáo

4

LỜI NÓI ĐẦU

Ngày nay, cùng với sự tiến bộ của khoa học và công nghệ, các thiết bị điện tử đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi mang lại hiệu quả cao trong hầu hết các lĩnh vực kinh tế, kỹ thuật cũng như trong đời sống xã hội. Tiếp nhận những thành tựu Khoa học – Kỹ thuật đó, các hệ thống Led trái tim tặng những người thân yêu trong những dịp ngày lễ đặc biệt hay để trang trí trong các nhà hàng ngày càng được ứng dụng phổ biến trong các hệ thống điều khiển tự động hiện đại. Trong thực tế hệ thống Led trái tim trên mặt hàng quảng cáo cho ngày “lễ tình yêu” ngày càng phổ biến, hay biển quảng cáo ở các quán cà phê, các trung tâm mua sắm, của hàng bán đồ lưu niệm v.v… . Qua quá trình tìm hiểu thực tế về các hệ thống làm mạch Led trái tim, để cụ thể hóa các kiến thức đã tìm hiểu được, nhóm thiết kế chúng em đã tiến hành mô phỏng, thiết kế sơ đồ nguyên lý và lắp ráp mạch chạy led trái tim 32 led sử dụng vi điền khiển AVR, lập trình nháy led sử dụng IC thanh ghi dịch sử dụng IC 74HC595 và phát triển thành bài tập lớn môn học Thực tập cơ sở.

Mục đích chính của việc thực hiện Bài tập lớn này là hiểu được bản chất của các linh kiện sử dụng trong mạch, các xây dựng nguyên lý mạch, quy trình thiết kế 1 mạch điện tử cũng như các vấn đề liên quan đến chất lượng và các yếu tố khác của mạch. Để thực hiện được các yêu cầu cơ bản trên Báo cáo bài tập lớn này được chia thành 3 chương chính:

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích thiết kế mạch

Chương 3: Quy trình thực hiện

Để hoàn thành bài tập lớn này, ngoài sự nỗ lực cố gắng của các thành viên trong nhóm, sự trợ giúp của các tài liệu liên quan đến các lĩnh vực kỹ thuật mạch điện tử tương tự, điện tử số, kỹ thuật vi xử lý, lập trình C…, nhóm nghiên cứu chúng em còn nhận được rất nhiều sự quan tâm, giúp đỡ tận tình, tạo điều kiện cả về thời gian, cơ sở vật chất cũng như phòng thực hành của lãnh đạo và các thầy cô trong khoa Điện tử - Viễn thông Trường Đại học Kỹ thuật- Hậu cần CAND. Mặc dù các thành viên trong nhóm thiết kế đã có rất nhiều cố gắng song trong quá trình thực hiện đề tài này vẫn không thể tránh được những thiếu xót, chúng em rất mong nhận được những ý kiến góp ý từ các thầy cô để đề tài của nhóm em được hoàn thiện hơn.

Xin chân thành cảm ơn!

Page 5: báo cáo

5

CHƯƠNG I CƠ SỞ LÝ THUYẾT VÀ GIẢI PHÁP THIẾT KẾ

I. GIỚI THIỆU SẢN PHẨM

1. Lý do chọn đề tài

Điện tử là một trong những lĩnh vực rất phát triển và đánh giá được tốc độ phát triển về kinh tế cũng như khoa học kỹ thuật của một đất nước. Việc phát triển, chế tạo các loại chip, các loại IC tích hợp thông dụng, có ứng dụng nhiều trong thực tế có vai trò to lớn trong quá trình phát triển khoa học kỹ thuật liên quan đến kỹ thuật điện- điện tử- tự động hóa. Ở Việt Nam công nghệ chế tạo các loại chip vi điều khiển các công nghệ tích hợp IC chưa được chú trọng và phát triển, phần lớn còn ứng dụng và phụ thuộc vào các công nghệ tiên tiến của các nước phát triển như :Mỹ, Nhật Bản…đặc biệt là tập đoàn điện tử khổng lồ Intel…

Vì vậy việc học tập ,tìm hiểu nghiên cứu lại những công nghệ phát triển của các nước bạn có ý nghĩa đặc biệt quan trọng đối với người học và đóng vai trò không nhỏ trong quá trình phát triển nền giáo dục của nước nhà.

Mạch led trái tim dùng IC 74HC595 hiển thị trên led đơn hoạt động. Trong thực tế chúng ta thường hay gặp các hệ thống đèn nhấp nháy rất đẹp mắt trang trí cho các biểu tượng hay các ký tự khác nhau. Nhất là các biển quảng cáo, hay các khu vui chơi giải trí, trung tâm thương mại, hay những biển pano áp phích cổ động hay led trái tim thể hiện tình yêu đôi lứa ở khắp mọi nơi nhằm tập trung sự chú ý về ban đêm để thực hiện được như vậy người ta phải ghép nhiều bóng lại với nhau và điều khiển sự sáng của chúng để chúng nháy tắt theo một quy luật nhất định. Tạo nên những hình dạng như: chữ quảng cáo, mạch led trái tim..v.v. Sau khi đã nghiên cứu và tìm hiểu về hệ thống điều khiển led dung IC 74HC595 để cụ thể hóa những hiểu biết các kiến thức đã được học, nhóm chúng em đã tiến hành lựa chọn đề tài “thiết kế mạch hiển thị led trái tim sử dụng IC 74HC595 làm bài tập lớn môn học “Thực tập cơ sở”.

2. Lựa chọn giải pháp thiết kế

2.1 Giải pháp công nghệ

Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng hệ thống led trái tim qua các led đơn mắc song song ở đầu ra sử dụng IC 74HC595 và vi điều khiển Atemega32 để điều khiển mạch led sáng. Mạch led trái tim sử dụng led đơn có thể chạy tự động và quan sát từ khoảng cách xa.

2.2 Giải phát thiết kế

Page 6: báo cáo

6

Khối xử lý

Khối nguồnKhối hiển thị

Điều khiển

Tạo xung dao động

Reset

- Xử lý, điều khiển dùng vi điều khiển ATMEGA32. Lập trình cho vi điều khiển để xử lý xuất dữ liệu ra 4 IC74HC595. Dữ liệu từ 4 IC 74HC595 sẽ được xuất ra các ngõ ra từ Q0-Q7 và điều khiển hiển thị các led sáng theo ý muốn của người thiết kế.

- Điều chỉnh reset bằng nút bấm: đưa trạng thái của VĐK Atemega32 về trạng thái ban đầu.

- Mở rộng số chân vi điều khiển dùng IC 74HC595 bằng việc mắc song song đầu vào dữ liệu 4 IC 74HC595 với nhau. Đầu ra của IC 74HC595 là 32 led mắc song song với nhau.

CHƯƠNG II PHÂN TÍCH THIẾT KẾ MẠCHI. SƠ ĐỒ KHỐI

II. CHỨC NĂNG CỦA TỪNG KHỐI1. Khối Nguồn:

Cung cấp nguồn cho hệ thống, sử dụng nguồn điện áp 5V để cung cấp cho toàn bộ các linh kiện trong mạch hoạt động.

2. Khối xử lý :Được thiết kế bởi VĐK ATMEGA32 có nhiệm vụ xử lý tất cả các dữ liệu của

chương trình. Điều khiển dữ liệu hiển thị, điều khiển xuất nhập dữ liệu. Điều khiển truy xuất dữ liệu và xử lý sau đó truyền đến khối điều khiển để hiển thị lên 32 LED.

Chương trình nạp vào VĐK ATMEGA32 được viết trên trình dịch AVR STUDIO4.

3. Khối RESET Là 1 nút bấm có tác dụng đưa vi điều khiển ATEMEGA32 về trạng thái ban đầu.

4. Khối tạo xung dao động:

Page 7: báo cáo

7

Sử dụng dao động của thạch anh 12 MHZ có tác dụng tạo xung nhịp với tần số 12 MHz cho VĐK ATMEGA32 hoạt động.

5. Khối điều khiển: Gồm 4 IC74HC595 có tác dụng ghi dịch dữ liệu từ khối xử lý ra khối hiển thị. 4

IC74HC595 này được ghép song song với nhau. Mỗi IC74HC595 này được nối với 3 ngõ ra của VĐK ATMEGA32 nhằm mở rộng từ 12 ngõ ra của bộ vi điều khiển ra 32 chân ( 32 led).

6. Khối hiển thị:Gồm 32 LED mắc song song dùng nguồn trực tiếp từ chân Q0-Q7 của

IC74HC595 để hiển thị.

III. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH

Hình 2.1: sơ đồ nguyên lý hoạt động của mạch

Nhìn vào sơ đồ nguyên lý ta thấy nguồn nuôi sau khi được xử lý tạo mức điện áp ổn định 5V sẽ được cung cấp đến toàn bộ các khối trong hệ thống. Khi mạch được cấp nguồn, bộ tạo xung của khối tạo xung dao động sẽ tạo dao động, cấp xung clock cho atmega32 qua các chân XTAL, XTAL2. Bộ xử lý (VĐK ATMEGA32) hoạt động dựa trên xung nhịp dao động 12MHz có nhiệm vụ xử lý theo một chương trình nhất định do người thiết kế thiết lập để đưa dữ liệu từ VĐK ATMEGA32 ra bộ ghi dịch (khối điều khiển ) là 4 IC 74HC595.

Page 8: báo cáo

8

Khi muốn đưa dữ liệu từ VĐK ATMEGA32 ra IC 74HC595 ta cho dữ liệu vào chân số 14 (INPUT) của IC 74HC595 đồng thời cho chân 11 (SHCP) của IC 74HC595 lên mức cao (1) để tạo xung clock cho phép dịch dữ liệu từng bit một.

Khi muốn xuất dữ liệu ra ta cho chân 12 của IC 74HC595 lên mức cao (1), muốn chốt dữ liệu lại thì ta cho chân 12 xuống mức thấp (0). Lúc đó các chân của IC 74HC595 sẽ giữ nguyên dữ liệu ta đưa ra. Từ đó dữ liệu được hiển thị thông qua hệ thống led (32led).

Trong mạch này sử dụng 4 IC 74HC595 để xuất dữ liệu ra 32 led được mắc song song với nhau, các IC này được ghép song song với nhau, mỗi IC được mắc nối tiếp với các ngõ ra của Atemega32 đó là các PORT A, PORT B, PORT C, PORT D.

Việc hiển thị led là đèn sáng tự động theo thiết kế sẵn.

IV. CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH- 1 vi điều khiển ATMEGA32- 32 Led ; 4 IC 74HC595- Điện trở , Tụ điện , Thạch anh , IC 7805

V. GIỚI THIỆU VỀ ATMEGA32:1. Vi điều khiển Atmega32:

- Atmega32 là vi điều khiển thuộc họ AVR của hãng Atmel,có 40 chân trong đó có 32 chân I/O,có 4 kênh điều xung PWM,sử dụng thạch anh ngoài 8MHz.

- Nhân AVR kết hợp tập lệnh đầy đủ với 32 thanh ghi đa năng. Tất cả các thanh ghi liên kết trực tiếp với khối xử lý số học và logic (ALU) cho phép 2 thanh ghi độc lập được truy cập trong một lệnh đơn trong 1 chu kỳ đồng hồ. Kết quả là tốc độ nhanh gấp 10 lần các bộ vi điều khiển CISC thường.

2. Đóng gói:

Hình 2.2 : Sơ đồ đóng gói Atmega32

Page 9: báo cáo

9

Mô tả chân:- Atmega32 gồm có 4 port: PortA, PortB, PortC, PortD: Có thể được cấu hình

như các cổng I/O 8-bit hai hướng thông thường hoặc cấu hình để sử dụng các chức năng đặc biệt khác . Các chân của Port có thể được nối với các điện trở kéo lên bên trong (lựa chọn cho từng bit).

Port A gồm 8 chân từ PA0 đến PA7:là cổng vào tương tự cho chuyển đổi tương tự sang số.Nó cũng là cổng vào/ra hai hướng 8 bít trong trường hợp không sử sụng làm cổng chuyển đổi tương tự,có điện trở nối lên nguồn dương b 1ên trong.Port A cung cấp đường địa chỉ dữ liệu vao/ra theo kiểu hợp kênh khi dùng bộ nhớ bên ngoài.

Port B gồm 8 chân từ PB0 đến PB7:là cổng vào/ra hai hướng 8 bít,có điện trở nối lên nguồn dương bên trong.Port B cung cấp các chức năng ứng với các tính năng đặc biệt của Atmega32.

Port C gồm các chân từ PC0 đến PC7:là cổng vào/ra hai hướng 8 bit,có điện trở nối lên nguồn dương bên trong,Port C cung cấp các địa chỉ lối ra khi sử dụng bộ nhớ bên ngoài và đồng thời cung cấp ứng với các tính năng đặc biệt của Atmega32.

Port D gồm các chân từ PD0 đến PD7:là cổng vào/ra hai hướng 8 bít,có điện trở nối lên nguồn dương bên trong. Port D cung cấp các chức năng ứng với các tính năng đặc biệt của Atmega32.

- Chân Reset (chân số 9):lối vào đặt lại. Khi đưa một mức điện áp thấp vào chân này có độ dài lớn hơn một xung sẽ reset hệ thống.

- Chân nguồn Vcc (chân số 10 và chân số 30):điện áp nguồn nuôi của Atmega32 từ 4.5v đến 5.5v.

- Chân GND (chân số 11 và chân 31):chân nối mas.- Chân XTAL1,XTAL2 là hai chân nối thạch anh ngoài (chân số 12 và chân số

13).Atmega32 sử dụng thạch anh ngoài là 8MHz.- AVCC: Điện áp cấp cho các bộ ADC. Thường được nối với VCC qua một bộ

lọc thông thấp.- AREF: Điện áp tham chiếu cho các bộ biến đổi ADC.

Sơ đồ khối:

Page 10: báo cáo

10

Hình 2.3: Sơ đồ cấu trúc bên trong của Atmega32

3. Các tính năng: Cấu trúc RISC

- Hỗ trợ 131 lệnh- 32x8 thanh ghi dùng chung- Tốc độ 16 MIPS với thạch anh 16 MHz

Bộ nhớ- 32K Byte bộ nhớ Flash- 1K Byte EEPROM- 2K Byte SRAM- Hỗ trợ lập trình ngay trên mạch với chương trình mồi- Có các bít khóa bảo mật

Giao diện JTAG- Khả năng quét biên theo chuẩn JTAG

Page 11: báo cáo

11

- Hỗ trợ gỡ lỗi trên chip- Lập trình bộ nhớ Flash, EEPROM, các bít khóa qua giao diện JTAG

Các tính năng ngoại vi- Hai bộ đếm/định thời 8 bit - Một bộ đếm / định thời 16 bit- Bộ đếm thời gian thực với bộ giao động riêng- Bốn kênh PWM- 8 kênh ADC 10 bit- Giao tiếp I2C, USART, SPI.- Bộ so sánh Analog trên chíp

Các tính năng khác- Có bộ giao động RC bên trong- Ngắt trong và ngắt ngoài- Sáu chế độ ngủ

Đóng gói I/O- 32 đường I/O lập trình được- 40 chân PDIP

Điện áp hoạt động - 2.7 – 5.5 V với Atmega32L- 4.5 – 5.5 V với Atmega32

Tốc độ- 0 - 8 MHz với Atmega32L- 0 - 16 MHz với Atmega32

4. Các bộ nhớ: Bộ nhớ Flash: 32K bytes được quản lý như 16K x 16 do hầu hết các lệnh của

AVR có chiều dài 16 hoặc 32 bit.

Hình 2.4 : Bộ nhớ Flash

Bộ nhớ SRAM: 2K byte dùng để lưu biến và đánh địa chỉ.

Page 12: báo cáo

12

Hình 2.5: Bộ nhớ SRAM

Bộ nhớ Eeprom: 1K bytes. Bộ nhớ Eeprom không bị mất dữ liệu khi mất nguồn, có thể ghi đọc trong lúc chạy chương trình, dùng để lưu các tham số.

5. Nguồn dao động: Bên trong AVR đã có sẵn một bộ dao động có thể lựa chọn với tần số từ 1Mhz

– 8 Mhz (mặc định 1Mhz). Do đó nó có thể chạy mà không cần mắc thêm nguồn dao động ngoài. Muốn sử dụng nguồn dao động ngoài chúng ta phải lập trình cho các bít CKSEL3..0 và CKOPT theo bảng:

Hình 2.6: Lựa chọn tần số hoạt động

6. Các ngắt:- Khi có ngắt sảy ra, vi điều khiển sẽ tự động lưu các tham số của chương trình

và nhảy đến chương trình con thực hiện ngắt.

Page 13: báo cáo

13

Hình 2.7 : Các ngắt của Atmega32

7. Các cổng vào ra: Các cổng vào ra và các thanh ghi dùng để điều khiển hướng của cổng được lập

trình giá trị tới từng bit. Bộ đệm cổng có thể đủ mạnh để điều khiển hiển thị trực tiếp LED sáng. Tất cả các chân đều có các điện trở kéo lên bên trong.

Hình 2.8: Sơ đồ nguyên lý tương đương cổng vào ra.

Mỗi cổng vào ra có thanh ghi dữ liệu PORTx ( PORTA, PORTB, PORTC, PORTD), thanh ghi hướng dữ liệu DDRx và thanh ghi dữ liệu vào PINx. Khi bit thanh ghi hướng dữ liệu bằng “1” thì chân đó là chân ra, bằng “0” là chân vào.

Page 14: báo cáo

14

8. Giao tiếp SPI ( Serial Peripheral Interface): Giao tiếp ngoại vi nối tiếp SPI cho phép trao đổi dữ liệu đồng bộ tốc độ cao

giữa Atmega32 và các thiết bị ngoại vi hoặc giữa các thiết bị AVR với nhau. Giao diện ngoại vi nối tiếp (SPI) bao gồm các đặc điểm dưới đây

- Truyển song công, truyền dữ liệu đồng bộ 3 dây (Three wire) - Chế độ hoạt động Master / Slave - Chuyển dữ liệu MSB First hoặc LSB First - 7 tốc độ bit có thể lập trình - Cờ ngắt cuối phiên truyền - Cờ ngăn xung đột ghi- Đánh thức khỏi chế độ chờ Idle

Chế độ SPI Master tốc độ kép (CK/2 ) Sơ đồ khối:

Hình 2.9 : Sơ đồ khối giao tiếp SPI.

Hoạt động:- Master sẽ khởi tạo phiên giao tiếp bằng cách kéo chân lựa chọn Slave SS xuống

mức thấp. Master và Slave chuẩn bị dữ liệu để gửi vào các thanh ghi dịch tương ứng của chúng , Master tạo ra xung nhịp trên đường SCK để chuyển tiếp dữ liệu . Dữ liệu

Page 15: báo cáo

15

được chuyển từ Master sang Slave trên đầu ra Master Out - Slave In , MOSI, và từ Slave sang Master bằng chân Master In - Slave Out , MISO. Sau mỗi gói dữ liệu , Master sẽ đồng bộ hóa với Slave bằng một xung cao trên đường lựa chọn Slave SS.

- Khi được cấu hình là một Master , giao diện SPI không tự động điều khiển đường SS . Việc này phải được điều khiển bằng phần mềm người sử dụng trước khi quá trình giao tiếp có thể bắt đầu . Khi việc này được thực hiện ,ghi một Byte lên thanh ghi dữ liệu SPI sẽ khởi động bộ tạo xung nhịp SPI và phần cứng sẽ di chuyển 8 bít dữ liệu vào trong Slave . Sau khi di chuyển một Byte , bộ tạo xung nhịp SPI dừng lại, đặt cờ báo kết thúc quá trình chuyển dữ liệu (SPIF) . Nếu như ngắt SPI được kích hoạt (bít SPIE ) trong thanh ghi SPCR, một ngắt được truy vấn . Master có thể tiếp tục chuyển byte dữ liệu tiếp theo bằng cách ghi vào trong thanh ghi SPDR hoặc tạo tín hiệu kết thúc gói dữ liệu bằng xung cao trên đường lựa chọn Slave, nhánh SS. Byte đến cuối cùng sẽ được giữ trong bộ đệm của thanh ghi cho lần sử dụng sau.

- Khi được cấu hình là Slave , giao diện SPI sẽ ở chế độ ngủ khi chân SS được điều khiển ở mức cao . Trong trạng thái này , phần mềm có thể cập nhật các thanh ghi dữ liệu SPI – SPDR , nhưng dữ liệu sẽ không được dịch chuyển ra ngoài bằng xung nhịp trên chân SCK cho đến khi chân SS được điều khiển ở mức thấp. Kết thúc truyền một byte nó cũng tạo ra ngắt nếu như được lập trình. Slave có thể tiếp tục đặt dữ liệu mới để gửi vào trong thanh ghi SPDR. Byte đến cuối cùng sẽ được giữ lại sử dụng sau.

Thanh ghi điều khiển SPCR

- Bit 7 – SPIE: Cho phép ngắt SPI- Bit 6 – SPE: Cho phép SPI- Bit 5 – DORD: Thứ tự dữ liệu. DORD = 1 , LSB first, DORD = 0, MSB first.- Bit 4 – MSTR: Chọn Master/Slave, 1 Master, 0 Slave.- Bit 3 – CPOL: Chọn cực Clock, bằng 1 SCK ở mức cao khi rảnh, bằng 0 SCK ở

mức thấp khi rảnh.- Bit 2 – CPHA: Pha Clock- Bits 1, 0 – SPR1, SPR0: chọn tốc độ đồng hồ.

Thanh ghi trạng thái SPSR

- Bit 7 – SPIF: Cờ ngắt SPI - Bit 6 – WCOL: Cờ xung đột ghi- Bit 5..1 – Res: Bit dự trữ

Page 16: báo cáo

16

- Bit 0 – SPI2X: Bit nhân đôi tốc độ. Thanh ghi dữ liệu SPDR

9. Giao tiếp USART: USART: Universal Synchronous and Asynchronous serial Receiver and

Transmitter - Thu phát nối tiếp đồng bộ và không đồng bộ chung là giao tiếp nối tiếp có độ linh hoạt cao. Giao tiếp tại các chân TXD, RXD, XCK của vi điều khiển. Các tính năng chính:

Hoạt động song công. Hai chế độ đồng bộ và không đồng bộ.Hoạt động đồng bộ xung Master hay Slave.Máy phát tốc độ Baud độ chính xác cao. Hỗ trợ truyền các khung nối tiếp với 5 ,6 ,7, 8 hoặc 9 bit dữ liệu và 1 hoặc 2 bit

stop. Tạo toàn vẹn dữ liệu chẵn, lẻ và hỗ trợ kiểm tra tính chẵn lẻ bằng phần cứng Dò tràn dữ liệu. Dò lỗi khung truyền. Bộ lọc nhiễu bao gồm dò tìm bit khởi động sai và bộ lọc số thông thấp. 3 ngắt riêng biệt: Phát xong, trống thanh ghi dữ liệu TX , thu xong. Chế độ truyền thông nhiều bộ sử lý. Chế độ truyền thông không đồng bộ tốc độ kép.

Sơ đồ khối:

Page 17: báo cáo

17

Hình 2.10 : Sơ đồ khối bộ USART

Tính toán tốc độ Baud:

Bảng 2.11: Tính toán tốc độ baud:

Baud: Tốc độ baud ( bps)Fosc: Tần số dao động đồng hồ hệ thốngUBRR: Nội dung của thanh ghi UBRRH và UBRRL, ( 0 – 4095)

Tốc độ nhân đôi:

Page 18: báo cáo

18

Tốc độ chuyển dữ liệu có thể được nhân đôi bằng việc cài đặt bit U2X trong thanh ghi UCSRA. Việc cài đặt bit này chỉ gây ảnh hưởng cho chế độ không đồng bộ. Cài đặt bit này là 0 khi sử dụng chế độ điều khiển đồng bộ.

Hình 2.12: Định thời chế độ đồng bộ:

Các bit UCPOL và Bit UCRSC lựa chọn sườn xung XCK được sử dụng cho việc lấy mẫu dữ liệu và thay đổi dữ liệu. khi UCPOL = 0 thì dữ liệu sẽ thay

đổi tại sườn lên của xung XCK và được lấy mẫu tại sườn xuống của xung XCK. Nếu UCPOL = 1 , dữ liệu sẽ thay đổi tại sườn xuống của xung XCK và được lấy mẫu tại sườn lên của xung XCK.

Các dạng khung dữ liệu – Frame Formats Một khung được xác định bằng một ký tự gồm các bit dữ liệu, các bit bộ đồng

bộ hóa (các bit start và stop ), và bit chẵn lẻ cho việc kiểm tra các lỗi . USART chấp nhận tất cả 30 kết hợp của các định dạng frame sau:

1 bit start 5 ,6 ,7 ,8 hoặc 9 bit dữ liệu Không có , hoặc có các bit chẵn lẻ 1 hoặc 2 bit stop

Hình 2.13: Định dạng khung dữ liệu.

St bít start , luôn luôn ở mức thấp (n) các bit dữ liệu (từ 0 đến 8 ) P bit chẵn lẻ . có thể là lẻ hoặc chẵn Sp bit Stop , luôn ở mức cao

Page 19: báo cáo

19

Tính toán bit chẵn lẻ - Parity Bit Calculation Bit chẵn lẻ được tính toán bằng cách cộng module tất cả các bit dữ liệu . Nếu

bit lẻ được sử dụng, kết quả của quá trình cộng module được đảo ngược . Sự liên quan giữa bit chẵn lẻ và các bit dữ liệu như bên dưới

P even : bit chẵn lẻ sử dụng bậc chẵn P odd: bit chẵn lẻ sử dụng bậc lẻ d n: bit dữ liệu n của chuỗi kí tự

Nếu được sử dụng, bit chẵn lẻ được đặt giữa bit dữ liệu cuối và bit stop đầu tiên của chuỗi khung .

Các thanh ghi USART:Thanh ghi dữ liệu I/O

Thanh ghi điều khiển và trạng thái USART A – UCSRA

Bit7 – RCX: hoàn thành thu nhận tín hiệu

Bit cờ này được đặt khi có các dữ liệu không được đọc trong bộ đệm nhận và bị xóa khi bộ đệm nhận trống

Bit 6 – TXC : hoàn thành chuyển dữ liệu USART

Bit 5 – UDRE : báo trống thanh ghi dữ liệu USART

Bit 4 – Fe : lỗi khung truyền

Bit 3 – DOR : báo tràn dữ liệu

Bit 2 – UPE : lỗi chẵn lẻ

Bit 1 – U2X: tốc độ truyền dữ liệu USART kép

Bit 0 – MPCM : chế độ truyền thông đa xử lý

Thanh ghi trạng thái và điều khiển USART B – UCSRB

Page 20: báo cáo

20

Bit 7 – RXCIE : kích hoạt ngắt hoàn thành RX

Bit 6 – TXCIE : kích hoạt ngắt hoàn thành TX

Bit 5 – UDRIE : kích hoạt ngắt trống thanh ghi dữ liệu USART

Bit 4 – RXEN : kích hoạt bộ thu tín hiệu Bit 3 – TXEN : kích hoạt bộ chuyển phát Bit 2 – UCSZ2 : kích cỡ chuỗi kí tự Bit 1 – RXB8 : bit 8 dữ liệu đến Bit 0 – TXB8 : bit 8 dữ liệu chuyển phát Thanh ghi trạng thái và điều khiển USART C – UCSRC

Bit 7 – bit dự trữ

Bit 6 – UMSELn : lựa chọn chế độ USART

Bit 5:4 – UPMn1:0 : chế độ chẵn lẻ

Bit 3 – USBSn : lựa chọn bit stop

Bit 2:1 – UCSZn1:0 : kích cỡ chuỗi kí tự

Bit 0 – UCPOLn : cực xung nhịp

Các thanh ghi Baud Rate USART – UBRRL và UBRRH

Bit 15: URSEL: Bit lựa chọn thanh ghi UBRRH hay UCSRC.

Bit 14:12: Bỉt dự trữ.

Bit 11:0 – UBRR11:0 : thanh ghi baud rate USART

10. Giao tiếp hai dây tuần tự _ Two – wire Serial Inteface ( TWI, I2C) Đặc điểm

Đơn giản nhưng mạnh mẽ và linh hoạt , chỉ cần thiết 2 đường bus. Hỗ trợ cả chế độ điều khiển Master và Slave Thiết bị có thể hoạt động như một bộ chuyển phát hoặc một bộ thu

Page 21: báo cáo

21

Không gian địa chỉ 7-bit cho phép nâng lên 128 địa chỉ Slave khác nhau Hỗ trợ phân định chế độ Master – slave Nâng lên tốc độ chuyển dữ liệu là 400 kHz Mạch loại bỏ nhiễu loại bỏ đỉnh nhọn trên các đường bus Đầy đủ các địa chỉ slave lập trình được với sự hỗ trợ gọi chung Khi nhận ra địa, AVR bị đáng thức trong các chế độ sleepmode.

Định nghĩa bus giao diện tuần tự hai dây Giao diện tuần tự hai dây (TWI) là bộ công cụ lý tưởng cho các ứng dụng vi điều

khiển thông thường . Giao thức TWI cho phép người thiết kế hệ thống liên kết trên 128 thiết bị khác nhau sử dụng chỉ 2 đường bus 2- hướng , 1 cho xung nhịp (SCL) và 1 cho dữ liệu (SDA) . Phần cứng bên ngoài để điều khiển bus chỉ cần 1 bộ điện trở pull-up đơn cho mỗi dây trong đường bus TWI . Tất cả các thiết bị được kết nối lên bus có địa chỉ riêng , và cơ chế cho việc giải quyết nội dung bus đã sẵn có trong giao thức TWI.

Hình 2.14 : Kết nối TWI bus

Trao đổi dữ liệu và định dạng khung: Quá trình chuyển các bít Mỗi bít dữ liệu trên bus TWI được kèm theo một xung trên đường truyền xung

nhịp. Mức của đường dữ liệu phải ổn định khi đườn xung nhịp ở mức cao.

Page 22: báo cáo

22

Hình 2.15 : Trao đổi dữ liệu TWI

Các điều kiện khởi động và dừng truyền:

Master khởi tạo và kết thúc một quá trình chuyển dữ liệu. Quá trình chuyển dữ liệu được khởi tạo khi Master đưa ra một điều kiện bắt đầu trên bus, và nó bị kết thúc khi master đưa ra một điều kiện stop. Giữa một điều kiện start và stop, bus đang được xét đến bận, và không Master nào khác có thể can thiệp được. Như giản đồ biên dưới, các điều kiện start và stop được ký hiệu bằng cách thay đổi mức của dòng SDA, khi mà dòng SCL ở mức cao.

Hình 2.16 : Điều kiện start và stop TWI

Định dạng khung địa chỉ:

Hình 2.17: Định dạng khung địa chỉ TWI

Định dạng gói dữ liệu:

Page 23: báo cáo

23

Hình 2.18: Định dạng gói dữ liệu.

Các thanh ghi TWI Thanh ghi tốc độ bit TWI – TWBR

Bit 7..0 thanh ghi tốc độ bit TWI

Thanh ghi điều khiển TWI – TWCR

Bit 7 – TWINT : cờ ngắt TWI

Bit 6 – TWEA : bit nhận biết kích hoạt TWI

Bit 5 – TWSTA : bit điều kiện khởi động TWI

Bit 4 – TWSTO : bit điều kiện STOP TWI

Bit 3 – TWWC – cờ báo viết xung đột viết TWI

Bit 2 – TWEN : bit kích hoạt TWI

Bit 1 – Res : bit dự trữ

Bit 0 – TWIE : kích hoạt ngắt TWI

Thanh ghi trạng thái TWI – TWSR

Page 24: báo cáo

24

Bit 7..3 – TWS : trạng thái TWI

Bit 2 – Res : bit dự trữ

Bit 1..0 – TWPS : các bit đếm gộp trước TWI

Thanh ghi dữ liệu TWI – TWDR

Bit 7...0 – TWD : thanh ghi dữ liệu TWI

Thanh ghi địa chỉ TWI (Slave ) – TWAR

Bit 7..1 –TWA : thanh ghi địa chỉ TWI (slave )

Bit 0 – TWGCE : bit kích hoạt nhận diện gọi chung TWI

VI. GIỚI THIỆU IC 74HC595:1. Khái niệm IC 74HC595

Hình 2.19: IC 74HC595

Sơ lược về IC ghi dịch 74HC595:74HC595 là IC ghi dịch 8bit kết hợp chốt dữ liệu, đầu vào nối tiếp và đầu ra song

song. Nó thường dùng trong các mạch quét led 7 , led matrix …để tiết kiệm số chân vi

Page 25: báo cáo

25

điều khiển tối đa (3 chân) . Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không IC nào có thể làm được bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau.

2. Datasheet IC74HC595

- Các chân từ 1 tới 7 và chân số 15 là ngõ ra của IC (ứng với Q1, Q2,…,Q7, Q0 ). Tượng trưng cho 8 bit trong vùng nhớ của IC.

- Chân DS (chân số 14) là chân INPUT, ngõ vào của IC (đây là IC vào nối tiếp nên ta chỉ cần 1 ngõ vào là đủ).

- Chân 16 - VCC là chân cấp nguồn dương (từ 2V đến 6V).

- Chân số 8 GND là chân cấp Ground – cực (-) của nguồn.

Hình2.20: Sơ đồ chân của IC 74HC 595

- Chân SHCP (chân 11) là chân đưa xung clock (xung nhịp) vào IC và khi có cạnh lên của xung thì IC đưa tín hiệu ở ngõ vào vào bộ nhớ của IC để chờ xử lý.

+ Xung clock là 1 chuỗi tín hiệu logic 0 và 1 có thể là 1 xen kẽ với 0 cũng có thể là 0,1 ngẫu nhiên, nhưng nói chung nó là 1 chuỗi tín hiệu

+ Cạnh lên là khi xung clock chuyển trạng thái từ 0 lên 1, còn cạnh xuống là thời điểm khi chuyển từ 1 xuống 0.

Page 26: báo cáo

26

+ Vậy khi có cạnh lên của xung tại chân SHCP thì 1 tín hiệu logic từ ngõ vào của IC sẽ được lưu trữ vào trong IC để chờ tín hiệu cho phép xử lý. Bộ nhớ tối đa của IC là 8 bit, nếu vượt quá ngưỡng này thì giá trị mới sẽ được đưa vào IC và đồng thời giá trị cũ nhất của IC sẽ được xoá.

- Chân STCP (chân 12) là chân đưa xung clock vào IC để khi có cạnh lên của xung thì IC đưa toàn bộ 8 bit data đã được lưu (đã nói ở chân SHCP) ra ngõ ra của IC.

- Chân MR (chân 10) là chân reset IC (tức là trả IC về trạng thái ban đầu, khi chân này tích cực thì toàn bộ bộ nhớ của IC sẽ bị xoá tất cả bằng 0, tuy nhiên lưu ý là lúc này tín hiệu ở ngõ ra không bị xoá mà vẫn giữ nguyên giá trị trước đó) và chân này tích cực mức thấp (LOW active) có nghĩa là muốn reset IC thì phải đưa 0V vào chân này.

- Chân OE ( chân 13) là chân Output Enable chân khi được tích cực thì mới cho phép ta điều chỉnh được giá trị ngõ ra. Khi tên chân IC mà có dấu gạch trên đầu tức là nó tích cực thấp (LOW active) tức là muốn tích cực chân này thì ta phải đưa 0v (GND) vào chân này. Còn nếu khi chân này không được tích cực (tức là đưa mức logic 1 vào chân này thì ngõ ra bị đưa lên trạng thái trở kháng cao)

- Chân số 9 chân Q7S. Chữ S ở đây là viết tắt cho từ Serial (nối tiếp) chân này thường được dùng khi ta nối tiếp các IC 74HC595 với nhau (chân Q7S của con trước nối vào chân DS của con sau) chân này sẽ có giá trị của bit trọng số cao của bộ nhớ IC (Bit mới được đưa vào sẽ nằm ở vị trí LSB – trọng số thấp) nếu mắc nối tiếp các IC 74HC595 lại với nhau theo cách như vậy thì khi bit MSB bị đẩy ra khỏi bộ nhớ của IC sẽ không mất đi mà trước đó nó đã được sao chép qua IC phía sau. Sau đây là giản đồ thời gian về cách hoạt động của IC:

Page 27: báo cáo

27

Hình 2.21: Giản đồ thời gian về cách hoạt động của IC

Sau đây là 1 thí nghiệm nhỏ về hoạt động của IC 74HC595 theo sơ đồ mạch mở rộng 16 bit bằng cách ghép 2 IC74HC595 lại với nhau.

Từ sơ đồ mạch trên ta thấy có 3 ngõ vào tại nút nhấn BUTTON 1 (chân SHCP), BUTTON 2 (chân STCP)và DATA (chân dữ liệu vào nối tiếp) tương ứng với 3 chân số 11,12,14 của 595. Ngõ ra của IC 74HC595 là 2 Port mỗi Port 8 bit, mỗi bit tương ứng với 1 led bên ngoài được đánh dấu từ D1 đến D16. Led Dx ( x chạy từ 0 đến 16) sẽ sáng khi ngõ ra tương ứng của 595 ở mức cao ( mức 1), tắt khi ngõ ra của ( IC 74HC595) ở mức thấp (mức 0) .

Nguyên lý:

Như ta thấy ban đầu tất cả các led đều tắt.

- Chú ý là ta đang mở rộng ngõ ra 16 bit nên khi nạp dữ liệu cũng phải nạp vào 16 bit. Như ta thấy để chỉ led D1 sáng các led còn lại đều tắt, tương ứng dữ liệu ngõ ra là 1000 0000 0000 0000. Nhưng khi nạp thì ta phải nạp lần lượt giá trị là 0000 0000 0000 0001. Vì IC 74HC595 sẽ truyền bit đầu tiên là LSB (bit có trọng số thấp nhất).

- Đầu tiên ta cho DATA đang ở mức 0, ta sẽ tạo 1 xung tại chân SHCP để nạp bit 0 đầu tiên vào 595 bằng cách nhấn thả nút BUTTON1. Lúc này IC 74HC595 lưu trữ giá trị bit 0 đầu tiên. Tiếp tục ta lại nạp thêm 1 bit 0 thứ 2 vào IC 74HC595 cũng bằng cách nhấn thả nút BUTTON 1 thêm lần nữa. Lúc này IC 74HC595 đang lưu giá trị là

Page 28: báo cáo

28

00. Và ta lại tiếp tục nạp lần lượt thêm bit 0 thứ 3, thứ 4.... thứ 15 vào IC bằng cách nhấn nút BUTTON 1 13 lần (chú ý DATA luôn ở mức 0).Lúc này IC đang lưu 15bit là 0000 0000 0000 000. Và bit thứ 16 chúng ta cần nạp là bit 1, bằng cách đưa DATA lên mức 1, sau đó nhấn nút BUTTON 1 để nạp bit 1 đó vào IC. Lúc này IC đã lưu đủ 16 bit là 00000000 00000001. Để đưa dữ liệu ra ngõ ra của IC 74HC595 và chốt lại, ta cần cấp 1 xung tại chân STCP, bằng cách nhấn thả nút BUTTON 2. Lúc này ta sẽ thấy led D1 sáng và các led còn lại đều tắt.

VII. LED1. Cấu tạoLed được làm tư một miếng tinh thể cực mỏng. Vỏ bao bọc chất bán dẫn được làm

trong suốt. Hai chân bọc chì được kéo ra đưa khỏi lớp bọc EpoxyChất bán dẫn có hai cực P và N được chia bởi một mối nối. Cực P mang điện +, cực

N mang điện –2. Hình dạng

Hình 2.22: led đơn

3. Kí hiệu

Hình 2.23: kí hiệu led

VIII. ĐIỆN TRỞ1. Điện trở :

Page 29: báo cáo

29

Điện trở là linh kiện thụ động có tác dụng cản trở cả dòng và áp. Điện trở được sử dụng rất nhiều trong các mạch điện tử.

R =ρ lS

Trong đó: ρ là điện trở suất của vật liệu S là thiết diện của dây

ℓ là chiều dài của dây. Điện trở là đại lượng vật lí đặc trưng cho tính chất cản trở dòng điện của một vật

thể dẫn điện. Nó được định nghĩa là tỉ số của hiệu điện thế giữa hai đầu vật thể đó với cường độ dòng điện đi qua nó:

R = UI

Trong đó: U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V).

I : là cường độ dòng điện đi qua vật dẫn điện, đo bằng ămpe (A). R : là điện trở của vật dẫn điện, đo bằng Ohm (Ω).

2. Ký hiệu:

Hình 2.24: kí hiệu điện trở

3. Ứng dụng: Điện trở được dùng để chế tạo ra dịch mức điện áp giữa hai điểm khác nhau của

mạch.IX. TỤ ĐIỆNTụ điện là một linh kiện thụ động cấu tạo của tụ điện là hai bản cực bằng kim

loại ghép cách nhau một khoảng d ở giữa hai bản tụ là dung dịch hay chất điện môi cách điện có điện dung C. Đặc điểm của tụ là cho dòng điện xoay chiều đi qua, ngăn cản dòng điện một chiều.

Công thức tính điện dung của tụ: C = εSd

Trong đó : ε là hằng số điện môi S là điện tích bề mặt tụ m2

d là bề giày chất điện môiTụ điện phẳng gồm hai bàn phẳng kim loại diện tích đặt song song và cách nhau

một khoảng d.

Cường độ điện trường bên trong tụ có trị số : E =

Page 30: báo cáo

30

= 8.86.10-12 C2/ N.m2 là hằng số điện môi của chân không.

là hằng số điện môi tương đối của môi trường; đối với chân không = 1,

giấy tẩm dầu = 3,6, gốm = 5,5; mica = 4 5X. IC 7805

Giới thiệu IC 7805 : là loại dòng IC dùng để ổn định điện áp dương đầu ra với

điều kiện đầu vào luôn lớn hơn đầu ra 3V7805 gồm có 3 chân, thứ tự các chân từ trái

sang phải như sau:

Hình 2.25: Sơ đồ chân của IC 7805

Chân Chức năng

1 Vin - Chân nguồn đầu vào

2 GND - Chân nối đất

3 Vout - Chânnguồnđầu ra.

Cấu tạo: ic7805 gồm 1 điện trở, 1 tranzitor và 1 diode zener có tính ổn áp.

Trong mạch diode zener luôn ở trạng thái phân cực nghịch và làm việc ở trạng thái

bị đánh thủng. Khi diode zener bị đánh thủng, nó sẽ có tính ghim áp, lúc này mức

áp đưa vào có thay đổi nhưng mức áp lấy ra trên diode zener là không đổi.

Page 31: báo cáo

31

Hình 2.26 Sơ đồ cấu tạo của IC 7805Trong mạch diode zener luôn dùng với một điện trở hạn dòng để tránh bị quá

công suất. Mạch ổn áp dùng Diode Zener có ưu điểm là đơn giản nhưng nhược điểm là

cho dòng điện nhỏ (≤ 20mA). Để có thể tạo ra một điện áp cố định nhưng cho dòng

điện mạnh hơn nhiều lần ta mắc thêm Transistor để khuyếch đại về dòng như trên sơ

đồ cấu tạo.

Nguyên lý ổn áp: Thông qua điện trở R1 và D1 giảm cố định điện áp chân ra

của Transistor Q1, giả sử khi điện áp chân E của Q1 giảm => khi đó điện áp UBE tăng

=> dòng qua Q1 tăng => làm điện áp chân E tăng, và ngược lại.

Mạch ổn áp trên đơn giản và hiệu quả nên được sử dụng rất phổ biến và người

ta đã sản xuất các loại IC họ LA7805 có cấu tạo như trên

XI. THẠCH ANHThạch anh điện tử: là một linh kiện làm bằng tinh thể đá thạch anh được mài

phẳng và chính xác. Linh kiện thạch anh làm việc dựa trên hiệu ứng áp điện. Hiệu ứng này có tính thuận nghịch. Khi áp một điện áp vào 2 mặt của thạch anh, nó sẽ bị biến dạng. Ngược lại, khi tạo sức ép vào 2 bề mặt đó, nó sẽ phát ra điện áp.

Như vậy nếu ta đặt một điện áp xoay chiều vào thì nó sẽ biến dạng theo tần số của điện áp đó. Khi thay đổi đến một tần số nào đó, thì nó sẽ cộng hưởng.Mạch tương đương của nó gồm một L và một C nối tiếp với nhau. Cả cụm ấy song song với một C khác và một R cách điện.

Tần số cộng hưởng của Thạch anh tùy thuộc vào hình dáng và kích thước của nó. Mỗi tinh thể thạch anh có 2 tần số cộng hưởng: tần số cộng hưởng nối tiếp, và tần số cộng hưởng song song. Hai tần số này khá gần nhau và có trị số khá bền vững, hầu như rất ít bị ảnh hưởng bởi các điều kiện môi trường bên ngoài. Ngoài ra, hệ số phẩm chất của mạch cộng hưởng rất lớn, nên tổn hao rất thấp.

Mạch Dao động Thạch anh: cho ra tần số rất ổn định, sử dụng rất nhiều trong các đồng hồ điện tử (như đồng hồ đeo tay, đồng hồ để bàn...), trong các thiết bị đo lường điện tử (tạo xung chuẩn), trong mạch đồng bộ màu của TV, VCR, trong các thiết bị tin học (máy vi tính, các thiết bị nối với máy vi tính), trong các nhạc cụ điện tử như Piano điện, organ...

Mạch lọc tích cực dùng Thạch anh: sử dụng nhiều trong các mạch khuếch đại trung tần của các máy thu thông tin liên lạc, TV, Radio...Ngày nay, mọi máy tính dù hiện đại nhất cũng vẫn sử dụng các bộ dao động tinh thể để kiểm soát các bus, xung nhịp xử lý.

Page 32: báo cáo

32

CHƯƠNG III QUY TRÌNH THỰC HIỆN

I. THIẾT KẾ PHẦN CỨNG CỦA MẠCH1. Thiết kế sơ đồ mạch nguyên lý

Dựa vào yêu cầu của hệ thống đã được xây dựng, ta tiến hành thiết kế sơ đồ nguyên lý cho mạch LED trái tim. Để thiết kế sơ đồ nguyên lý cho mạch có thể sử dụng nhiều phần mềm chuyên dụng như Orcad, Proteus, Altium designer. Để thuận tiện cho việc thi công mạch sau này, nhóm chúng em sử dụng phần mềm Proteus8.1 vừa vẽ sơ đồ nguyên lý, vừa thiết kế mạch in.

Vì mạch LED trái tim cần rất nhiều linh kiện như cần dùng đến 32 LED nên để thuận tiện cho quá trình thiết kế, đảm bảo tính thẩm mỹ cũng như lắp ráp mạch tránh sai xót, nhóm chúng em thiết kế mạch thành 5 khối: Khối hiển thị gồm hệ thống 32 led để hiển thị, Khối điều khiển IC 74HC595, Khối tạo xung dao động thạch anh, Khối RESET, Khối xử lý Atemega32 , Khối Nguồn.

Sau khi thiết kế, ta có sơ đồ nguyên lý các khối của mạch như sau:

a. Khối nguồn:

Hình 3.1: sơ đồ khối nguồnĐối với tất cả các mạch sử dụng vi xử lí thì đều phải dùng nguồn điện chuẩn là

5V. Khi dòng điện được đưa qua diode và sau đó qua các tụ nguồn để lọc nguồn và đi

Page 33: báo cáo

33

vào chân số 1 của ic nguồn 7805, lúc này ic 7805 sẽ xuất ra 1 điện áp chuẩn 5V ở chân

số 3.

IC 7805 gồm 1 điện trở, 1 tranzitor và 1 diode zener có tính ổn áp. Trong mạch

diode zener luôn ở trạng thái phân cực nghịch và làm việc ở trạng thái bị đánh thủng.

Khi diode zener bị đánh thủng, nó sẽ có tính ghim áp, lúc này mức áp đưa vào có thay

đổi nhưng mức áp lấy ra trên diode zener là không đổi.

Trong mạch diode zener luôn dùng với một điện trở hạn dòng để tránh bị quá

công suất. Mạch ổn áp dùng Diode Zener có ưu điểm là đơn giản nhưng nhược điểm là

cho dòng điện nhỏ (≤ 20mA). Để có thể tạo ra một điện áp cố định nhưng cho dòng

điện mạnh hơn nhiều lần ta mắc thêm Transistor để khuyếch đại về dòng như trên sơ

đồ cấu tạo.

Nguyên lý ổn áp: Thông qua điện trở R1 và D1 giảm cố định điện áp chân ra

của Transistor Q1, giả sử khi điện áp chân E của Q1 giảm => khi đó điện áp UBE tăng

=> dòng qua Q1 tăng => làm điện áp chân E tăng, và ngược lại.

Mạch ổn áp trên đơn giản và hiệu quả nên được sử dụng rất phổ biến và người

ta đã sản xuất các loại IC họ LA7805 có cấu tạo như trên

b. Khối xử lý:

Hình 3.2: sơ đồ khối xử lý

Được thiết kế bởi VĐK ATMEGA32 có nhiệm vụ xử lý tất cả các dữ liệu của chương trì

Page 34: báo cáo

34

nh. Điều khiển dữ liệu hiển thị, điều khiển xuất nhập dữ liệu. Điều khiển truy xuất dữ liệu và xử lý sau đó truyền đến khối điều khiển IC 74HC595 qua các chân PA0,PA1,PA2,PB0,PB1,PB2,PC0,PC1,PC2,PD0,PD1,PD2.

Chương trình nạp vào VĐK được viết trên trình dịch AVR STUDIO4.c. Khối tạo xung dao động:

Hình 3.3: sơ đồ khối tạo dao động

Mạch tạo xung ngoài sử dụng thạch anh 8MHz: Đầu ra của khối tạo xung được nối với chân 13 (XTAL1) và chân 12 (XTAL2) của atmega32, ghép nối thạch anh vào mạch dao động bên trong vi điều khiển, kết hợp với các tụ tạo nguồn xung clock ổn định cho vi điều khiển hoạt động.

Mạch sử dụng 2 tụ gốm 104 sẽ được nối một đầu với chân của thạch anh, đầu còn lại đấu ra mass, có chức năng lọc nhiễu và ổn định cho dao động thạch anh.

d. Khối reset:

Hình 3.4 sơ đồ khối reset

Có 4 cách để Reset Atmega32 lần lượt là: Reset cấp nguồn, Reset bởi WDT, Reset bằng phần mềm và Rest bằng mạch ngoài qua chân RESET.

Trong mạch này ta sử dụng reset bằng mạch ngoài, bằng cách nối mạch reset vào chân 9 (RESET) của atmega32, đưa vi điều khiển ATEMEGA32 về trạng thái ban đầu.

e. Khối điều khiển:

Page 35: báo cáo

35

Hình 3.5 : Sơ đồ khối điều khiển

Gồm 4 IC74HC595 có tác dụng ghi dịch dữ liệu từ khối xử lý ra khối hiển thị. 4 IC này được ghép song song với nhau theo nhằm mở rộng từ 12 ngõ ra của bộ vi điều khiển ra 32 chân ( 32 led). IC này đươc mắc nối tiếp với đầu ra của VĐK.

Còn IC 595 sẽ nhận lệnh của chương trình đã nạp cho VĐK Atemega32 và sẽ quản lý 8 chân tín hiệu của nó (các chân có tên Q0-Q7) bằng 1 byte ⇔ 8 bit (từ bit 0 đến bit 7). Nếu tại bit 0 có giá trị là 1 ⇒ Q0 được nối với nguồn 5V, nếu bit 0 có giá trị là 0 thì Q0 sẽ được nối tới cực âm, tương tự với các 7 bit còn lại.

GND (pin 8) nối đến cực âm

Vcc (pin 16) nối đến chân 5V

OE (pin 13) nối đến cực âm

MR (pin 10) nối đến chân 5V

f. Khối hiển thị:

Page 36: báo cáo

36

Hình 3.6: sơ đồ khối hiển thị

Gồm 32 LED mắc song song dùng nguồn trực tiếp từ chân Q0-Q7 của IC74HC595 để hiển thị.

Các LED sẽ sáng nếu được cấp điện thế dương (5V) vào cực dương và cực âm của LED được gắn vào cực âm của nguồn, vì vậy chúng ta sẽ gắn cực âm của LED vào nguồn và nếu muốn điều khiển cho đèn LED sáng thì chỉ quản lý điện thế gắn vào cực dương của LED, nếu là âm thì đèn tắt, nếu là dương thì đèn sáng.

2. Thiết kế sơ đồ mạch in trên phần mềm Proteus

Dựa trên sơ đồ nguyên lý ta thiết kế sơ đồ mạch in sao cho các linh kiện được bố chí gọn, hợp lý, và đảm bảo về khoảng cách các linh kiện không qua gần hoặc quá xa nhau. Chân đế linh kiện phải đúng chuẩn theo kích thước, đặc biệt là linh kiện nhiều chân.

Page 37: báo cáo

37

Hình 3.7: sơ đồ mạch in được thiết kế trên phần mềm Proteus

3. Thiết kế mạch in:Sau khi thiết kế xong sơ đồ mạch in, bằng các phương pháp thủ công, ta hoàn toàn

có thể tự làm được một mạch in.Đầu tiên ta in sơ đồ mạch in ra giấy in để in vào tấm đồng

Hình 3.8 sơ đồ mạch in

Page 38: báo cáo

38

4. In mạch lên tấm đồng:- Sau khi đã có sơ đồ mạch in, bạn in ra giấy chuyên dụng.- Tiếp theo áp phần có hình mạch in trên giấy vào mặt đồng của board đồng, căn chỉnh sao cho hợp lý, sau đó tận dùng phần thừa của giấy in mạch để dán cố định giấy với board đồng hoặc dùng bằng keo 2 mặt để giữ cố định.- Việc tiếp theo là ủi mạch, đầu tiên là chà sơ qua toàn bộ bề mặt cần ủi để giấy định hình tiếp xúc hoàn toàn với board đồng. Tiếp theo bạn dùng mũi và cạnh của bàn là tập trung ủi các góc và cạnh của board mạch cần ủi, vùng trung tâm thì bạn chà 2 – 3 lần, khoảng 5 – 10 phút.- Ủi xong bạn cho board đã ủi vào thau nước, chờ 2 – 3 phút thì lột giấy ra.

Hình 3.9 :chuyển mạch in từ giấy ra bản mạch bằng bàn là

Pha dung dịch ăn mòn: Cho khoảng một muỗng cà phê bột sắt vào trong thau nhựa, sau đó chế từ từ nước vào trong thau để tạo một dung dịch thuốc rửa mạch có màu nâu đen.

Sau khi pha dung dịch ăn mòn xong, cho mạch in vào, lắc đều dung dịch để quá trình phản ứng hóa học diễn ra nhanh hơn.- Sau khi ngâm xong, mạch chỉ còn lại phần đồng được che phủ bởi mực in, những phần đồng không được che phủ bởi mực in đều đã bị ăn mòn hoàn toàn.- Dùng xăng thơm và bông gòn chà lớp đồng được che phủ bởi mực in để đánh bật lớp mực in đi.

Page 39: báo cáo

39

Hình 3.10 : mạch in hoàn chỉnh

5. Khoan mạch- Lắp mũi khoan vào máy khoan và thực hiện khoan.

Hình 3.11 : Board mạch sau khi được khoan

6. Hàn mạch

Sau khi khoan lỗ các chân linh kiện, ta tiến hành hàn linh kiện lên mạch. Chất lượng mối hàn là mối quan tâm rất lớn đối với một board mạch, với mạch led trái tim mà nhóm chúng em thực hiện cần có số lượng mối hàn rất lớn, vì thế chỉ cần một mối hàn không đạt yêu cầu về mặt kỹ thuật xem như board mạch hỏng, mạch bị sẽ ngưng hoạt động. Bởi vậy mà để đảm bảo yêu cầu kỹ thuật của mạch, khi hàn mạch, cần thực hiện theo các quy trình nhất định như làm sạch bản mạch, vệ sinh đầu mỏ hàn, tráng

Page 40: báo cáo

40

thiếc hay cắm linh kiện vào lỗ hàn, đặc biệt cần chú ý khi hàn các chân vi điều khiển hay các chân IC.

Hình 3.12: khoan các linh kiện lên mạch in

Sau khi đã hàn hết các linh kiện lên bản mạch in, ta thu được mạch hoàn chỉnh như sau:

Hình 3.13 : sản phẩm cuối cùng

II. XÂY DỰNG PHẦN MỀM

1. Chương trình nạp cho vi điều khiển Atmega32:

Ngôn ngữ lập trình cho Atmega32 là ngôn ngữ lập trình C lập trình trên AVR STUDIO4

Sử dụng các chân ra PORTA, PORTB, PORTC, PORT D để đưa dữ liệu từ VĐK ra IC 74HC595.

Ta sẽ đọc các giá trị dữ liệu từ VĐK ra IC 74HC595 rồi xuất dữ liệu từ IC qua 8 chân từ Q0-Q7 để hiển thị LED

CODE điều khiển VĐK Atemega32

#include <avr/io.h>#include <util/delay.h>//khai bao ket noi cho ic 74hc595 thu 1

Page 41: báo cáo

41

#define HC595_PORT1 PORTA#define HC595_DDR1 DDRA#define HC595_DS_POS1 PA2 //Data pin (DS) pin location#define HC595_SH_CP_POS1 PA0 //Shift Clock (SH_CP) pin location#define HC595_ST_CP_POS1 PA1 //Store Clock (ST_CP) pin locationvoid shiftInit1(){ //khai bao ngo ra cua vdk voi ic 74hc595 thu 1HC595_DDR1|=((1<<HC595_SH_CP_POS1)|(1<<HC595_ST_CP_POS1)|(1<<HC595_DS_POS1));}// khai bao gia tri cho du lieu dc xuat ra#define HC595DataHigh1() (HC595_PORT1|=(1<<HC595_DS_POS1))#define HC595DataLow1() (HC595_PORT1&=(~(1<<HC595_DS_POS1)))//tao xung ghi du leu vao bo nho ic 74hc595void shiftPulse1(){ HC595_PORT1|=(1<<HC595_SH_CP_POS1);//HIGH HC595_PORT1&=(~(1<<HC595_SH_CP_POS1));//LOW}//tao xung xuat du lieu ra cac chan cua ic 74hc595void shiftLatch1(){ HC595_PORT1|=(1<<HC595_ST_CP_POS1);//HIGH _delay_loop_1(1); HC595_PORT1&=(~(1<<HC595_ST_CP_POS1));//LOW _delay_loop_1(1);#define HC595_PORT2 PORTB#define HC595_DDR2 DDRB#define HC595_DS_POS2 PB0 //Data pin (DS) pin location#define HC595_SH_CP_POS2 PB2 //Shift Clock (SH_CP) pin location#define HC595_ST_CP_POS2 PB1 //Store Clock (ST_CP) pin locationvoid shiftInit2(){HC595_DDR2|=((1<<HC595_SH_CP_POS2)|(1<<HC595_ST_CP_POS2)|(1<<HC595_DS_POS2));}#define HC595DataHigh2() (HC595_PORT2|=(1<<HC595_DS_POS2))#define HC595DataLow2() (HC595_PORT2&=(~(1<<HC595_DS_POS2)))

Page 42: báo cáo

42

void shiftPulse2()

{ //Pulse the Shift Clock HC595_PORT2|=(1<<HC595_SH_CP_POS2);//HIGH HC595_PORT2&=(~(1<<HC595_SH_CP_POS2));//LOW}//Sends a clock pulse on ST_CP linevoid shiftLatch2(){ //Pulse the Store Clock HC595_PORT2|=(1<<HC595_ST_CP_POS2);//HIGH _delay_loop_1(1); HC595_PORT2&=(~(1<<HC595_ST_CP_POS2));//LOW _delay_loop_1(1);}

#define HC595_PORT3 PORTC

#define HC595_DDR3 DDRC#define HC595_DS_POS3 PC0 //Data pin (DS) pin location#define HC595_SH_CP_POS3 PC2 //Shift Clock (SH_CP) pin location#define HC595_ST_CP_POS3 PC1 //Store Clock (ST_CP) pin locationvoid shiftInit3(){ //Make the Data(DS), Shift clock (SH_CP), Store Clock (ST_CP) lines output HC595_DDR3|=((1<<HC595_SH_CP_POS3)|(1<<HC595_ST_CP_POS3)|(1<<HC595_DS_POS3));}// change data (DS)lines#define HC595DataHigh3() (HC595_PORT3|=(1<<HC595_DS_POS3))#define HC595DataLow3() (HC595_PORT3&=(~(1<<HC595_DS_POS3)))//Sends a clock pulse on SH_CP linevoid shiftPulse3(){ //Pulse the Shift Clock HC595_PORT3|=(1<<HC595_SH_CP_POS3);//HIGH HC595_PORT3&=(~(1<<HC595_SH_CP_POS3));//LOW}void shiftLatch3(){

Page 43: báo cáo

43

//Pulse the Store Clock HC595_PORT3|=(1<<HC595_ST_CP_POS3);//HIGH _delay_loop_1(1); HC595_PORT3&=(~(1<<HC595_ST_CP_POS3));//LOW _delay_loop_1(1);} #define HC595_PORT4 PORTD#define HC595_DDR4 DDRD#define HC595_DS_POS4 PD0 //Data pin (DS) pin location#define HC595_SH_CP_POS4 PD2 //Shift Clock (SH_CP) pin location#define HC595_ST_CP_POS4 PD1 //Store Clock (ST_CP) pin location

void shiftInit4(){ //Make the Data(DS), Shift clock (SH_CP), Store Clock (ST_CP) lines output HC595_DDR4|=((1<<HC595_SH_CP_POS4)|(1<<HC595_ST_CP_POS4)|(1<<HC595_DS_POS4));}// change data (DS)lines#define HC595DataHigh4() (HC595_PORT4|=(1<<HC595_DS_POS4))#define HC595DataLow4() (HC595_PORT4&=(~(1<<HC595_DS_POS4)))void shiftPulse4(){ //Pulse the Shift Clock HC595_PORT4|=(1<<HC595_SH_CP_POS4);//HIGH HC595_PORT4&=(~(1<<HC595_SH_CP_POS4));//LOW}//Sends a clock pulse on ST_CP linevoid shiftLatch4(){ //Pulse the Store Clock HC595_PORT4|=(1<<HC595_ST_CP_POS4);//HIGH _delay_loop_1(1); HC595_PORT4&=(~(1<<HC595_ST_CP_POS4));//LOW _delay_loop_1(1);}// xuat du lieu ra 74HC595 thu 1void HC595Write1(unsigned char data){

Page 44: báo cáo

44

for(int i=0;i<8;i++) { if(data & 0b10000000) { HC595DataHigh1(); } else { HC595DataLow1(); } shiftPulse1(); //Pulse the Clock line data=data<<1; //Now bring next bit at MSB position } shiftLatch1();}// xuat du lieu ra 74HC595 thu 2void HC595Write2(unsigned char data){ for(int i=0;i<8;i++) { if(data & 0b10000000) { HC595DataHigh2(); } else { HC595DataLow2(); } shiftPulse2(); //Pulse the Clock line data=data<<1; //Now bring next bit at MSB position } shiftLatch2();}// xuat du lieu ra 74HC595 thu 3void HC595Write3(unsigned char data){ for(int i=0;i<8;i++) { if(data & 0b10000000) {

Page 45: báo cáo

45

HC595DataHigh3(); } else { //MSB is 0 so output high HC595DataLow3(); } shiftPulse3(); //Pulse the Clock line data=data<<1; //Now bring next bit at MSB position } shiftLatch3();}// xuat du lieu ra 74HC595 thu 4void HC595Write4(unsigned char data){

for(int i=0;i<8;i++)

{

if(data & 0b10000000)

{ //MSB is 1 so output high HC595DataHigh4(); } else { HC595DataLow4(); } shiftPulse4(); //Pulse the Clock line data=data<<1; //Now bring next bit at MSB positio }

shiftLatch4();

}void main() { unsigned char M[]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00}; unsigned int i=0; unsigned char hieuungsang[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x3f,0xcf,0xf3,0xfc,0xf0, 0x0f,0x00,0xff};

Page 46: báo cáo

46

unsigned char hieuungsangxuoi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; char data_1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00}; char data_2[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00}; char data_3[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; char data_3n[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; char data[]={0xff,0x7f,0x3f,0x1f,0x07,0x03,0x01,0x00}; char data_n[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; char data_4[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; char data_5[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; char data_6[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; char data_7[]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};

shiftInit1();

shiftInit2();

shiftInit3(); shiftInit4();

while(1)

{//nhay1

for(i=0;i<3;i++){ for(int j=0;j<8;j++)

{ HC595Write2(0x00); HC595Write3(0x00); HC595Write4( data_3n[j]); HC595Write1( data_3[j]);

_delay_ms(300); }

for(int j=0;j<8;j++) { HC595Write4(0xff); HC595Write1(0xff); HC595Write2( data_3[j]);

HC595Write3( data_3n[j]); _delay_ms(300);

Page 47: báo cáo

47

}

for(int j=0;j<8;j++) { HC595Write2(0xff); HC595Write3(0xff); HC595Write4( data[j]); HC595Write1( data_n[j]); _delay_ms(300) } for(int j=0;j<8;j++) { HC595Write4(0x00); HC595Write1(0xf00); HC595Write2( data_n[j]);

HC595Write3( data[j]); _delay_ms(300); }}

//nhay2 for(i=0;i<3;i++) {

HC595Write1(0xff); HC595Write2(0xff);

HC595Write3(0xff); HC595Write4(0xff);

_delay_ms(300); HC595Write1(0x00); HC595Write2(0x00);

HC595Write3(0x00); HC595Write4(0x00);

_delay_ms(300); }

//nhay3 for(i=0;i<3;i++) {

HC595Write1(0xaa); HC595Write2(0xaa);

HC595Write3(0xaa);

Page 48: báo cáo

48

HC595Write4(0xaa); _delay_ms(300);

HC595Write1(0x55); HC595Write2(0x55);

HC595Write3(0x55); HC595Write4(0x55);

_delay_ms(300); }

//nhay 4 for(i=0;i<3;i++)

{ for(int j=0;j<8;j++)

{ HC595Write3( data_4[j]); HC595Write2( data_4[j]); HC595Write4( data_4[j]); HC595Write1( data_4[j]); _delay_ms(300); }

for(int j=0;j<8;j++) { HC595Write3( data_5[j]); HC595Write2( data_5[j]); HC595Write4( data_5[j]); HC595Write1( data_5[j]); _delay_ms(300); }}

//nhay 5 for(i=0;i<3;i++)

{ for(int j=0;j<8;j++)

{ HC595Write3( data_6[j]); HC595Write2( data_6[j]); HC595Write4( data_6[j]); HC595Write1( data_6[j]); _delay_ms(300); }

Page 49: báo cáo

49

for(int j=0;j<8;j++) { HC595Write3( data_7[j]); HC595Write2( data_7[j]); HC595Write4( data_7[j]); HC595Write1( data_7[j]); _delay_ms(300); }}

} }

2. Chạy thử mạch.

Sau khi hoàn thành hết các công đoạn lắp ráp các linh kiện trong mạch, kiểm tra mạch bằng mắt thường, đảm bảo các yêu cầu ta tiến hành chạy thử mạch với nguồn cấp phù hợp. Với mạch sử dụng Atmega32, IC 74HC595 hiển thị led trái tim, mạch được cấp nguồn với điện áp 1 chiều 5V.

KẾT LUẬN Kết quả đạt được:

Qua quá trình thực hiện đề tài, nhóm nghiên cứu chúng em đã thu được những kết quả như sau:

- Hiểu được cấu tạo, chức năng, nguyên lý hoạt động của các linh kiện như vi xử lý Atmega32, IC 74HC595

- Ứng dụng được kiến thức các môn học như: Kỹ thuật mạch điện tử tương tự, vi xử lý và điều khiển, cấu kiện điện tử, điện tử số… vào việc thiết kế mạch điện tử trong thực tế.

- Đã mô phỏng, thiết kế được một mạch led trái tim hoạt động ổn định, đẹp, chính xác.

- Sử dụng thành thạo các thao tác, chức năng của phần mềm thiết kế mạch điện tử; làm được mạch in bằng phương pháp thủ công, hàn linh kiện lên mạch đảm bảo bền, đẹp, đúng yêu cầu kỹ thuật.

Hạn chế:

- Do thời gian thực hiện đề tài gấp, kiến thức tìm hiểu chưa sâu nên chúng em còn gặp nhiều khó khăn như chưa tìm hiểu kỹ chất lượng linh kiện, các yếu tố ảnh

Page 50: báo cáo

50

hưởng đến chất lượng linh kiện; thiếu kinh nghiệm trong thiết kế mạch điện tử nên khi lắp ráp, thi công mạch thực tế còn gặp nhiều sai xót, phải chỉnh sửa nhiều.

Hướng phát triển

Trong thời gian sắp tới nhóm chúng em dự đinh phát triển mạch thêm một số chi tiết khác như …

TÀI LIỆU THAM KHẢO[1] Phạm Minh Hà, “Kỹ thuật mạch điện tử”, Nhà xuật bản Khoa học và Kỹ

thuật, 1997.

[2] Trần Thị Thúy Hà, “Điện tử số”, Học viện công nghệ bưu chính viễn thông, 2006

[3] Nguyễn Viết Nguyên, Phạm Thị Thanh Huyền, Nguyễn Thị Kim Ngân, Phạm Thị Quỳnh Trang, “Giáo trình Linh kiện điện tử”, Nhà xuất bản Giáo dục.

[4] Đỗ Tiến Đạt “Hướng dẫn sử dụng Proteus” Đại học công nghiệp Hà Nội, 2008.

[5] TS. Phạm Tuấn Giáo “Kỹ thuật vi xử lý” Nhà xuất bản Khoa học kỹ thuật, 2011.

Website: http://www.dientuvietnam.net

Website: http://codientu.org