单片机0-99计数器秒表报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称 单片机原理及应用课程设计
学 号
姓 名
班 级
指导老师
时 间
信息工程学院
设计题目:秒表得设计 设计内容、目得与要求:
1、 用单片机得定时/计数器实现一个秒表得应用•当按键S1按下时,秒表开始计时,并在 数码管上显示当前得计数知道“99”,然后从“00”开始重新计时,然后按键按下则停止计时, 第三次按下键则清除上一次得计时结果。
#inc1
〔ude<reg51、h〉
#defin
e uc har
#defin
sbit
K1=P3A7;
uchar i,count,keyflag;
bit keystate;
//头文件
Coun t=co un t+1
e uintunsignedin
unsigAed数码管显示为00J
按键识别成定义按键
uchar CODE[]={0x3lf,0x06,0x5b,0x4f,0去66,0x6d,Ox7d,0x07,0x7f,0x
2017、6、14星期三编写设计报告。
演示设计成果,回答老师提出得问题,完成答辩。
根据答辩过程中得问题,对程序与报告进行最后得修改 对本周课程设计进行总结,并将自己所用得实验器材放回原处
设计过程、步骤(可加页):
一、设计方案
利用STC90C51单片机来制作一个手动计数器,在STC90C51单片机得P3、7管脚接 一个轻触开关,作为手动计数得按钮,用单片机得P2、0-P2、7接一个共阳数码管,作为00—99计数得个位数显示,用单片机得P0、0-P0、7接一个共阴数码管,作为00—99计数得 十位数显示;
3•把“单片机系统"区域中得P3、7/RD端口用导线连接到“独立式键盘"区域中得SP1端口上。
图2十位显示动态数码管(共阳数码管)
图3个位显示静态数码管(共阴数码管)
图1硬件电路连接图
(二)显示电路
两位数码管循环显示00〜99电路
数码管只要就是用于数字得显示•数码管有共阴与共阳得区分,单片机都可以进行驱动,但就 是驱动得方法却不同。两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过
得显示代码,数码管就能正常显示需要得数字。
动态数码管
UEDL
JL2
曲a
ftp二
C~l3
4盲u

9


J1U-
L
!
■"-
a
I
(三)时钟电路
图4时钟电路
(四)复位电路
MCS—51单片机得复位就是靠外部电路实现得。MCS—51单片机工作之后,只要在她得R
ST引线上加载10ms以上得高点平,单片机就能有效地复位。MCS—51单片机通常采用上电自 动复位与按键复位两种方式。最简单得复位电路如图5:
keyf1ag=0;
keystate= 1;
TMOD=0x01;
TH0=( 65536-50000)/256;
TL0=(65536—50000)%256; while(1)
switch(keyflag)
case1:EA=1;ET0=1;TR0=1;break;case2:EA=0;ET0=0;TR0=0;break;
case 0:P0=0x3f ;P2=〜0x3f;i=0;count=}
}
}
voidmain()
{
P0=0x3f;〃显示00
P2=〜0x3f;
i=0;
count=0;
二、工作原理
采用STC90C51单片机为中心器件,利用其定时器/计时器定时与计数得原理,结合硬件电路 如电源电路、晶振电路、复位电路、显示电路,以及一些按键电路等来设计计时器,软硬件有 机得结合起来,其中软件系统采用c语言编写程序,包括显示程序,快加程序,暂停程序等,硬件 系统利用Keil强大得功能来实现,简单且易观察。
2017、6、11星期天 根据查找到得资料,并结合题目要求,确定系统得理论设计方案, 进行方案论证。
2017、6、12星期一根据最终确定得方案编写软件部分得程序代码,并连接好实物
图,对相应模块得程序进行调试;观察实验现象,与题目要求相比较,优 化系统设计。
2017、6、13星期二 修改程序,调试结果。
LEO?
essa ssBfi
;i:l
上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上得高电平,就能使单
片机有效得复位。在系统中,有些外围芯片也需要复位。如果这些芯片复位端得复位电平与单 片机得复位电平得要求一致,则可以将复位信号与之相连。
三、软件设计
(一)主程序及流程图
开始
COunt初序为程图
6f};
uchart;
//数码管编码
V
voiddelayMS
s来自百度文库
Coun t<1/ms延时函数
显示count数值
whi1e(ms-—) fo——
voidKey()
//按键处理函数
i f(keystate==0)
//如果按键被按下
keyf1ag=(keyflag+1)%3;
//将按键索引变换成0、1、2三种
(一)开发板上硬件连线(如图1)
1•把“单片机系统"区域中得P0、0/AD0—P0、7/AD7端口用8芯排线连接到“四路静 态数码显示模块”区域中得任一个a—h端口上;要求:P0、0/AD0对应着a,P0、1/AD1对应着b,……,P0、7/AD7对应着h.
2。把“单片机系统”区域中得P2、0/A8—P2、7/A15端口用8芯排线连接到“四路 静态数码显示模块"区域中得任一个数码管得a—h端口上;
2、 硬件电路要求:单片机使用P1与P2、1与P2、2来驱动两位数码管,(P1用来作为 数码管动态显示得段码引脚,P2、1与P2、2用来作为数码管动态显示得位显信号引脚),P3、7上外扩一个按键。
计划与进度安排:
2017、6、10星期六任务分配;根据自己得题目,在网上或图书馆查找相应资料并进行
整理。
560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。P2、6与P2、7端口分别控制数码管得十位与个位得供电, 当相应得端口变成低电平时,驱动相应得 三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字
相关文档
最新文档