用LED数码管显示的秒表设计

用LED数码管显示的秒表设计
用LED数码管显示的秒表设计

单片机课程设计说明书

用LED 数码管显示的秒表设计

专业 电气工程及其自动化

学生姓名 刘宁 班级 B 电气081

04 指导教师 张兰红 完成日期

2011年 6月 26 日

目录

1、概述 (2)

2、课题方案设计 (2)

系统总体设计要求 (2)

系统模块结构论证 (2)

3、系统硬件设计 (3)

总体设计 (3)

单片机运行的最小系统 (4)

52单片机最小系统电路介绍 (4)

单片机的振荡电路与复位电路 (7)

数码管介绍 (8)

驱动电路 (9)

4、软硬件联调及调试结果 (10)

软硬件调试中出现的问题及解决措施 (10)

实物图 (11)

调试结果 (13)

5、结束语 (13)

参考文献 (14)

附录 (14)

附录1:基于单片机的秒表设计原理图 (14)

附录2:基于单片机的秒表设计PCB图 (15)

附录3:PROTEUS仿真图 (16)

附录4:基于单片机的秒表设计C语言程序清单 (17)

附录5:基于单片机的秒表设计元器件目录表 (19)

1、概述

21世纪是一个电子技术和电子元件有更大发展的世纪。回顾百年来电子技术和电子工业发展的成就,举世瞩目。作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。课程设计就是一个理论联系实际的机会。

本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。

在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。

2、课题方案设计

系统总体设计要求

用AT89C52设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键。接上电源后从00开始计时,至59后再回到00,继续循环。

系统模块结构论证

1.单片机模块选择

方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对要高,而且对此不熟悉。

方案二:采用STC89系列单片机,其架构简单,相对熟悉,价格便宜,对设计功能已经足够。焊接也是比较容易。

因此,选择方案二。

2.电源模块选择

方案一:采用交流220V/50HZ电源转换为直流5V电源作为电源模块。该方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。

方案二:采用干电池串并联到5V作为电源模块。该方案实施简单,无需搭建电路,但相对方案不够稳定,电池消耗快,带负载后电压降过高,可能无法使系统稳定持续运行。

方案三:采用USB接口电源,该方案简单方便,可以直接和电脑的USB接口相连。电脑的USB接口属于接口电源,要并联耦合电容进行缓冲。

因此,选择的是方案三。

3.显示模块选择:

方案一:采用8段LED数码管作为显示模块核心。

方案二:采用LCD液晶显示器作为显示模块核心。

LED数码管节能环保,显示直观。因此选择方案一。

4.驱动模块选择:

方案一:用与非门逻辑电路作为驱动电路主要元件。

方案二:用PNP型三极管作为驱动电路主要元件。

与非门逻辑电路相对来说较为复杂,PNP三极管只有三个端口且价格也很便宜,因此选择方案二。

3、系统硬件设计

总体设计

利用单片机定时器/计数器中断设计秒表,从而实现秒的计时。用两个数码管来显示秒表数据。增加一个清零按钮,计时结束后可以清零。通过采用proteus仿真软件来模拟实现。模拟利用AT89C52单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位。两位数码管用来显示数据,一位数码管显示个位1~9,满十进一后显示十位的数码管的数字加一,并且个位显示清零重新从零计数。计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。、

软硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:晶振采用的外部晶振频率

内存分配:

P0口与数码管个位和十位数据输入端相连,控制其段选信号,输出1~9不同字型。

P3口的、分别与秒表个位和十位数码管位选连接,控制秒表的计数以及计数的开启/暂停/继续与复位清零。

本设计包含有单片机最小系统模块、复位模块、放大器模块、LED数码管显示模块。

其中最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。

复位模块由二极管、电阻和复位开关组成。

放大器模块由PNP三极管、电阻组成。

LED数码管显示模块由两位八段数码管组成。

单片机运行的最小系统

最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。

52单片机最小系统电路介绍

1. 52单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,52单片机最小系统容值越大需要的复位时间越短。

2. 52单片机最小系统晶振Y1也可以采用,在正常工作的情况下可以采用更高频率的晶振,52单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

3. 52单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好

口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。

设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。

设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期

又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。

标识符号地址寄存器名称

P3 0B0H I/O口3寄存器

PCON 87H 电源控制及波特率选择寄存器

SCON 98H 串行口控制寄存器

SBUF 99H 串行数据缓冲寄存器

TCON 88H 定时控制寄存器

TMOD 89H 定时器方式选择寄存器

TL0 8AH 定时器0低8位

TH0 8CH 定时器0高8位

TL1 8BH 定时器1低8位

TH1 8DH 定时器1高8位

图3-1 89c52系列单片机管脚图

89C52管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

RXD(串行输入口)

TXD(串行输出口)

/INT0(外部中断0)

/INT1(外部中断1)

T0(记时器0外部输入)

T1(记时器1外部输入)

/WR(外部数据存储器写选通)

/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

单片机的振荡电路与复位电路

1.振荡电路

采用内部时钟方式时,如图所示。片内的高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的片外晶体振荡器(呈感性)

与电容组成的并联谐振回路构成一个自激振荡

器,向内部时钟电路提供振荡时钟。振荡器的

频率主要取决于晶体的振荡频率,一般晶体可

在~12MHz之间任选,电容C1、C2可在5~

30pF之间选择,电容的大小对振荡频率有微小

的影响,可起频率微调作用。

本电路选用的是内部振荡器方式,。选用

内部振荡器比选用外部时钟电路简单并且易于

实现。最重要的是此电路易于调试,而且精度高。

2. 复位电路图3-2 振荡电路

复位电路可分为上电复位和外部复位两种方式。

通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。MCS —52单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10ms)。复位分为上电复位和外部复位两种方式。

图3-3 复位电路

(a)上电复位电路(b)上电/外部复位电路

上电复位是在单片机接通电源时,对单片机的复位。上电复位电路如图(a)所示。在上电瞬间RST/VPD端与VCC电位相同,随着电容上电压的逐渐上升,RST/VPD端电位逐渐下降。上电复位所需的最短时间是振荡器振荡建立时间加2个机器周期。复位电路的阻容参数通常由实验调整。图(a)参考电路中,电路参数C取22uF,R取1Kq,可在RST/VPD端提供足够的高电平脉冲,使单片机能够可靠地上电自动复位。

图(b)为既可进行上电自动复位,也可外部手动复位的电路示意图,R1可取200q 左右。当需要外部复位时,按下复位按钮即可达到复位目的。

本文采用的是上电/外部复位电路,如图(b)所示。上电/外部复位电路比上电复位电路在应用上更加直观、方便、易于实现及切换。

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

数码管介绍

图3-4 七段数码管引脚图

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)数码管的8个显示笔划"a,b,c,d,e,f,g,dp";按能显示多少个“8”可分为1位、2位、4位等等数码管;

发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

驱动电路

本设计中采用两个PNP三极管对电流进行放大,进而来驱动两位八段数码管。

4、软硬件联调及调试结果

软硬件调试中出现的问题及解决措施

1、在一开始时,只是搞好了最小系统,可出现了有点时候连接到电脑上指示灯亮,有的时候不亮,第一反应就是哪里虚焊了,于是就一点一点对比,一点一点找,可检查了好多遍都没检查出虚焊。去请教会的同学,说可能是电容有问题,建议更换一下电容,于是就去找了一个同样的电容换上,再次连接电脑,试了好多次果真是电容的问题。

2、设计焊接好之后就去调试,却发现数码管显示的太暗了,在黑暗的时候还可以勉强看清,可到了有光亮的地方就分辨不清了,而这些是在仿真图上体现不出来的。上网查了一下,最终总结出是驱动电流太小了,要加一个放大电路。可参考书上的放大电路大多是非门控制,可元器件都是在网上买好了,而且时间也不允许,怎么办呢和同学想了想,突然想起以前学习模拟电子时学习过的PNP三极管也是具有放大电流的作用,而且我们领的元器件里有三极管,有些同学用不到三极管,可以借过来用一下,于是就设计了一个放大电路重新焊接,再次连接下载运行时就可以很清楚的看清显示的结果。

3、在运行时发现我的秒表走的有点慢,五秒过去了只显示到四,那就是程序的问题了,再反过来检查程序,再经过一番计算,修改了一些延时参数,最终可以准确的以秒运行。

实物图

调试结果

5、结束语

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从理论到实践,可以说是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使

用方法,对单片机C语言掌握得不好……通过这次课程设计后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程和硬件设计问题,最后在张兰红老师的辛勤指导下,终于迎刃而解。同时,在张青青、叶相如那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

参考文献

[1] 穆兰,单片微型计算机原理与接口技术[M].北京机械工业出版社

[2] 张毅刚,等.MSC-51单片机应用设计[M].哈尔滨工业大学出版社

[3] 蒋智勇,等.单片微型计算机原理与应用[M].沈阳辽宁科技出版社

[4] 何利民.单片机应用文集(1)[M].北京航空航天大学出版社

[5] 徐惠民、安德宁.单片微型计算机原理接口与应用.北京邮电大学出版社

[6] 向继文,廖立新.基于AT89S51的电子钟系统设计[J].电子工业出版

附录

附录1:基于单片机的秒表设计原理图

附录2:基于单片机的秒表设计PCB图

附录3:proteus仿真图

附录4:基于单片机的秒表设计C语言程序清单

#include<>

#define uchar unsigned char

#define uint unsigned int

sbit kaishi=P1^0;

sbit zanting=P1^1;

sbit dp=P0^0;

sbit w1=P2^6;

sbit w2=P2^7;

uchar temp1,temp2,temp3,aa,miaoshi,miaoge,fenshi,fenge,shishi,shige; uchar code table[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xfd}; void display(uchar fenshi,uchar fenge,uchar miaoshi,uchar miaoge);

void delay(uint z);

void init();

void main()

{

init();

while(1)

{

if(aa==16)

{

aa=0;

temp1++;

if(temp1==59)

{

temp1=0;

temp2++;

}

if(temp2==59)

{

temp2=0;

temp3++;

}

if(zanting==0)

{

while(zanting==0)

{

TR0=0;

display(fenshi,fenge,miaoshi,miaoge);

}

}

if(zanting!=0)

{

TR0=1;

}

miaoshi=temp1/10;

miaoge=temp1%10;

fenshi=temp2/10;

fenge=temp2%10;

}

display(fenshi,fenge,miaoshi,miaoge);

}

}

void delay(uint z)

{

uchar x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void display(uchar fenshi,uchar fenge,uchar miaoshi,uchar miaoge) {

w1=0;

P0=table[miaoshi];

delay(2);

w1=1;

w2=0;

P0=table[miaoge];

delay(2);

w2=1;

}

void init()

{

temp1=00;

temp2=00;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void timer0()interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

aa++;

}

附录5:基于单片机的秒表设计元器件目录表

基于51单片机的4位数码管秒表

原理图: 源程序: /************************************************************* 标题:定时器中断精确到00.01的秒表 效果:能清零重新开始,暂停,继续计时,能精确到0.01秒 作者:皖绩小挺 说明:使用12M晶振,四位数码管,3个按键 ****************************************************************/ #include #define uint unsigned int #define uchar unsigned char uint temp,tt,qian,bai,shi,ge; sbit smg_q=P1^0; sbit smg_b=P1^1; sbit smg_s=P1^2; sbit smg_g=P1^3; sbit key1 = P3^7; sbit key2 = P3^6; sbit key3 = P3^5; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};

uchar code table1[]={0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10}; //带小数点 void keyscan(); void display(uint shi,uint ge); void delay(uint z); void init(); /************************************************************** 主函数 ******************************************************************/ void main() { init();//初始化子程序 while(1) { if(tt==1) { tt=0; temp++; if(temp==10000) { temp=0; } qian=temp/1000; bai=temp%1000/100; shi=temp%100/10; ge=temp%10; } keyscan(); display(shi,ge); } } /********************************************************************* 延时 ***********************************************************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /*********************************************************************

数码管显示转换的电压值数码管显示秒表

数码管显示转换的电压值数码管显示秒表 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

电子科技大学微电子与固体电子学院 实验报告 实验名称现代电子技术综合实验 姓名:詹朋璇 学号:20 评分: 教师签字 电子科技大学教务处制

电子科技大学 实验报告 学生姓名:詹朋璇学号: 20 指导教师:熊万安 实验地点: 211大楼308 实验时间:2014. 晚 一、实验室名称:单片机技术综合实验室 实验项目名称:数码管显示A/D转换的电压值&数码管显示秒表 二、实验学时: 12 三、实验目的与任务: 1、熟悉系统设计与实现原理 2、掌握KEIL C51的基本使用方法 3、熟悉实验板的应用 4、连接电路,编程调试,实现各部分的功能 5、完成系统软件的编写与调试 四、实验器材 1、PC机一台 2、实验板一块

五、实验原理、步骤及内容 试验要求:数码管的第1位显示任务号1,第3位到第5位显示、A/D转换的电压值,可调节电压,第7、8位显示两位学号;数码管第2位和第6位显示“-”号; 按按键key1进行切换,此时数码管第1位显示任务号2,第7、8位显示循环倒计时的秒表,范围为08秒到01秒后,再过01秒,秒表又显示为08秒;(单片机系统中利用定时器/计数器计数秒表的值:利用定时器T0延时1秒进行计数。),其它位显示不变,按按键key2时,秒表停止计数,再按按键key2时,秒表继续计数,按key1键,又回到任务1的显示状态。 当电压值大于2伏时,按按键不起作用。 1、硬件设计(可打印) 2、各部分硬件原理(可打印) 数码管动态扫描 TLS549ADC工作时序图 3、软件设计 按下

用LED数码管显示的秒表设计

单片机课程设计说明书 用LED 数码管显示的秒表设计 专业 电气工程及其自动化 学生姓名 刘宁 班级 B 电气081 学 号 04 指导教师 张兰红 完成日期 2011年 6月 26 日

目录 1、概述 (2) 2、课题方案设计 (2) 系统总体设计要求 (2) 系统模块结构论证 (2) 3、系统硬件设计 (3) 总体设计 (3) 单片机运行的最小系统 (4) 52单片机最小系统电路介绍 (4) 单片机的振荡电路与复位电路 (7) 数码管介绍 (8) 驱动电路 (9) 4、软硬件联调及调试结果 (10) 软硬件调试中出现的问题及解决措施 (10) 实物图 (11) 调试结果 (13) 5、结束语 (13) 参考文献 (14) 附录 (14) 附录1:基于单片机的秒表设计原理图 (14) 附录2:基于单片机的秒表设计PCB图 (15) 附录3:PROTEUS仿真图 (16) 附录4:基于单片机的秒表设计C语言程序清单 (17) 附录5:基于单片机的秒表设计元器件目录表 (19)

1、概述 21世纪是一个电子技术和电子元件有更大发展的世纪。回顾百年来电子技术和电子工业发展的成就,举世瞩目。作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。课程设计就是一个理论联系实际的机会。 本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。 在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。 2、课题方案设计 系统总体设计要求 用AT89C52设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键。接上电源后从00开始计时,至59后再回到00,继续循环。 系统模块结构论证 1.单片机模块选择 方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对要高,而且对此不熟悉。

单片机简易秒表课程设计..

单片机课程设计 题目:简易秒表 系部:机电工程系 专业:机电一体化 班级: 0 9 4 班 姓名:张三 学号:2009044056 指导教师:杨富强

目录 一摘要 (1) 二绪论 (2) 2.1单片机的发展 (2) 2.2 MCS-51系列单片机介绍 (4) 三设计任务及要求 (5) 四工作原理 (5) 4.1 七段数码管概述 (5) 4.2 MCS--51的引脚及相关功能 (7) 五简易秒表电路图 (8) 六流程图 (9) 七源程序 (10) 八系统硬件设计 (11) 九总结 (12) 十课程设计心得 (13) 参考文献 (14)

一摘要 单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得宝贵时间。此外单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强“控制”能力,满足实时控制的需要。 本文的主要内容是掌握各种单片机的结构、接口、片上外设的特点,并利用自行制作的单片机最小系统,完成一个简单应用(简易秒表)的设计与软件及硬件设计制作,让读者掌握数字单片机最小系统的设计及单片机系统的应用方法。

二绪论 当前社会信息化建设在各地蓬勃发展,作为信息发布的终端显示设备,LE D显示屏己经广泛应用于工作和生活的各个方面,主要用于显示文字、图像、动画等。L E D显示屏的应用涉及社会的许多领域,主要包括:金融证券、体育场馆、道路交通、邮政电信、商场购物中心等服务领域的业务宣传及信息显示。L ED 是发光二极管的简称(L ig ht Em it ti ng D io de)。由于它具有亮度高、响应速度快、低电压、功耗小、耐震动、寿命长等优点,使其成为室内外信息显示终端的主要发光器件。LE D显示屏是20世纪90年代出现的新型平板显示器件,由于其亮度高、画面清晰、色彩鲜艳,使它在公众多媒体显示领域一枝独秀,因此市场空间巨大。LE D显示屏的发展可分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。第二阶段是1995年到1999年,出现了64级、256级灰度的双基色视频屏。视频控制技术、图像处理技术、光纤通信技术等的应用将LE D显示屏提升到了一个新的台阶。LE D显示屏控制专用大规模集成电路芯片也在此时由国内企业开发出来并得以应用。第三阶段从1999年开始,红、纯绿、纯蓝LE D大量涌入中国,同时国内企业进行了深入的研发工作,使用红、绿、蓝三原色LE D生产的全彩色显示屏被广泛应用,大量进入体育场馆、会展中心、广场等公共场所,从而将国内的大屏幕带入全彩时代。 2.1单片机的发展 单片机也被称为微控制器(M ic ro co nt r ol le r),是因为它最早被用在工业控制领域。单片机由芯片内仅有CP U的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CP U集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。IN TE L的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机又称单片微控制器,它不是完成某一个逻辑功能的

2位数码管显示00-99的89c51单片机电子秒表设计 的程序和电路图

/*应该是2位数码管显示00-99的89c51单片机电子秒表设计的程序和电路图*/ P0段选,P2.0个位位选,P2.1十位位选。共阳数码管16M晶振。STRT EQU P2.5 STP EQU P2.6 CLRR EQU P2.7 ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV R0,#20 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV DPTR,#TABLE SETB EA SETB ET0 k1: LCALL DISP JB STRT,K2 LCALL DISP JNB STRT,$-3 AJMP START k2: JB STP,K3 LCALL DISP JNB STP,STOP K3: JB CLRR,K1 LCALL DISP JNB CLRR,CLEAR AJMP K3 START: SETB TR0 AJMP K1 STOP: CLR TR0 AJMP K2

CLEAR: CLR TR0 MOV 40H,#0 AJMP K1 T0INT: MOV TH0,#3CH MOV TL0,#0B0H DJNZ R0,RTI MOV R0,#20 MOV A,40H CJNE A,#99,ADD1 MOV 40H,#00H CLR TR0 AJMP RTI ADD1: ADD A,#01H MOV 40H,A RTI: RETI DISP: MOV A,40H MOV B,#10 DIV AB ;//当前值除以10 MOV 20H,A ;//得出的商送给十位MOV 21H,B ;//得出的余数送给个位 CLR P2.0 SETB P2.1 MOV A,20H ;//十位显示 MOVC A,@A+DPTR MOV P0,A LCALL DELAY CLR P2.1 SETB P2.0 MOV A,21H ; //个位显示 MOVC A,@A+DPTR MOV P0,A RET DELAY: ;误差0us

基于单片机的简易计时器设计

南华大学电气工程学院课程设计 摘要:单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部储存资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力强,系统也更加稳定,使它更适合工业控制领域,具有更广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得了宝贵时间。本设计通过STC89C51单片机以及单片机最小系统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,并能通过按键对秒进行设置。 关键词:STC89C51单片机,驱动,四位一体数码管

南华大学电气工程学院课程设计 Abstract:SCM be booming since since the 70 s, MCU functions are increasingly perfect at present: single chip microcomputer integrated more and more resources, internal storage resource increasingly rich, users do not need to expand resources can complete the project development, is not only the development of simple, small beautiful products, at the same time, strong anti-jamming capability, system is more stable, make it more suitable for industrial control field, has a broad market prospect; Provide online programming ability, speeded up the process of product development, product for the enterprise to win the precious time. This design and triode driven by STC89C51 microcontroller and the single chip microcomputer minimum system and peripheral keys and digital tube display components, design a simple timer based on single chip microcomputer. Design through the four digital tube display, a total of anode, and can through the button to set the seconds. Keywords: STC89C51 microcontroller, drive, Four digital tube

秒表-六位数码管有效显示2

秒表-六位数码管有效显示 C51单片机

1.#include 2.#include 3.#define uchar unsigned char 1.void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255 2.void key_scan(); // 按键扫描 3.void key_to(); // 按键处理 4. 5.uchar code dis_code[11] = {0xc0,0xf9,0xa4,0xb0,0x99, //段 码表 6.// 0 1 2 3 4 对应内容 7. 0x92,0x82,0xf8,0x80,0x90,0xbf}; 8.// 5 6 7 8 9 - 9. 10.uchar data dis[8]; // dis[0]为百分之一秒值,dis[1]为十分之 一秒值 11. // dis[2],dis[5]为'-'段码的偏移量 12. // dis[3]为秒个位值,dis[4]为秒十位 值 13. // dis[6]为分个位值,dis[7]为分十位 值 14. 15.uchar data dot = 0; // 百分之一秒计数器(0.00s-0.99s) 16.uchar data sec = 0; // 秒计数器(00s-59s) 17.uchar data min = 0; // 分计数器(00m-99m) 18. 19.uchar data dis_b; // dis_b为位码选通数码管 20.uchar data dis_r; // dis_r为取段码时的偏移量 21. 22.uchar data key_t = 0; // 按键次数,初始为0 23. 24.sbit K = P1^4; // K键与P1.4相连 25. 26.void main() 27.{ 28. P2 = 0xff; // 关所有数码管 29. P1 = 0xff; // p1为准双向口,作输入时先写1 30. dis[2] = 10; // '-'在段码表中偏移量为10 31. dis[5] = 10; // '-'在段码表中偏移量为10 32. dis_b = 0x7f; // 初始选通P2.7口数码管 33. dis_r = 0; // 初始化偏移量为0 34. 35. TMOD = 0x11; // 定时/计数器0,1工作于方式1

单片机实验——秒表--(详细步骤)

简易秒表制作 1子情境内容:制作简易秒表,利用按键构成键盘实现秒表的启动、停止与复位,利用LED数码管显示时间。 2 子情境目标: (1)通过简易秒表的制作,进一步熟悉LED数码管与单片机的接口电路(2)学习定时/计数器、中断技术的综合运用并会使用简易键盘 3 知识点链接 独立式按键的使用:图5-49为按键与单片机的连接图。 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图5-50所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms。 在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。本子情境中采用软件去抖。 图按键与单片机连接图图按键被按下时电压的变化 4 任务步骤 4.1 步骤一:PROTEUS电路设计,简易秒表的原理图如图5-51所示。 1、选取元器件 ①单片机:AT89C51 ②两位共阴极蓝色数码管:7SEG-MPX2-CC-BLUE ③排阻:RESPACK-8 ④按钮:BUTTON 2、放置元器件、放置电源和地、连线、元器件属性设置 简易秒表的原理图如图5-51所示,整个电路设计操作都在ISIS平台中进

行。与子情景3相似,故不详述。 图简易秒表的原理图4.2 步骤二:源程序设计与目标代码文件生成(1)程序流程图

主程序

图5-52 秒表流程图 (2)源程序设计 #include #define uint unsigned int #define uchar unsigned char sbit key1=P3^0; //定义"启动"按钮 sbit key2=P3^1; //定义"停止"按钮 sbit key3=P3^2; //定义"复位"按钮 uchar temp,aa,shi,ge; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; //共阴极数码管编码 void display(uchar shi,uchar ge); //声明显示子函数 void delay(uint z); //声明延时子函数 void init(); //声明初始化函数 void main() { init(); //调用初始化子程序 while(1) { if(key1==0) //检测"启动"按钮是否按下 { delay(10); //延时去抖动 if(key1==0) //再次检测"启动"按钮是否按下 { while(!key1); //松手检测,若按键没有释放,key1始终为 0,那么!key1始终为1,程序就一直停在此 while语句处 TR0=1; //启动定时器开始工作

51单片机秒表计时器课程设计报告(含C语言程序)

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)。

用定时器计数器设计一个简单的秒表

目录 摘要................................................................................................ 错误!未定义书签。 1 Proteus简介错误!未定义书签。 2 主要相关硬件介绍错误!未定义书签。 AT89C52简介错误!未定义书签。 四位数码管错误!未定义书签。 74LS139芯片介绍错误!未定义书签。 3 设计原理错误!未定义书签。 4 电路设计错误!未定义书签。 电路框图设计错误!未定义书签。 电路模块介绍错误!未定义书签。 控制电路错误!未定义书签。 译码电路错误!未定义书签。 数码管显示电路错误!未定义书签。 仿真电路图错误!未定义书签。 5 设计代码错误!未定义书签。 6 仿真图错误!未定义书签。 7 仿真结果分析错误!未定义书签。 8 实物图错误!未定义书签。 9 心得体会错误!未定义书签。 参考文献错误!未定义书签。

摘要 现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小到广泛使用的各种智能IC卡、各种计时和计数器等等。本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器/计数器设计一个简单的秒表。 本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为0~秒,计时精度为秒,能正确地进行计时,并显示计时状态和结果。其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键词:秒表,AT89C51,proteus,C语言

秒表-六位数码管有效显示

?/************************************************************************** ?* 标题: 秒表-六位数码管有效显示(C51) ?* 作者: wentao https://www.360docs.net/doc/1c3441702.html, ? https://www.360docs.net/doc/1c3441702.html, ?* 日期: 2007.3.3 ?* 软件: Keil C51 V8.02 ?* 芯片: AT89X51 ?* 说明: 实验板实测通过,数码管为8位共阳 ?* 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途! ?**************************************************************************/? ?#include ?#include ?#define uchar unsigned char ? ?void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255 ?void key_scan(); // 按键扫描 ?void key_to(); // 按键处理 ? ?uchar code dis_code[11] = {0xc0,0xf9,0xa4,0xb0,0x99, //段码表 ?// 0 1 2 3 4 对应内容 ? 0x92,0x82,0xf8,0x80,0x90,0xbf}; ?// 5 6 7 8 9 - ? ?uchar data dis[8]; // dis[0]为百分之一秒值,dis[1]为十分之一秒值 ?// dis[2],dis[5]为'-'段码的偏移量 ?// dis[3]为秒个位值,dis[4]为秒十位值 ?// dis[6]为分个位值,dis[7]为分十位值 ? ?uchar data dot = 0; // 百分之一秒计数器(0.00s-0.99s) ?uchar data sec = 0; // 秒计数器(00s-59s) ?uchar data min = 0; // 分计数器(00m-99m) ? ?uchar data dis_b; // dis_b为位码选通数码管 ?uchar data dis_r; // dis_r为取段码时的偏移量 ? ?uchar data key_t = 0; // 按键次数,初始为0 ? ?sbit K = P1^4; // K键与P1.4相连 ? ?void main() ? { ?P2 = 0xff; // 关所有数码管 ?P1 = 0xff; // p1为准双向口,作输入时先写1

数码管显示AD转换的电压值数码管显示秒表

电子科技大学微电子与固体电子学院实验报告 实验名称现代电子技术综合实验 姓名:詹朋璇 学号:2011031030024 评分: 教师签字 电子科技大学教务处制

电子科技大学 实验报告 学生姓名:詹朋璇学号:2011031030024 指导教师:熊万安 实验地点:211大楼308 实验时间:2014. 6.30 晚 一、实验室名称:单片机技术综合实验室 二、 实验项目名称:数码管显示A/D转换的电压值&数码管显示秒表 三、实验学时:12 四、实验目的与任务: 1、熟悉系统设计与实现原理 2、掌握KEIL C51的基本使用方法 3、熟悉实验板的应用 4、连接电路,编程调试,实现各部分的功能 5、完成系统软件的编写与调试 五、实验器材 1、PC机一台 2、实验板一块 六、实验原理、步骤及内容 试验要求:数码管的第1位显示任务号1,第3位到第5位显示、

A/D转换的电压值,可调节电压,第7、8位显示两位学号;数码管第2位和第6位显示“-”号; 按按键key1进行切换,此时数码管第1位显示任务号2,第7、8位显示循环倒计时的秒表,范围为08秒到01秒后,再过01秒,秒表又显示为08秒;(单片机系统中利用定时器/计数器计数秒表的值:利用定时器T0延时1秒进行计数。),其它位显示不变,按按键key2时,秒表停止计数,再按按键key2时,秒表继续计数,按key1键,又回到任务1的显示状态。 当电压值大于2伏时,按按键不起作用。 1、硬件设计(可打印) 2、各部分硬件原理(可打印)

数码管动态扫描 TLS549ADC工作时序图3、软件设计

思考题:按键改用外部中断模式,电路如何修改(画示意图)?程序如何修改,写出中断服务程序。 答:将KEY1与KEY2键通过跳线分别接到INT0与INT1接口上。 开启中断: SysInit() { … EA=0; //禁止总中断 EX1=1; //使能/INT1 中断 EX0=1; //使能/INT0 中断 EA=1; }//使能总中断 中断服务程序: void INT0SVC () interrupt 0 { if(cnt<=31) cnt++;} void INT1SVC () interrupt 2 { if(cnt>=17) cnt--;} 七、总结及心得体会 1.利用单片机开发板上丰富的资源可以实现一个有一定功能的

简易秒表LED数码管显示接口技术应用

单片机原理及应用 课程设计 设计题目:简易秒表LED数码管显示接口技术应用姓名:廖承润 学号:110105011118 专业班级:11级光信1班 指导教师:叶念渝 2014年5月

目录 1 内容及要求 (1) 2 设计思路 (1) 3 工作原理 (2) 4 硬件设计 (2) 5 软件设计 (3) 6 调试 (8) 7 修改意见 (9) 8 源程序 (9) 9 收获及体会 (12) 简易秒表LED数码管显示接口技术应用

1,内容及要求 (1)内容 ?如何运用单片机实现计时; ?如何显示时间; ?如何利用按键实施对秒表的控制。 ?定时器T0 或Tl 的定时时间作为时钟计时的基准 ?启动与停止定时器工作实现计时。 ?先用两个数码管动态显示时间,时间范围为0-60s ?用三个独立式按键实现秒表的启动、停止和复位功能。 ?A机发送,B机接收* (2)要求 ?通过简易秒表的制作,熟悉LED 数码管与单片机的接口方式; ?定时/计数器、中断技术的综合应用; ?学会简易键盘的使用。 ?利用按键构成键盘实现秒表的启动、停止与复位, ?利用LED 数码管显示时间。 ?*进行简单的串行通信。 2,设计思路 (1)硬件 ?采用P0 口输出并联控制两个数码管的8 个段选控制端。 ?用P2.0、P2.1分别控制两个LED 数码管的位选控制端。 ?这是典型的动态显示电路接法,LED 采用共阳极数码 ?三个按键采用独立式键盘接法, ?两个按键连接到外部中断INT0 、INT1 的输人引脚P3.2和P3.3, ?S4按键接到T1的外部脉冲输入引脚P3.5,以中断方式实现键盘输入状态 的扫描。 ?其中S2为启动按钮,S3为停止按钮,S4 清零按钮。 ?K1为复位键 (2)软件 ?根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序及 中断服务程序结构。 ?对各程序模块占用的单片机资源进行统一调配。 ?对各模块间的逻辑关系进行细化,优化程序结构; ?设计出各模块程序结构流程图。 ?最后依据流程图编制具体程序。 ?将整个程序划分为主程序、键盘扫描程序、秒计时程序三大模块。

数码管电子秒表程序

数码管电子秒表程序 8位数码管电子秒表,显示精确到0.01秒。使用共阳数码管,51单片机的P0口输出段码,P2口输出位码。晶振11.0592MHz。 控制按钮K1接P1.0口,单片机检测低电平。第一次按下时,启动开始计时;第二次按下时,停止计时、显示当前值;第三次按下时,显示归零,做好重新计时准备。 完整源程序: #include #include unsigned char data dis_digit; unsigned char key_s, key_v; unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off unsigned char dis_buf[8]; // 显示缓冲区 unsigned char sec_bcd[8]; // 秒计数值, BCD码

unsigned char dis_index; // unsigned char key_times; // K1 按下次数 void clr_time(); void update_disbuf(); bit scan_key(); void proc_key(); void delayms(unsigned char ms); sbit K1 = P1^0; void main(void) { P0 = 0xff; P2 = 0xff; TMOD = 0x11; // 定时器0, 1工作模式1, 16位定时方式 TH1 = 0xdc; TL1 = 0; TH0 = 0xFC; TL0 = 0x17; clr_time(); // dis_digit = 0x7f; // 初始显示P20口数码管 dis_index = 0; // key_times = 0; key_v = 0x01; IE = 0x8a; // 使能timer0, timer1中断 TR0 = 1; TR1 = 0; while(1) { if(scan_key()) { delayms(10); if(scan_key()) { key_v = key_s; proc_key(); }

用LED数码管显示的秒表设计

课程设计说明书 用LED数码管显示的秒表设计 专业新能源科学与工程 学生姓名 班级 学号 指导教师 完成日期

用LED数码管显示的秒表设计 摘要:对采用LED数码管显示的秒表进行了设计。所设计的秒表,可通过两位数码管显示00-59。每秒自动加一。 在对系统功能分析的基础上,采用AT89C52单片机。相对而言比较简单,贴近书本,比较熟悉。对所要实现的功能也能很好地满足,焊接也比较简单。设计主要采用硬件和软件两部分。硬件包含数码管按钮模块、单片机控制模块、数码管显示模块、驱动电流放大模块。按钮模块采用独立式按键,控制模块选用AT89C52单片机,显示模块采用两位数码管,放大模块选用NPN三极管。软件采用模块化的程序,分为主程序和定时器计时服务子程序。 在多孔板上制作了LED数码管显示的秒表,使用protus完成了系统仿真,对硬件和软件部分分别进行了调试,进行了软硬件联调,最后调试成功样机实物,完成了毕业设计任务书的要求。 关键词:单片机;数码管;秒表

A stopwatch design with LED digital tube display Abstract: For the LED digital tube display of a stopwatch is used for design. The stopwatch, designed by two digital tube display 00 ~ 59. Automatically add a per second. On the basis of the analysis of system function, using the AT89C52 single chip microcomputer. Relatively simple, close to the book, familiar with. To in order to realize the function also can well satisfy, welding is more simple. The design mainly adopts two parts of hardware and software. Hardware consists of digital tube button module, single-chip microcomputer control module, digital tube display module, the drive current amplifier module. Button module USES the independent type key, choose AT89C52 single chip microcomputer control module, using two digital tube display module, amplifier module selects the NPN transistor. Software adopts the modular program, main program and timer timing service subroutine. On the perforated plate made of LED digital tube display a stopwatch, use protus completed system simulation, the hardware and the software part, has carried on the debugging, the software and hardware alignment, the final debugging success physical prototype, completed the graduation design specification requirements. Key Words:Single chip microcomputer; Digital tube; A stopwatch.

LED数码管秒表制作

应用工程学院 单片机应用技术实训报告 专业:应用电子 学号:1504150137 姓名:许林 日期:2016/12/24

项目二: LED数码管秒表制作 一、任务目的 1.了解并掌握数码管静态和动态显示原理。 2.掌握秒表计时原理与编程思想。 3.了解并掌握单个按键次数的识别。 二、任务要求 a)上电后数码管最右边显示自己学号。 b)按下功能键后,右边6个数码管上显示秒表定时初值,格式为00-00.0。 c)第二次按下功能键后,以一百毫秒为最小计时单位从0开始计时,第三 次按下功能键后暂停计时,第四次按下功能键后时间清0。 三、硬件电路设计

四、软件设计 #include unsigned char sec,mmiao,miao,fen; sbit K=P3^2; unsigned char a=0; void delayms(unsigned int i) { unsigned char k; while(i--) for(k=0;k<120;k++); } void time1() interrupt 1 { TH0=0x3c; TL0=0xb0; sec++; if(sec==2) { mmiao++; sec=0; if(mmiao==10) { miao++; mmiao=0; if(miao==60) { fen++; miao=0; if(fen==60) { fen=0; }}}}} void time2() interrupt 0 {unsigned char n; if(K==0) for(n=0;n<1200;n++); if(K==0) { while(K==0); for(n=0;n<1200;n++); a++; switch(a) { case 1:mmiao=0;miao=0;fen=0;break;

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计

目录 一、设计题目和要求: (2) 二、设计目的: (2) 三、设计内容: (3) 四、课程设计心得体会 (25) 五、参考文献 (26) 六、课程设计指导教师评审标准及成绩评定 (27) 附件1:秒表原理图(实际接线图) (28) 附件2:仿真图1 (30) 附件3:仿真图2 (31)

一、设计题目和要求: 题目三:秒表 应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个“复位”键,按下“复位”键后,秒表从0开始计时。 任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。 二、设计目的: 1.进一步掌握AT89C51单片机的结构和工作原理; 2.掌握单片机的接口技术及外围芯片的工作原理及控制方法; 3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法; 4.掌握PROTEUS仿真软件的使用方法; 5.掌握LED数码管原理及使用方法。 6.掌握定时器、外部中断的设置和编程原理。 7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。

三、设计内容: 了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。 AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能:

相关文档
最新文档