当前位置:文档之家› 单片机接口技术与实验附原理图及源程序

单片机接口技术与实验附原理图及源程序

《单片机接口技术与实验》姓名:学号:年级:专业:电子信息科学与技术实验二并行口输入输出实验一一循环彩灯控制一、实验功能(1). P1 口接8个开关,P0 口接8个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。

开关断开时,灯灭。

二、实验原理图实验二1注意:因为P0 口作为输出口时必须接上拉电阻,为简化起见,此处接到P2 口上三、实验程序org OOOOh1jmp mainorg OlOOhmain:mov pl,#Offhmov p2, pl ajmp main end(2)一、实验功能用5个开关K0~K4,控制P0 口所接8个灯的循环,各开关的功能要求如下:(D K「K2分别选择灯的四种闪动方式;(2) K3用于控制灯的循环方式(顺时针或逆时针);(3) K4用于选择灯的两种循环速度(4) K0用于引发外部中断,在外部中断子程序中,读取通过K1-K4所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

二、实验原理图二、实验流程图实验二2MCV A 卄QCU\.cnv A ^nrnu 训CV A ++A A AU uc\\r A +fnr?nu四、实验程丿宇ORG 0000HLJMP MAINORG 0003HLJMP INTOPROORG 01OOH MAIN: MOV Pl, #OFFHMOV SP,#60HSETB EXOSETB EAMOV C,MOV 50H, CMOV C,MOV 51H, CJB ,NEXT1JNB , NEXT2 NEXT1: JB ,CIRCLE1JNB , CIRCLE2 NEXT2: JB , CIRCLE3JNB , CIRCLE4 CIRCLE1: MOV A, #80HLJMP STEPO CIRCLE2: MOV A, ttOCOHLJMP STEPO CIRCLE3: MOV A, ttOAAHLJMP STEPO CIRCLE4: MOV A, ttOEOHLJMP STEPOSTEPO: MOV P2, ASTEPO: MOV P2, AJNB 50H, S2 STEPl: JB 51H,LOOP1JNB 51H, L00P2 SI: LCALL DELAY1LJMP STEP1S2: LCALL DELAY2LJMP STEP1 DELAY1: MOV R7, #100 DI: MOV R6, #100 D2: MOV R5, #10DJNZ R5,D3D3:DJNZ R6, D2DJNZ R7,D1RETDELAY2: MOV R7, #200 D4: MOV R6, #100 D5: MOV R5, #10DJNZ R5,D6D6:DJNZ R6,D5DJNZ R7,D4RETL00P1: RL ALJMP STEPO LOOP2: RR ALJMP STEPOORG 0400H INTOPRO:MOV C,MOV 50H, CMOV C,MOV 51H, CJB , WORK1JNB , WORK2 WORK1: JB ,L1JNB ,L2 WORK2: JB ,L3JNB ,L4LI: MOV A, #80HLJMP PASSL2: MOV A, ttOCOHLJMP PASSL3: MOV A, ttOAAH L4: MOV A, ttOEOHLJMP PASSLJMP PASSPASS: RETIEND实验三七段LED数码管控制实验一、实验功能1.实验采用4位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线:(1)当开关K0接低电平时,第一位依次显示0〜F,然后第二位、第三位、第四位,再循环回第一位。

(2)当开关K0接高电平时,四位动态显示“HELP” 二、实验原理图5V5VP1.0 PO.O P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P2.0 P2.1 P2.2 P2.3实验三二、实验流程图TE J厶iUil卜忙Mr 口.木调用延时子程四、实验程序org OOOOh1jmp mainorg OlOOh main:mov p2,#Offhsetbmov dptr, fttabmov rO, #0mov a, #00hloopl: mov rO, #00hjnb , h sjmploop2〈位显示子lcall lightmov p2, #Ofdh lcall lightmov p2,#Ofbh lcall lightmov p2, #b lcall lightsjmp loopljb , loop2 mov a, rO move a, @a+dptrinc rO mov pO, alcall delayl cjne rO,#16, light mov rO, #0retmov p2,ttOfehh :mov p2,#0feh light:loop2:mov pO,#73hlcall delayljnb ,looplmov p2,#Ofdhmov pO,#38hlcall delayljnb ,looplmov p2,#Ofbhmov pO,#79hlcall delayljnb ,looplmov p2, #bmov pO,#76hlcall delayljnb ,looplsjmp loopltab:db3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hdelayl:MOV R3,#10D2: MOV R2, #100DI: MOV R1,#1OODO: DJNZ R1,DODJNZ R2,D1DJNZ R3,D2RETend实验四定时器中断实验一、实验功能1.用TO定时器实现1秒定时,控制一个LED亮1秒,灭1秒,并不断循环。

二、实验原理图5VKO TOP2.7实验四1三、实验流程图qgqo#'oq)AomqiOjppoin? AOUIq09#,ds AOUIM00I0 SJO0切0? drnpjqqooo 3joUTEin duiCyH0000 §JOU十虽卞vax 気十vax虽:UTBIU■/11mov tlO,ftOOhmov rO,#100 setb easetb etOsetb trOloop: s jmp $1jmp loopdjnz rO, wtOprO:cplmov rO,#100mov thO, #0b8hw:mov tlO, ttOOhretiend一、实验功能实现一个4位秒表:(1)用开关K0模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。

(2)最低位按1/10秒计数,依次计数单位为1/10秒,1秒,1分(3)要求KO使用外部中断,优先级高于TO的优先级二、实验原理图5V 5V三、实验流程图TVr D1TNTC DOD 1 —A TNTC DQ1,辺PO-ATMC D/1迟DO—AT\7r DC辺pc-ni!3r D /1—1 A四、实验程丿宇org OOOOh1jmp main org0003h1jmp intxOorg OOObh1jmp tOprOorg OlOOhmov tmod, #01h main:mov thO,ftObShmov tlO,#00hmov p2,#Offhmov rO, #1mov rl, #0mov r2, #0mov r3, #0mov r4, #0mov r5, #0mov a, #0mov dptr, #tabsetb easetb exOsetb itO setb trOsetb pxOsetb etOk:lcall aaajmp kaaa:mov p2,ftOfehmov a, r2lcall loop lcall mmmov p2,#Ofdhmov a, r3lcall loop lcall mmmov p2,COfbhmov a, r4lcall loop lcall mmmov p2, #bmov a, r5lcall looplcall mmretmm: djnz acc,$djnz acc, $retloop:move a, @a+dptrmov pO, arettab:db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fhintxO:inc rOc jne rO, #1, stsetb trOretist:c jne rO, #2, wclr trOretiw:mov a, #0 mov rO, a mov rl, a mov r2,a mov r3, amov r4,amov r5, aretimov thO,#0b8htOprO:mov tlO,ftOOhinc rlcjne rl, #10, exitmov rl, #0inc r2cjne r2,ttlO, exitmov r2, #0inc r3cjne r3,#10, exitmov r3, #0inc r4c jne r4, #6, exitmov r4, #0inc r5cjne r5,ttlO,exitexit: retiend实验五脉冲宽度与周期测量实验一、实验功能同时测量脉冲宽度和周期,由开关K0选择显示脉冲宽度还是显示脉冲周期。

二、实验原理图三、实验流程图5V 实验五3四、实验程丿宇main: ORG 0000Hlimp mainorg OOObh1 jmp torg OlOOhmov tmod, #oah mov thO,#48h mov t10,#48h setb easetb etOmov dptr, fttab mov a, #0mov rO, #0mov rl, #0mov r2, #0mov r3, #0mov r4, #0jb , bOloopO: jb ,loopOsetb trO loopl: jnb ,looplloop2: jb ,loop2 loop3: jnb ,loop3jb ,loop4 loop4:clr trO1jmp loopbo:jb , bOsetb trObl: inb , blb2: jb , b2clr trOloop:mov a, tlOsubb a, #48h movb, #2 div ab movrl, b mov r2, amov a, rO movb,#10 div ab movr3, b add a, #10mov r4, amov p2, #bmov a, rllcall wwwlcall z movp2, #b mova, r2 lcallwww lcall zmov p2, #bmov a, r3lcall wwwlcall z movp2, #b mova, r4 lcallwww lcall z1jmp mainWWW:move a, @a+dptrmov pO, aretz: djnz acc,$djnz acc, $rettab: db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, , 6fhdbObfh, 86h, 0d8h, Ocfh, 0e6h, Oedh, Ofdh, 87h, Offh, Oefhorg 0200ht: inc rOretiend实验六串行通信实验一、实验功能利用串行口方式0实现一个七段数码管的显示控制,轮流显示0〜9十个数码二、实验原理图实验六三、实验流程图四、实验程序orgajmp main: movmovOOOOh main scon,#00h dptr, ablemov rO, #10clrNEXT: djnz rO, sendajmp mainsend: clr amove a, @a+dptrmov sbuf, ajnb ti, $clr tiinc dptracall delayajmp nextdelay: mov rl, #50loopl: mov r2,#100loop2: mov r3, #50djnz r3, $djnz r2,loop2djnz rl,looplrettable: DB 3Fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fhend。

相关主题