0842402019
单片微型计算机原理
学 院 班 级 学 号 姓 名 指导教师 成 绩
1
2011年6月
0842402019
? 硬件实验:
实验一:定时器中断实验
实验内容:fosc=11.0592MHz,T0方式2产生定时中断实现秒表功能:数码管后两 位显示10ms;前两位显示秒数;K1/K2/K3键分别启动/停止/清零,按键操作不 分先后
实验程序流程图:
主程序流程图: 中断程序流程图:
开始中断服务程序每250us执行一次初始化LCALL CONVERTLCALL DISPLAYN 有K1?YSETB TR0清计数值N 有K2?YCLR TR0N 有K3?Y实验程序:
ORG 0000H
LJMP MAIN ORG 000BH LJMP INTT0 ORG 0100H MAIN: MOV SP,#70H CALL INI_ALL
INTT0:保护现场250us计数+=1N250us计数>=40Y250us计数=0,10ms计数+=1N10ms计数>=100YY10ms计数=0,s计数+=1Ns计数>=100Ys计数=0恢复现场RETI2
0842402019
LOOP: CALL DISPLAY MOV DPTR,#8000H MOVX A,@DPTR JB ACC.7,NEXT SETB TR0
NEXT: JB ACC.6,NEXT1 CLR TR0
NEXT1: JB ACC.5,LOOP MOV R7,#0H MOV R6,#0H MOV R5,#0H LJMP LOOP /*INTT0*/
INTT0: PUSH PSW PUSH ACC INC R5 CJNE R5,#40,CMP1 CMP1: JC GOON MOV R5,#0H INC R6 CJNE R6,#100,CMP2 CMP2: JC GOON MOV R6,#0H INC R7 CJNE R7,#100,CMP3 CMP3: JC GOON MOV R7,#0H GOON: POP ACC POP PSW RETI /*INIALL*/
INI_ALL:MOV R7,#0H MOV R6,#0H MOV R5,#0H MOV IE,#82H MOV TMOD,#02H MOV TH0,#25 MOV TL0,#25 RET /*DISPLAY*/
DISPLAY:MOV DPTR,#TABLE MOV A,R7 MOV B,#10 DIV AB
3
0842402019
MOVC A,@A+DPTR MOV 33H,A MOV A,B MOVC A,@A+DPTR MOV 32H,A /**/ MOV A,R6 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 31H,A MOV A,B MOVC A,@A+DPTR MOV 30H,A /**/ MOV DPTR,#8000H MOV A,33H MOVX @DPTR,A MOV DPTR,#8100H MOV A,32H MOVX @DPTR,A MOV DPTR,#8200H MOV A,31H MOVX @DPTR,A MOV DPTR,#8300H MOV A,30H MOVX @DPTR,A RET
TABLE: DB 88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82H END
实验结果:数码管后两位显示ms计数,前两位显示s计数,按K1键启动计数,K2键停止计数,K3键清零。可实现秒表功能。
实验二:驱动蜂鸣器实验
实验内容:使P3.5端口输出周期为1S的方波信号。并通过三极管驱动一个直流小喇叭,使其发出断续的鸣响。 实验程序:
ORG 0H
LJMP MAIN ORG 0100H MAIN: MOV SP,#70H START: CPL P3.5
LCALL DELAY
4
0842402019
LJMP START DELAY: MOV R7,#200 Y: MOV R6,#100 X: NOP
DJNZ R6,X DJNZ R7,Y RET END
实验结果:蜂鸣器发出声响。
实验三:显示管增一显示
实验内容:编写程序,使数码管从0000自增一加至9999,然后再自动清零循环。 实验程序:
ORG 0H LJMP MAIN ORG 0100H MAIN: MOV 30H,#0H MOV 31H,#0H MOV 32H,#0H MOV 33H,#0H MOV R0,#1 START: LCALL DELAY LCALL CONVERT LCALL DISPLAY INC R0
CJNE R0,#255,XX LJMP START XX: JC START JNC MAIN
CONVERT:MOV A,R0 MOV B,#10 DIV AB MOV 30H,B MOV B,#10 DIV AB MOV 31H,B MOV 32H,A RET
DISPLAY:MOV A,30H
MOV DPTR,#TABLE MOVC A,@A+DPTR MOV DPTR,#8300H
5

