《单片机实验报告》由会员分享,可在线阅读,更多相关《单片机实验报告(11页珍藏版)》请在金锄头文库上搜索。
1、单片微型计算机原理学 院班 级学 号姓 名指导教师成 绩2011年6月l 硬件实验:实验一:定时器中断实验实验内容:fosc=11.0592MHz,T0方式2产生定时中断实现秒表功能:数码管后两位显示10ms;前两位显示秒数;K1/K2/K3键分别启动/停止/清零,按键操作不分先后实验程序流程图:主程序流程图: 中断程序流程图:实验程序:ORG 0000HLJMP MAINORG 000BHLJMP INTT0ORG 0100HMAIN:MOV SP,#70HCALL INI_ALLLOOP:CALL DISPLAYMOV DPTR,#8000HMOVX A,DPTRJB ACC.7,NEXT
2、SETB TR0NEXT:JB ACC.6,NEXT1CLR TR0NEXT1:JB ACC.5,LOOPMOV R7,#0HMOV R6,#0HMOV R5,#0HLJMP LOOP/*INTT0*/INTT0:PUSH PSWPUSH ACCINC R5CJNE R5,#40,CMP1CMP1:JC GOONMOV R5,#0HINC R6CJNE R6,#100,CMP2CMP2:JC GOONMOV R6,#0HINC R7CJNE R7,#100,CMP3CMP3:JC GOONMOV R7,#0HGOON:POP ACCPOP PSWRETI/*INIALL*/INI_ALL:MO
3、V R7,#0HMOV R6,#0HMOV R5,#0HMOV IE,#82HMOV TMOD,#02HMOV TH0,#25MOV TL0,#25RET/*DISPLAY*/DISPLAY:MOV DPTR,#TABLEMOV A,R7MOV B,#10DIV ABMOVC A,A+DPTRMOV 33H,AMOV A,BMOVC A,A+DPTRMOV 32H,A/*/MOV A,R6MOV B,#10DIV ABMOVC A,A+DPTRMOV 31H,AMOV A,BMOVC A,A+DPTRMOV 30H,A/*/MOV DPTR,#8000HMOV A,33HMOVX DPTR,A
4、MOV DPTR,#8100HMOV A,32HMOVX DPTR,AMOV DPTR,#8200HMOV A,31HMOVX DPTR,AMOV DPTR,#8300HMOV A,30HMOVX DPTR,ARETTABLE: DB 88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82HEND实验结果:数码管后两位显示ms计数,前两位显示s计数,按K1键启动计数,K2键停止计数,K3键清零。可实现秒表功能。实验二:驱动蜂鸣器实验实验内容:使P3.5端口输出周期为1S的方波信号。并通过三极管驱动一个直流小喇叭,使其发出断续的鸣响。实验程序:ORG 0HLJMP M
5、AINORG 0100HMAIN: MOV SP,#70HSTART: CPL P3.5LCALL DELAYLJMP STARTDELAY: MOV R7,#200Y: MOV R6,#100X: NOPDJNZ R6,XDJNZ R7,YRETEND实验结果:蜂鸣器发出声响。实验三:显示管增一显示实验内容:编写程序,使数码管从0000自增一加至9999,然后再自动清零循环。实验程序: ORG 0H LJMP MAIN ORG 0100HMAIN: MOV 30H,#0H MOV 31H,#0H MOV 32H,#0H MOV 33H,#0H MOV R0,#1START: LCALL DE
6、LAY LCALL CONVERT LCALL DISPLAY INC R0 CJNE R0,#255,XX LJMP STARTXX: JC START JNC MAINCONVERT:MOV A,R0 MOV B,#10 DIV AB MOV 30H,BMOV B,#10DIV ABMOV 31H,BMOV 32H,ARETDISPLAY:MOV A,30H MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPTR,#8300HMOVX DPTR,AMOV A,31H MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPTR,#8200HMOVX D
7、PTR,AMOV A,32H MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPTR,#8100HMOVX DPTR,AMOV A,33H MOV DPTR,#TABLE MOVC A,A+DPTR MOV DPTR,#8000HMOVX DPTR,ARETDELAY: MOV R7,#100Y: MOV R6,#50X: NOP DJNZ R6,XDJNZ R7,YRETTABLE: DB 88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82HEND实验结果:八段数码显示管如题目要求所示自增一显示。l 软件实验实验一:数据传送实验实验内容:
8、编写程序,将内部RAM中的30H-5FH中的数据设置为55H;(1)将其中内容传送到90H开始的内部RAM中去。(2)将其中内容传送到200H开始的外部RAM中去。实验程序流程图:实验程序:ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV SP,#70H MOV R0,#30H MOV R7,#30H MOV A,#55HLOOP1:MOV R0,AINC R0DJNZ R7,LOOP1 MOV R0,#30HMOV R7,#30H MOV R1,#90HLOOP2:MOV A,R0MOV R1,AINC R0INC R1DJNZ R7,LOOP2 WAIT:SJM
9、P WAIT /*SJMP $*/END实验结果:内部RAM,30H-5FH单元内都为55H。内部RAM,90H开始的单元内都为55H。外部RAM,200H开始的单元内都为55H实验二:数据分类与校验实验实验内容:编写程序,将内部RAM中30H-5FH中的数据设置为1-48;并将其中奇数传送到90H开始的内部RAM中;将30H-5FH中的数据设置按照奇校验设置最高位。实验程序流程图:实验程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#70HMOV R0,#30HMOV R7,#30HMOV A,#1LOOP1:MOV R0,AINC R0INC ADJN
10、Z R7,LOOP1 MOV R0,#30HMOV R7,#30HMOV R1,#90HLOOP2:MOV A,R0INC R0JB 0E0H,TRANSJMP NTRANSTRANS:MOV R1,AINC R1NTRANS:DJNZ R7,LOOP2 END实验结果:内部RAM中30H-5FH中的数据为1-48;其中奇数传送到90H单元。30H-5FH中的数据设置按照奇校验设置最高位送到90H单元内。程序段如下: /奇校验设置最高位MOV R0,#30HMOV R7,#30HMOV R1,#90HLOOP3:MOV A,R0INC R0JNB P,TRANS2JMP NTRANS2TRAN
11、S2:SETB 0E7HMOV R1,AINC R1NTRANS2:DJNZ R7,LOOP3 实验三:简单算术运算实验内容:编写程序,计算1-100的累加和。结果存放于内部RAM的30H、31H中,低字节在前。实验程序流程图:实验程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#70HMOV R0,#30H MOV R1,#31HMOV R0,#0MOV R1,#0MOV B,#1MOV R7,#100L1: MOV A,R1ADD A,BMOV R1,AMOV A,R0ADDC A,#0MOV R0,AINC BDJNZ R7,L1END实验结果:(3
12、0H)=13H,(31H)=0BAH,即结果为13BAH=5050D。实验四:定点数算术运算实验实验内容:编写2字节乘2字节子程序。乘数位于R2R3,被乘数位于R4R5。结果存放于R4R5R6R7内。实验说明:实验程序:ORG 0H LJMP MAIN ORG 0100HMAIN: MOV R2,#04H MOV R3,#03H MOV R4,#02H MOV R5,#01H MOV R6,#0H MOV R7,#0H MOV R0,#16D/*JISHU*/ CLR CLOOP: MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV 26H,R6 MOV 27H,R7 MOV A,R2 CJNE A,26H,NEXT1NEXT1: JNC NEXT2 MOV A,R3 CJNE A,27H,NEXT3NEXT3: JNC NEXT2 CLR C MOV A,R7 SUBB A,R3 MOV R7,A MOV A,R6 SUBB A,R2 MOV R2,