单片机秒表计时器课程设计报告含C语言程序.doc
- 文档编号:1642071
- 上传时间:2022-10-23
- 格式:DOC
- 页数:15
- 大小:3.03MB
单片机秒表计时器课程设计报告含C语言程序.doc
《单片机秒表计时器课程设计报告含C语言程序.doc》由会员分享,可在线阅读,更多相关《单片机秒表计时器课程设计报告含C语言程序.doc(15页珍藏版)》请在冰豆网上搜索。
XXXXXX学院
51单片机系统设计课程设计报告
题目:
秒表系统设计
专业、班级:
学生姓名:
学号:
指导教师:
分数:
[摘要]本设计是一个秒表计时器,采用51单片机实现。
电路包括以下几部分:
单片机最小系统部分,数码管显示部分,摁键开关部分部分。
电路选用共阴型4位数码管组成时钟显示电路;时钟的增减控制以及清零部分主要由轻触开关构成的摁键系统组成;信号接收和处理部分主要由单片机来执行。
接通电源后,秒表计时器处于初始状态,4位数码管显示000.0。
当摁下“开始”开关时,秒表开始计时,数码管显示当前状态的时间。
当再次摁下开关时,数码管停止计时。
摁下“清零”键后,系统重新回到初始状态。
[关键词] 单片机最小系统秒表计时摁键控制
任务书
1、任务
设计一个秒表计时器,在51单片机的控制作用下,采用4个LED数码管显示时间,计时范围设置为00.0~60.0秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。
2、设计要求
(1)开始时显示00.0。
每按下S1键一次,数值加1s;
(2)每按下S2键一次,数值减1s;
(3)每按下S3键一次,数值清零;
(4)每按下S4键一次,启动定时器使数值开始自动每秒加1,
再次按下S4键,数值停止自动加1,保持显示原数。
3、发挥部分
(1)开关按键3:
“复位 60.0” 按键(用来60秒倒计时)。
按键按下去时数码管复位为“60.0”(用于倒计时)。
(2)开关按键4:
倒计时“逐渐自减”按键。
按键按下去则是数码管开始“逐渐自减”倒计时。
(3)开关按键5:
倒计时初始值“增加”按键。
(4)开关按键6:
倒计时初始值“减小”按键。
4、课程设计的难点
单片机电子秒表需要解决三个主要问题,一是有关单片机定时器(一个控制顺序计时,一个控制倒计时)的使用;二是如何实现 LED 的动态扫描显示;三是如何对键盘输入进行编程。
5、课程设计仪器
集成电路芯片STC89C52,八段数码管,MCS-51系列单片机微机仿真课程系统中的软件(keil uvision2)。
目录
摘要……………………………………………………………………………2
关键词…………………………………………………………………………2
任务书…………………………………………………………………………3
1、设计任务目的……………………………………………………………5
2、设计方案选取与论证……………………………………………………5
2.1系统总体设计方案……………………………………………………5
2.2系统整体框图…………………………………………………………5
3、电路设计…………………………………………………………………6
3.1单片机最小系统设计……………………………………………6
3.2数码管显示模块设计……………………………………………6
3.3摁键控制系统模块设计…………………………………………6
3.4程序设计…………………………………………………………6
4、制作及调试过程…………………………………………………………11
5、结果分析和总结…………………………………………………………12
参考文献………………………………………………………………………12
附录a秒表计时器原理图…………………………………………………13
附录b元器件清单…………………………………………………………14
附录c秒表计时器实物图…………………………………………………15
1、设计任务目的
1.根据单片机课程所学内容,结合其他相关课程知识,设计电子秒表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础;
2.熟悉汇编语言或C语言的程序设计方法,熟悉51系列单片机的使用;
3.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、I/O口、串行口通讯等功能;
4.掌握单片机应用系统的软硬件设计过程、方法及实现。
2、设计方案选取与论证
2.1系统总体设计方案
使用STC89C51单片机作为核心控制部件,采用12M晶体振荡器及30PF微小电容构成振荡电路;用1个四位一体共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止、增减初始时间等各项功能。
2.2系统总体整体框图
4位数码管显示模块
STC89C52单片机最小系统模块
独立摁键控制模块
图2.2系统设计框图
3、电路设计
3.1单片机最小系统设计
图3.1单片机最小系统
1. 时钟电路
在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。
在本设计中采用的12M 的石英晶振。
和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。
当采用石英晶振时,电容可以在20 ~ 40pF 之间选择。
2. 复位电路
复位操作通常有两种基本形式:
上电自动复位和开关复位。
上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。
随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。
并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。
3. EA/VPP(31 脚) 的功能和接法
51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。
当EA 保持高电平时,单片机访问内部程序存储器; 对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。
4. P0 口外接上拉电阻
51 单片机的P0 端口为开漏输出,内部无上拉电阻。
所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。
3.2数码管显示模块设计
显示部分采用动态显示。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的共阴极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的位选通端,就使各个数码管轮流受控显示,这就是动态驱动。
动态显示是利用人眼视觉暂留特性来实现显示的。
事实上,显示器上任何时刻只有一个数码管有显示。
由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。
为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。
3.3摁键控制系统模块设计
由P1口作为独立摁键信号的输入端控制时钟的加1s、减1s、复位60.0s等操作。
用外部中断0作为秒表计时器的开启和暂停的操作。
且所有摁键均为低电平有效。
其中部分摁键为单刀双掷开关用于控制增计时或减计时以及限60.0s计时和60.0s外计时。
3.4程序设计如下:
#include
unsignedcharTab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表
unsignedcharTab2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //个位段码表
unsignedintx;
unsignedchark;
sbitint0=P3^2;
sbitint1=P3^3;
sbitSUB60=P1^1;
sbitS60=P1^2;
sbitK5=P1^3;
sbitK6=P1^4;
sbitK7=P1^5;
sbitK8=P1^6;
/***************************延时1ms基准******************************************/
voiddelay1ms(unsignedinti)
{
unsignedcharj;
while(i--)
{
for(j=0;j<125;j++) //1ms基准延时程序12MHZ晶振
{
;
}
}
}
/********************************************************************************
******************数码管显示程序***********************************************/
voidDisplay(unsignedintx)
{
P2=0xfe;//P2.0引脚输出低电平,DS6点亮
P0=Tab1[x/1000];//显示百位
delay1ms(6);
P2=0xfd;//P2.1引脚输出低电平,DS6点亮
P0=Tab1[x%1000/100];//显示十位
delay1ms(6);
P2=0xfb;//P2.2引脚输出低电平,DS6点亮
P0=Tab2[x%100/10];//显示个位
delay1ms(6);
P2=0xf7;//P2.3引脚输出低电平,DS7点亮
P0=Tab1[x%10];//显示0.1位
delay1ms(6);
P2=0xff;
}
/*******************************************
函数功能:
主函数
******************************************/
voidmain(void)
{
x=0;
TMOD=0x01;//TMOD=00000001B,使用计数器T0的工作方式1
EA=1;//开起总中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 秒表 计时器 课程设计 报告 语言 程序