单片机电子打铃系统的设计Word下载.docx
- 文档编号:22284333
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:529.16KB
单片机电子打铃系统的设计Word下载.docx
《单片机电子打铃系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《单片机电子打铃系统的设计Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
另一方面为提高经济效率,缩短研制周期,最好选用最熟悉的机种和器件。
采用性能优良的单片机开发工具也很能加快系统的研制过程。
2.3器件选择
应用系统除单片机以外,系统通常还有传感器、模拟电路、输入输出设备。
这些部件的选择应符合系统的精度、速度和可靠性等方面的要求。
2.4软、硬件功能的划分
系统的软件与硬件的设计是紧密联系在一起的,在某场合硬件和软件具有一定的互换性。
为了降低成本、简化硬件结构,某些功能可由软件来完成。
若为了提高工作速度、精度、减少软件的工作量、提高可靠性,也可以采用硬件来完成。
总之,硬件、软件两者是相辅相成的,可根据实际应用情况来合理选择。
3模块电路设计与比较
3.1时钟方案选择
方案一:
因为题目中只要求显示小时和分钟,因此可以用门电路组合构成时钟发生器,但此方案硬件复杂,稳定性低,且不易控制。
方案二:
采用时钟芯片。
该芯片可以进行时分秒的计数,可编程接口,还具有报警功能和掉电保存功能,并且可以对其方便的进行程序控制,完全能满足题目的要求。
3.2显示模块的选择
采用数码管显示。
数码管亮度高、体积小、重量轻,但其显示信息简单、有限,在本题目中应用很大。
采用液晶显示。
液晶显示功耗低,轻便防震。
由于本题显示信息比较简单,采用液晶显示界面不清晰,操作不方便。
3.3其他设计的考虑
闹铃响采用带音乐芯片的扬声器,为实现题目中接触止闹功能,我们可以采用触发开关控制闹铃的启动。
通过单片机的中断定时控制闹铃停止。
4系统模块设计及电路图
4.1键盘接口电路设计
我们采用
2
×
8
的键盘,原理图如图所示。
4.2电源电路设计
4.3显示模块
4.4数码管驱动模块
5测试方法及结果
5.1测试方法
采用先分别调试各单元模块,调通后再进行整机调试的方法,以提高调试效率。
(
1)
时钟测试
在带有单片机的电路板上编程调试,使其在液晶上显示出时分秒,并可以通过键盘控制设定时间和闹铃开关的时间。
利用仿真机调试成功后通过编程器将程序写入芯片中调试,调试结果显示,该模块可以显示时分秒,可以正常工作。
2)
闹钟测试
通过键盘控制设定闹钟开关和闹钟响的时间,并通过单片机程序驱动音乐电路发声。
经过调试,闹钟功能正常,满足题目的基本要求。
5.2测试结果
5.2.1基本要求
上电复位后,由显示信息可知达到数字显示时间、闹钟开、关状态、闹钟灯熄灭的显示要求,
可进行时间设定,在新的时间点上运行,实现时间设置功能;
可进行闹钟时间设定,在新的时间点到达时,发出声报警,实现闹钟设置功能;
时间到达闹钟设置值时,系统发出声报警,实现闹钟控制。
5.2.2自行发挥部分
多闹钟设置
系统可以设置多个闹钟时间,目前以1个为例设计了系统,可实现多点启闹及
显示日历、星期
6电子打铃的研制过程
电子打铃的研制过程实际上是一个应用系统的研制过程。
所谓应用系统,就是利用单片机为某应用目的而设计的单片机专用系统(在调试过程中通常称为目标系统)。
电子打铃和一般的计算机应用系统一样,也是由硬件和软件组成。
硬件指单片机、扩展的存储器、输入输出设备、控制设备、执行部件等组成的系统。
软件是各种各种应用程序的总称。
硬件和软件只有紧密结合,协调一致,才能组成高性能的应用系统。
在系统的研制过程中,软硬件的功能总是在不断地调整,以便相互适应,相互配合,以达到最佳的性价比。
电子音时钟的研制过程主要包括总体设计、硬件设计、软件设计、在线仿真调试、程序固化等几个阶段。
6.1硬件设计
硬件设计的主要任务是根据总体设计要求,以及在所选的机型上的基础上,确定系统扩展所用到的外围电路等,然后设计出系统电路原理图。
对于电路芯片的选择原则应根据系统对它的速度、精度、价格的要求而确定。
除此之外,还应考虑和系统中的传感器、放大器相匹配问题。
1.地址译码电路的设计:
MCS-51系统有充足的存储空间,包括64KB程序存储器和64KB的数据存储器,在应用系统中一般不需要这么大的容量。
为了简化硬件线路,同时还要使用到的存储器空间地址连续,通常采用译码器、线选法相结合的办法。
2.线驱动器的设计:
MCS-51系统单片机扩展功能比较强,但扩展总线负载能力有限。
若所扩展的电路负载超过总线负载能力时,系统便不能可靠地工作。
此情况下必须在部线上加驱动器。
3.其它电路的设计:
由于单片机具有很多的特点,它被大量地应用于工业测控系统中,而在这些系统中,经常要对一些现场物理量进行测量或者将其采集下来进行信号处理之后,再反过来去控制被测对象或相关设备。
在这种情况下,应用系统的硬件设计就应该包括与此有关的外围电路。
例如,键盘、显示器、开关、输入输出设备、采样、放大、应用系统各部分的驱动能力等外围电路,要进行全盘合理的设计。
4.可靠性设计:
课题设计的可靠性是一项最重要最基本的技术指标,这是硬件设计时必须考虑的一个指标。
可靠性是指在规定的条件规定的时间内完成规定功能的能力。
规定的条件包括环境条件(如温度、湿度、振动等)、供电条件等。
规定的时间一般指平均故障时间,平均无故障时间、连续正常运行时间等。
规定的功能随单片机的应用系统不同而不同。
单片机应用系统在实际工件中,可能会受到各种外部和内部的干扰,使系统工作产生错误或故障,为了降低错误和故障的产生机率,常采用以下可提高可靠性的措施:
(1)提高元件的可靠性;
(2)提高印刷电路板和组装的质量,设计电路板时布线及接地方法要符合要求;
(3)对供电电源采用扩干扰措施;
(4)输入输出通道扩干扰措施。
6.1工艺设计,包括机箱、面板、配线、接插件等,这也是一个初次进行系统设计人员容易疏忽但又十分重要的问题。
在设计时要充分考虑到安装、调试、维修的方便。
6.2软件设计
在电子打铃的研制中,软件设计是工作量最大而也是最重要的一环,其设计的一般方法和步骤如下。
6.2.1系统定义
系统定义是指在软件设计前,首先要进一步明确设计软件所要完成的任务,然后结合硬件结构,而确定软件承担的任务细节。
其软件定义内容有:
(1)确定各输入/输出的功能,信号的类别,电平范围,与系统接口方式,占用口地址,读取的输入方式等。
(2)定义分配存储器空间,包括系统主程序,常数表格,功能子程序块的划分,入口地址等。
(3)若有断电保护措施,应定义数据暂存区标志单元等。
(4)面板开关,按键等控制输入量的定义与软件编制密切有关,系统运行过程的显示,运算结果的显示,正常运行和出错显示等也是由软件完成的。
所以事先要给予以定义。
6.2.2设计细节
(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。
根据它们之间的联系和时间上的关系,设计出合理的软件总体结构,使其清晰、简捷、流程合理。
(2)培养结构化程序设计风格,各功能程序实行模块化、子程序化。
既便于调试、链接,又便于移植、修改。
(3)建立正确的数学模型。
即根据功能要求,描述出各个输入和输出变量之间的数学关系,它是关系到系统性能好坏的重要因素。
(4)为提高软件设计的总体效率,以简明、直观的方法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。
这不仅是程序设计的一个重要组成部分,而且是决定成败的关键部分。
从某种意义上讲,多花一份时间来设计程序流程图,就可以节约几倍源程序编辑调试时间。
(5)注意在程序的有关位置处写上功能注释,提高程序的可读性。
(6)加强软件抗干扰设计,它是提高计算机应用系统可靠性的有力措施。
6.3软件结构设计
合理的软件结构是设计出一个性能优良的单片机应用于系统软件的基础,必须充分重视。
依据系统的定义,把整个工作分解为若干相对独立的操作,再考虑各操作之间的相互联系及时间关系而设计出一个合理的软件结构。
对于简单的课题设计,可采用顺序结构设计方法,其系统软件由主程序和若干个中断服务程序构成。
明确主次序和中断服务程序完成的操作及指定各中断的优先级。
对于复杂的课题设计,可采用实时多任务操作系统,此操作系统应具备任务调度,实时控制,实时时钟,输入输出和中断控制,系统调用,多个任务并行运行等功能。
以提高系统的实时性和并行性。
在程序设计方法上,模块程序设计是单片机应用中常用的程序设计方法。
这种模块化程序便于设计和调试,容易完成可供多个程序共享的优点,但各个模块之间的连接有一定的难度。
根据需要也可以采用自上而下的程序设计方法,此方法先从主程序开始设计,然后再编制个从属的程序和子程序。
这种方法比较符合人伞兵日常思维。
缺点是上一级的程序错误会对整个程序产生影响。
软件结构设计和程序设计方法确定后,根据系统功能定义,可先画出程序粗框图,再对粗框图进行扩充和具体化,即对存储器,寄存器,标志位等工作单元作具体的分配和说明。
再绘制出详细的流程图(细框图)。
程序流程图设计出以后,便可着手编写程序,单片机应用程序一般采用汇编语言较好,编写完成后可以手工或通过主处理器连机用开发系统上的交叉汇编程序汇编成目标码程序,再经过调试正常运行后,固化到EPROM中去,完成了整个应用系统的设计。
6.4程序设计的基本方法
当给定一个题目,进行程序设计时,一般应按以下几个步骤进行:
分析题目,确定算法,程序结构的设计,编写源程序,汇编和调试。
6.4.1分析题目
分析题目就是明确题目的任务,弄清所给顶的原始数据和应得到的结果,以及运算精度和速度的要求等。
分析题目是整个程序设计的重点。
若任务比较简单,其原始数据和目的要求等比较清楚,就容易确定设计方法。
而对于比较复杂的课题,必须作全面深入的分析,才能为以后的工作打下基础。
6.4.2确定方法
确定方法就是选择解决问题的方法。
例如,对于单纯的数值计算问题,汇编语言指令本身只能进行加、减、乘、除….等基本运算,但是实际问题可能是计算某个函数之后才解方程。
在这种情况下,确定算法就是设法用基本运算方法来解决其它的复杂问题。
往往算法不是唯一的。
不同的方法在占用存储单元数,计算精度,编程工作量等方面是有差别的,这就需要进行比较和选择。
6.4.3程序结构的设计
程序结构的设计是算法转化为程序的准备阶段。
如果算法比较简单,这一不可以省掉,直接按算法编写程序。
如果比较复杂,同需要进行程序结构的设计。
程序结构的设计一般采用流程图法。
流程图是有规定的图形符号配合文字说明来表示算法或处理总是的步骤。
客观存在具有直观.易懂的特点,是程序结构设计的有力工具。
6.4.4流程图的绘制
有一个由粗到细的过程,需要反复修改,求得完善。
程序的基本结构是有顺序结构,分支结构和子程序结构等四类。
当程序较大时,应根据功能将整个程序分类若干模块。
6.4.5编写源程序
程序结构设计完成之后,下一步是编写程序。
在编程之前要规划好寄存器和存储器的使用。
对于程序区,表格,数据缓冲区,档志单元等作好系统安排。
编程根据程序流程图来进行,所编写的源程序要力求简单明了,层次清晰,运行时间短,占用存储空间小。
6.4.6汇编和调试
对于编好的程序,要进行汇编和调试。
汇编是将源程序变为可执行的目的程序。
在汇编过程中,可能发现源程序的某些错误,需作修改。
汇编完成后还要通过调试来检查所
编程序是否正常运行。
调试方法一般是输入给定的数据,使程序运行,检查程序运行结果是否正确。
调试工作可以先部分(或模块)而后总体。
在调试过程中一般总会发生不正常情况,而要反复修改程序,直到获得正确的结果为止。
7电子打铃的调试
电子打铃设计完成后,依据硬件的设计试制和组装样机及软件设计完成后,便进入系统的调试阶段。
调试电子打铃的一般方法如下。
7.1硬件调试方法
电子打铃的硬件和软件调试是分不开的,许多硬件故障是在软件设计时才发现的。
但通常是应先排除系统中明显的硬件故障后才和软件结合起来调试。
7.1.1常见的硬件故障
(1)常见的错误:
样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误所造成的。
这类错误包括错线.开路.短路.相位错等。
(2)器件失效:
有两方面的原因,一是器件本身已损坏或性能不符合要求;
二是由于组装错误造成元器件失效,如电解电容.二极管的极性错误,集成块安装方向错误等。
(3)可靠性差:
引起可靠性差的原因很多,如金属化孔与接插件接触不良会造成系统时好时坏,经不起振动;
内部和外部的干扰.电源纹波系数大.器件负载过大等造成逻辑电平不稳定;
走线和布局不合理等也会引起系统可靠差。
(4)电源故障:
若样机存在电源故障,系统加电后将造成器件损坏。
电源故障包括:
电压值不符合设计要求电源引线和插座不对.功率不足.负载能力差等。
7.1.2调试方法
(1)脱机调试:
在样机加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查站样机线路的正确性,并核对元器件的型号.规格和安装是否符合要求。
应特别注意电源的下走线,防止电源之间的适中和极性错误,并重点检查扩展系统总线是否存在相互间的适中或与其他信号线的短路。
对于样机所用电源事先必须单独调试,调试好后,检查其电压值.负载能力.极性等均符合要求,才能加到系统的各个部件上。
在不插片子的情况下,加电检查各插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机插座上各点电位是否正常,若有高压,联机时将会损坏开发机。
(2)联机调试:
通过脱机调试可排除一些明显的硬件故障。
有些故障还是要通过联机调试才能发现和排除。
联机前先断电,将单片机开发系统的仿真头插到样机的单片机插座上,检查一下开发机与样机之间的电源.接地是否良好。
一切正常,即可打开电源。
通电后执行开发机的读写指令,对用户样机的存储器I/O端口进行读写操作逻辑检查,若有故障,可用示波器观察有关波形(如选中的译码器输出波形.主导写控制信号.地址数据波形以及有关控制电平)。
通过对波形的观察分析,寻找故障原因,并进一步排除故障。
可能的故障有:
线路连接上有逻辑错误.有短路和断路现象.集成电路失效等。
在用户系统的样机(主机部分)调试好后,可以插上用户系统的其他外围部件如.键盘.显示器输出驱动板、A/D、D/A板等。
再对这些板进行初步的调试。
在调试过程中若发现用户系统工作不稳定,可能有下列情况:
电源系统供电电流不足,联机时公共地线接触不良;
拥护系统主板负载过大;
用户的各级电源滤波不完善等。
对这些问题一定要认真查处原因,加以排除。
7.2软件调试方法
软件调试与所选用的软件结构和程序设计技术有关。
如果采用模块程序设计技术,则逐个模块分别调试。
调试各子程序暗无天日定要符合现场环境,即入口条件和出口条件。
调试的手段可采用单步运行或段点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检查程序执行结果是否符合设计要求。
通过检测可以发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计故障。
在调试过程中不断调整用户系统的软件和硬件,逐步通过一个一个程序模块。
各模块通过以后,可以把有关的功能模块联合起来一起进行综合调试。
在这个阶段若发生故障,可以考虑各子程序在运行时是破坏现场,缓冲单元是否发生冲突,标志位的建立和清除上设计上有没有失误,堆栈区有没有溢出。
输入设备的状态是否正常等等。
若用户系统是在开发机的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。
经单步和断点运行调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时的精度、CPU的实时响应等问题。
待全部调试完成后应反复运行多次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时再作适当的修正。
如果采用实时多任务操作系统,一般是逐个任务进行调试,调试方法与上相似只是实时多任务操作系统的应用程序是由若干个任务程序组成,一般是逐个进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。
调试完后,再使各任务同时运行,如果操作系统无错误,一般情况下系统就能正常运行。
软件和硬件联调完成后,反复运行正常则可将用户系统固化到EPROM中,插入用户样机后,用户系统即能脱机工作,至此系统研制完成。
结论
本系统以AT89C51为核心部件,利用软件编程,通过键盘控制和液晶显示实现了时钟功能、闹钟功能,并完成了对环境温度和市电信号频率及有效值的测量显示,能实现题目的基本要求和发挥部分。
尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。
由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等。
此次毕业设计中,我们组做的是一个可在线调整的单片机电子打铃,从毕业设计任务下达到设计任务的完成,整个过程经历了确定设计目标、拟订设计项目、执行设计任务、完成设计任务四个步骤。
在这四个步骤中,执行设计任务是最艰辛的,但同时也是我们组团队精神得到最大发挥的时候,是我们组最具有成就感的阶段。
在执行设计任务的过程中,零件的选购、实物的焊接以及到后来论文的完成都不是最难的,最难的是硬件的调试,因为理论与实践总是存在着差距,想出来的东西没有经过实践的检验是不可靠的,任何一个小小的疏忽大意都能导致失败。
比如说,因为P0口与其它口的区别,要在AT89C51单片机的P0口上驱动LED的显示必须加上上拉电阻(资料书上只简单地用一句话来描述),但是我们在拟订设计项目的过程中忽略了这一点,以至在调试的过程中没有达到原定的计划,即无法驱动LED发光。
在查阅了大量的资料书并对实物进行详细的检查分析后,我们组终于发现问题地所在并及时地解决了问题,之后再一次对硬件进行调试,这次终于成功了。
这只是一个例子,在设计的过程中遇到的问题远远不止这一个。
从这一方面来说,我认识到要做成一件事是很难的,期中必定有很多的阻碍,但是我们一定要慢慢来,一点一点地找出问题,再一点一点地解决它,这样的话,到达成功的彼岸也就仅仅是时间的问题了。
我想,通过这次设计,特别是通过对硬件的制作而不单单是对原理的论述,我学到的不仅仅是电子方面的知识,更重要的是,我学到了作为一名电子设计者所必需的心理素质,那就是——决心加上耐心!
当然,在制作的过程中我也强烈地感受到团队的力量,没有团队地共同努力是不可能完成设计任务地。
除此之外,没有老师的关心与帮助也是很难达到设计要求的,在此再次向三位指导老师:
鲁杰爽、鲁杰爽及彭俊珍老师表示感谢!
经过本次毕业课题设计,在为不经意中我已掌握了不少关于单片机的实用知识。
我深感自豪、充实、略有些成就感。
同时也使我的能力进一步提高。
为我毕业后能更好的适应社会工作打下一定的基础。
为此,我忠心的感谢各级领导及指导老师的大力支持。
经过两个星期的单片机电子打铃的课题的设计,我从中学到了很多东西。
如:
如何设计硬件电路,如何编写、调试软件程序等。
这使我受益非浅,感受很深。
这不仅使我重温了单片机的基本结构及工作原理,接口技术,而且进一步熟悉了如何使用单片机汇编语言编写程序和调用程序的方法与技巧。
能够熟练地对小键盘进行操作,对单片机常用的几种芯片也有了更深一步的了解,而且学会了如何利用计算机进行程序汇编和写入程序存储进行调试,使我对整个制作流程有了深刻的了解和体会。
特别是认识到使用单片机进行软件、硬件的开发过程中应注意设计要求、经过及解决一些客观存在问题的重要性及其意义。
在电子打铃课题的设计制作过程使我们对单片机的设计、开发产生了更加深厚的兴趣,但是也遇到了很多问题和挫折,然而经过自己不断的探索和请教学习后,还是将它们一一解决,并得到了很多很深刻的教训和许多宝贵经验,找出自身整个设计过程中所存在的问题,并认识到自己在以后应该怎样去克服它们。
在整个设计过程中我的动手能力与解决问题的能力也进一步提高。
虽本次设计中我走了不少的弯路,吃了不少的苦头。
但是,我从中得到了更多。
使我对单片机的开发产生了浓厚的兴趣,对我的将来充满斗志和信心。
我相信,将来的社会,只要能想到的就能做。
因为科技无边,智慧无限。
我相信我们的能力。
由于我们设计的电子打铃课题的重点在于软件程序的设计,利用PROTEL99电路图设计应用软件进行设计硬件电路图的原理图与PCB电路板图,利用计算机进行编写程序,编译程序和编程器将程序写入到AT89C2051存储器里。
在单片机上进行调试。
在软件设计时,由于相对应单片机的中断系统指令系统内部和外部存储器不是很了解,所以出现了许多不必要的麻烦。
就拿编程来说,由于没有处理好子程序的返回和时钟中断程序时间就导致时钟运行到指定的时间后不打转而是继续走时,由于没有把握好计数、显示等一些细节地方,而导致时钟计数不准确、不能正常显示时间等一系列相当严重的问题。
在经过反复检查、分析、调试之后,从中发现了中断时的数值设置不太适合,不能使用两个时钟标准等一系列问题,经过自己的反复修
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 打铃 系统 设计