




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除课程设计报告(嵌入式系统课程设计)题目: 车辆测速及显示系统设计 学生姓名(学号): 许心悦 P71314034 周 梅 P71314040 庞影影 P71314038 郑 辉 P71314037 课程院(系): 电子信息工程学院 物联网工程系 指导老师姓名:徐 磊 职称/学位: 讲师/博士 指导老师所在单位: 安徽大学 电子信息工程学院完成时间: 2015 年 12 月目 录第一章 内容摘要1第二章 设计内容及要求1第三章 总设计原理1第四章 硬件设计24.1 硬件方案设计24.2 AT89C51单片机介绍44.3 霍尔开关型传感器介绍74.4 LCD显示器介绍84.4.1 液晶显示原理84.4.2液晶显示器的分类84.4.3液晶显示器各种图形的显示原理84.5单片机外围电路设计94.5.1时钟电路设计104.5.2显示电路设计10第五章 软件设计165.1 软件总体程序分析165.2 软件主程序设计165.3中断子程序设计185.4软件应用介绍195.4.1 Proteus195.4.2 Keil C5119第六章 心得体会20此文档仅供学习与交流车辆测速及显示系统设计第一章 内容摘要截至2015年初,全国有31个城市的汽车数量超过100万辆,特别是北京市汽车超过500万辆。国内汽车保有量从2004年的2400万辆增长到1.37亿辆。中国交通面临巨大的压力,且这种趋势短期内不会放缓。为解决交通问题,鼓励使用自行车是解决办法之一。但是自行车的骑行体验始终没有质的提升,甚至对于骑行者的安全没有完善的解决方案,也无法为骑行者提供多种骑行建议。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。本次课程设计我们主要针对车辆的速度测量及里程数进行了设计。本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,使其能自动地显示当前自行车行走的距离及运行的速度,从而方便人们的出行。第二章 设计内容及要求本课题主要任务是利用霍尔元件、AT89C51单片机等部件设计一个可用1602液晶实时显示里程和速度的自行车的速度里程表。以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS-51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。实现自行车的LED显示屏上有里程、速度测试两项显示功能,采用单片机作控制,达到显示里程及速度的最终目标。 第三章 总设计原理图1:总设计原理图(1)通过利用霍尔传感器产生里程数的脉冲信号:假定车轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号。(2)利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数:将采集到的脉冲信号从引脚P3.2中断0端输入,开启定时器0计时,传感器每获取一个脉冲信号即对系统提供一次计数中断这样就可以计算自行车路程和速度了。(3)对数据进行处理得到需要的熟知,再用LED显示里程总数和即时速度:每次中断代表车轮转动一圈,中断数n与轮圈的周长L的乘积为里程值。计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度。第四章 硬件设计4.1 硬件方案设计测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有很多种。例如使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程等多种方案:(1)使用光敏电阻对里程进行测量。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;(2)使用霍尔元件或干弹簧对里程进行测量。使用霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E,该传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,工作电压范围宽,使用非常方便。图2:A44E外形图所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。此外,单片机的使用也是本次设计中不可或缺的一部分。单片机由于将CPU、内存和一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点: 1. 体积小、重量轻; 2. 电源单一、功耗低; 3. 功能强、价格低; 4. 全部集成在一块芯片上,布线短、合理; 5. 数据大部分在单片机内传送,运行速度快、抗干扰能力强、可靠性高。 目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是STC89C52单片机。 外 部 信 号霍尔传感器外部储存器单 片 机里 程 显 示速 度 显 示图3:系统的原理框图4.2 AT89C51单片机介绍单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能 部件,包括CPU(Central Processing Unit)、随机存储器RAM(Random Access Memory)、 只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路。定时器 /计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计 算机的基本功能。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。 图4:单片机内部结构示意图 AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。图5:AT89C51单片机引脚VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。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”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能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口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。4.3 霍尔开关型传感器介绍霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种,这一现象是霍尔于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种:(一)开关型霍尔传感器由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。开关型霍尔传感器还有一种特殊的形式,称为锁键型霍尔传感器。(二)线性型霍尔传感器由霍尔元件、线性放大器和射极跟随器组成,它输出模拟量。线性霍尔传感器又可分为开环式和闭环式。闭环式霍尔传感器又称零磁通霍尔传感器。线性霍尔传感器主要用于交直流电流和电压测量。A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部分组成,如图9(a)所示。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如下图所示。图6:集成开关型霍尔传感器图7:集成霍尔开关接线图4.4 LCD显示器介绍4.4.1 液晶显示原理液晶显示的原理是利用液晶的物理特性, 通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。4.4.2液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。4.4.3液晶显示器各种图形的显示原理线段的显示:点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。4.5单片机外围电路设计图8:硬件原理图4.5.1时钟电路设计时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。STC89C52片内由一个反相放大器构成振荡器,可以由它产生时钟。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。本设计采用前者。 单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和电容,就构成一个稳定的自激振荡器。单片机内部时钟方式的振荡电路如下图所示。图9:单片机内振荡电路4.5.2显示电路设计1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。 图10:1602字符型液晶表1:1602LCD主要技术参数显示容量162个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:表2:引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 指令功能说明:1602LCD模块内部控制器的11条控制指令说明如下表:表3:控制命令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00 00 0 001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址000 1字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。时序说明:与HD44780相兼容的芯片时序表如下:表4:基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无图11:读时序操作 图12:写时序操作硬件连接说明:1602液晶显示模块可以和单片机AT89C51直接接口,如下图所示。 图13:硬件连线图1602的驱动程序11条指令:(1)void Clear_display(); /清显示屏指令(2)void Return_home(); /光标归位指令(3)void Entry_mode_set(); /输入模式设置指令(4)void Display_on_or_off(); /显示屏的开关控制指令(5)void Cursor_or_Display_shift(); /设定显示屏或光标移动方向指令(6)void Function_set(); /功能设定指令(7)void Set_character_address(); /设定CGRAM地址指令(8)void Set_display_address(); /设定DDRAM地址指令(9)void Read_busy_flag(); /读取忙信号或AC地址指令(10)void Write_data(); /将数据写入DDRAM或CGRAM指令(11)void Read_data(); /从CGRAM或DDRAM读出数据的指令第五章 软件设计5.1 软件总体程序分析软件设计包括主程序、行车过程中里程和速度计算子程序、延时子程序、中断服务子程序、显示子程序等等。中断子程序是将传感器产生的信号接入外部中断0,利用中断和定时器分别对里程进行累加、每转一周的时间进行测量。数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。 显示子程序是将数据处理的结果送显示器显示。 系统软件总体流程图如下图所示。图14:软件总体流程图5.2 软件主程序设计在主程序模块中,需要完成对各接口芯片的初始化、自行车里程和速度的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器、速度寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计速等不同的操作。中断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算和判断出行驶里程数。这样,每次定时器T1的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。其程序流程如下图所示。等待中断初 始 化设置特殊寄存器置定时常数设置计数器关键字开中断刷新里程、速度和时间开 始中断开始中断返回定时器秒自动加1是否到1秒依次进位否是INTO图15:主程序流程图5.3中断子程序设计定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的里程和速度进行计数。中断子程序流程图如图16所示。图16:中断子程序流程图5.4软件应用介绍5.4.1 ProteusProteus软件是来自英国Labcenter Electronics公司的EDA工具软件,Proteus软件除了其具有和其它EDA工具一样的原理布图,PCB自动或人工布线及电路仿真的功能外, 其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出, 还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器,逻辑分析仪等, Proteus建立了完备的电子设计开发环境。Proteus 是目前最好的模拟单片机外围器件的工具,它 可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路 (如 LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分 SPI 器件,部分 IIC 器件)。当然,软件仿真精度有限,而且不可能所有的器件都找得 到相应的仿真模型,用开发板和仿真器当然是最好选择,可是 对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真 单片机 CPU 的工作情况,也能仿真单片机外围电路或没有单片 机参与的其它电路的工作情况。因此在仿真和程序调试时,关 心的不再是某些语句执行时单片机寄存器和存储器内容的改 变,而是从工程的角度直接看程序运行和电路工作的过程和结 果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和 工程应用间脱节的矛盾和现象。5.4.2 Keil C51Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。第六章 心得体会心得体会许心悦这次的嵌入式课程设计对于我和小组成员们来说都是一次努力学习的过程,虽然我们在大二下半学期就学习了嵌入式课程原理这门课,这学期也进行了短暂的单片机实验课,做过几次实验,但是由于自己的专业课知识掌握的不够熟练,在课程设计中还是遇见了很多的难题。好在通过老师的帮助和指导顺利完成了课程设计的选题。在接下来的两个星期中,我分别通过重温单片机课程的书本与查阅网络资料,对于课题进行了进一步的设计与研究,终于顺利完成了此次课程设计报告的内容。在该课题中我们设计了一个自行车速度里程表,通过对车轮转动次数与时间的采集计算出行驶的里程数与速度,并用LED显示。通过Proteus对电路进行仿真,验证了系统的可行,能满足设计要求,达到设计的指标,实现对自行车里程/速度的计算功能,并用LED显示。本次设计电路简单、低成本,而且能够满足人们对高性能、多功能自行车的要求,可在很多里程/速度测量场合使用,相信在将来一定会具有广泛的应用前景。通过这次的课程设计作品的制作也让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,锻炼自己的动手操作能力。心得体会庞影影经过此次课程设计才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维,一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。一开始我们从网上找到了类似的课题,做到后来发现很多程序都是不完整的。网上的毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。然后我们大家一起齐心协力,从平时做的实验老师上课的举例书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。这次课程设计也让我们充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。通过这次设计,我们懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名物联网专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然我们很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这些天的学习,在小组同学的帮助和讲解下,我们开始主动学习并逐步从基础慢慢开始弄懂它。我相信逐步学习会一步步增强我们的工作技能,为以后步入社会打下基础。心得体会周梅通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得以补充以及之前在进行书本学习中不能理解的问题都通过此次实际操作一一得以解决。同时也因为单片机这门课程是上个学期所学,对有的知识点可能有所遗忘,通过这次的课程设计我是相当于重新更者是更深层次的学习了一遍单片机原理及应用教程。对于一些已经遗忘的端口和引脚,我又重新认识了一遍,并且以前只通过书本学习,对于一些引脚和端口的认识只停留在书本上并不真正的了解它的功能,现在通过实际的操作模拟,我是真正的知道了这些端口和引脚的作用。同样也是因为之前对单片机这门课程、电子设计ADC课程设计的学习为此次的课程设计奠定了一定的基础。基于本次课程设计的课题,我们对车辆测速控制及显示系统由事先地不太了解到现在做完课程设计对各种测速传感器及开关以及显示系统的实现的深入了解,使我懂的了实践出真知的道理,而且通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。心得体会郑辉本次课程设计是检验我们是否掌握相关专业课程知识的重要手段,以我们小组成员为主体,加上老师的悉心教导,充分调动了我们的积极性和创造性,培养了我们得实际动手能力。本次课程设计让我们加深理解、巩固课堂教学和平时实验内容。让我们受益匪浅。本次课程设计,我们利用了嵌入式系统所学的知识,设计了一个车辆测速及显示系统。我们想要设计这个系统的原因是中国交通面临的巨大压力,我们得这个系统能很好地做到让自行车较多的普及。有了目标之后我们就可以行动了,我们开始设计硬件,之前课本上学习到的知识很好的融入到了这次设计之中,不仅加深了对知识的记忆,更加深了对知识的深刻理解。之后我们开始软件设计,由于对软件这一块的知识比较稀薄,当年也没有太认识学习,所以我便一边学习一边设计,因此这次课程设计给了我们一个很好的边学习边实践的机会,对我们深入学习这些技术有很大帮助,深刻体会到了这些技术的实用性。每当自己成功调试一段代码或者通过自己的努力克服一个技术困难,都颇有收获感。而且让我们了解了当前流行技术的软件开发,增加了一定的项目开发经验,增强了一定的就业竞争力。通过这次课程设计,我认识到了自己的很多不足,很多知识都只是一知半解,理解的不够透彻,甚至有些根本就不会。同时,通过这次课程设计,让我我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带给我们的将是无穷的便捷与科技。在此,要感谢老师对我们的帮助,让我们可以成功的完成本次课程设计。参考文献1 李全利.单片机原理及应用技术M.北京: 高等教育出版社,2004.2 楼然苗,李光飞. 51系列单片机设计实例M. 北京航空航天大学出版社,2006. 3 徐晨,陈继红等.微机原理及应用M.北京:高等教育出版社,2004. 4 姜秀英,姜涛等.传感器与自动检测技术M.北京:中国电力出版社,2009. 5 阎焕忠, 王长涛, 马斌. 单片机控制里程转速表的设计. 沈阳建筑工程学院学报(自然科学版),2002, 4: 145-148. 6 曲家骇,王季秩,伺服控制系统中的传感器M. 机械工业出版社. 1998. 7 张福学. 传感器使用电路150例.中国技术出版社,1992. 8 张友德,赵志英,涂时亮.单片机微机原理,应用与实验M.上海:复旦大学出版社,2003:122-136. 附录A 仿真运行图附录B 部分程序源代码#include reg51.h#include intrins.hsbit LCM_RS=P30;sbit LCM_RW=P31;sbit LCM_EN=P37;#define BUSY 0x80 /常量定义#define DATAPORT P1#define uchar unsigned char#define uint unsigned int#define L50uchar str016,str116,count;uint speed;unsigned long time;void ddelay(uint);void lcd_wait(void);void display();void initLCM();void WriteCommandLCM(uchar WCLCM,uchar BusyC);void STR();void account();/*延时K*1ms,12.000mhz*/void int0_isr(void) interrupt 0 /*遥控使用外部中断0,接P3.2口*/ unsigned int temp;time=count; TR0=0;temp=TH0;temp=(temp 8) | TL0); TH0=0x3c; TL0=0xaf;count=0; TR0=1;time=time*50000+temp;void time0_isr(void) interrupt 1 /*遥控使用定时计数器1 */ TH0 =0x3c; TL0 =0xaf; count+;void main(void) TMOD=0x01; /*TMOD T0选用方式1(16位定时) */ IP|=0x01; /*INT0 中断优先*/ TCON|=0x11; /*TCON EX0下降沿触发,启动T0*/ IE|=0x83; TH0=0x3c; TL0=0xaf; initLCM(); WriteCommandLCM(0x01,1); /清显示屏for(;)account();display();void account()unsigned long a; if (time!=0)a=L*360000000/time;speed=a;void STR()str00=S;str01=p;str02=e; str03=e;str04=d;str05= ;str06=(speed%100000)/10000+0x30;str07=(speed%10000)/1000+0x30;str08=(speed%1000)/100+0x30;str0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版酒店餐饮管理公司厨师长委托服务合同
- 2025茶室装修设计与施工一体化服务合同
- 2025版酒店场地租赁合同学术讲座场地租赁服务
- 2025版绿色建筑节能改造与碳排放减排服务合同
- 去年牡丹江二模数学试卷
- 青岛六三制数学试卷
- 2025年红河园区投资有限责任公司公开招聘工作人员5名笔试参考题库附带答案详解
- 2025年度中国自然资源航空物探遥感中心公开招聘应届毕业生1人(第四批)笔试参考题库附带答案详解
- 2025年湖北武汉城投集团公开招聘177人笔试参考题库附带答案详解
- 2025年中国能建部分所属企业领导人员招聘14人笔试参考题库附带答案详解
- 数字媒体艺术史全册完整教学课件
- 2024年人社法律法规知识竞赛考试题库及答案
- 《矿物岩石学教学课件》1-2 矿物学
- 知识题库-人社劳动知识竞赛测试题及答案(十五)
- 《民宿管家》课件-民宿管家之预订接待
- 部编小学语文单元作业设计四年级上册第三单元 3
- 《信号完整性测试》课件2
- 火电厂检修培训课件
- 学校文印室外包服务 投标方案(技术方案)
- 电力公司招聘考试题库及答案详解
- DB6101T141-2018猕猴桃水肥一体化施肥技术规程
评论
0/150
提交评论