版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西华大学电气信息学院智能化测控应用系统设计报告1 前言2 总体方案设计 32.1 方案对比 32.1.1 方案一 32.1.2 方案二 42.2 方案论证 42.3 方案选择 53 单元模块设计 63.1 各单元模块功能介绍及电路设计 63.1.1 单元模块功能介绍. 64 软件设计 134.1 软件设计原理及设计所用工具 134.1.1 制图软件 Altium Designer Winter 09 134.1.2 Keil 仿真软件 144.2 系统程序设计 144.2.1 主程序流程图 . 154.2.2 主程序设计流程 . 165 系统调试 176 结论 187 总结与体会 . 198
2、谢词 209 参考文献 21附录 1 22附录 2 23附录 3 24附录 4 25第1 页西华大学电气信息学院智能化测控应用系统设计报告1 前言自行车被发明及使用到现在已有两百多年的历史, 这两百年间人类在不断的尝试与 研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目 的也从最早的交通代步的工具转换成休闲娱乐运动的用途。 随着居民生活水平的不断 提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的 首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速 度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的, 其功
3、能也逐渐从单 一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人 热量消耗等功能。本设计采用了 MCS-51系列单片机设计一种体积小、操作简单的便携 式自行车的速度里程表,它能自动地显示当前自行车行走的距离及运行的速度。第2 页西华大学电气信息学院智能化测控应用系统设计报告2 总体方案设计根据本系统所要实现的功能为:1、设计以单片机和速度感器为核心的速度过高报警装置。2、能实现自行车轮子圈数信号的检测、传输和处理功能。3、当自行车速度超过一定值时报警。4、具有实时显示速度值或里程值和速度超高报警功能。 所以根据设计要求制定了以下两种方案。2.1 方案对比 两种方案的设
4、计思路是相同的,只是在某些模块上采用的形式不同,以下为两种不 同的设计方案的具体实现形式:2.1.1 方案一图 2.1 方案一的原理框图方案一中首先是对自行车轮圈大小的选择,再传感器对自行车车轮圈数进行检测; 将检测信号直接送进单片机,复位电路使单片机所有部位处于一个确定的初始状态,并 从这个状态开始工作;时钟电路为 CPU提供时钟脉冲;根据里程和速度的选择来显示电 路用于显示所测得的里程或速度,报警器是当速度超过预定值时报警。第3 页西华大学电气信息学院智能化测控应用系统设计报告2.1.2 方案二图 2.2 方案二的原理框图方案二系统工作时,传感器采集到信号传输给单片机,单片机计数器统计脉冲
5、个数, 定时器记录相应时间长度,经过运算,将行驶里程、平均速度送给共阴数码管显示。报 警器是当速度超过预定值时报警。2.2 方案论证测量一定时间间隔 t 里自行车车轮转过的圈数 q。假设车轮周长为 c,则速度 V=c*q/t 测量自行车车轮转过一圈的时间 t ,则速度 V=c/t 本里程表是根据第一个原理计算速度 的。方案一采用了传感器具体的给出信号采集的方案, 而且还增加了了轮圈大小的选择, 可以测量多种型号的轮圈,并且对里程显示或者速度显示有选择,使使用者能自由选择 显示里程还是速度,方案二比较的简单没有轮子大小的选择,也就说这个系统只能测量 一个型号的自行车。其中在传感器方面我们也做出了
6、比较和选择红外光电传感器。把红外对管分别安装在自行车车轮的两侧,当车轮转动时,辐条 会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。 红外对管的优点是测量精度高, 缺点是安装比较复杂和容易受外来光线、 灰尘等的影响。开关型霍尔传感器。霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器 件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢 靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里 程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成本较高。干簧管。干簧管是一种磁敏的有触点无源电子开关元件,应用在里程表上的
7、原理与 开关型霍尔传感器类似, 把干簧管安装在自行车贴近车轮的支架上, 磁钢安装在辐条上, 当磁钢靠近霍尔传感器的时候,干簧管闭合,单片机根据此信号可计算里程、速度等。 干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和不够稳定。本里程表选用干簧管,稳定、安装简易。第4 页西华大学电气信息学院智能化测控应用系统设计报告2.3 方案选择 比较两种方案可以看出,方案一和方案二的大概思路都差不多,只是单片机选择和 显示模块不同,而方案一的设计比较具体使用一些,他可以对多种型号的自行车进行检 测,二方案二只能测量一种型号的自行车,此外在里程和速度的显示上方案一给出了比 较明确的选择,而方案二没有,所以
8、我们选择了方案一做为本次课题的主要研究对象, 本文也将注重介绍方案一的设计方法。第5 页西华大学电气信息学院智能化测控应用系统设计报告3 单元模块设计采用 STC89C52为控制核心, 主要功能模块有: 数据采集模块选用干簧管传感器, 数 据显示选用共阴数码管,里程和速度显示的选择以及轮子大小的设置用开关按钮,超速 报警选用蜂鸣器和发光二极管。3.1 各单元模块功能介绍及电路设计为完成自行车里程和速度显示的设计,本系统采用单片机为控制核心,以实现便携 式里程速计仪的基本控制功能。系统主要功能内容包括:数据采集、数据处理、超速报 警、数据显示等。本系统设计采用功能模块化的设计思想,系统主要分为总
9、硬件和软件 的设计两大部分。3.1.1 单元模块功能介绍1 单片机最小系统电路在课题设计的速度控制系统设计中,控制核心是 STC89C52单片机,该单片机为 51 系列增强型 8位单片机,它有 32个 I/O 口,片内含 4K FLASH工艺的程序存储器,便于 用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为 1S。使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、震荡电 路以及存储器选择模式( EA脚的高低电平选择),电路如下图 3.1 所示:图 3.1 单片机最小系统(1)晶振电路单片机工作的过程中各指令的微操作在时间上有严格的次序, 这种微操作
10、的时间次 序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准, 89c52 的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即 在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号, 外第6 页西华大学电气信息学院智能化测控应用系统设计报告部时钟方式是把外部已有的时钟信号引入到单片机内, 此方式常用于多片 89C52单片机 同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于 20ns. 且 为频率低于 12MHz的方波。对于 CHMO工S 艺的单片机,外部时钟要由 XTAL1端引入, 而 XTAL2端应悬空。本
11、系统中为了尽量降低功耗的原则,采用了内部时钟方式。在 89C52 单片机的内部有一个震荡电路, 只要在单片机的 XTAL1和 XTAL2引脚外接 石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电 容器 C1和 C2稳定频率和快速起振,电容值在 530pF,典型值是 22pF,晶振 CYS选择 的是 12MHz。(2)复位电路 复位的意义 单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和 如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严 重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、 程
12、序尚未开始就要中断及串口乱传向外设发送数据。因此,任何单片机在开始工作前, 都必须进行一次复位过程,使单片机处于一种确定的状态。复位电路原理当在 89C52单片机的 RST引脚引入高电平并保持 2个机器周期时, 单片机内部就执 行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态) 。2 里程和速度显示的选择以及轮子大小的选择模块 (1)轮圈大小的选择电路图 3.2 轮圈大小的选择电路第7 页西华大学电气信息学院智能化测控应用系统设计报告通过对车轮大小的设计,就可以对不同型号的车子的数据进行检测,特别是在硬件 设计是原想通过按钮来实现对尺寸大小的选择,但是通过按钮来实现的方式比较复杂,
13、 本次设计使用的是双排针来设置, 通过 P1.4,P1.5,P1.6,P1.7 四个口来分别设置轮圈的 大小,假设车轮周长为 c ,则速度 V=c*q/t 测量自行车车轮转过一圈的时间 t ,则速度 V=c/t 本里程表是根据第一个原理计算速度的。通过圈数来统计里程。( 2)里程 / 速度显示选择电路图 3.3 里程 / 速度显示选择电路 通过一个六脚开关对里程还是速度显示进行准确的选择, P2.6 口的开关来确定显示的方 式,当开关选择在低电平是时即接地则是共阴数码管显示速度,当开关选择在高电平时 即接电源则共阴数码管显示里程。3 测量电路 测量电路由干簧管传感器和磁铁组成。干簧管是一种磁敏
14、的特殊开关。它的两个触 点由特殊材料制成,被封装在真空 的玻璃管里。只要用磁铁接近它,干簧管两个节点 就会吸合在一起,使电路导通。因此可以作为传感器用,用于计数,限位等等。有一种 自行车公里计,本次设计是在轮胎上粘上磁铁,在一旁固定上干簧管构成的把磁铁固定 在自行车轮子上及跟随轮子的转动而转动,再将干簧管固定在车轮旁边,能与磁铁反应 的距离但是不能跟随车轮转动,不然不能计数,每当车轮的磁铁经过干簧管的时候就将 干簧管的开关吸合,产生一个数据信号给单片机,这就是对车轮圈数进行采集,通过单 片机对此数据信号进行分析计算。第8 页西华大学电气信息学院智能化测控应用系统设计报告4 数据显示电路本次设计
15、使用的是 3 位的共阴数码管显示器,在设计是注意区分这两种不同的接法。为 了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计 8 段。因此为显示器提供的编码正好是一个字节。本实验板用共阴显示器。LED 显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每 个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显 示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用 CPU时间少,显示 便于监测和控制。缺点是硬件电路比较复杂,成本较高。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数 码管有效。选亮数
16、码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出 字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数 码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略 小于静态显示电路中的。本次设计使用的是静态显示方式。第9 页西华大学电气信息学院智能化测控应用系统设计报告5 报警和储存电路(1)报警当自行车速度超过预设值时应及时采取报警措施, 实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加3 15V 直流工作电压,就能产生 3kHZ 左右的蜂鸣振荡音响。压电式蜂鸣器结构简单、耗电少,更适于在单片 机系统
17、中应用。压电式蜂鸣器,约需 10mA的驱动电流,可在某端口接上一只三极管和 电阻组成的驱动电路来驱动,如图 3.5 所示。 P2.7 接三极管基极输入端,当 P2.7 输出 高电平“ 1”时,三极管导通,蜂鸣器的通电而发音,当 P2.7 输出低电平“ 0”时,三 极管截止,蜂鸣器停止发音。同时本次设计还将发光二极管放在报警电路中,当报警器 发声是同时发光二极管也导通而发光亮起来,起到更好的报警效果。第10 页西华大学电气信息学院智能化测控应用系统设计报告2)存储电路图 3.6 存储器电路本次设计使用的是 24C01 存储器,用于 P1.0 和 P1.1EEPROM的存取控制。 CAT24WC0
18、1/02/04/08/16 支持 I2C 总数据传送协议, I2C 总线协议规定, 任何将数据传 送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生 串行时钟和所有起始停止信号的主器件控制的。 主器件和从器件都可以作为发送器或接 收器,但由主器件控制传送数据发送或接收的模式, 通过器件地址输入端 A0 A1 和 A2 可 以实现将最多 8 个 24WC01和 24WC02。这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为 0 24WC01除 外。当使用 24WC01或 24WC02时 最大可级联 8 个器件。如果只有一个 24WC02 被总线寻址,这三
19、个地 址输入脚 A0 A1 A2 可悬空或连接到电源, 如果只有一个 24WC01 被总线寻址,这三个地址输入脚 A0,A1,A2 必须连接到电源。当使用 24WC04时 最多 可连接 4个器件,该器件仅使用 A1、 A2 地址管脚。 A0 管脚未用,可以连接到电源或 悬空。如果只有一个 24WC04被 总线寻址, A1 和 A2 地址管脚可悬空或连接到电源。当使用 24WC16时 最多只可连接 1 个器件,所有地址管脚 A0 A1 A2 都未用,管脚 可以连接到电源或悬空主器件通过发送一个起始信号启动发送过程, 然后发送它所要寻 址的从器件的地址。接下来的 3 位( A2 A1 A0)为器件
20、的地址位,用来定义哪个器件以 及器件的哪个部分被主器件访问, 1 个 CAT24WC16可 单独被系统寻址。 从器件 8 位地址 的最低位,作为读写控制位 1,表示对从器件进行读操作, 0 表示对从器件进行写操作。 在主器件发送起始信号和从器件地址字节后, CAT24WC01/02/04/08/16 监视总线并当其 地址与发送的从地址相符时响应一个应答信号 (通过 SDA 线)。CAT24WC01/02/04/08/16第11 页西华大学电气信息学院智能化测控应用系统设计报告再根据读写控制位 R/W 的状态进行读或写操作第12 页西华大学电气信息学院智能化测控应用系统设计报告4 软件设计本节将
21、介绍本次设计中用到的 Altium Designer Winter 09软件、 Keil 软件4.1 软件设计原理及设计所用工具我们运用 Altium Designer Winter 09 软件进行 PCB制图,用 Keil 软件进行软件程 序编写。4.1.1 制图软件 Altium Designer Winter 09Altium Designer Winter 09提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。 Altium Designer Winter 09在单一设计环境中集成板级和 FPGA系统设计、基于 FPGA和分立处理器的嵌入式软件开发以及 P
22、CB版图设计、 编辑和制造。并集成了现代设计数据管理功能 , 使得 Altium Designer Winter 09成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案 Altium 创新电子设计平台集成了广受好评的 Altium Designer Winter 09 一体化电子 设计软件和 Altium 可重构硬件平台 NanoBoard 系列。 该方法将器件智能置于设计流 程的核心。由此形成了一个完整的一体化电子设计环境,以全新的方式创建和推出智能 型关联电子产品。电子产品开发不再是独立的流程。 Altium Designer Winter 09 统一了整个设计流程
23、, 可在单一、 集成的设计流环境中管理开发的所有方面。 Altium 发布了其新一代电子设计 解决方案 Altium Designer 的最新版本 Winter 09 。Altium 持续在市场上推出一系列设 计新概念和新技术,开发先进技术,帮助电子产品设计人员更快更好地将设计转化为产 品。在最新版本 Winter 09 中,原来已有的三维 PCB设计功能被提升到了一个更高速的 新境界。新功能可以让工程师管理从产品设计到制造的过程转换,尝试新的设计技术并 得以深度挖掘可编程器件的潜力。新增加的应用控制面板帮助工程师解决了FPGA测试上的难题,并可以远程监控 FPGA内的设计。新的即插即用型软件
24、平台搭建器让系统的 整合更容易,同时提供在可编程器件的“软”硬件环境里的一系列标准服务以供使用Altium 在最新的版本里扩充了其实时三维 PCB设计功能。最新的版本支持三维建模 的纹理映射,使设计师能过对设计板和元件进行表面处理。 Altium 提供增强的过孔功能, 并允许在不同信号层上使用不同尺寸的焊盘。过孔的叠加可以支持更高的跟踪密度。工 程师还可以通过元件焊盘来实现过孔的偏移。 所有上述的增强型功能都提高了 PCB设计 的精确性,并为设计板布线和可视化提供了新的设计思路 通过 Altium NanoBoard 可重构硬件平台,工程师可以很容易地“整合”出硬件平台上 所需的软件服务。这包
25、括了电子设计中常见的设计元素:例如外设,通信模块,和支持 正常工作所需要的各种驱动规则(由 NanoBoard 提供)。这样,基本但是必要的软件模第13 页西华大学电气信息学院智能化测控应用系统设计报告块设计被简化成拖放预先配置软件模块到设计中,工程师得到了解放,能够真正地专注 于核心的产品智能设计。软件平台搭建器提供一系列的驱动和软件规则来支持通过 NanoBoard设计平台运行的外设。4.1.2 Keil 仿真软件Keil C51是美国 Keil Software 公司出品的 51 系列兼容单片机 C语言软件开发系统, 与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势
26、,因而易学 易用。 Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试 器等在内的完整开发方案,通过一个集成开发环境( uVision )将这些部分组合在一起。 运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP等操作系统。1. 系统概述Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开 发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开发系统
27、各部分 功能和使用。2.Keil C51 单片机软件开发系统的整体结构C51工具包的整体结构, uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的 集成开发环境 (IDE) ,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人 员可用 IDE本身或其它编辑器编辑 C或汇编源文件。 然后分别由 C51及 C51编译器编译 生成目标文件 (.OBJ) 。目标文件可由 LIB51 创建生成库文件, 也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS) 。ABS文件由 OH51转换成标准的 Hex 文件,以供调试 器 dScope5
28、1 或 tScope51 使用进行源代码级调试, 也可由仿真器使用直接对目标板进行 调试,也可以直接写入程序存贮器如 EPROM中。4.2 系统程序设计硬件是控制系统的物质基础,是软件赖以生存的空间和活动场所,没有硬件就没有 软件的支持,软件的功能就无从谈起。同样,软件是控制系统的灵魂,其逻辑关系的正 确与否直接关系到整个系统是否正确工作。设计硬件后并不意味着设计工作的大功告成,还必须去设计控系统的软件,是硬件 能够“活”起来,能够正常的完成既定的控制要求。软件的编写一般根据控制系统既定 方案和控制要求来设计程序流程图,这一步是必须的,这样可以使后面程序的编写更具 方向性。第14 页西华大学电
29、气信息学院智能化测控应用系统设计报告开始初始化开中断下面简单介绍一下该程序流程图的编写4.2.1 主程序流程图系统主程序流程图如图 4.1 所示:设置特殊寄存器、置定时定时常数设置计数器 关键字图 4.1 主程序流程图第15 页西华大学电气信息学院智能化测控应用系统设计报告4.2.2 主程序设计流程(1) 初始化程序 在本系统初始化程序中,主要完成,将部分内存单元清零,设置轮子周长值,开中 断及定时器,将 EEPROM中的数据调入内存等。( 2) 主程序主程序根据 P2.7 口的开关状态选择里程显示或速度显示, 对 14 脚输入的圈数脉冲进行 计数,为十六进制计数器。每计数一次后,对里程数据进
30、行一次存储操作。(3)EEPROM存储程序本系统使用归一化 IC 串口存取子程序,使用一条数据线和时钟线,采用 ATMEL公司的 24C01串口存储器,应用简单方便。(4)显示子程序 当显示里程时,要先将圈数计数器中的数据进行运算,求出里程。当要显示速度时,要 将轮子的周长和转一圈的时间相除,然后换算成 Km/h单位。最后进行数据的显示第16 页西华大学电气信息学院智能化测控应用系统设计报告5 系统调试进行完硬件设计和软件设计后,剩下的工作就是对所设计的控制系统进行调试了。 系统的调试一般也分为两步走,即软件调试和软硬件联合调试。第一步:软件调试。对于编辑好的软件程序,首先应在编辑的环境下进行
31、编译,检 查一下所编辑的程序是否存在语法上的错误。 如果有语法方面的错误, 一定要认真修改, 直到编译结果显示零错误为止。应当指出,尽管最后编译的程序提示没有错误,也不能 保证程序完全正确。 是否还存在逻辑功能上的错误?能否让控制系统实现预定的功能要 求?要想验证这两点就得进行下面第二部的调试。第二部:软硬件联合调试。前面已指出,硬件是软件的载体,软件是硬件的灵魂, 只有两者结合才能实现我们想要的控制功能。首先应该认真检查一遍硬件的线路,如检 查一下传感器是否能正常检测, LCD能否正常显示等。这些没有问题后,通过编程器将 编译好的程序下载到单片机中去,然后给系统上电,此时系统开始运行。将传感
32、器置于 磁铁旁引起传感器反应,然后再经过一段时间在让传感器与磁铁反应,让其有数据信号 输出,在系统调试构成中,如果显示部分部分不能正常工作,要认真的从硬件和软件两 个方面着手进行故障排查工作,看是软件与硬件逻辑不匹配还是硬件的连接问题,直到 问题解决为止。如果显示电路部分工作正常,说明硬件部分设计合理,软件部分设计满 足硬件的逻辑控制要求,达到了任务最初既定的控制要求,任务得以成功。第17 页西华大学电气信息学院智能化测控应用系统设计报告6 结论自行车里程 / 速度计是自行车的功能更齐全和完善,避免因速度过快而引发的安全 事故发,它是使生活和锻炼更加有计划的仪器,具有广阔的市场空间与发展前景。
33、此次设计在对传感器和报警技术进行深入研究的基础上, 全面比较国内外同类产品 的技术特点,合理地确定系统的设计方案。并对仪器的整体设计和各个组成部分进行了 详细的分析和设计。该里程/ 速度计是由信号采集电路与单片机控制电路两大部分构成。 根据设计要求、 使用情况、成本等因素,选用干簧管传感器。 该传感器是磁敏感器件。 它的灵敏度适中, 具有响应与恢复特性好,长期工作稳定性、重现性、不易受环境影响及抗温湿度影响等 优点。在系统单片机控制电路的设计上,采用了 STC89C52 单片机作为核心芯片,充分利 用了其高速数据处理能力和丰富的片内外设,实现了仪器的小型化和智能化。使仪器具 有结构简单、性能稳
34、定、体积小、成本低等优点。由于传感器需要在运动状态下工作, 温度越高,反应越快,响应时间和恢复时间就越快。为提高响应时间,保证传感器准确 地、稳定地工作,需要将传感器的位置加固,避免数据检测不灵敏和不能检测。在里程 / 速度计的设计中我们还特意加了报警器,当自行车速度超过一定值时候, 发出声音报警。在此基础上,可以再做适当的功能扩展,如还可以增加 GPS导航功能,使自行车在 行驶中更加方便于知道自身的位置。第18 页西华大学电气信息学院智能化测控应用系统设计报告7 总结与体会 通过这次的课程设计我学到了很多,我们进行了一次较为完整、较规范的课程设计 实践,比较系统的巩固了以前所学过的知识,由理
35、论联系实际并结合单片机原理课程来 解决实际设计问题,巩固、加深和扩展了有关单片机设计方面的理论知识。在这次的设 计中很好的体现了团队合作的重要性,由于这次的设计又要进行实物制作,还要编写程 序,也要制作设计报告,一个人完成这一系列的工作是比较困难的,这时,团队的重要 性就体现出来了,我们经过分工合作,一人负责一个部分,很快本次设计任务就圆满的 实现了。更加重要的是让我们养成了进行科学实验的习惯,在设计过程中一定要注意掌 握设计进度,按预定计划完成阶段性的目标,在原理图设计阶段,注意设计计算与结构 设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数 据的保存和积累,保持
36、记录的完整性。由于这一次设计的实践,我们了解到,知识上的收获重要,精神上的收获更重要, 让我们明白了学无止境的道理。我们永远都不应满足于现有的成果,要一次一次的勇攀 高峰,通过这次课程设计的实践,我想在我们以后接触类似设计的时候我们会有更好的 表现,现在的我已经不再局限于只敢尝试简单的设计了,我会向更加有难度、有深度的 设计方向发展,使自己得实践动手能力和本身的知识面不断的提升。最后,在此衷心感谢谢老师对我们的帮助,从课题的选择,电路的制作,元器件的 确定到电路板的制作,程序的编写,功能的实现,老师一步一步指导我们前进,以完成 这次的设计工作。第19 页西华大学电气信息学院智能化测控应用系统设
37、计报告8 谢词 该课程设计是在我们的指导老师密切关心和悉心指导下完成的。 老师在课题开题期 间、实物制作和报告写作的过程中给予了我们许多指导,他总是以认真负责、一丝不苟 的工作态度指出我们不足的地方, 他优良的作风和严谨治学的态度深深影响着我, 至此 , 向古老师致以最真挚的感谢和最崇高的敬意!同时我们的组员也是很努力的在完成这次的设计,我们一起在这一个月里一起成 长,一起学习,这然让我们再一次懂得了团队合作的重要性。第20 页西华大学电气信息学院智能化测控应用系统设计报告9 参考文献1 李光飞、楼然苗 .51 系列单片机设计实例 M. 北京航空航天大学出版社, 2003 年 3 月2 张毅刚
38、 . 单片机原理及应用 M. 高等教育出版社, 20103 王幸之 .AT89 系列单片机原理与接口技术 M. 北京航空航天大学出版社, 2004 年 5 月4 朱定华 . 单片机原理及接口技术 M. 电子工业出版社, 2001 年 4 月5 赵茂泰 . 智能仪器原理及应用 M. 电子工业出版社, 2004 年 2 月6 童诗白 . 模拟电子技术基础(第四版) M. 高等教育出版社, 20067 周明德 .微型计算机系统原理及应用(第四版 ) M. 清华大学出版社, 20028 张洪润 . 电子线路及应用 M. 北京:科学出版社, 20029 杨宝清 . 实用电路手册 M. 北京:机械工业出版
39、社, 200210 杜树春 . 单片机 C语言和汇编语言混合编程实例详解 M. 北京航空航天大学出版社, 200611 宋素萍、睢丹 . 基于单片机的室内多功能检测仪的研究 J. 微计算机信息, 2007第21 页西华大学电气信息学院智能化测控应用系统设计报告附录 1原理图第22 页西华大学电气信息学院智能化测控应用系统设计报告附录 2PCB图第23 页西华大学电气信息学院智能化测控应用系统设计报告附录 3实物图第24 页西华大学电气信息学院智能化测控应用系统设计报告附录 4主要程序#include iic.h/对 uchar 的宏定义/*Function: void write_byte(u
40、char add,uchar dat)Description: 在 24c02 某一地址写一位数据 Calls:iic_star(),iic_ack(),iicwr_byte(),iic_stop()Input:add,datOutput;无Return:无Others:*/void write_byte(uchar add,uchar dat);/*Function: write_page(uchar*buff,uchar n,uchar add)Description: 在 24c02 某一地址开始, 连续 写一数组Calls:iic_star(),iic_ack(),iicwr_byte
41、(),iic_stop()Input:*buff (数组名) ,n(要写数组的个数) ,add(开始写的地址)Output;无Return:无Others:采用指针进行数组的读操作void write_page(uchar *buff,uchar n,uchar add);/*Function: uchar read_byte(uchar add)Description: 从 24c02 中任一地址读取一位 数据(随机读)Calls:iic_star(),iic_ack(),iicwr_byte() , iicre_byte(),iic_stop()Input:add(读数据的地址)Outpu
42、t;无Return:iOthers:使用随机读的方式,可对芯片内任一地址直接读操作*/uchar read_byte(uchar add);/*Function: uchar read_page(uchar *buff,uchar n,uchar add)Description: 从 24c02 中任一地址开始连续 读操作Calls: iic_star(),iic_ack(),iicwr_byte() , iicre_byte(),iic_stop()Input:*buff (数组名),n(要读数组的个数) ,add(开始读的地址)Output;buffReturn:无Others:此函数之前
43、需要定义一个合适大小的数组, 调用本函数后, 将 24c02 中数据读进数组中void read_page(uchar *buff,uchar n,uchar add); #include #include iic.h#include 24c02.h第25 页西华大学电气信息学院智能化测控应用系统设计报告/*Others: 采用指针进行数组的读 操作Function: void write_byte(uchar add,uchar dat)Description: 在 24c02 某一地址写一位数据 Calls:iic_star(),iic_ack(),iicwr_byte(),iic_sto
44、p()Input:add,datOutput;无Return:无Others:void write_page(uchar *buff,uchar n,uchar add)*/void write_byte(uchar add,uchar dat)scl = 1;线sda = 1; iic_start();iicwr_byte(0xa0); iic_ack(); iicwr_byte(add); iic_ack(); iicwr_byte(dat); iic_ack(); iic_stop();/ 初始化 iic 总/写地址上/要写的数据/*Function: write_page(uchar*
45、buff,uchar n,uchar add)Description: 在 24c02 某一地址开始, 连续 写一数组Calls:iic_star(),iic_ack(),iicwr_byte(),iic_stop()Input:*buff (数组名) ,n(要写数组的个数) ,add(开始写的地址)Output;无Return:无 uint i; iic_start(); iicwr_byte(0xa0); iic_ack(); iicwr_byte(add); iic_ack(); for(i=0;in;i+) iicwr_byte(buffi);据 iic_ack(); iic_stop
46、();/*Function:/要写的数uchar read_byte(ucharadd)Description: 从 24c02 中任一地址读取一位 数据(随机读)Calls:iic_star(),iic_ack(),iicwr_byte() iicre_byte(),iic_stop() Input:add(读数据的地址Output;无Return:iOthers:使用随机读的方式,芯片内任一地址直接读操作*/uchar read byte(uchar add)可对/随机26 页西华大学电气信息学院智能化测控应用系统设计报告/初始读uchar i;scl = 1; 化 iic 总线sda =
47、 1; iic_start(); iicwr_byte(0xa0); iic_ack(); iicwr_byte(add); iic_ack(); iic_start(); iicwr_byte(0xa1); iic_ack();i = iicre_byte(); iic_noack(); iic_stop(); return i;/*Function: uchar read_page(uchar *buff,uchar n,uchar add)Description: 从 24c02 中任一地址开始连续 读操作Calls: iic_star(),iic_ack(),iicwr_byte()
48、, iicre_byte(),iic_stop()Input:*buff (数组名),n(要读数组的个数) ,add(开始读的地址)Output;buffReturn:无Others:此函数之前需要定义一个合适大小的数组, 调用本函数后, 将 24c02 中数据读进数组中void read_page(uchar *buff,uchar n,uchar add)uint i; iic_start(); iicwr_byte(0xa0); iic_ack(); iicwr_byte(add); iic_ack(); iic_start();iicwr_byte(0xa1); iic_ack();f
49、or(i=0;i0;x-) for(y=110;y0;y-);27 页西华大学电气信息学院智能化测控应用系统设计报告void display(unsigned char num) /*wei4 = 0;P0 = tablenum/1000%10; delayn(10);wei4 = 1; */wei3 = 0;P0 = tablenum/100%10; delayn(5);wei3 = 1;wei2 = 0;P0 = tablenum/10%10; delayn(5);wei2 = 1;wei1 = 0;P0 = tablenum%10; delayn(5);wei1 = 1; #ifndef
50、 _smg_H_ #define _smg_H_ void delay_nms(unsigned int xx);void display(unsigned char num);#endif #include #include 24c02.h#include smg.huchar code shuzu=0x0f,0x12,0x14,0x19; /用数组 /内圈大小unsigned char hour,minute,second; unsigned char n,count;unsigned long lengthbuf,lengthvalue;sbit moshi=P26;sbit q1=P14;sbit q2=P15;sbit q3=P16;sbit q4=P17;sbit LED=P27;int timer();void Delay0(int Time);void delay1(void)/大约 1ms 延时,对24C02 每读 or 写操作都有个过程, 需要一个 短延时uint a=1000; while(a-);void main(void) /uchar i;unsigned char i=0 ;unsigned int v=0;/ 运 行速度unsigned char l; / 内 圈大小unsigned int vnow;/ 当 前速度/ u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生寒假应该如何制定学习计划
- 小学教学具体工作计划教学工作计划具体工作措施
- 关于外联部部长工作计划书范本
- 大班安全教育活动计划幼儿安全教育活动计划
- 11月份公司领导工作计划书
- 2024七年级生物下册教学计划
- 2024年医院科室工作计划范文
- 单位领导2024年个人工作计划
- 初三上学期班级工作计划范本
- 高中教学培优补差计划高中生培优补差计划
- SB/T 10408-2013中央储备肉冻肉储存冷库资质条件
- GB/T 40276-2021柔巾
- GB/T 19851.20-2007中小学体育器材和场地第20部分:跳绳
- GB/T 14370-2015预应力筋用锚具、夹具和连接器
- 老旧小区维修改造监理服务方案2
- 财务收支审计课件
- 聚合物锂电制造流程课件
- 老年人能力评估结论告知书
- (完整版)内审检查表(检验检测机构资质认定生态环境监测机构补充要求)
- 超声波悬浮课件
- 九年级政治角度大全
评论
0/150
提交评论