1、 单片机课程设计实习报告 设计题目: 驱动数码管显示 课程设计 一、实验目的 (1) 学习 keil u4 集成开发工具的操作及调试 程序的方法,包括仿真、调试、运行等 (2) 熟悉所用系统板的结构及使用 (3) 进行 Atmel89c51 单片机程序设计, 硬件接 口等 (4) 学习并掌握 Keil u4 和 DPflash 的使用 (5) 完成实验的综合设计 二、实验内容 (1) 软件环境:Keil u4,DPflash (2) 硬件环境:PC,系统板 (3) 编写程序使实验板 (4) 电路图: (5) 程序设计: ORG 0000H ;地址 0000H LJMP STAR0 ;转 STA
2、R ORG 0200H ;地址 0200H STAR0: CLR 00 ;位 00 清 0 MOV P1,#0FFH ;#0FFHP1 MOV P2,#0FH ;#0FHP2 MOV P0,#0FFH ;#0FFHP0 MOV 30H,#0FFH ;#0FFH30H MOV 31H,#0FFH ;#0FFH31H MOV 32H,#0FFH ;#0FFH32H MOV 33H,#0FFH ;#0FFH33H STAR1: MOV P1,#0FFH ;#0FFHP1 MOV P1,#0FEH ;#0FEHP1 MOV P0,30H ;30HP0 MOV R0,#00H ;#00HR0 LCALL
3、 STS1 ;调延时子程序 STS1 MOV P1,#0FFH ;#0FFHP1 MOV P1,#0FDH ;#0FDHP1 MOV P0,31H ;31HP0 MOV R0,#00H ;#00HR0 LCALL STS1 ;调延时子程序 STS1 MOV P1,#0FFH ;#0FFHP1 MOV P1,#0FBH ;#0FBHP1 MOV P0,32H ;32HP0 MOV R0,#00H ;#00HR0 LCALL STS1 ;调延时子程序 STS1 MOV P1,#0FFH ;#0FFHP1 MOV P1,#0F7H ;#0F7HP1 MOV P0,33H ;33HP0 NOP ;空操
4、作 LCALL STS1 ;调延时子程序 STS1 ST2: JNB P2.0,ST3 ;P2.0=0 转 ST3 CLR 00 ;位 00 清 0 SJMP STAR1 ;转 STAR1 ST3: JNB 00,ST4 ;位 00=0 转 ST4 SJMP STAR1 ;转 STAR1 ST4: MOV 30H,#0F9H ;#0F9H30H MOV 31H,#0A4H ;#0A4H31H MOV 32H,#0B0H ;#0B0H32H MOV 33H,#99H ;#99H33H SETB 00 ;位 00 置 1 SJMP STAR1 ;转 STAR1 ORG 0100H STS1: MO
5、V R6,#03H ;#03HR6 (211) DEL1: MOV R7,#0FFH ;#0FFHR7 (255) DEL2: DJNZ R7,DEL2 ;R7-1=0 DEL2 DJNZ R6,DEL1 ;R6-1=0 DEL1 RET ;子程序调用返回 END ;结束 (6)调试: 调试过程基本无问题,程序一次性通过,在程序转 hex 格式过程中,出现不能转的 情况,重新调试运行后,问题解决。在烧程序的过程中,出现通信错误,判断是 USB 未加载驱动或者通信线出问题,换 PC 机和数据线之后,问题顺利解决。 (7)实验结果: 实验板数码管成功显示 1234 三、总结: 在上个学期的单片机学习中,通过课程设计的机会,让我更好的理解性学习了单片机,能够比较 熟练地使用 Keil u4 和 DPflash 两个单片机使用软件,这都将非常有益于以后进一步学习单片机 相关知识。在程序编写上,还需要多学习。最后,衷心感谢老师能为我们提供如此好的学习环境 和学习条件,感谢老师在课程设计过程中的细心指导。