版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘要 31 引言 41.1 问题提出 4 1.2 任务与分析 42 方案设计 52.1系统方案设计论证5系统的控制方案设计5 系统显示方案设计42.1.3 最终方案设计 42.2 最终设计方案总体设计框图 63 系统硬件设计 73.1 AT89C52单片机 7 AT89C52单片机介绍 7 选用AT89C52单片机原因93.2 时钟电路 93.3 复位电路 104系统软件设计 114.1主程序框图114.2 蜂鸣器子程序框图114.3显示子程序框图 124.3传感器信号输出子程序框图 135 系统调试过程 155.1原理图和印制板图绘制和检查 15 在Protel99se绘制原理图并进行
2、相应的ERC检查15 在Protel99se生成PCB图155.2 Keil程序调试 175.3 Proteus仿真调试 17结论19致谢 20参考文献 21附录一 程序源代码 22附录二 电路原理图和PCB图28附录三 Proteus仿真截图29摘 要我们知道,汽车发动机机油压力与发动机工作好坏密切相关。如何利用已学知识模拟机油压力检测是开始本设计的初衷。本文通过以AT89C52单片机为中心,通过DS18B20模拟产生一个信号,送入单片机进行处理,再从单片机P0口将电平信号送入数码管7SEG-MPX2-CC-BLUE实现动态显示。并在超过安全阈值时由单片机控制蜂鸣器报警。此说明书给出了系统的
3、设计原理图,并在Proteus软件中进行仿真实现设计功能。关键词:AT89C52单片机 数码管 蜂鸣器1 引 言1.1 问题的提出随着进入电气时代,电子测控装置被广泛应用于各种电器机械产品上,本次的任务就是设计一个电子压力检测系统来检测机油压力。1.2任务与分析本次课程设计的主要任务是设计一个硬件电路,用AT89C52单片机处理从DS18B20传感器送来的信号,并输出到数码管7SEG-MPX2-CC-BLUE,进行动态显示,并在超过安全阈值时用蜂鸣器报警。设计的核心是以AT89C52单片机作为硬件电路的核心,通过其定时器来实现定时1秒。先应在protell99se中绘制出原理图并作相应的ERC
4、检查,检查无错误后,在相应地方用文本标出注释;其次根据设计思路确定出相应的程序设计方案,并选择最佳的方案,并在Keil软件里面进行程序的编写和调试;最后在程序调试无误后在Proteus中搭建虚拟的单片机仿真平台,并和Keil实现联调,并在Proteus中实现仿真结果。 2方案设计2.1 系统方案设计论证系统的控制方案设计方案1:以单片机AT89C52为核心,通过DS18B20产生数字信号,送入单片机进行处理,电路较为简单。方案2:以单片机AT89C52为核心,通过电源发生器产生模拟信号,经过放大、滤波、A/D转换电路,送入单片机处理,电路相对于方案1较为复杂,连线时容易出错。系统显示方案设计方
5、案1:采用静态显示,静态显示是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动。静态显示的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5840根I/O口来驱动,要知道一个89C52单片机可用的I/O口总共才32个。故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性。方案2:采用动态显示,动态驱动是将所有数码管的8个显示笔划A,B,C,D,E,F,G,DP 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形
6、,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。2.1.3 最终设计方案从给方面考虑后,确定方案:以单片机AT89C52为核心,通过DS18B20产生
7、数字信号,送入单片机进行处理,再通过单片机P0口送入数码管7SEG-MPX4-CC-BLUE段码口,通过单片机P2.0和P2.1控制数码管高低位(十位和个位)的显示,进行动态显示。并在超过安全阈值时通过单片机P1.0口控制蜂鸣器报警。此方案电路简单易实现,采用动态显示更能节省大量的I/O口,而且功耗更低,故选此方案。2.2最终设计方案总体设计框图时钟电路XTAL2 P0.00.7 P2.02.1AT89C52单片机P1.07SEG-MPX4-CC-BLUE数码管ADP12蜂鸣器报警图2.1 系统总体设计框图当时钟电路的晶振产生外部振荡脉冲信号送入AT89C52单片机的XTAL2口时,单片机开始
8、以时钟频率为基准,有条不紊地一拍一拍地工作。单片机AT89C52执行编写在其内部的程序,处理从DS18B20送来的信号,并送到P0口输出到数码管显示,并通过其P2.0和P2.1控制对数码管高低位显示的控制。同时在超过安全阈值时通过单片机P1.0口控制蜂鸣器报警。3 系统硬件设计3.1 AT89C52单片机AT89C52单片机介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央
9、处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。图3.1 AT89C52单片机引脚振荡器及定时电路89C52CPU4K字节可编程闪烁ROM256字节*8RAM2个16位定时器/计数器64K总线扩展控制32可编程I/O可编程串行口89C52系列单片机都是以8051为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3.2所示:图3.2 AT89C52单片机内部框图AT89C52单片机的引脚功能:VCC:供电电压。 GND:接地。 P0口:方式驱动8个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数
10、据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑 门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(
11、P1.1/T2EX),P2口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口
12、管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C52的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编
13、程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无
14、效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输
15、出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 选用AT89C52单片机原因在该课程设计里设计只要满足开环设计就可以了,在设计里面使用的引脚较少,占用的资源也比较少。而且该芯片是以8051为核心,性能价格比高,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用AT89C52单片机作为主控芯片。3.2 时钟电路本设计采用内部时钟方式的电路,其电路如图3.3所示。AT89C52单片机内部有一个用于构成振荡器的高增益
16、反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的电容C1和C2典型值通常选择为30pF左右。晶体的振荡频率的范围通常是在1.2MHZ12MHZ之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。图3.3 时钟电路图3.3复位电路复位电路通常采用上电自动复位和按钮复位两种方式。本次设计采用按键复位电路。按键复位电路是在按键瞬间接地来实现的,其电路如图3.4所示。按下复位按钮后,电源对按键RESET端维持两个机器周期的高电平实现复位的。 图3.4 复位电路图4 系
17、统软件设计4.1主程序框图程序框图采用的是Microsoft Visio绘制:图4.1 主程序流程图说明:该流程图中,首先对蜂鸣器初始化,关闭蜂鸣器。然后用一个循环while(1)不断地读入压力值,显示压力值,并与安全压力值比较,超出安全压力值控制蜂鸣器报警。4.2蜂鸣器子程序框图图4.2 蜂鸣器子程序流程图说明:该流程图中通过一个for循环让蜂鸣器工作。当蜂鸣器工作后,通过延时,实现喇叭一段时间的响,同时取反电平,并延时,让喇叭不响一段时间。这样重复,可实现间隙的报警声。4.3显示子程序框图图4.3 显示子程序流程图说明:该流程图中首先对P2.0和P2.1口清零,再分别通过选通P2.0和P2
18、.1口控制数码管的高位(十位)和低位(个位),并调用延时子程序进行动态显示。4.4传感器信号输出子程序框图图4.4 传感器信号输出子程序框图说明:该流程图中,首先对传感器DS18B20初始化,然后通过输入一个增大或减小的控制信号,使其中的初值发生变化,同时读出这个改变后的值,再通过vout端输出到单片机。5 系统调试过程 通过上面的设计,设计已经基本完成。下面主要实现Protell99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真。5.1原理图和印制板图绘制和检查 在Protel99se绘制原理图并进行相应的ERC检查打开Pro
19、tel99se,绘制系统的原理图。原理图包括能输出时钟电路,驱动电路以及复位电路。绘制完成的原理图如图5.1:图5.1 原理图的绘制绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。ERC检测结果如图5.2:图5.2 ERC电气规则检查5.1.2 在Protell99se生成PCB图在创建完原理图后,对各元器件的引脚进行封装,在原理图中创建网络表(NET),然后再Protel中新建PCB图并加载网络表。加载网络表截图如图5.3所示:图5.3 加载网络表对于生成的PCB图中各器件进行调整,并布线,最终生成
20、PCB图。结果如图5.4所示:图5.4 生成PCB图5.2 Keil程序调试程序调试结果如图5.5所示:Creating hex file from “机油压力控制”表明 .hex文件创建成功。“机油压力控制”- 0 Error(s),5 Warning(s)表明文件编译结果没有错误。图5.5 程序调试结果5.3 Proteus仿真调试在Proteus中建立仿真图。按下开始仿真按钮,开始进行仿真实验,结果如图5.6,图5.7所示:图5.6 Proteus仿真图(正常运行)图5.7 Proteus仿真图(报警状态)仿真电路图中实现对压力检测的控制,输出到数码管实现动态显示。当输入信号大于32时,
21、数码管就会闪烁,同时蜂鸣器就会报警。仿真虽然能运行,但在实际电路中,还需要加入其它的一些电路才能保证单片机能正常工作,实现其功能。 结 论通过DS18B20产生一个数字信号输入到AT89C52单片机中进行处理,再通过单片机P0口送入数码管7SEG-MPX4-CC-BLUE进行动态显示。并在超过安全阈值时通过单片机P1.0口控制蜂鸣器报警。在设计里面刚开始为了要求程序的完善性和适用性,采用了汇编语言进行编译,其相比于C程序编译其结果导致程序较大,往往在进行编译的时候不会报错和警告,但是在虚拟的Proteus仿真中往往会出现超出ECU负荷的错误报告。所以后来改用C语言编程。也得知在进行单片机软件仿
22、真时,应尽量使程序精简。本次设计由于时间较为仓促,对于单片机定时器的控制,而在实际的应用中往往需要对其进行扩展应用,对于这些知识,我还只是只了解其表面,这需要下来再去深究。在本次课程设计里面,我把电路和单片机必备的一些基本操作技能再次熟悉了一遍,虽然对于课程设计没有太大必要,也占用了一些时间,但是我个人觉得这么做是值得的,也为我即将进入工厂开始实际工作有了基本理论保障。对于机油压力检测,我只进行了最简单的程序编写和仿真,而往往在实际中是作为一个系统中的很小子环节来进行应用的,所以还需要我进一步学习更多的单片机及相关测试传感器知识。致 谢 在本课程设计资料搜集期间,他人的研究资料对我提供了莫大的
23、帮助,这里表示感谢。值此即将完成课程之际,我要衷心地感谢xx老师。在课程设计过程中,得到了她的精心指导和热情帮助,她的一些建议和意见给我很深的启发。我还要感谢在编写程序以及应用软件仿真过程中给我提供帮助的xx同学。在他们的帮助下,我顺利地完成了本次课程设计,感觉到了团队合作的力量所在,在此由衷感谢。参考文献1谭浩强.C程序设计(第三版)M.北京.清华大学出版社.2005(2007重印)2 张毅刚,彭喜元等. MCS-51单片机应用设计(第3版)M.哈尔滨.哈尔滨工业大学出版社.2001.3徐琤颖.Protel99SE EDA技术及应用.M4古辉,刘均等.微型计算机接口及控制技术.M附录一 程序
24、源代码#includesmg.h#include#includedelay.hunsigned char code smg_du=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/设置共阴极显示段码void display(uchar yali)/显示子程序D=1; smg3=0;smg2=0;smg1=0;P0=smg_duyali/10;D=0;delay_50us(50);D=1;smg2=0;smg1=1;smg3=0;P0=smg_duyali%10;delay_50us(
25、20);D=0; #includebeep.h#includeds18b20.hvoid beepon(void)/打开蜂鸣器报警子程序int i;for(i=0;i0;t-)for(j=19;j0;j-);void delay_50ms(uint t)uint j;for(;t0;t-)for(j=6245;j0;j-);#includeds18b20.hunsigned char vout; void delay(uint t)/信号输入程序 while(t-);/t-一次大约9us /*-ds18b20初始化- */ void init_ds18b20(void) uchar n;vout=1; /DQ复位delay(8); /稍作延时vout=0; /单片机将总线拉低delay(80);/延时要求大于480us小于960us ,发出一个复位脉冲 vout=1;/拉高,释放总线,构成上升沿,delay(20);/等待15US后,ds18b20发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年欧亚学院单招综合素质考试题库及参考答案详解【轻巧夺冠】
- 2025年长沙电力职业学院高职单招职业适应性测试考试题库含完整答案详解(典优)
- 2027届望谟县数学六上期末学业质量监测试题含解析
- 2027届周口市项城市三年级数学第一学期期末学业质量监测试题含解析
- 湖北省松滋市老城镇八一小学2027届六年级数学第一学期期末监测模拟试题含解析
- 2027年山东鲁坤职业学院单招职业技能考试模拟试卷(含答案详解)
- 2027年小五台山职业学院单招职业技能考试题库附参考答案详解【模拟题】
- 2024年浐灞临港产业学院高职单招职业技能考试模拟试卷(综合题)附答案详解
- 2026年河南省安阳市单招综合素质考试模拟试卷及答案详解(网校专用)
- 2027年山东齐鲁专修学院高职单招职业技能考试模拟试卷及答案详解【夺冠系列】
- 行政审批廉政风险点制度
- (25新)七年级下册数学计算题每日一练(含答案)
- 防汛领导小组工作制度
- 一级建造师经济考试重点复习资料
- 大同大学新工科建设方案
- GB/T 47230-2026智能服务预测性维护数据定义与接口
- 供应链管理师三级实操考试题库含答案
- 国歌介绍教学课件
- 工程部长面试题集及答案解析
- 老年骨科患者跌倒风险评估与预防
- 精神科社交技能沟通训练
评论
0/150
提交评论