99秒倒计时+按键控制.docx

上传人:b****2 文档编号:1147294 上传时间:2022-10-17 格式:DOCX 页数:16 大小:100.31KB
下载 相关 举报
99秒倒计时+按键控制.docx_第1页
第1页 / 共16页
99秒倒计时+按键控制.docx_第2页
第2页 / 共16页
99秒倒计时+按键控制.docx_第3页
第3页 / 共16页
99秒倒计时+按键控制.docx_第4页
第4页 / 共16页
99秒倒计时+按键控制.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

99秒倒计时+按键控制.docx

《99秒倒计时+按键控制.docx》由会员分享,可在线阅读,更多相关《99秒倒计时+按键控制.docx(16页珍藏版)》请在冰豆网上搜索。

99秒倒计时+按键控制.docx

99秒倒计时+按键控制

99秒倒计时+按键控制

编辑整理:

 

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(99秒倒计时+按键控制)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为99秒倒计时+按键控制的全部内容。

 

江苏建筑职业技术学院

课程设计报告

课程名称:

单片机设计与实训

 

设计题目:

秒计时

系别:

信息电子工程学院

班级:

电子10—1

学号:

1050213127

姓名:

周中楠

指导教师:

刘天飞、刘燎原

 

摘要:

本系统讨论了简单的倒计时器的设计与制作,最大倒计时时间是99秒,最小单位精确到秒.是利用定时器和计数器的原理将倒计时过程显示在LED数码管上。

此系统是基于AT89S52单片机控制,外加数码管显示倒计时时间,并且利用按键来进行倒计时时间的设定。

当倒计时时间倒计时为0时,蜂鸣器就会发出报警声.首先我们先做的是99秒倒计时至0时,在设计的Proteus中进行仿真,数码管显示倒计时,蜂鸣器就会发出声音。

其中包括有数码管延时程序,中断定时程序。

其次我们设置键盘扫描程序,设置键盘的按键有13,14,15键分别为暂停/开始、设置、重新开始。

根据题目要求编写程序,一步步的编写程序。

定义13按键用count1来控制是暂停还是开始;14按键在暂停的情况下按下(即falg_zt=1时)才可以设置时间;15按键按下开始重新开始。

然后分别在采用软件程序进行译码,在Proteus中仿真实现功能要求。

 

关键词:

单片机(AT89S52);LED数码管显示器;keilC;proteus仿真软件;晶体振荡器

 

第2节方案选择

第5节软硬件联调………………………………………….。

…10

第6节总结………………………………………………………

第7节致谢………………………………………………………

参考文献

附录

 

第1节前言

在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间.

单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。

单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统.将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。

所以,生产企业称单片机为“微电脑”。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:

单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。

这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术.微控制技术是一种全新的概念,是对传统控制技术的一次革命.随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,再加上按键的功能来实现。

 

第2节方案选择

方案一:

该方案采用单片机程序设计制作,它是利用芯片AT89C51的特殊功能,P3口控制按键开关,当按下开关S1,两个数码管将显示99,然后通过P2。

0和P2.1对控制数码管的两个三极管进行位选,P1口输出段码经74LS373锁存来驱动数码管进行倒计时,同时能实现复位、暂停、任意调整时间的功能。

其系统框图如图1所示

图1方案一系统框图

方案二:

该方案采用数字电路设计,利用555定时器定时1S脉冲控制异步十进制计数器74LS192的CP脉冲,实现倒计时,并利用数码管显示。

下图2为系统框图

 

图2方案二系统框图

方案选择

第一种方案的电路结构比较简单,时间精度比较高,而且在软件编程方面相对简单,第二种时间精确度不高并且电路复杂,综合比较,故选择第一种方案。

第3节硬件电路

LED数码管倒计时器以AT89S52单片机为核心,起着控制作用。

系统包括8位数码管显示电路,按键电路,复位电路,时钟电路以及蜂鸣器电路。

倒计时的总体框图如下图1所示:

 

图1倒计时的总体框图

1.复位电路

单片机在开机时都需要复位,以便CPU及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。

单片机复位电路工作原理:

当通电瞬间稳压电源给电容充电。

RESET为复位输入端,当RESET引脚持续两个机器周期以上的高电平时,使单片机完成复位操作,随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束.复位操作的主要功能是把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序。

本设计主要采用上电自动复位电路,其电路图如图4所示

图2复位电路原理图

2.时钟电路

时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作.因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。

常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式.选择的方案中采用的是内部振荡方式。

采用内部方式时在XTAL1和XTAL2引脚上接石英晶体和微调电容可以构成振荡器,如图5所示.图中C1、C2起稳定振荡频率、快速起振的作用.内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。

振荡频率的选择范围为1MHz~12MHz。

图3 时钟电路原理图

3。

按键电路

本系统的按键电路的作用是能够调整倒计时的初始值,倒计时是从99s开始,用16个按键,在程序中用13对应暂停/开始键,14对应设置键,15对应重新开始键.。

按键电路如下图4所示。

图4 按键电路原理图

4.蜂鸣器电路。

蜂鸣器电路是由一个有源蜂鸣器、一个电阻和一个三极管组成。

此电路的作用是倒计时时间到零时,蜂鸣器发出报警声.在本系统中,是利用单片机的P2^7口来控制,P2^7为低电平时,三极管导通,蜂鸣器报警。

电路如下图5所示。

5.数码管显示电路

显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。

在这里我们使用的是8段数码管显示,通常在显示上我们采用的方法一般包括两种:

一种是静态显示,另一种是动态显示.其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。

在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法。

本系统选着了两个2位一体的共阳数码管和一个一位的共阳数码管.数码管有段选和位选控制,在此电路中有9个位选,8个段选(每一个数码管的段选进行并联)。

分别用单片机的P3口和P2^0进行9个位的控制。

而用单片机的P0口来控制段。

电路如下图6所示。

图6 数码管显示电路原理图

6。

单片机定时器的使用

本系统所用到的AT89S52有3个16位的定时器,而本系统只用到了定时器0,所使用的工作方式都是定时器工作方式1,方式1时16位计数结构的工作方式,计数器由TH0或TH1的全部8位和TL0或TL1的全部8位构成。

使用工作方式1功能时,定时时间计算公式是:

(65536—计数初值)*机器周期机器周期=晶振周期*12

本系统所用到的定时器0的定时时间是1ms;而电路所用的晶振是12MHZ,算得一个机器周期为1us。

第4节系统的软件设计

一、程序流程图

 

图7秒计时器主程序流程图

 

二.单元程序设计

1、扫描键盘的值

voidsm(void)

{unsignedchark,j,n,a,m;

m=0xfe;

P1=0xf0;

k=P1;

k=k&0xf0;

if(k!

=0xf0)

{delay(5);

if(k!

=0xf0)

{for(j=0;j<4;j++)

{P1=m;n=P1;

for(a=0;a<16;a++)

{if(jp[a]==n)

c=a;while(P1==jp[a]);}

m=_crol_(m,1);

}}}}

2、按键

voidaj(void)

{if(P1!

=0xf0)

{if(c==12)//按下暂停/开始键

{count++;

if(count==1)

{TR0=0;

zt=1;}

if(count==2)

{TR0=1;

zt=0;

count=0;}}

if(c==13)

{if(zt==1)

{second=00;

sz=1;count2=0;}}

if(c〈10)

{if(sz==1)

{count2++;

if(count2==1)

{a[0]=c;

second=a[0]*10+a[1];}

if(count2==2)

{a[1]=c;

second=a[0]*10+a[1];}

}}

if(c==14)

{second=99;}}

P1=0xf0;}

三、源程序

系统总源程序见附录二

第5节软硬件联调

首先,用烧录器把在KeilC软件下生成的HEX文件烧录到单片机AT89C51芯片中。

烧录的步骤如下:

选项/串口设置、芯片/选择芯片型号是AT89C51、文件/装载/选择HEX文件、擦除、查空、编程、校验。

其次,根据原理图焊接电路。

焊接完后检查电路是否正确、是否有虚焊,确定无误后接到5伏的稳压电源,倒计时开始.

 

第6节总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从理论到实践,在一个多星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1