tailieunhanh - Mạch điện ứng dụng - proteus_AVRL7

- 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. | 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. 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: .) 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.

TỪ KHÓA LIÊN QUAN