Tải bản đầy đủ (.docx) (39 trang)

THIẾT KẾ MẠCH ĐIỀU KHIỂN ĐÈN GIAO THÔNG THÔNG MINH DÙNG ATMEGA 32

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (428.55 KB, 39 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
====o0o====

BÁO CÁO

BÀI TẬP LỚN VI XỬ LÝ
ĐỀ TÀI:

THIẾT KẾ MẠCH ĐIỀU KHIỂN ĐÈN
GIAO THƠNG THƠNG MINH DÙNG ATMEGA 32

Nhóm sinh viên:
1.NGUYỄN THỊ THƯƠNG - 20112253
2. TRẦN THỊ HOÀI THƯƠNG 20104101
3. NGUYỄN TRỌNG THƯỢNG –
20112261
4. NGUYỄN VĂN THUÂN - 20114638
GVHD:

BTL Kỹ thuật Vi xử lí – 2014

NGUYỄN HỒNG DŨNG

Page 1


BTL Kỹ thuật Vi xử lí – 2014

Page 2



MỤC LỤC

BTL Kỹ thuật Vi xử lí – 2014

Page 3


BẢNG PHÂN CHIA CƠNG VIỆC
STT
1.

HỌ TÊN
Nguyễn Thị Thương

2.

Trần Thị Hồi Thương

3.

Nguyễn Văn Thuân

4.

Nguyễn Trọng Thượng

BTL Kỹ thuật Vi xử lí – 2014

CƠNG VIỆC

+ Tìm hiểu lý thuyết về AVR.
+ Tìm hiểu về Codevision AVR.
+ Viết code và mô phỏng trên proteus.
+ Viết báo cáo.
+ Tìm hiểu lý thuyết về Atmega 32.
+ Xây dựng lưu đồ thuật toán cho
code.
+ Viết code.
+ Tìm hiểu về các linh kiện được sử
dụng, hàn mạch.
+ Thiết kế sơ đồ nguyên lí.
+ Thiết kế mạch in.

Page 4


LỜI NÓI ĐẦU
Trong thời đại ngày nay khi nhân loại đang có những bước tiến vượt bậc về khoa
học công nghệ thì ngành điện tử cũng có nhiều bước tiến rất quan trọng, đặc biệt là lĩnh
vực vi điều khiển. Các bộ vi xử lý ngày càng phát triển hoàn thiện hơn và được sử
dụng phổ biến trong hầu hết các hệ thống điều khiển tự động trong công nghiệp, khoa
học kĩ thuật cũng như các thiết bị dân dụng. Vi xử lý đã đem lại những ưu điểm, những
chức năng đặc biệt đã hộ trợ con người trong những hệ thống phức tạp đòi hỏi yêu cầu
kĩ thuật cao.
Để ứng dụng những tính năng đặc biệt đó vào đời sống thực tiễn thì nhóm sinh
viên chúng em đã tiến hành nghiên cứu đồ đề tài bài tập lớn: “Thiết kế mạch điều
khiển đèn giao thông thông minh xử dụng chip vi xử lý ATmega32”
Hệ thống này giúp chúng ta điều chỉnh thời gian của đèn giao thông theo hoàn
cảnh cụ thể mà không cần sự giám sát thường xuyên của con người. Hệ thống xử dụng
chip vi xử lý ATmega32 là IC điều khiển chính. Ngoài ra còn xử dụng một số linh kiện

điện tử khác sẽ được đề cập trong phần sau của báo cáo.
Do thời gian thực hiện có hạn. Đồng thời luôn có sự khác nhau giữa lý thuyết và
thực tiễn nên trong quá trình làm việc nhóm em không tránh khỏi thiếu sót. Mong nhận
được sự giúp đỡ, đóng góp nhiệt tình từ thầy để bản báo cáo có thể hồn thiện hơn.
Chúng em xin chân thành cảm ơn!

BTL Kỹ thuật Vi xử lí – 2014

Page 5


I. Tìm hiểu chung về AVR và ATmega 32.
1.1. Tìm hiểu chung về AVR.
1.1.1. Giới thiệu chung về AVR.
-

-

-

-

-

AVR là một họ vi điều khiển do hãng Atmel sản xuất, là chip vi điều khiển 8 bits
với cấu trúc tập lệnh đơn giản hóa – RISC (Reduced Instruction Set Computer),
một kiểu cấu trúc đang thể hiện ưu thế trong các bộ xử lí.
Ưu điểm của AVR so với các chip vi điều khiển 8 bits khác (ưu điểm cả về tính ứng
dụng và chức năng):
+ Gần như chúng ta khơng cần mắc thêm bất kỳ linh kiện phụ nào khi sử dụng

AVR, thậm chí khơng cần nguồn tạo xung clock cho chip (thường là các khối thạch
anh).
+ Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản, có loại mạch nạp chỉ
cần vài điện trở là có thể làm được. một số AVR cịn hỗ trợ lập trình on – chip bằng
bootloader không cần mạch nạp…
+ Bên cạnh lập trình bằng ASM, cấu trúc AVR được thiết kế tương thích C.
+ Nguồn tài nguyên về source code, tài liệu, application note…rất lớn
trên internet.
Các tính năng của chip AVR:
+ Có thể sử dụng xung clock lên đến 16MHz, hoặc sử dụng xung clock
nội lên đến 8 MHz (sai số 3%).
+ Bộ nhớ chương trình Flash có thể lập trình lại rất nhiều lần và dung
lượng lớn, có SRAM (Ram tĩnh) lớn, và đặc biệt có bộ nhớ lưu trữ lập
trình được EEPROM.
+ Nhiều ngõ vào ra (I/O PORT) 2 hướng (bi-directional).
+ 8 bits, 16 bits timer/counter tích hợp PWM.
+ Các bộ chuyển đối Analog – Digital phân giải 10 bits, nhiều kênh.
+ Chức năng Analog comparator.
+ Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232).
+ Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C) Master và
Slaver.
+ Giao diện nối tiếp Serial Peripheral Interface (SPI)
Một số chip AVR thông dụng:
+ AT90S1200, AT90S2313, AT90S2323 and AT90S2343, AT90S2333 and
AT90S4433, AT90S4414 and AT90S8515, AT90S4434 and AT90S8535, AT90C8534.
+ ATtiny10, ATtiny11 and ATtiny12, ATtiny15, ATtiny22, ATtiny26, ATtiny28.
+ ATmega8/8515/8535, ATmega16, ATmega161, ATmega162, ATmega163,
ATmega169, ATmega32, ATmega323, ATmega103, ATmega64/128/2560/2561
+ AT86RF401.


Có thể lập trình cho AVR bằng các phần mềm hỗ trợ ngôn ngữ cấp cao như
BascomAVR (Basic) hay CodevisionAVR (C) (các ngôn ngữ cấp cao này giúp chúng ta
BTL Kỹ thuật Vi xử lí – 2014

Page 6


-

dễ dàng thực hiện các phép toán đại số 16 hay 32 bit), nhưng chủ yếu ta lập trình cho
AVR bằng ASM (Assembly) do các trình dịch (compiler) ASM cho AVR là hồn tồn
miễn phí, và nguồn source code cho AVR viết bằng ASM là rất lớn.
1.1.2. Cấu trúc của AVR.
AVR có cấu trúc Harvard, 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, với
register file. Trong khi đó program memory bus có độ rộng 16 bits và chỉ phục vụ cho
instruction registers.
Hình 1 mơ tả cấu trúc bộ nhớ của AVR:

0000

0000
16 bits

Program Memory
32

Register
File


Data Memory

Page 7

Data EEPROM

S1F
S20

BTL Kỹ thuật Vi xử lí – 2014

0000

8 bits


64

I/O
Registers
Internal
SRAM

S5F
S60

End Address

External

SRAM
8 bit
End Addresss

End Addresss

Hình 1: Tổ chức bộ nhớ của AVR.
+ Bộ nhớ chương trình (Program memory): Là bộ nhớ Flash lập trình được,
trong các chip AVR cũ (như AT90S1200 hay AT90S2313…) bộ nhớ chương trình chỉ
gồm 1 phần là Application Flash Section nhưng trong các chip AVR mới chúng ta có
thêm phần Boot Flash setion.
+ 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, việc lập trình cho chip phần lớn là truy cập bộ nhớ này. 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 phần bộ nhớ này được chia thành 5 phần: register file (32 thanh ghi), I/O
Memory (64 thanh ghi nhập/xuất), internal SRAM, external SRAM, EEPROM.
1.1.3. Hoạt động của AVR.
a. Cấu trúc bên trong của AVR.
Sơ đồ cấu trúc bên trong của AVR như sau:

BTL Kỹ thuật Vi xử lí – 2014

Page 8


Flash
Program
Memory

Status and

Control

Program
Counter

32x8 General
Purpose
Registers

Instruction
Register

Instruction
Decoder

Direct
Addre
ssing

Interrupt Unit

SPI Unit

Indi
rect
Add
ressi
ng

ALU


Watchdog
Timer
Analog
Comparator

Control Lines
Data
SRAM

I/O Module 1

I/O Module 2
EEPROM

I/O Module n

I/O Lines

Hình 2: Cấu trúc bên trong AVR
+ ALU – Arithmetic Logic Unit: Bộ ALU hiệu suất cao của AVR hoạt động
trong liên kết trực tiếp với 32 thanh ghi làm việc. Trong 1 chu kì clock, hoạt động tính
tốn số học giữa các thanh ghi hoặc giữa thanh ghi với dữ liệu trực tiếp sẽ được thực
thi. Hoạt động của ALU được chia ra làm 3 phần chính: xử lý số học, phép toán logic
và các phép toán với bit.

BTL Kỹ thuật Vi xử lí – 2014

Page 9



+ Thanh ghi trạng thái – Status Register: Thanh ghi này chứa kết quả liên quan
đến lệnh xử lý số học gần nhất. Kết quả chứa trong thanh ghi này có thể được sử dụng
để thực hiện các hoạt động có điều kiện. Thanh ghi trạng thái khơng tự động lưu lại khi
nhảy vào interrupt và cũng không tự động phục hồi (restore) khi quay về, cần thực hiện
điều này bằng phần mềm.

• Bit 7 – I: Global Interrupt Enable
Bit cho phép ngắt toàn cục. Bit toàn cục này sẽ bị xóa tự động bằng phần cứng
khi có ngắt nào đó xảy ra. Và nó được set trở lại tự động bằng phần cứng khi lệnh
RETI (lệnh quay về từ chương trình ngắt) được thực thi.
• Bit 6 – T: Bit Copy Storage
• Bit 5 – H: Half Carry Flag
• Bit 4 – S: Sign Bit, S = N + V
• Bit 3 – V: Two’s Complement Overflow Flag
• Bit 2 – N: Negative Flag
• Bit 1 – Z: Zero Flag
• Bit 0 – C: Carry Flag

BTL Kỹ thuật Vi xử lí – 2014

Page 10


+ Tập các thanh ghi làm việc đa năng – General Purpose Register File:

Tất cả các lệnh đều thực thi trên các thanh ghi làm việc có thể truy xuất trực tiếp
đến các thanh ghi, và hầu hết là các lệnh thực thi trong 1 chu kì clock.
Như trên hình, tất cả các thanh ghi được gán địa chỉ bộ nhớ dữ liệu, ánh xạ chúng
trực tiếp đến 32 phân vùng đầu tiên trong không gian dữ liệu. Mặc dù không được hiện

thực vật lý như phân vùng SRAM, nhưng tổ chức bộ nhớ này cung cấp khả năng truy
xuất phức tạp tuyệt vời của các thanh ghi, như thanh ghi con trỏ X-, Y- và Z- có thể
được set để định vị đến bất kì thanh ghi nào trong tập thanh ghi.
b. Hoạt động của AVR.

+ 32 thanh ghi trong Register File được kết nối trực tiếp với Arithmetic
Logic Unit -ALU (ALU cũng được xem là CPU của AVR) bằng 2 line, vì thế ALU có
thể truy xuất trực tiếp cùng lúc 2 thanh ghi RF chỉ trong 1 chu kỳ xung clock (vùng
được khoanh tròn màu đỏ)
+ Các instruction đượ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à 1 instruction chứa trong Program Memory sẽ được load vào trong instruction
register, instruction register tác động và lựa chọn register file cũng như RAM cho ALU
BTL Kỹ thuật Vi xử lí – 2014

Page 11


thực thi. Trong lúc 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 một bộ đếm chương trình – PC (Program counter). Đó chính là cách
thức hoạt động của AVR.
+ AVR có ưu điểm là hầu hết các instruction đều được thực thi trong 1 chu kỳ
xung clock, vì vậy có thể nguồn clock lớn nhất cho AVR có thể nhỏ hơn 1 số vi điều
khiển khác như PIC nhưng thời gian thực thi vẫn nhanh hơn.
Tìm hiểu về ATmega32.
1.2.1. Cấu tạo.
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. 
1.2.


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. 
Dưới đây là hình vẽ sơ đồ chân của VĐK At mega32 :

Hình 3 :Sơ đồ chân ATmega32
-

ATmega32 gồm có 4 port : port A, port B, port C và port D.
+ 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ử
BTL Kỹ thuật Vi xử lí – 2014

Page 12


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ên trong. Port A
cung cấp đường địa chỉ dữ liệu vào/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 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 Reset (chân số 9): lối vào đặt lại.
Chân GND (chân số 11 và chân 31): chân nối mát.
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.
Chân ICP(chân số 20): là chân vào cho chức năng bắt tín hiệu cho bộ định thời/đếm 1.
Chân OC1B(chân số 18): là chân ra cho chức năng so sánh lối ra bộ định thời/đếm 1.
Chân INT1(chân số 17): chân ngõ vào ngắt.

BTL Kỹ thuật Vi xử lí – 2014

Page 13


Hình 4: Sơ đồ cấu trúc bên trong của ATmega32.
-

1.2.2. Tính năng của Atmega32.
ATmega32 có các đặc tính sau:

+ 32Kbytes bộ nhớ ISP Flash với Read-While-Write capacities.
+ 2Kbytes RAM.
+ 1024 bytes EEPROM.
+ 32 đường I/O đa năng.
BTL Kỹ thuật Vi xử lí – 2014

Page 14



+ 32 thanh ghi đa năng.
+ JTAG interface.
+ On-chip Debug and Program.
+ 3 bộ định thời phức hợp với chế độ so sánh.
+ Ngắt ngoài và trong.
+ Bộ truyền nhận nối tiếp USART lập trình được.
+ Bộ giao tiếp nối tiếp định hướng 2 dây.
+ 8 kênh, 10bit ADC với ngưỡng vào lựa chọn khác nhau độ lợi lập trình được.
+ Bộ WatchDog Timer khả trình với dao động nội.
+ Port SPI nối tiếp.
+ Hệ thống ngắt để tiếp tục hàm.
-

ATmega32 có các chế độ tiết kiệm năng lượng như sau:
+ Chế độ nghỉ (Idle) CPU trong khi cho phép bộ truyền tin nối tiếp đồng bộ
USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm bộ định thời, cổng SPI và hệ
thống các ngắt vẫn hoạt động.
+ Chế độ Power-down lưu giữ nội dung của các thanh ghi nhưng làm đơng
lạnh bộ tạo dao động, thốt khỏi các chức năng của chip cho đến khi có ngắt ngồi
hoặc là reset phần cứng.
+ Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình sử
dụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại là ngủ.
+ Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại
trừ đồng hồ đồng bộ và ADC, tối thiểu hoá switching noise trong khi ADC đang hoạt
động.
+ Chế độ standby, bộ tạo dao động (thuỷ tinh thể/bộ cộng hưởng).chạy trong
khi các thiết bị còn lại ngủ. Các điều này cho phép bộ vi điều khiển khởi động rất
nhanh trong chế độ tiêu thụ công suất thấp.

-


Thiết bị được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao của Atmel. Bộ
nhớ On-chip ISP Flash cho phép lập trình l ại vào hệ thống qua giao diện SPI bởi bộ
lập trình bộ nhớ cố định truyền thống hoặc bởi chương trình On-chip Boot chạy trên
nhân AVR. Chương trình boot có thể sử dụng bất cứ giao điện nào để download
chương trình ứng dụng trong bộ nhớ Flash ứng dụng. Phần mềm trong vùng Boot Flash
sẽ tiếp tục chạy trong khi vùng Application Flash được cập nhật, cung cấp thao tác
Read-While-Write thực sự. Bằng việc kết hợp 1 bộ 8-bit RISC CPU với In-System
Self-Programmable Flash trong chỉ nguyên vẹn 1 chip ATmega32 là một bộ vi điều
BTL Kỹ thuật Vi xử lí – 2014

Page 15


-

-

khiển mạnh có thể cung cấp giải pháp có tính linh động cao, giá thành rẻ cho nhiều ứng
dụng điều khiển nhúng.
II. Thiết kế mạch.
II.1. Phân tích yêu cầu, nhiệm vụ của đề tài.
2.1.1. Vai trị của đèn giao thơng trong cuộc sống ngày nay.
Trong hệ thống giao thông hiện nay ở nước ta, vấn đề về an toàn giao thông và ùn tắc
giao thông tại các điểm giao nhau là vấn đề hết sức cấp bách cần được giải quyết. Các
phương tiện hướng dẫn giao thông tại các điểm nút này đóng vai trị rất quan trọng. Hệ
thống đèn giao thông là công cụ điều khiển giao thông công cộng thực tế và hiệu quả
có vai trị rất lớn trong việc đảm bảo an toàn và giảm thiểu tai nạn giao thơng, góp
phần hạn chế ùn tắc, định hướng cho các phương tiện di chuyển một cách an toàn. Vì
vậy đèn giao thơng hết sức cần thiết cho cuộc sống hiện nay.

II.1.2. Phân tích thiết kế.
Xây dựng hệ thống điều khiển giao thông từ 2 hướng, ứng dụng tại ngã tư nơi giao
nhau của hai đường một chiều.
Chế độ hoạt động hàng ngày:
+ Chế độ Auto : Chế độ hoạt động mặc định với thời gian các đèn cài đặt sẵn
với thời gian đèn xanh là 25s, đèn vàng 5s, đèn đỏ 30s.
+ Chế độ set thời gian : Người dùng có thể cài đặt lại thời gian cho các đèn.
+ Chế độ ban đêm : Chế độ đèn ban đêm (chỉ đèn vàng nhấp nháy).
-

Các linh kiện sử dụng:
+ Led 7 thanh
+ Transistor PNP
+ Led xanh, đỏ, vàng
+ Buttton

-

+ Tụ điện
+ Điện trở
+ Switch 3 chân
+ Vi điều khiển Atmega32

II.2. Sơ đồ khối.
Hệ thống gồm các khối sau:

+ Khối reset, khối tạo dao động, khối nhấn nút điều khiển chế độ, khối quét
Led và khối hiển thị Led 7 thanh, khối điều khiển, khối hiện thị Led đơn và khối
nguồn.
-


Sơ đồ từng khối như sau:
2.2.1. Khối Reset.
BTL Kỹ thuật Vi xử lí – 2014

Page 16


Khối này có tác dụng đưa vi điều khiển
về trạng thái ban đầu. Khi nút reset
được cấp điện áp +5 V từ nguồn nối
vào chân reset (chân 9) của vi điều
khiển được chạy thẳng xuống đất, lúc
này điện áp tại chân vi điều khiển thay
đổi đột ngột về 0, vi điều khiển nhận
biết được sự thay đổi này và khởi động
lại trạng thái ban đầu cho hệ thống.

II.2.2. Khối tạo dao động.

Đây là bộ tạo dao động thạch anh có
tác dụng tao xung nhịp với tần số 16
MHz cho vi điều khiển hoạt động.
Hai đầu này được nối vào hai chân
XTAL1 và XTAL2 của vi điều
khiển.

II.2.3. Khối nhấn nút điều khiển chế độ (khối đầu vào).

BTL Kỹ thuật Vi xử lí – 2014


Page 17


Chọn chế độ SET của switch 3 chân để
cài đặt chế độ hoạt động.
Chế độ tự động khi hoạt động của đèn
giao thông: ban đầuled xanh 1 sáng 25s,
led đỏ 2 sáng 25s, led vàng 2 sáng 5s rồi
chuyển sang led đỏ 1 sáng 25s, led vàng
1 sáng 5s, led xanh 2 sáng 25s. thời gian
đèn đỏ sáng bằng tổng thời gian đèn
xanh và đèn vàng sáng.
Chế độ cài đặt cho các đèn theo ý muốn:
+ dùng nút UP và DOWN để tăng giảm
thời gian sáng của các led.
+ dùng nút NIGHT để chọn chế độ ban
đêm (chỉ có đèn vàng nháy).
+ nút MODE dùng để chọn chế độ.

II.2.4. Khối quét led và hiển thị led 7 thanh.

Các chân của led 7 thanh được nối thông qua một điện trở thanh để nối với IC vi
điều khiển. Việc giải mã nhị phân sang led 7 thanh đều được thực hiện trên vi điều
khiển. Led 7 thanh được nối theo kiểu anode chung, nghĩa là: chân E của transistor
được nối lên nguồn. Led hoạt động với dòng tối thiểu là 20mA. Với các chân điều
BTL Kỹ thuật Vi xử lí – 2014

Page 18



khiển hoạt động thông qua các transistor PNP điều khiển hoạt động ở chế độ bão hòa
cung cấp dòng cho LED sáng. Transistor PNP được nối với port (P2) của vi điều khiển
có chức năng khuếch đại dịng cho led hoạt động bình thường.

II.2.5. Khối điều khiển.
BTL Kỹ thuật Vi xử lí – 2014

Page 19


Khối điều khiển là khối sử
dụng vi điều khiển Atmega32
có nhiệm vụ thu thập thông
tin từ khối nhập dữ liệu để xử
lý và xuất tín hiệu điều khiển
ra khối hiển thị.

II.2.6. Khối hiển thị led đơn.

BTL Kỹ thuật Vi xử lí – 2014

Page 20


Sử dụng các led đơn nối anode chung. Còn các chân cathode thì được nối vào
điện trở R. LED đơn có dịng hoạt động khoảng 10mA trở lên nên ta có thể chọn điện
trở R sao cho phù hợp.
Nguồn được cấp: Vcc = +5V.
II.2.7. Khối nguồn.


Là khối dùng để tạo ra
nguồn điện áp chuẩn
+5V, sử dụng IC
LM7805. Mạch ổn áp rất
cần cho vi điều khiển vì
nếu nguồn cho vi điều
khiển khơng ổn định thì
sẽ treo vi điều khiển ,
khơng chạy đúng hoặc
reset liên tục, thậm chí là
chết vi điều khiển.

II.3.

Mạch nguyên lí.

BTL Kỹ thuật Vi xử lí – 2014

Page 21


II.4.

Thiết kế layout.

BTL Kỹ thuật Vi xử lí – 2014

Page 22



Đo đạc, kiểm tra, đánh giá chất lượng mạch.
Khi mô phỏng trên phần mềm Proteus, mạch chạy ổn định và đúng yêu cầu của đề tài.
Do trong quá trình thiết kế layout để đặt mạch in và hàn mạch, chúng em đã mắc phải
một số lỗi, nên mạch cứng trên thực tế đã khơng chạy như mơ phỏng.
III. Lập trình và kết quả mơ phỏng.
III.1. Lập trình.
3.1.1. Giới thiệu về CodeVisionAVR.
Phần mềm được chúng em sử dụng để lập trình là CodeVisionAVR 2.05.0.
CodeVisionAVR là công cụ phần mềm sử dụng cho việc soạn thảo và biên dịch
chương trình dành cho các vi điều khiển thuộc họ AVR bằng ngôn ngữ C. Phần mềm
được viết chuyên nghiệp hướng tới người sử dụng bởi sự đơn giản, sự hỗ trợ cao của
các thư viện có sẵn.
CodeVisionAVR bao gồm các thành phần sau:
II.5.

-

-

-

BTL Kỹ thuật Vi xử lí – 2014

Page 23


+ Trình biên dịch ngơn ngữ C cho AVR;
+ Trình biên dịch hợp ngữ cho AVR;
+ Các máy phát điện của mã chương trình ban đầu cho phép khởi tạo thiết bị

ngoại vi;
+ Module giao tiếp với debug board STK-500;
+ Module tương tác với các lập trình viên;
+ Terminal.
-

CodeVisionAVR cho tập tin đầu ra là:
+ HEX, BIN hoặc tập tin ROM để nạp vào thiết bị thơng qua lập trình;
+ COFF - file có chứa thơng tin cho trình gỡ lỗi;
+ OBJ - file.
III.1.2. Thuật tốn và code chương trình.

Lưu đồ thuật tốn:

BTL Kỹ thuật Vi xử lí – 2014

Page 24


Start
StaSTART

Night = 1

Led 7 seg tắt
Đèn đỏ 1, đỏ 2, xanh 1,
xanh 2 tắt

Đèn vàng 1; vàng 2
Tắt , sáng luân phiên trong

100ms

SW = 1

Bật xanh1; đỏ 2

BTL Kỹ thuật Vi xử lí – 2014

Page 25


×