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

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称单片机原理及应用课程设计学号

姓名

班级

指导老师

时间

信息工程学院

一、设计方案

利用STC90C51单片机来制作一个手动计数器,在STC90C51

单片机的管脚接一个轻触开

关,作为手动计数的按钮,用单片机的-接一个共阳数码管,作为00-99 计数的个位数显示,用单片机的-接一个共阴数码管,作为00-99 计数的十位数显示;

二、工作原理

采用STC90C51单片机为中心器件,利用其定时器/计时器定时和计数的原理,结合硬件电路如电源电路、晶振电路、复位电路、显示电路,以及一些按键电路等来设计计时器,软硬件有机的结合起来,其中软件系统采用c语言编写程序,包括显示程序,快加程序,暂停程序等,硬件系统利用Keil强大的功能来实现,简单且易观察。

(一)开发板上硬件连线(如图1)

1.把“单片机系统”区域中的AD0-AD7端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:AD0对应着a,AD1对应着b,……,AD7对应着h。

2.把“单片机系统”区域中的A8-A15端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h 端口上;

3.把“单片机系统”区域中的RD 端口用导线连接到“独立式键盘”区域中的SP1端口上。

图1 硬件电路连接图

(二)显示电路

两位数码管循环显示00~99电路

数码管只要是用于数字的显示。数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同。两位数码管循环电路是由电阻、二极管和数码管组成,电源+5V通过560的电阻直接给数码管的7个段位供电,对应了两个接数码管的A,B,C,D,E,F,G和小数点位,接显示个位数的数码管的3、8引角,则接十位数的。和端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示需要的数字。

图2 十位显示动态数码管(共阳数码管)

图3 个位显示静态数码管(共阴数码管)

(三)时钟电路

时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也越快。晶振频率根

据设计需要设为12MHz,又根据谐振性质,电路中的电容应选择为30pF左右。

图4 时钟电路

(四)复位电路

MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作之后,只要在他的RST 引线上加载10ms以上的高点平,单片机就能有效地复位。MCS-51单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如图5:

图5 复位电路

上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。在系统中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平与单片机的复位电平的要求一致,则可以将复位信号与之相连。

三、软件设计

(一)主程序及流程图

图6 程序流程图#include<>

#define uchar unsigned char

#define uint unsigned int

开始

Count初始为0

数码管显示为00

按键识别成功

Count=count+1

Count<100

显示count数值

开始时没有分清楚数码管是共阴数码管还是共阳数码管,C语言程序中默认数码管是共阴,所以两个P接口的值都是按照共阴去写的,导致数码管选段及位显有问题,后来经过老师的指点,将共阳数码管P2的接口改成了共阴。

2.用到Keil软件时,生成的文件不能烧录,与单片机的开发板连机。后来经过学习教程并和同学讨论,掌握了用Keil软件生成hex文件并被烧录程序识别的方法。

3.第一次差点出了实验结果,但结果与实验要求不符。要求99秒,但是我的结果是有两位数显,但是时间跳转得太快。后来想到可能是程序有问题,通过自己的摸索,和网络检索修改了C语言程序中的时间定时和count循环赋值。设计体会与建议:

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.。回顾起此次单片机课程设计,仍感慨颇多。从理论到实践,在这一个星期里,我学到很多很多的的东西,巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂keil中hex文件生成方法,对单片机汇编语言掌握得不好等等。通过这次课程设计之后,一定把以前所学过的知识重新温故。

指导老师评语

相关文档
最新文档