Báo cáo Hướng dẫn sử dụng phần mềm mô phỏng Proteus

Giới thiệu phần mềm

Proteus là một phần mềm hỗ trợ thiết kế và mô phỏng các loại mạch điện

tử. So với một số các phần mềm hỗ trợ mô phỏng các mạch điện khác như:

- Circuitmaker 2000 ngoài việc hỗ trợ thiết kế sơ dồ mạch in (PCB) thì

phần mềm còn cho phép vẽ và mô phỏng mạch số chuẩn xác tới 95% nhưng lại

bị hạn chế khi mô phỏng các loại mạch tương tự cũng như mạch tổng hợp các số

cả tương tự.

 

pdf52 trang | Chia sẻ: phuongt97 | Lượt xem: 546 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Báo cáo Hướng dẫn sử dụng phần mềm mô phỏng Proteus, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tatdan: movr0,#05h ;chuyển05hvothanhghiR5 tatdan0: movp0,#00h ;XóacổngP0 movp2,#00h ;XóacổngP2 GV:ĐồngVănLong39–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 calldelay ;Gọich−ơngtrìnhcontạotrễ clra ;XóathanhghiA tatdan1: setbc ;ĐặtcờClên1 rlca ;XoaytráicờnộidungcờCquathanhghiA movp0,a ;Đ−araP0đểhiểnthị calldelay jnctatdan1 ;nhảytớinhn‘tatdan1’khiC=0 clra ;XóathanhghiA tatdan2: setbc ;ĐặtcờClên1 rlca ;XoaytráicờnộidungcờCquathanhghiA movp2,a ;Đ−araP2đểhiểnthị calldelay jnctatdan2 ;nhảytớinhn‘tatdan2’khiC=0 djnzr0,tatdan0 ;nhảytớinhn‘tatdan0’khiR0ch−abằng0 ret ; Kếtthúcch−ơngtrìnhcontatdan ;Đoạnchuongtrinhconmotdiemtoichay toichay: movr0,#05h ;Biếnđếmthựchiện5lần toichay0: movp0,#00h ;XóacổngP0 movp2,#00h ;XóacổngP1 calldelay clra ;XóathanhghiA setbc ;đặtcờClên1 toichay1: rlca ;XoaytráicờCquathangghiA movp0,a ;nôidungthanhghiAđ−arahiểnthị calldelay jnctoichay1 ;nhảytớinhn‘toichay1’khiC=0 clra ;XóathanhghiA GV:ĐồngVănLong40–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 setbc ;đặtcờClên1 toichay2: rlca ;XóathanhghiA movp2,a ;nôidungthanhghiAđ−arahiểnthị calldelay jnctoichay2 ;nhảytớinhn‘toichay2’khiC=0 djnzr0,toichay0 ;nhảytớinhn‘toichayn0’khiR0ch−abằng0 ret ; Kếtthúcch−ơngtrìnhcontoichay ;Đoạnchuongtrinhcontắtdầntừgiữara2bên giuara: movr0,#10h ;Biếnđếmthựchiện10lần giuara1: movp0,#00h ;XóacổngP0 movp2,#00h ;XóacổngP2 calldelay movp0,#80h ;08hđ−araP0hiểnthị movp2,#01h ;01hđ−araP2hiểnthị calldelay movp0,#0c0h ;0c0hđ−araP0hiểnthị movp2,#03h ;03hđ−araP2hiểnthị calldelay movp0,#0e0h ;0e0hđ−araP0hiểnthị movp2,#07h ;07hđ−araP2hiểnthị calldelay movp0,#0f0h ;0f0hđ−araP0hiểnthị movp2,#0fh ;0fhđ−araP2hiểnthị calldelay movp0,#0f8h ;0f8hđ−araP0hiểnthị movp2,#1fh ;1fhđ−araP2hiểnthị calldelay movp0,#0fch ;0fchđ−araP0hiểnthị movp1,#3fh ;3fhđ−araP2hiểnthị GV:ĐồngVănLong41–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 calldelay movp0,#0feh ;0fehđ−araP0hiểnthị movp2,#7fh ;7fhđ−araP2hiểnthị calldelay movp0,#0ffh ;0ffhđ−araP0hiểnthị movp2,#0ffh ;0ffhđ−araP2hiểnthị calldelay djnzr0,giuara1 ;nhảytớigiuara1khiR0ch−abăng0 ret ;Đoạnchuongtrinhcondelay delay: movr6,#0ffh ;chuyểnFFhvoR6 dl1: movr7,#0ffh ;chuyểnFFhvoR6 djnzr7,$ ;giảmvnhảytạichỗkhiR7ch−abằng0 djnzr6,dl1 ;giảmvnhảytới‘dl1’khiR6ch−abằng0 ret ;Kếtthúcch−ơngtrìnhcontạotrễ end ;Kếtthúcch−ơngtrìnhchính. ; Saukhisoạnthảoxongmnguồncủach−ơngtrìnhbạnthựchiệnbiêndịchsang đuôi.HEX;nếutr−ớcđóFilenguồncủabạnkhôngl−uởổD\BT_PROTEUS\ QUANGCAO thì bạn hy COPY File .HEX (LED0.HEX) vừa tạo đ−ợc vo trongth−mụcBT_PROTEUSnh−đ−ờngdẫntrên.(Cònnếukhôngthìchodù bạncónạpđ−ợcch−ơngtrìnhchoICthìmạchcũngkhôngchạy). c. Môphỏngch−ơngtrình. Quátrìnhmôphỏnggồmcáccôngviệcsau: Nạpch−ơngtrìnhlênIC. Thiếtlậpcácthôngsốhoạtđộng. RUNrồiquansátmôphỏng. Đầutiên ,nháyphảichuộtvoICAT89C52(ICchuyểnmuđỏ)>Nháychuột tráilênIC>cửasổhiệnranh−sau: GV:ĐồngVănLong42–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 TrongôProgramFilenháychuộtvobiểut−ợngOPENsaođóchọnđ−ờngdẫn tới th− mục chứa File LED0.HEX rồi nháy chọn File ny; Trong ô Clock Frequencybạnhythayđổilấymộttầnsốthíchhợpđểdễquansát>cuốicùng nháychọnOK.Nh−vậylbạnđthựchiệnnạpxongch−ơngtrìnhlênICvới tầnsốlựachọnl3.579MHz. NháyPLAYđểchạych−ơngtrình. PLAY Quansáthoạtđộngcủach−ơngtrình. NhậnxétkhithayđổitầnsốtrongmụcClockFrequency. GV:ĐồngVănLong43–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 3.3.3.Bitập: Bi1: Vẽvmôphỏngmạchđếmlên00>99hiểnthịtrên2led7đoạn: (Sửdụngph−ơngphápquétLed–2Led). a.Sơđồphầncứng: VCC Q2 Q1 PNP PNP U1 R8 19 39 XTAL1 P0.0/AD0 R9 38 P0.1/AD1 330R10 R4 R5 R7 R15 37 P0.2/AD2 330R11 1k 1k 330 330 18 36 XTAL2 P0.3/AD3 330R12 35 P0.4/AD4 330R13 34 P0.5/AD5 330R14 33 P0.6/AD6 330R6 9 32 RST P0.7/AD7 330 330 21 P2.0/A8 22 P2.1/A9 23 P2.2/A10 29 24 PSEN P2.3/A11 30 25 ALE P2.4/A12 31 26 EA P2.5/A13 27 P2.6/A14 28 P2.7/A15 1 10 P1.0 P3.0/RXD 2 11 P1.1 P3.1/TXD 3 12 P1.2 P3.2/INT0 4 13 P1.3 P3.3/INT1 5 14 P1.4 P3.4/T0 6 15 P1.5 P3.5/T1 7 16 P1.6 P3.6/WR 8 17 P1.7 P3.7/RD AT89C51 b.Mnguồnch−ơngtrình: ORG0000H MAIN: MOVR0,#0 ;biếnđếmbắtđầutừkhông(0). MOVDPTR,#BANG_MA ;NạpđịachỉbảngmvoDPTR LAP: MOVR1,#200 ;lạplại200lầnđểquansát GV:ĐồngVănLong44–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 LAP2: CALLGIAIMA ;gọich−ơngtrìnhcongiảim CALLHIEN_THI ;gọich−ơngtrìnhconhiểnthị DJNZR1,LAP2 INCR0 ;tăngR0lên1đơnvị CJNER0,#100,LAP ;Sosánhvới100 JMPMAIN ;Ch−ơngtrìnhcongiảim GIAIMA: MOVA,R0 ;chuyểnR0vothanhghiA MOVB,#10 ;Nạpgiátrị10vothanhghiB DIVAB ;ChiaAchoB MOVCA,@A+DPTR ;Achứagíatrịhngchục MOV20H,A ;giátrịhngchụcl−utạiônhớ20H MOVA,B MOVCA,@A+DPTR ;Achứagíatrịhngđơnvị MOV21H,A ;giátrịhngđơnvịl−utạiônhớ21H RET ;ch−ơngtrìnhconhiểnthị HIEN_THI: MOVP0,21H ;Giátrịđơnvịđ−arahiểnthị MOVP2,#11111110B ;ChoLedđơnvịsáng CALLDELAY MOVP2,#0FFH ;tắthếtđểchốnglem MOVP0,20H ;Giátrịhngchụcđ−arahiểnthị MOVP2,#11111101B ;ChoLedchụcsáng CALLDELAY MOVP2,#0FFH ;tắthếtđểchốnglem RET ;ch−ơngtrìnhcontạothờigiantrễđểquétLed DELAY: MOVR7,#255 DJNZR7,$ RET GV:ĐồngVănLong45–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 ;Bảngmsố7đoạn BANG_MA: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Bi2: VẽvmôphỏngmạchhiểnthịmatrậnLed: U1 19 39 Display Led Matrix XTAL1 P0.0/AD0 38 P0.1/AD1 37 P0.2/AD2 18 36 XTAL2 P0.3/AD3 35 P0.4/AD4 34 P0.5/AD5 33 P0.6/AD6 9 32 RST P0.7/AD7 21 H1 P2.0/A8 22 H2 P2.1/A9 C8 C7 C6 C5 C4 C3 C2 C1 23 H3 P2.2/A10 29 24 H4 PSEN P2.3/A11 30 25 H5 ALE P2.4/A12 31 26 H6 EA P2.5/A13 27 H7 P2.6/A14 28 H8 P2.7/A15 C1 1 10 P1.0 P3.0/RXD C2 2 11 P1.1 P3.1/TXD C3 3 12 P1.2 P3.2/INT0 C4 4 13 P1.3 P3.3/INT1 C5 5 14 P1.4 P3.4/T0 H8 H7 H6 H5 H4 H3 H2 H1 C6 6 15 P1.5 P3.5/T1 C7 7 16 P1.6 P3.6/WR C8 8 17 P1.7 P3.7/RD AT89C51 Gợiý:BạnnháyvonútcôngcụBUSđểvẽđ−ờngBus Mnguồnch−ơngtrình: ;ch−ơngtrìnhhiẻnthịchữHtrênLedmatrận ORG00H Main: MOVA,#11001100B MOVB,#00000000B CALLMTX MOVA,#11111100B MOVB,#11100111B CALLMTX LJMPMain GV:ĐồngVănLong46–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 MTX: MOVR1,#1 LOOP1: MOVR2,#5 LOOP2: MOVR3,#255 LOOP3: MOVP1,A MOVP1,#00000000B MOVP2,B DJNZR3,LOOP3 DJNZR2,LOOP2 DJNZR1,LOOP1 RET END Bi3:VẽvmôphỏngmạchđồnghồđiệntửhiểnthịtrênLCDnh−sau: a.Sơđồphầncứng: LCD1 LM032L VSS VDD VEE RS RW E D0 D1 D2 D3 D4 D5 D6 D7 U1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 39 XTAL1 P0.0/AD0 38 P0.1/AD1 37 P0.2/AD2 18 36 XTAL2 P0.3/AD3 35 P0.4/AD4 34 P0.5/AD5 33 P0.6/AD6 9 32 RST P0.7/AD7 21 P2.0/A8 22 P2.1/A9 23 P2.2/A10 29 24 PSEN P2.3/A11 30 25 ALE P2.4/A12 31 26 EA P2.5/A13 27 P2.6/A14 28 P2.7/A15 1 10 P1.0 P3.0/RXD Chinh Phut 2 11 P1.1 P3.1/TXD 3 12 P1.2 P3.2/INT0 4 13 P1.3 P3.3/INT1 5 14 P1.4 P3.4/T0 Chinh Gio 6 15 P1.5 P3.5/T1 7 16 P1.6 P3.6/WR 8 17 P1.7 P3.7/RD AT89C51 GV:ĐồngVănLong47–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 b.MnguồnASM enable_lcd equp3.4 rs equp3.0 rw equp3.1 lcd_data equp2 ;========================== org0000h ljmpmain org0003h ljmpint0isr org0013h ljmpint1isr org000bh ljmptimer0isr org0040h main: setbit1 movsp,#5fh setbet0 lcallinit_system setbea main_loop: setbtr0 lcalltest1s mova,#01h sjmpmain_loop lcallwrite_cmd ; mova,#0ch init_system: lcallwrite_cmd mov30h,#'0' mova,#38h mov31h,#'0' lcallwrite_cmd mov32h,#'0' ret mov33h,#'0' ; mov34h,#'0' int0isr: mov35h,#'0' pushacc movtmod,#01h inc33h movth0,#high(10000) mova,33h movtl0,#low(10000) cjnea,#':',exit_int0 setbex0 mov33h,#'0' setbex1 inc32h setbit0 mova,32h GV:ĐồngVănLong48–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 cjnea,#'6',exit_int0 exit_int1: mov32h,#'0' mov34h,#'0' mov35h,#'0' inc31h popacc mova,30h reti cjnea,#'1',next_int0 ; mova,31h timer0isr: cjnea,#'3',exit_int0 pushacc mov31h,#'1' incr1 mov30h,#'0' movth0,#high(10000) next_int0: movtl0,#low(10000) mova,31h popacc cjnea,#':',exit_int0 reti mov31h,#'0' write_cmd: inc30h clrrs exit_int0: clrrw mov34h,#'0' movlcd_data,a mov35h,#'0' nop popacc setbenable_lcd reti nop ; clrenable_lcd int1isr: lcalldelay1ms pushacc ret inc31h ; mova,30h write_data: cjnea,#'1',next_int1 setbrs mova,31h clrrw cjnea,#'3',exit_int1 movlcd_data,a mov31h,#'1' nop mov30h,#'0' setbenable_lcd next_int1: nop mova,31h clrenable_lcd cjnea,#':',exit_int1 lcalldelay1ms mov31h,#'0' ret inc30h ; GV:ĐồngVănLong49–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 display: mova,33h mova,#80h cjnea,#':',exit lcallwrite_cmd mov33h,#'0' mova,30h inc32h lcallwrite_data mova,32h mova,31h cjnea,#'6',exit lcallwrite_data mov32h,#'0' mova,#83h inc31h lcallwrite_cmd mova,30h mova,32h cjnea,#'1',next lcallwrite_data mova,31h mova,33h cjnea,#'3',exit lcallwrite_data mov31h,#'1' mova,#86h mov30h,#'0' lcallwrite_cmd next: mova,34h mova,31h lcallwrite_data cjnea,#':',exit mova,35h mov31h,#'0' lcallwrite_data inc30h ret exit: ; ret test1s: ; cjner1,#100,exit delay1ms: lcalldisplay movr1,#50 cplp3.7 delay1ms_loop: movr1,#00h movr2,#25 inc35h djnzr2,$ mova,35h djnzr1,delay1ms_loop cjnea,#':',exit ret mov35h,#'0' end inc34h mova,34h cjnea,#'6',exit mov34h,#'0' inc33h GV:ĐồngVănLong50–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 Mụclục Trang Giớithiệuphầnmềm 1 Ch−ơng1:H−ớngdẫnciđặtphầnmềm 2 1.1.Yêucầucấuhình.......................................................................... 2 1.2. Cácb−ớcciđặtphầnmềmlênđĩacứng.................................. 2 1.3. Khởiđộngvthoátkhỏich−ơngtrình...................................... 8 a.Khởiđộngch−ơngtrình.......................................................... 8 b.Thoátkhỏich−ơngtrình......................................................... 10 Ch−ơng2:Giớithiệugiaodiệnphầnmềm 12 2.1.Giớithiệuchung............................................................................ 12 2.2.Thứtựxếpđặttrênmnhình(Screenlayout)........................... 12 2.3.Cácthaotáccơbảnhaysửdụng................................................... 16 Ch−ơng3:Thựchnhthiếtkếvmô 17 phỏngmạchđiện 3.1.Thiếtkếvmôphỏngmạcht−ơngtự........................................... 17 3.1.1.MôphỏnghoạtđộngcủaDiode.................................................. 17 3.1.2.MạchtạodaođộngdùngIC555................................................ 22 3.1.3.Bitập......................................................................................... 28 3.2.Thiếtkếvmôphỏngmạchsố...................................................... 31 3.2.1.Thiếtkếmạchquảngcáo............................................................ 31 3.2.2.Thiếtkếmạchmôphỏngmạchđếm.......................................... 32 3.2.3.Bitập.......................................................................................... 34 3.3. Thiếtkếvmôphỏngchiviđiềukhiểnhọ8051...................... 34 3.3.1.MạchchớptắtmộtLedđơngiản............................................... 35 3.3.2.Thiếtkếvmôphỏngmạchquảngcáohiệnthịtrênledđơn 38 (16led)......................................................................................... a. Thiếtkếphầncứng(mạchnguyênlý)....................................... 38 b. Viếtch−ơngtrìnhphầnmềm...................................................... 39 c. Môphỏngch−ơngtrình............................................................... 42 3.3.3.Bitập.......................................................................................... 44 4. GV:ĐồngVănLong51–ProteusTutorial BáocáotựhọcHọckìInămhọc20062007 GV:ĐồngVănLong52–ProteusTutorial

Các file đính kèm theo tài liệu này:

  • pdfbao_cao_huong_dan_su_dung_phan_mem_mo_phong_proteus.pdf
Tài liệu liên quan