《西华大学单片机课程设计讲解》由会员分享,可在线阅读,更多相关《西华大学单片机课程设计讲解(29页珍藏版)》请在金锄头文库上搜索。
1、 微机原理及应用课程设计说明书交通与汽车工程学院课程设计说明书课 程 名 称: 微机原理与应用课程设计 课 程 代 码: 题 目 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 月 日完 成 时 间: 2012 年 月 课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要 21 引言 31.1问题的提出 3 1.2任务与分析32 方案设计 42.1系统设计方案论证42.2 系统总体设计框图43 系统硬件设计53.1 89C51单片机 53.2
2、 ADC0809模数转换芯片 83.3时钟电路103.4 显示电路 104 系统软件设计 114.1 proteus软件环境介绍 114.2 protel软件环境介绍 124.3系统软件分析134.4 程序流程图154.5 限速滤波子程序框图 175 系统调试过程185.1原理图的绘制和检查185.2 Keil程序调试 205.3 Proteus仿真调试 20结论 22致谢 23参考文献 24附录A原理图 25附录B PCB图 26附录C 程序代码 27摘 要 随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来
3、看很重要,但最主要的还是科技问题。 本课程设计是基于89C51单片机为控制核心的专用车液压油箱液面高度测量设计。系统采用了浮筒式电阻型传感器,通过测量液面高度占总高度的百分数实现液面高度的测量。通过ADC0808模数转化元器件完成由模拟信号转化为数字信号,并把数字信号输入AT89C51单片机。为了让液面高度显示更加直观,本系统采用了共阴极的LED数码管构成显示模块,此模块用于实时的显示液面高度信息。本设计说明书对该系统的硬件电路,工作原理进行了详细的介绍。同时给出了软件设计的流程图和主要源代码。关键词: 89C51单片机 电阻传感器 液面高度 LED显示器- 28 -单片机课程设计(题目)1.
4、 十字交叉路口的红、绿、黄三灯的交通灯系统2. 智能货车制动降温系统3. 智能路灯设计4. 基于电容传感器燃油存量检测系统5. 汽车油箱液面高度测量6. 温度湿度调节系统包括原理图,PCB,PROTUES仿真1 引 言 1.1 问题的提出 液压油引就是利用液体压力能的液压系统使用的液压介质,在液压系统中起着能量传递、系统润滑、防腐、防锈、冷却等作用。对于液压油来说,首先应满足液压装置在工作温度下与启动温度下对液体粘度的要求,由于油的粘度变化直接与液压动作、传递效率和传递精度有关,还要求油的粘温性能和剪切安定性应满足不同用途所提出的各种需求 。 目前人们对汽车的油量使用情况的了解要求越来越高。本
5、课程设计正是基于让人们对专用车液压油油量情况了解更加直观清楚为设计方向,以单片机为控制核心,设计制作一个专用车液压油箱液面高度测量计。1.2任务与分析 本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过控制外部AD0808芯片来检测滑动变阻器模拟液面高度变化。当液面过低时能够给出报警提示。首先在Protel软件环境中进行硬件电路图的设计,再运用keil软件编程,然后在Proteus软件环境中运行仿真。该系统具有简单清晰的操作界面,可随时进行液面高度观察。同时,该系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统
6、具有一定的可扩展性。本设计的系统主要由:AT89C51为中央处理芯片,用于数据处理,初值设定。传感器模块进行液面高度测量,将传感器采集到的数据经AD转换送入单片机,再由单片机处理后由LED显示。本设计方案主要有四大模块:1、LED显示模块2、时钟电路3、ADC0808数模转换模块4、AT89C51单片机控制模块2方案设计2.1 系统方案设计论证方案1:74系列逻辑器件方案采用双积分电路与液晶显示器加逻辑电路和定时采样电路以及数据处理实现,被测信号由信号输入端加到测量系统,进行预处理后送到后级电路。方案2:单片机系统方案,此方案采用输入处理电路加上ADC0808以及AT89C51和数字显示实现,
7、被测信号经过滑动变阻器由ADC0808模拟输入端输入,单片机采集转换数据,将转换数据送出显示。进行方案比较,方案2设计简单,做出的模拟液面高度精度高,误差小,成本也不高。故最终选择方案2.2.2 设计方案总体设计框图如需以上资料请QQ联系840290582ADC0808信号输入时钟电路报警电路LED显示电路P0XTAL P1.4-1.6P1.8 P2AT89C51复位电路图2-1 总体设计方案3系统硬件电路设计3.1 89C51单片机 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Mem
8、ory)的低电压,高性能CMOS 8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3-1 89C51单片机引脚图 89C51单片机与早期Intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用Flash ROM 替代了ROM/EPROM而已。89C51单片机内部结构如图所示。图3-2 89C51单片机内部结构示意图各引
9、脚的功能如下:VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高3。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
10、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”后,它
11、们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA:当/EA保持低电平时,则在此期间CPU只访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,则执行内部程序存储器中的程序。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器