1、1 单片机综合实验单片机综合实验 题目:题目:00-99 手动计数器手动计数器 班级:班级: 姓名:姓名: 学号:学号: 设计时间:设计时间:2013.06.24 2 目录目录 一、设计目的:一、设计目的: . 3 二、实验设备和实验平台:二、实验设备和实验平台: . 3 三、实验原理:三、实验原理: . 3 四、设计步骤:四、设计步骤: . 4 1.电路设计 4 2.软件设计 4 3.实验调试 5 五、心得体会五、心得体会. 7 3 一、设计一、设计目的:目的: 利用 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管 脚接一个轻触开关, 作为手动计数的按
2、钮, 用单片机的 P2.0P2.7 接一个共阴数 码管,作为 0099 计数的个位数显示,用单片机的 P0.0P0.7 接一个共阴数码 管,作为 0099 计数的十位数显示 二、实验设备二、实验设备和实验平台和实验平台: EL-MUT-III 型单片机实验箱、8051CPU 模块、Keil uVision2、Proteus 7 Professional 三、实验原理:三、实验原理: 1.把“单片机系统”区域中的 P0.0/AD0P0.7/AD7 端口用 8 芯排线连接到“四 路静态数码显示模块”区域中的任一个 ah 端口上;要求:P0.0/AD0 对应着 a,P0.1/AD1 对应着 b,P0
3、.7/AD7 对应着 h。 2.把“单片机系统”区域中的 P2.0/A8P2.7/A15 端口用 8 芯排线连接到“四 路静态数码显示模块”区域中的任一个数码管的 ah 端口上; 把“单片机系统”区域中的 P3.7/RD 端口用导线连接到“独立式键盘”区域中 的 SP1 端口上; 1 1 程程 2 2 3 3 序设计内容序设计内容 3.单片机对按键的识别的过程处理 单片机对正确识别的按键进行计数,计数满时,又从零开始计数; 单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位, 我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上 显示。如何拆开十位和个位我们可以把所
4、计得的数值对 10 求余,即可个位数 字,对 10 整除,即可得到十位数字了。 通过查表方式,分别显示出个位和十位数字。 4 四四、设计设计步骤:步骤: 1.电路设计 2.软件设计 Count EQU 30H ; EQU 标号赋值伪指令 SP1 BIT P3.7 ORG 0 START: MOV Count,#00H NEXT: MOV A,Count MOV B,#10 DIV AB ; A 除以 B,商(存于)A 余(下)B 5 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A WT: JNB SP1
5、,WT ;SP 为 0 转移 WAIT: JB SP1,WAIT ;SP 为 1 转移 LCALL DELY10MS JB SP1,WAIT INC Count ; Count 加 1 MOV A,Count CJNE A,#100,NEXT ;累加器与立即数不等转移 LJMP START DELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0-9 END 3.实验调试 6 运行后,每按一下开关,后面的个位数字就加 1,按
6、到 9 以后再按一下向十位进 1. 7 五五、心得体会、心得体会 为期两周的单片机课程设计,给我留下了很深刻的印象. 这是我第一次从硬件方面接触到单片机.在平时的上课学习中.对于书上所讲的.感觉很抽象.在做课程 设计时我们从最简单的实物开始做起.在制作过程中,我们首先是实验设计,设计电路图,然后画出电路流程 图,这个大概耗时一周的时间,在这期间,我们花费大量的时间在寻找方法,上网查资料,不断的讨论,每 天都研究的很晚,在焊电路片,由于以前有做过.所以没有什么问题.最后就是程序的下载,这个东西我们以 前没有接触过,但是进过我们的研究还是终于成功了,我心情万分激。 这次单片机制作对我收获很大.激发了我对单片机的兴趣.接下来我会慢慢的制作更多更复杂的板子. 从中发现问题.解决问题.对我单片机的学习是很有帮助的. 由于第一次制作单片机电路.还有许多不好的地方. 恳请老师指教!