单片机实训报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机
实训报告电子秒表
设计
实训报告题目:电子秒表
学院:信息工程学院
专业:计算机应用
班级:应用二班
学号:140306224
姓名:韩迎珠
指导老师:邢文生
目录
一、设计题目………※……※……※….…※……※………
二、方案设计………※……※……※….…※……※………
三、硬件设计………※……※……※….…※……※………
1 电路图…………………………………………………
2 I/O口的分配……………………………………………
3 电路的工作原理………………………………………
4原件明细…………………………………………………
四、软件设计………※……※……※….…※……※………
1 软件设计的思路………………………………………
2 程序流程图……………………………………………
3总体结构框架介绍………………………………………
4程序清单…………………………………………………
五、制作和调试………※……※……※….…※……※……
六、心得体会………※……※……※….…※……※………
一、设计题目
利用at89c51单片机设计并制作秒表电路。要求如下:
通过led显示器(数码管)显示秒的十位和个位;设计一个按键,使按键按下去时秒表开始计时,即秒表开始键;设计一个按键,按键按下去时秒表暂停计时,使秒表停留在原先的计时,即计时停止键;设计一个按键,作为秒表的清零按钮,使秒表计数结束后可以清零。
二、方案设计
1、该秒表主要由51系列单片机及开关控制数码显示管的显示情况,此秒表可现实显示两位数从00到99的计数,即开始计数、停止计数和清零三种,由手动控制三个开关k1、k
2、k3来实现。
2、当接通电源时数码管显示00,然后按动k1使秒表开始计时,在0秒到99秒之间的任何时间均可;若要定时,如只需计时到32秒则在显示器显示到32时按下定时键k2即可;在计时过程中若需要清零,则需按下k3键。
3、设计过程中除了向老师请教外,还通过上网查阅资料及翻阅书籍。上单片机课程时我曾做过关于数码显示器的实验,所以在焊接电路板时可参照实验报告书上的连接方式。要特别注意两数码管引脚的连接及com端和三极管的连接,其决定了共阴极和共阳极,此处涉及到编程中初值的写入,为在焊接电路时简洁,因此我采用下面的com 端,即数码管采用共阴极方式。主要设计思路是编写相应程序后由单片机的p0口输出到数码管上,实现数据的显示。p2.6口控制个位的显示和p2.7口控制十位的显示,p3.5、p3.6、p3.7口分
别控制秒表的开始、停止和清零。
三、硬件设计
1电路图
使用proteus工程软件制图,如下图所示:
2.I/o口的分配
p0口是一个漏极开路8位准双向复用I/o端口,它的p0.0~p0.7口分别接电阻r1~r8,但因为该设计中不需要小数点的显示,即dp端不用接,所以只用接7个阻值为100欧的电阻。p2口是一个内部带上拉电阻的8位准双向复用I/o端口,只用其p2.6口和p2.7口输出字位码。p3口是一个内部带上拉电阻的8位多功能双向I/o端口,它的每一条引脚均可独立定义为第一功能的输入输出(其主要功能是它的第二功能,在此不做详细解释)。
3、电路的工作原理
本系统采用模块化设计,以at89c51单片机为核心,与秒表显示接口电路组成控制系统。该系统硬件主要包括以下几个模块:at89c51主控模块、秒表显示模块等。其中at89c5主要完成外围硬件的控制以及一些运算功能,秒表显示模块完成时间的显示功能。
4原件明细
各元件的作用:
开关:三个分别用于显示器的开始、停止和清零。
电容:用于单片机的最小系统中。晶振:提供内部时钟。
电阻:用来限制电流。
单片机芯片:实现软件的编程与烧写。数码管:显示秒表计时数据。
电源插头:用于接外接电源。
四、软件设计
1、软件设计的思路
在硬件电路中,由于硬件电路中显示灯是接在p2口的两个端口,用于输出,且二极管为共阴极的接法,则单片机的程序设计中要是灯亮必须为高电平有效,由于程序中用到中断源,所以要打开中断源;模块设计时可用查询方式检测开始按键是否被按下,若按下开始键数码管开始显示00,开始计数后,再用查询方式检测这个按键是否被按下,如果按下则检测跳转到下一个按键检测程序继续检测,一次检测各个按键的情况,数码管的初值显示设置为0。
2、总体结构框架介绍
初始化模块:对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中;
检测开始按键:检测开始按键是否被按下,按下则开始执行循环为消除按键抖动,此处应调用延时程序;
循环检测停止、清零按键:循环检测停止、清零按键是否被按下,同时等待中断到来;
延时程序:用于小穿件的机器抖动,调用的延时程序为0.5s;
中断处理:当中断源到来,首先停止计数,从开始计数的数在数码管中显示出来。
3、程序流程图
4、程序清单strt equ p3.5 stp equ p3.6 clrr equ p3.7
ajmp maIn
org 0bh
ajmp t0Int
org 30h
maIn:
mov sp,#60h
mov dptr,#tab
mov tmod,#01h ;t0定时方式1 setb ea
setb et0
mov th0,#3ch ;50ms定时常数mov tl0,#0b0h
mov r0,#20 ;20x50ms=1s
k1:
lcall dIsp
jb strt,k2
acall dIsp
jnb strt,$-2
ajmp start
k2:
jb stp,k3