基于STC89C52系列单片机的倒计时器制作研究.docx

上传人:b****8 文档编号:11456151 上传时间:2023-03-01 格式:DOCX 页数:22 大小:852.13KB
下载 相关 举报
基于STC89C52系列单片机的倒计时器制作研究.docx_第1页
第1页 / 共22页
基于STC89C52系列单片机的倒计时器制作研究.docx_第2页
第2页 / 共22页
基于STC89C52系列单片机的倒计时器制作研究.docx_第3页
第3页 / 共22页
基于STC89C52系列单片机的倒计时器制作研究.docx_第4页
第4页 / 共22页
基于STC89C52系列单片机的倒计时器制作研究.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于STC89C52系列单片机的倒计时器制作研究.docx

《基于STC89C52系列单片机的倒计时器制作研究.docx》由会员分享,可在线阅读,更多相关《基于STC89C52系列单片机的倒计时器制作研究.docx(22页珍藏版)》请在冰豆网上搜索。

基于STC89C52系列单片机的倒计时器制作研究.docx

基于STC89C52系列单片机的倒计时器制作研究

1前言

本次课程设计的题目是基于STC89C52系列单片机的倒计时器制作研究,在实际制作时采用STC单片机89C52RC作为核心处理芯片,通过独立式键盘输入,借助两路4位7段显示数码管显示。

整个系统主要包括单片机最小系统模块电路、按键模块电路、显示模块电路、报警模块电路、电源模块电路以及程序下载模块等。

主显示界面为简单日历,通过按下相应的按键,转入倒计时界面。

当计时到之后,蜂鸣器会自动报警进行提示。

单片机在家用电器、生产以及比赛等各项领域中,只要是有智能控制的地方就会出现单片机控制器,不论是简单的还是复杂,或是陆海空三栖,单片机都会不断地发挥出它出色的控制能力。

虽然单片机现在应用已经很普遍了,但是还有很多项目可以开发和制作,帮助我们实现更美好的生活。

因此,单片机的应用还有很多的拓展空间。

单片机系列很多,英特尔公司、摩托罗拉公司、飞利浦公司和ATMEL公司都生产单片机,ATMEL公司生产的单片机在产品制作和教学中应用非常广泛。

这种以单片机取代数字、模拟电路控制大大地提高了系统的抗干扰性能,称之为微控制技术。

随着单片机技术的推广与普及,微控制技术得到不断发展和日趋完善。

在答辩、比赛、演讲等活动中倒计时器是必不可少的产品,制作一个多功能倒计时器,使用单片机作为其主控芯片是一个不错的选择!

 

2总体方案设计

2.1方案比较

方案一:

基于STC89C52单片机和可编程并行接口芯片8255A的数码管显示模块显示的倒计时器。

主要是以单片机来控制8255A,再利用8255A作为中间站接受按键信号和控制LED数码管显示输出。

用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。

此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

其方案方块图如下所示:

图2.1.1方案一设计框图

方案二:

主要利用STC89C52单片机和数据锁存器74HC573来实现,不再利用可编程并行接口芯片8255A作为中间站,而是单片机直接接受按键输入信号,根据按键输入信号将控制信号输给74HC573锁存器,由锁存器控制LED数码管的显示。

同时单片机对计时时间到后给予报警输出。

其方案方块图如下所示:

图2.1.2方案二设计框图

2.2方案论证

方案一的核心是单片机STC89C52和可编程并行接口芯片8255A,此法主要是考虑到设计中有两路LED显示电路,可能导致单片机的控制引脚不足,所以利用8255A芯片扩展,电路复杂,使用芯片多,浪费资源,制作困难,也不利于系统的扩展,而且8255A芯片不熟悉,控制复杂,编程困难。

方案二无论是从性价比还是功能上来看,都有很大的优势,其电路简单,器件成本较低,调试方便,适合小系统的开发。

设计显示电路模块时,考虑过利用液晶显示器显示,虽然液晶显示器显示界面直观亲切,软件控制也比LED数码管简单,但成本较高,远远超过LED数码管,并且LED数码管也可实现设计要求,所以选择LED数码管显示。

LED数码管显示时有两种方案,分别是静态扫描法和动态扫描法。

考虑到设计两路LED数码管显示,若采用静态扫描发则会存在单片机控制引脚不足的问题,并且对此类编程不熟悉所以决定用动态扫描法。

对两路LED数码管驱动时考虑过不用74HC573锁存器,而是直接用三极管驱动,但是考虑到LED数码管显示时采用了动态扫描,单片机对数码管控制时是对其管脚一个接一个依次循环控制,驱动不足的可能性非常小,所以决定不用三极管驱动,用74HC573锁存器保证输入LED信号的稳定性。

2.3方案选择

比较方案一和方案二可知,由于对LED数码管显示时采用动态扫描方式,不存在单片机控制引脚不足的问题,并且方案二电路简单,原理成熟,性价比较高。

所以对此次作品的方案选定方案二。

具体的有:

采用STC89C52单片机作为主控制系统,对单片机采用上电复位方案,时钟电路采用外接11.0592MHZ的石英晶体振荡器的外部时钟方式,为编程方便及能够随时监测“设置键”的状态不采用键盘矩阵形式采用独立式键盘作为输入部分。

用两路四位LED数码管作输出显示部分,单片机将控制信号输出给74HC573锁存器,锁存器再来控制LED数码管显示,采用动态扫描法,根据编程功能的设定LED数码管可以显示正计时时间、倒计时显示,两路可同时工作也可让某一路单独工作。

报警电路采用蜂鸣器报警,直接由单片机控制。

 

3单元模块设计

以下为单元模块设计介绍,包括各电路模块功能介绍、特殊器件介绍、各单元模块的联接。

单元模块功能的介绍包括单片机最小系统模块电路、按键模块电路、显示模块电路、报警模块电路、电源模块电路以及程序下载模块等。

3.1单片机最小系统模块电路

图3.1.1单片机最小系统模块电路

单片机选用Atmel公司的单片机芯片STC89C52RC,它完全可以满足本设计中采集控制和数据处理的需要。

它小巧灵活、成本低、可靠性好、适应温度范围宽,易于扩展等优点,在工业自动化、智能仪器仪表、家用电器等方面得到了广泛应用。

3.1.1复位电路

图中带REST按健是复位电路,这种手动复位电路是按键电平复位电路,除此之外,还有按键脉冲复位电路。

当程序跑飞时,可以手动复位,这样在不用重起单片机电源的情况下,也可以实现单片机的重新启动。

3.1.2时钟电路

图中带X1的是时钟电路,单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊的一拍一拍的工作。

因此,时钟频率直接影响单片机的速度和稳定性。

常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

本设计采用的是内部时钟方式。

3.2按键模块电路

图3.2.1按键模块电路

键盘是一组按键的集合,是最常用的单片机输入设备,键盘可分为独立连接式和矩阵式。

独立连接式键盘是最简单的键盘电路,每个独立的接入一根数据线。

平时所有数据输入线都被连接成高电平,当任何一个按键按下时,与之相连的数据输入线将被拉成低电平。

要判断是否有按键按下,只要用位处理指令即可。

这种键盘的优点是结构简单,使用方便,但随着键数的增多所占用的I/O口线也增加。

矩阵式键盘,也就是通常所说的行列式键盘,由行线和列线组成,按键位于行、列的交叉点上,行线通过上拉电阻接到高电平。

无按键动作是,行线处于高电平状态,有按键按下是,交点的行线和列线接通,行线的电平状态将由与此行线相连的列线电平决定。

列线电平为低,则行线电平为低,列线电平为高,则行线电平也为高。

3.3显示模块电路

图3.3.1显示模块电路

显示模块由两组4位七段显示数码管和两组74HC573锁存器共同构成。

七段数码管由七个发光二极管(a、b、c、d、e、f、g)组成,每个发光二极管对应数码管中的一段,不同发光二极管发光的组合形成0到9十个数字。

如所有发光二极管都发光组成“8”,b、c两个二极管发光形成’1”等。

74HC573的八个锁存器是透明的D型锁存器,当使能为高电平时,输出将随输入数据的改变而改变。

当使能为低电平时,输出将锁存在已建立的数据电平上。

输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或者低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。

特别适用于缓冲器存器,I/O通道,双向总线驱动器和工作寄存器。

74HC573还具有三态总线驱动输出、置数全并行存取、缓冲控制输入、使能输入有改善抗扰度的滞后作用等特点。

3.4报警模块电路

图3.4.1报警模块电路

如上图为报警模块电路,它主要由三极管、蜂鸣器、发光二极管以及电源等组成。

在实际运行时,当设定的计时到之后,单片机STC89C52RC便发出一个高电平信号到FN,从而使三极管导通,蜂鸣器便发出报警提示,同时发光二极管亮。

这更能起到报警提示的作用。

3.5电源模块电路

如下图为此次设计的电源模块,电源对于任何电子产品都是至关重要的。

本设计采用USB单独供电,此种方法供电简单且稳定。

还有一种方法是使用集成芯片的DC/DC方案,比如MAX1674DC/DC转换芯片,但此种方案效率高,电路简单元件少,保护完善等有点,但它的成本较高。

综合考虑,采用了USB供电方式。

 

图3.5.1电源模块

3.6程序下载模块

图3.6.1程序下载模块

如上图为单片机的程序下载模块,它主要是由九针串口和MAX232共同组成。

MAX232是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。

由于电脑串口rs232电平是-10v和+10v,而一般的单片机应用系统的信号电压是ttl电平0和+5v,MAX232就是用来进行电平转换的,该器件包2个驱动器、2个接收器和一个电压发生器电路。

该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平,每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。

MAX232具有以下特点:

1、单5V电源工作;2、LinBiCMOSTM工艺技术;3、两个驱动器及两个接收器;4、±30V输入电平;5、低电源电流:

典型值是8mA;6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28;7、ESD保护大于MIL-STD-883(方法3015)标准的2000V。

3.7各单元模块的联接

通过查阅书籍和网上的书籍,我们熟悉了各个器件的资料。

将各部分的接口逐一联接就形成了我们的整体图。

将上述几个模块整体联接起来,形成整体接线图。

整体图如下图所示:

图3.7.1系统原理图框图

4软件设计

软件设计是这次课程设计中最为技术性的工程,我们采用C语言编程,以下是整个系统软件设计的介绍。

4.1软件设计原理及设计所用工具介绍

该课程设计的软件部分是利用C语言所编写而成的,其利用的工具是单片机程序编制中最为常用的Keil软件,该软件中不但可以对计算机的C程序进行编辑与编译,还可以对单片机的汇编语言程序进行编辑与编译,而且还可以对程序进行调试并且可以得到各段程序执行所需要的时间,这些在中断的精确定时中都有着很好的应用。

该设计中的软件部分的主要原理是利用单片机不断给端口赋值,并由锁在器将其数据保持,送于数码管动态显示。

对各路显示的选择及其工作方式的选择则是通过按键来控制,键盘的工件原理是对所连接的单片机的端口进行赋一个初始值,再判断各端口的值是否改变,若改变了,则根据现行的各个值来判断是哪个键按下了,从而对各种情况下的不同显示的控制。

对于计时时的中间两位小数点的闪烁,是定义了一个全局变量,在中断函数中对此变量赋值,当到达0.5秒时将其赋为0,当到达1秒时将其赋为80H,在显示函数中时将该变量与赋给数码管各段的数据进行“按位或”操作(因为中间两位数码管的小数点连接的是所赋值的最高位),如此便可以实现中间两下小点以1Hz的频率闪烁。

在设置时间时对哪一位的数字的闪烁则是定义的两个变量,其一是每当设置时间时的移位键按下时,该变量也循环左移或右移一位,第二个是每当调用一次设置时间的显示函数时该变量自动加一,当加到一人数时使之清零。

在设置时间的显示函数中,当第二个变量加到大于中间数字时,用第一个变量与控制各数码管的位选的信号进行“按位或”操作,使本来该显示的那位不显示,不大于中间数字时则各位数码管都要显示,这样即可使被设置的那一位数码管跳动起来。

为了让数码管的显示效果更加明显,其中对各类的键的扫描都设置有一个函数,在各种不同的模式下只调用与之相关的函数,从而缩短了程序运行一圈的时间。

对蜂鸣器的报警则是利用另一个中断定时器,当时间到达时打开该定时器及其定时器的中断,每次进入该中断函数时对控制蜂鸣器的管脚取反,当到达一定的时间时对发光二极管的控制脚的取反(因为若发光二极管的频率太大了就感觉不出在闪烁了),当报警到一定时间后便关闭该定时器及其中断。

该程序中最为重要的部分是对一秒的定时,是利用单片机自带的定时器功能,本设计中使用的单片机的晶振频率11.0592MHz。

使用的是定时器零的工作方式1。

因为工作方式1,最大的计数是65536个机器周期。

晶振是11.0592M时,最长溢出时间是71.1111微秒,远远不够1秒,所以我把定时器溢出时间定成50毫秒。

可以计算定时初值,即是:

TH0=0x4C,TL0=0x00。

溢出时间为50毫秒,相当1秒的20分之一。

在程序中声时一个全局变量,计20次中断,就是1秒,从而对秒的控制变量加一或减一。

根据单片机中断的工作原理可知,由于产生中断后并不能立即响应该中断,故在每次进入中断程序时并不对HL0进行赋值,而是只对TH0进行赋值,这样不论是否立即响应中断TL0都会从0到255自动加一,延迟中断响应的时间段时定时器同样在计时(延迟的时间小于255个机器周期)。

这样便可以做到非常精确的定时。

4.2软件其功能及工作流程

该程序的主要功能是对时间进行减计时或是进行加计时,其预计的时间可以通过按键来设定,选择是加计时还是减计时也可以通过按键来实现,是选择每一路定时器的开关同样是由按键来实现的。

在设置的过程中是无法计时的,只有按下了“开始键”后才进入定时模式下。

若是加定时模式下则当时间从零秒加一秒计时,且数码管中间的两个小数点会以1Hz的频率闪烁,计到设定的时间时,会触发蜂鸣器发出一定频率的报警声,且报警信号灯也会以一定的频率闪烁。

此后该路的显示会停留在所期望的时间的显示,若是工作在减计时模式下,则从所设定的值以秒为单位减计时,且数码管中间的两个小数点会以1Hz的频率闪烁,当计时到零秒时,同样会使蜂鸣器和发光二极管报警,且该路计时器的显示停留在零秒的显示状态。

其工作的流程为:

单片机上电时对程序中将会实用的变量进行初始化,再判断“设置键”是否按下,若没有按下则以默认的初始值开始倒计时,若第一次按下了“设置键”则显示进入时间设定的界面,在该界面下可以对预定的时间进行设置(通过左右移位信加减进行设置)。

若再一次按下“设置键”则显示进入定时器的模式设置状态,在该状态下可以对各路的定时器设置成加计时或是减计时。

若再一次按下“设置键”则进入到对各路计时器开关的控制界面,该界面下可以分别对各路计时器的开关进行设定。

若再一次按下“设置键”则又重复到对定时时间的设置状态下,如此循环下去。

且在以上任何模式下都可以按“开始键”来启动定时器。

4.3画出主要软件设计流程框图

图4.3.1系统设计流程框图

5系统调试

5.1调试内容与方法

完成了硬件的设计、制作和软件编程后,要使系统能够按设计意图正常运作,必须进行系统调试。

系统调试包括软件调试和硬件调试。

不过,作为一个小计算机系统,其运行是软硬件相结合的,因此,软硬件的调试也是不可能绝对分开的,硬件的调试常常需要利用调试软件,软件的调试也可能需要对硬件的测试和控制来进行。

本次设计中,对于单片机程序的编写,我们首先想到的是C语言,因为C语言具有良好的模块化,容易阅读和维护等优点。

由于模块化,用C语言编写的程序有有很好的可移植性,而本设计基于模块程序的部分比较多。

当然汇编语言也可以实现该功能,只是由于比较繁琐,可读性和维护性也不强,对代码的可重利用性也比较低。

在询问老师得知一些思路,并且和小组成员经过一系列讨论后,我们决定放弃汇编语言编写该程序。

在整个编写软件发过程中,遇到很多的错误,在模块程序已经单独调好的基础上,各个部分的连接也是一个很大的问题。

通过不断的改进,最终还是在ISIS仿真软件环境下在仿真电路中运行程序调试成功。

5.2系统硬件及软件调试

(1)硬件调试。

硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故障。

<1>断电调试。

用万用表逐步按照电路中所有器件的各引脚,尤其是电源的连接是否正确:

检查各个端口是否有短路等故障,顺序是否正确;检查各开关按键是否能正常开关,是否连接正常;各限流电阻是否短路等内容。

为了保护芯片,应先对各IC电位进行检查,确定其无误后再插入芯片检查。

<2>通电调试。

接通USB接口对整个系统供电,按6角按键S1观察发光二极管是否亮,亮代表USB电源线路焊接正确,不亮则说明焊接有问题。

下载程序至单片机,打开电源,观察按键功能是否与设计预想一致,观察蜂鸣器是否能正常工作,检查数码显示是否乱码。

(2)软件调试。

软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。

程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来进行联调。

联调需要注意的是,各程序模块间能否正常传递参数,特别要注意各子程序的现场保护与恢复。

5.3调试问题与解决方法

虽然本次设计在软件仿真时很成功,但在制作硬件时仍不可避免地出现了许多问题,主要有以下几个方面:

问题一:

LED数码管显示时有明显的闪烁,非常刺眼睛。

解决方法:

存在此现象显然是因为程序中显示延时值太大,修改延时值,使其变小,结果LED数码管再次显示时不在有明显的闪烁,问题解决。

问题二:

LED数码管显示时只能清楚地显示数字“4”到“9”,在显示数字“0”“1”“2”“3”时只能显示部分,某些段应该亮但实际不亮。

解决方法:

刚开始遇到此问题也感到不可思议,因为某些段在显示数字“0”“1”“2”“3”时应该亮但实际不亮,而在显示数字“4”到“9”又能正确的亮或灭,让人感到无从下手。

刚开始怀疑焊板子时LED数码管的这些段对应的引脚是虚焊,P0口不能控制这些段,但很快就推翻了该猜测。

因为数码管能清楚地显示数字“4”到“9”,显然这些段焊接没有问题,能够接受P0口得控制。

后来又怀疑LED数码管本身的问题,它只能正确显示数字“4”到“9”,不能清楚显示“0”到“3”,但经过研究7段LED数码管的显示原理后,又否认此猜测。

也正是研究7段LED数码管的显示原理,我们发现在显示数字“0”到“3”时g段和f段是处于相反的工作状态(即一段亮则另一端灭),而显示数字“4”到“9”时g段和f段是出于相同的工作状态(即两段同时亮或同时灭)。

因此怀疑g段和f段短路,使得在只某段亮时被另一段“拖累”,不能正常工作。

于是认真检查线路,果然发现在P0口得接线处发现控制g段和f段的端口短路。

问题得到解决。

问题三:

对比定时时发现刚计时起始的“第一秒”远小于实际的一秒。

解决方法:

显然此问题是因为软件设计的问题,研究程序发现刚开始计时时的中断次数没有清零,所以程序刚运行时该值是一个随机数,不一定等于0,所以有此现象。

清零中断次数,重新运行结果正确。

问题得到解决。

 

6系统功能、指标参数

6.1系统功能

该程序的主要功能是对时间进行减计时或是进行加计时,其预计的时间可以通过按键来设定,选择是加计时还是减计时也可以通过按键来实现,是选择每一路定时器的开关同样是由按键来实现的。

在设置的过程中是无法计时的,只有按下了“开始键”后才进入定时模式下。

若是加定时模式下则当时间从零秒加一秒计时,且数码管中间的两个小数点会以1Hz的频率闪烁,计到设定的时间时,会触发蜂鸣器发出一定频率的报警声,且报警信号灯也会以一定的频率闪烁。

此后该路的显示会停留在所期望的时间的显示,若是工作在减计时模式下,则从所设定的值以秒为单位减计时,且数码管中间的两个小数点会以1Hz的频率闪烁,当计时到零秒时,同样会使蜂鸣器和发光二极管报警,且该路计时器的显示停留在零秒的显示状态。

6.2倒计时器使用说明

A键:

用于设置第一路定时器工作模式。

B键:

用于设置时间时的加一。

C键:

用于设置第二路定时器工作模式。

D键:

用于设置时间的左移一位。

E键:

用于在任何模式下启动定时器。

F键:

用于设置时间时的右一位。

G键:

用于设置第一路定时器的开关状态。

H键:

用于设置时间时的减一。

I键:

用于设置第二路定时器的开关状态。

J键:

用于选择各种工作模式、设定时间及选择开关状态。

6.3系统指标参数测试

硬件制作完成后用手机秒表进行计时对比,采集数据如下表所示:

 

测试编号

倒计时器时间

实际时间

1

24′00″

24′00″

2

48′00″

48′00″

3

59′00″

59′01″

表6.3.1数据采集

6.4系统指标参数分析

按照设计程序的分析,LED数码管的动态扫描的频率是1000HZ,在实际使用时完全没有闪烁。

在程序中,定时器50ms中断一次,变量sec1、sec2自增,中断20次时,秒的显示自减和资加,用定时器T0来定时。

电路中的十个按键可以分别用来设定倒计时器的工作模式(正计时、倒计时),设定计时时间(加一、减一),设定哪路工作哪路不工作等等。

当数码管的显示全0时,蜂鸣器报警,发光二极管亮。

系统由USB电源来驱动,经过多次测试与分析,此系统稳定可用。

由表6.3.1所测数据可见此电路的倒计时效果良好,软件计时时采用了精确定时的措施,其结果令人满意。

时间偏差在误差允许范围之内,在短时间的倒计时可以很好的发挥效果,因此此电路作品在实际应用中还是可行的,但精度方面还有待提高。

 

7结论

基于单片机制作的倒计时器在生活之中发挥着重要的作用,在答辩、比赛、演讲等活动中倒计时器是必不可少的产品。

本次设计的开发意义在于它节省成本,而且能够实现更多的功能。

通过编写程序既可做倒记分牌,可作为正计时器又可进行倒计时,还可以通过程序和硬件扩展实现更多功能,而且各个功能间相互切换也更方便。

本产品有很大的经济价值和使用空间,更方便地为使用者服务。

本设计主要完成倒计时功能,倒计时时间可由按键输入和切换,倒计时时间由单片机定时器中断产生,当时间达到预定时间时还会发光提示和蜂鸣器报警声响。

当然本次设计存在的不足之处是在定时的精度上还有所欠缺,对时间的控制还有待提高。

本次设计是进入大学以来的第一次硬件设计,所以在本次设计中难免会出现一些错误与不足。

不足的方面主要有线路布局不够合理,经济。

线路焊接不够美观,系统采用USB供电,实用性不强。

报警采用蜂鸣器声音报警提示和发光二极管发光提示,声音不丰富,提示现象不够明显。

每路LED数码管显示为4位,定时时间不够长,等等。

改进意见有:

电源改成用电池供电或加一个电源整流模块直接用220交流电供电。

LED数码管显示增至6位或8位,增加计时时间。

蜂鸣器声音报警提示改成语音芯片方式,增强提示效果。

增加测温模块,使其应用更广泛。

 

 

8总结与体会

回顾此次课程设计,我们感慨颇多,的确,从定下课题到设计完成,从理论到实践,在将近一个月的时间里,可以说是苦多甜少,每天都忙于查找资料,构思方案。

不过却学到很多东西,在巩固以前所学过的知识的同时,更是学到了很多在书本上所没有学到过的知识。

比如提高了我们查阅资料、使用AltiumDesigner软件及网络资源的能力,在设计的过程中难免也会遇到各种各样的问题,但我们在克服困难和解决问题的过程中却获得了很多乐趣,总之,这次设计让我们获益不浅!

本次设计的题目是基于STC89C52系列单片机的倒计时器制作与研究,并且第一次用实物来验证所提出的理论。

通过做课程设计,知道了单片机的工作过程,对单片机计时进行了更深入的分析。

本系统是由多个部分组成的,所以根据题目要求去设计每一个模块电路。

在设计模块电路的时候,会有多种方案,这时就需要先将这些方案进行比较,选出最适合方案。

在本次设计中包括单片机最小系统模块电路、按键模块电路、显示模块电路、报警模块电路、电源模块电路以及程序下载模块等。

所以每个模块的制作是本次设计的重点,同时也是难点。

此次程序的编写以C语言为主,充分利用芯片资源,提高了测量精度和代码执行效率,减小了代码容量。

同时我们也深深体会到了C语言比汇编语言的先进性,汇编语言繁琐,而C语言则较好的避免了这一点。

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

当前位置:首页 > 农林牧渔 > 林学

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

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