Tải bản đầy đủ (.doc) (4 trang)

Tài liệu Mạch điện ứng dụng - proteus_AVRL7 ppt

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 (195.19 KB, 4 trang )

Xét mạch đếm 0- 9 bằng LED 7vạch dùng AT90S2313.
Bước 1. Chọn linh kiện:
- AT90S2313: Vào Library/Pick (nhấn “p”): Catagory/Microprocessor ICs/AVR
familly/AT90S2313. Bạn có thể chọn lk bằng việc gõ AT90S2313 vào Keywords.
- Tụ: Nhấn “p”,trong Keywords đánh Capacitor;trong Sub-Catagory/Generic/Cap.
đổi giá trị của tụ thành 33pF.
- Nhấn “p”/Keywords=7seg, Catagory/Optoelectronic/7 seg C-C.
- Keywords=Crystal, để lấy thạch anh, thay đổi giá trị =1MHz.
- Nguồn cấp: 5V(Vcc) và 0V(GND):
Chọn nguồn Vcc=Power, GND=Ground. Khi chọn những lk này, giá trị mặc định
của nó là: Vcc=5V; GND=0V.
-Còn Máy hiện sóng- Oscilloscope, trên Toolbar chứa Power, tìm Virtual
Instruments/Osci. Đây là thiết bị để hiển thị dạng sóng.
Bước 2. Đi dây.
Chọn Tools/Wire (nhấn “w”). Di chuyển chuột đến chân linh kiện hay đường dây,
sẽ hiện 2 đường chéo. Nhấn chuột trái để nối dây.
Bước 3. Mô phỏng.
Nhấn vào để
chọn nguồn
Giống như 8051, để AVR hoạt động, trước hết cần viết chương trình (bằng Asm
hay C), dùng phần mềm biên dịch chuyển sang .Hex, cuối cùng nạp vào IC.
Đầu tiên, hãy xác định phần mềm biên dịch (Code Generator), chọn:Source/Define
Code Generation Tools, hiện :
Chọn Browse để link đến chương trình biên dịch Proteus đã cài sẵn. Đặc biệt chú
ý dòng Command Line, cần điền đúng: %1 %3 %2.
Sau đó, viết chương trình, nhấn Source/ Add Source file, hiện cửa sổ:
Chọn Code Generation Tool là AVRASM. Chọn New để tạo file mới, đánh tên
file bất kỳ*.asm. (VD: avr.asm.) Copy đoạn mã viết bằng ASM sau:
.device AT90S2313
.equ PORTB = $18
.equ SP =$3D


.DEF mp = R16
.cseg ; CODE segment.
.org 0
rjmp init ; origin.
init: ldi r16,$DF ; Initialize the stack.
out SP,r16
loop:
ldi mp,0b10111111 ;0
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b00000110 ;1
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b11011011 ; 2
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b01001111 ; 3
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b11100110 ; sang LED ;4
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b01101101 ; 5
out PORTB,mp
rcall delay1

rcall delay1
ldi mp,0b11111100 ;6
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b00000111 ;7
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b11111111 ;8
out PORTB,mp
rcall delay1
rcall delay1
ldi mp,0b01100111 ;9
out PORTB,mp
rcall delay1
rcall delay1

rjmp loop
delay1:
CLR R2
del2:
CLR R1
del1:
DEC R1
BRNE del1
DEC R2
BRNE del2
RET
Tiếp theo, biên dịch để tạo file .Hex, nhấn Source/Build All. Hiện thông báo

“Built Complete OK”, nếu không, trình biên dịch sẽ báo lỗi, kèm theo vị trí lỗi.
Cuối cùng, nạp file .Hex vào IC bằng cách vào bảng Edit của 90S2313, trong
Program File/link đến file .Hex vừa tạo. Đừng quên thay đổi Clock Frequency=
1MHz. Nhấn nút chạy chương trình nằm ở phía dưới màn hình.
Trên đây, chỉ là mô phỏng hoạt động của AVR. Nếu các bạn chú ý quan sát dạng
sóng, mức ‘0’ của Port =2V. Tôi không hiểu điều này. Huynh đệ nào đã làm thực
tế với con IC này xin chỉ bảo giúp.
PLAY

×