路灯控制系统毕业设计论文.doc_第1页
路灯控制系统毕业设计论文.doc_第2页
路灯控制系统毕业设计论文.doc_第3页
路灯控制系统毕业设计论文.doc_第4页
路灯控制系统毕业设计论文.doc_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

马卫飞单片机论文设计 选取日期 I 摘要摘要 STC89C52RC 单片机是一款八位单片机 他的易用性和多功能性受到了广大使 用者的好评 本系统以毕业设计的题目要求为目的 采用 8051 单片机为控制核心 利用光敏传感器出检测环境的明暗变化以及路灯的工作状态 利用对射式红外线检 测交通的情况 通过在硬件的基础上进行编程 利用软件达到路灯模拟系统的支路 控制器有时钟功能 能设定 显示开关灯时间 并控制整条支路按时开灯和关灯 支路控制器应能根据环境明暗变化 自动开灯和关灯 路控制器应能根据交通情况 自动调节亮灯状态 支路控制器能分别独立控制每只路灯的开灯和关灯时间 当路 灯出现故障时 灯不亮 支路控制器应发出声光报警信号 并显示有故障路灯的地 址编号 整个系统的电路结构简单 可靠性能高 实验测试结果满足要求 采用的技术主要有 1 通过编程来路灯的状态 2 传感器的有效应用 3 新型显示芯片的采用 关键词 关键词 STC89C52RCSTC89C52RC 单片机单片机 声光报警声光报警 光电传感器光电传感器 红外传感器红外传感器 A Abstractbstract The system USES the monolithic STC89C52RC as the core of the system simulation street lamp control Infrared sensor by electric circuit photosensitive feedback circuit keyboard input and digital pipe display circuit LED lamp circuit structure voice and LED indicator light buzzer circuit constant current source circuit The clock by single chip microcomputer system structure using photoconductive resistance induction external environment light and dark change and detection of LED lights using state reflecting photoelectric sensor test the way information Reliable hardware design and optimization software algorithm and independent keyboard and seven period of digital tube makes street lamp of the control system of the operation is simple intuitive system has set up fault alarm function make this a design more humane Keyword Keyword STC89C52RCSTC89C52RC S Singlechipinglechip LEDLED IndicatorIndicator FaultFault alarmalarm 马卫飞单片机论文设计 选取日期 II 目 录 第一章第一章 前前 言言 1 第二章第二章 方案设计与论证方案设计与论证 3 一 直流调速系统 3 二 检测系统 4 三 显示电路 9 四 系统原理图 9 第三章第三章 硬件设计硬件设计 10 一 80C51 单片机硬件结构 10 二 最小应用系统设计 11 三 前向通道设计 12 四 后向通道设计 15 五 显示电路设计 17 第四章第四章 软件设计软件设计 20 一 主程序设计 20 二 显示子程序设计 24 三 避障子程序设计 25 四 软件抗干扰技术 26 五 看门狗 技术 28 六 可编程逻辑器件 29 第五章第五章 测试数据 测试结果分析及结论测试数据 测试结果分析及结论 30 致致 谢谢 31 参参 考考 文文 献献 32 附录附录 A 程序清单程序清单 33 附录附录 B 硬件原理图硬件原理图 41 马卫飞单片机论文设计 选取日期 20 第一章第一章 绪论绪论 随着汽车工业的迅速发展 关于汽车的研究也就越来越受人关注 全国电子大赛和省内电 子大赛几乎每次都有智能小车这方面的题目 全国各高校也都很重视该题目的研究 可见其研 究意义很大 本设计就是在这样的背景下提出的 指导教师已经有充分的准备 本题目是结合 科研项目而确定的设计类课题 设计的智能电动小车应该能够实时显示时间 速度 里程 具 有自动寻迹 寻光 避障功能 可程控行驶速度 准确定位停车 根据题目的要求 确定如下方案 在现有玩具电动车的基础上 加装光电 红 外线 超声波传感器及金属探测器 实现对电动车的速度 位置 运行状况的实时 测量 并将测量数据传送至单片机进行处理 然后由单片机根据所检测的各种数据 实现对电动车的智能控制 这种方案能实现对电动车的运动状态进行实时控制 控制灵活 可靠 精度高 可满足对 系统的各项要求 本设计采用 MCS 51 系列中的 80C51 单片机 以 80C51 为控制核心 利用超声 波传感器检测道路上的障碍 控制电动小汽车的自动避障 快慢速行驶 以及自动停车 并可 以自动记录时间 里程和速度 自动寻迹和寻光功能 80C51 是一款八位单片机 它的易用性和 多功能性受到了广大使用者的好评 它是第三代单片机的代表 第三代单片机包括了 Intel 公司发展 MCS 51 系列的新一代产品 如 8 C152 80C51FA FB 80C51GA GB 8 C451 8 C452 还包括了 Philips Siemens ADM Fujutsu OKI Harria Metra ATMEL 等公司以 80C51 为核心推出的 大量各具特色 与 80C51 兼容的单片机 新一代的单片机的最主要的技术特点是向外部接口电 路扩展 以实现 Microcomputer 完善的控制功能为己任 将一些外部接口功能单元如 A D PWM PCA 可编程计数器阵列 WDT 监视定时器 高速 I O 口 计数器的捕获 比较逻 辑等 这一代单片机中 在总线方面最重要的进展是为单片机配置了芯片间的串行总线 为单 片机应用系统设计提供了更加灵活的方式 Philips 公司还为这一代单片机 80C51 系列 8 C592 单片机引入了具有较强功能的设备间网络系统总线 CAN Controller Area Network BUS 新一代单片机为外部提供了相当完善的总线结构 为系统的扩展与配置打下了良好的基础 本设计就采用了比较先进的 80C51 为控制核心 80C51 采用 CHOMS 工艺 功耗很低 该设计 具有实际意义 可以应用于考古 机器人 医疗器械等许多方面 尤其是 在足球机器人研究方面具有很好的发展前景 在考古方面也应用到了超声波传感器进行检测 所以本设计与实际相结合 现实意义很强 马卫飞单片机论文设计 选取日期 21 第二章第二章 方案设计与论证方案设计与论证 根据题目的要求 确定如下方案 利用光电传感器和红外传感器进行外部路灯状态和交通 状态的信息收集 然后将收集的数据传送至单片机进行处理 然后由单片机根据所检测的各种 数据实现对路灯的智能控制 这种方案能实现对路灯的工作进行实时控制 控制灵活 可靠 精度高 可满足对系统的 各项要求 一一 外部环境明暗的检测单元外部环境明暗的检测单元 方案一 采用光敏二极管感受外届光照变化 无光照时 有很小的饱和反向漏电流 二极管 截止 光照时反向电流增大 形成光电流 方案二 采用光敏电阻对光源的感应改变自身电阻 由电压比较器提取之间电压 考虑到 电阻变化的灵敏度 采用两个光敏电阻串联的方式 通过改变与光敏电阻串联的电位器的值可 以调节光敏电阻的感光范围 考虑到现实中声光控制技术的运用已经证明了光敏电阻完全可以达到要求 且价格便宜 电路简单 综合考虑以上方案采用光敏电阻 二二 路况的检测单元路况的检测单元 方案一 采用摄像头或探测头收集路面上信息 用这种方法 对路面信息处理准确 但是 成本过高 数据处理量大 对硬 软件的要求都非常高 短时间内难以实现 方案二 使用反射式红外二极管和接收管组成发射 接收器 由于红外光波长比可见光长 因此受可见光的影响比较小 同时 红外对管还具有以下优点 质量轻 灵敏度高 线性好 接口电路比较简单 安装方便 足够满足对本系统中物体检测的要求 基于以上原因 选用了 成本较低的方案二 三三 处理器的选择处理器的选择 单片机 STC89C52RC 作为模拟路灯控制系统的核心 STC89C52RC 具有许多优点 RAM ROM 空间大 指令周期短 运算速度快 低功耗 低电压 可编程音频处理 易于编 程和调试 本题要求支路控制器有声光报警功能 由此看来单片机STC89C52RC 更具有优 越性 马卫飞单片机论文设计 选取日期 22 第三章第三章 硬件设计硬件设计 一个单片机应用系统的硬件电路设计包含有两部分内容 一是系统扩展 即单片机内部的 功能单元 如 ROM RAM I O 口 定时 记数器 中断系统等能量不能满足应用系统的要求时 必须在片外进行扩展 选择适当的芯片 设计相应的电路 二是系统配置 既按照系统功能要 求配置外围设备 如键盘显示器 打印机 A D D A 转换器等 要设计合适的接口电路 一一 80C5180C51 单片机硬件结构单片机硬件结构 80C51 单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路 芯片上 2 如果按功能划分 它由如下功能部件组成 即微处理器 数据存储器 程序存储器 并行 I O 口 串行口 定时器 计数器 中断系统及特殊功能寄存器 它们都是通过片内单一总 线连接而成 其基本结构依旧是 CPU 加上外围芯片的传统结构模式 但对各种功能部件的控制 是采用特殊功能寄存器的集中控制方式 1 微处理器微处理器 该单片机中有一个 8 位的微处理器 与通用的微处理器基本相同 同样包括了运算器和控 制器两大部分 只是增加了面向控制的处理功能 不仅可处理数据 还可以进行位变量的处理 2 数据存储器数据存储器 片内为 128 个字节 片外最多可外扩至 64k 字节 用来存储程序在运行期间的工作变量 运算的中间结果 数据暂存和缓冲 标志位等 所以称为数据存储器 3 程序存储器程序存储器 由于受集成度限制 片内只读存储器一般容量较小 如果片内的只读存储器的容量不够 则需用扩展片外的只读存储器 片外最多可外扩至 64k 字节 4 中断系统中断系统 具有 5 个中断源 2 级中断优先权 5 定时器定时器 计数器计数器 片内有 2 个 16 位的定时器 计数器 具有四种工作方式 6 串行口串行口 1 个全双工的串行口 具有四种工作方式 可用来进行串行通讯 扩展并行 I O 口 甚至 与多个单片机相连构成多机系统 从而使单片机的功能更强且应用更广 马卫飞单片机论文设计 选取日期 23 7 P1 口 P2 口 P3 口 P4 口 为 4 个并行 8 位 I O 口 8 特殊功能寄存器特殊功能寄存器 共有 21 个 用于对片内的个功能的部件进行管理 控制 监视 实际上是一些控制寄存 器和状态寄存器 是一个具有特殊功能的 RAM 区 由上可见 80C51 单片机的硬件结构具有功能部件种类全 功能强等特点 特别值得一提 的是该单片机 CPU 中的位处理器 它实际上是一个完整的 1 位微计算机 这个一位微计算机有 自己的 CPU 位寄存器 I O 口和指令集 1 位机在开关决策 逻辑电路仿真 过程控制方面非 常有效 而 8 位机在数据采集 运算处理方面有明显的长处 MCS 51 单片机中 8 位机和 1 位机 的硬件资源复合在一起 二者相辅相承 它是单片机技术上的一个突破 这也是 MCS 51 单片 机在设计的精美之处 二二 最小应用系统设计最小应用系统设计 80C51 是片内有 ROM EPROM 的单片机 因此 这种芯片构成的最小系统简单 可靠 用 80C51 单片机构成最小应用系统时 只要将单片机接上时钟电路和复位电路即可 如图 3 1 80C51 单片机最小系统所示 由于集成度的限制 最小应用系统只能用作一些小型的控制单元 其应用特点 1 有可供用户使用的大量 I O 口线 2 内部存储器容量有限 3 应用系统开发具有特殊性 图 3 1 80C51 单片机最小系统 1 时钟电路 时钟电路 80C51 虽然有内部振荡电路 但要形成时钟 必须外部附加电路 80C51 单片机的时钟产 马卫飞单片机论文设计 选取日期 24 生方法有两种 内部时钟方式和外部时钟方式 本设计采用内部时钟方式 利用芯片内部的振荡电路 在 XTAL1 XTAL2 引脚上外接定 时元件 内部的振荡电路便产生自激振荡 本设计采用最常用的内部时钟方式 即用外接晶体 和电容组成的并联谐振回路 振荡晶体可在 1 2MHZ 到 12MHZ 之间选择 电容值无严格要求 但电容取值对振荡频率输出的稳定性 大小 振荡电路起振速度 有少许影响 CX1 CX2 可在 20pF 到 100pF 之间取值 但在 60pF 到 70pF 时振荡器有较高的频 率稳定性 所以本设计中 振荡晶体选择 6MHZ 电容选择 65pF 在设计印刷电路板时 晶体和电容应尽可能靠近单片机芯片安装 以减少寄生电容 更好 的保证振荡器稳定和可靠地工作 为了提高温度稳定性 应采用 NPO 电容 2 复位电路 复位电路 80C51 的复位是由外部的复位电路来实现的 复位引脚 RST 通过一个斯密特触发器用来抑制噪 声 在每个机器周期的 S5P2 斯密特触发器的输出电平由复位电路采样一次 然后才能得到内部 复位操作所需要的信号 复位电路通常采用上电自动复位和按钮复位两种方式 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的 只 要 Vcc 的上升时间不超过 1ms 就可以实现自动上电复位 时钟频率用 6MHZ 时 C 取 22uF R 取 1K 除了上电复位外 有时还需要按键手动复位 本设计就是用的按键手动复位 按键手动复 位有电平方式和脉冲方式两种 其中电平复位是通过 RST 端经电阻与电源 Vcc 接通而实现的 按键手动复位电路见图 3 2 时钟频率选用 6MHZ 时 C 取 22uF Rs 取 200 RK取 1K 马卫飞单片机论文设计 选取日期 26 图图 3 2 80C51 复位电路 马卫飞单片机论文设计 选取日期 27 三三 键盘输入及数码管显示电路键盘输入及数码管显示电路 四四 LED 灯电路构成灯电路构成 马卫飞单片机论文设计 选取日期 28 LED 的内在特征决定了它是最理想的光源去代替传统的光源 它有着广泛的用途 体积小 LED 基本上是一块很小的晶片被封装在环氧树脂里面 所以它非常的小 非常的轻 耗电量低 LED 耗电非常低 一般来说 LED 的工作电压是 2 3 6V 工作电流是 0 02 0 03A 这就是说 它 消耗的电不超过 0 1W 灯体内也没有松动的部分 这些特点使得 LED 可以说是不易损坏的 五五 蜂鸣器发生及蜂鸣器发生及 LED 指示灯电路指示灯电路 蜂鸣器是一种一体化结构的电子讯响器 采用直流电压供电 广泛应用于计算机 打印机 复印机 报警器 电子玩具 汽车电子设备 电话机 定时器等电子产品中作发声器件 蜂 鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型 而我们用的是压电式蜂鸣器 图如上所 示 当我们是 pnp 三极管工作在饱和状态时 三极管输出低电平 反之三级管输出高电平 使 得蜂鸣器发出声音 六六 故障检测电路故障检测电路 马卫飞单片机论文设计 选取日期 29 七七 直流稳压电路直流稳压电路 三端集成稳压电路 这是一种集成电路的稳压电路 其功能是稳定直流输出电压 这种集 成电路只有三根引脚 使用很方便 在许多场合都有着广泛应用 稳压电路的作用是使得输出 的直流电压在电网电压或负载电流发生变化时保持稳定 它由电源变压器 整流电路 滤波电 路 稳压电路等4部分组成的 变压器的作用是将交流市电变换成所需要的交流电压 整流电路 的作用是将交流电变换成单向脉动直流电 滤波电路的作用是将脉动电压中的脉动成分去掉 输出比较平滑的直流电压 稳压电路的作用是使得输出的直流电压在电网电压或负载电流发生 变化时保持稳定 马卫飞单片机论文设计 选取日期 30 马卫飞单片机论文设计 选取日期 31 第四章第四章 软件设计软件设计 系统软件设计说明 在进行微机控制系统设计时 除了系统硬件设计外 大量的工作就是如何根据每个生产对 象的实际需要设计应用程序 因此 软件设计在微机控制系统设计中占重要地位 对于本系统 软件更为重要 在单片机控制系统中 大体上可分为数据处理 过程控制两个基本类型 数据处理包括 数据的采集 数字滤波 标度变换等 过程控制程序主要是使单片机按一定的方法进行计算 然后再输出 以便控制生产 为了完成上述任务 在进行软件设计时 通常把整个过程分成若干个部分 每一部分叫做 一个模块 所谓 模块 实质上就是所完成一定功能 相对独立的程序段 这种程序设计方法 叫模块程序设计法 模块程序设计法的主要优点是 1 单个模块比起一个完整的程序易编写及调试 2 模块可以共存 一个模块可以被多个任务在不同条件下调用 3 模块程序允许设计者分割任务和利用已有程序 为设计者提供方便 本系统软件采用模块化结构 由主程序 定时子程序 避障子程序 中断子程序显示子程 序 调速子程序 算法子程序构成 一一 主程序设计主程序设计 主程序清单如下 软件流程 如图 4 1 流程图所示 马卫飞单片机论文设计 选取日期 I 马卫飞单片机论文设计 选取日期 32 图 4 1 流程图 马卫飞单片机论文设计 选取日期 33 二二 显示子程序设计显示子程序设计 程序清单如下 三三 避障子程序设计避障子程序设计 程序清单如下 程序清单如下 四四 看门狗看门狗 技术技术 PC 受到干扰而失控 引起程序乱飞 也可能使程序陷入 死循环 6 指令技术 软 件陷阱技术不能使失控的程序摆脱 死循环 的困境 这时系统完全瘫痪 如果操作者在 场 就可以按下人工复位安钮 强制系统复位 但操作者不能一直监视着系统 也往往是 在引起不良后果之后才进行人工复位 为使程序脱离 死循环 通常采用 看门狗技术 看门狗 技术就是不断监视程序循环运行时间 若发现时间超过已知的循环设定时间 则认为系统陷入了 死循环 然后强迫程序返回到 0000H 入口 在 0000H 处安排一段出 错处理程序 使系统运行纳入正规 看门狗 技术可由硬件实现 可由软件实现 也可由两者结合实现 本系统采用硬 件 看门狗 电路 实现硬件 看门狗 电路方案较多 目前采用较多的方案有以下几种 1 采用微处理器监控器 2 采用单稳态电路来实现 看门狗 单稳定电路可采用 74LS123 3 采用内带震荡器的记数芯片 本设计采用第三种方案实现 看门狗 电路 下面就对该方案作以介绍 1 基本原理 CD4060 是带震荡器的 14 位计数器 由该芯片构成的看门狗电路如图 4 2 看门狗电路 图所示 4060 记数频率由 RT和 CT决定 设实际的程序所需工作周期为 T 分频器记满时间为 T 当 T T 且系统正常工作时 程序每隔 T 对 4060 进行扫描一次 分频且永无记满输出 信号 如系统工作不正常 如程序跑飞 死循环等 程序对 4060 发不出扫描信号 分频 器记满输出一脉冲号使 CPU 复位 2 参数选择 4060 的振荡频率 f 由 RT CT决定 Rs用于改善振荡器的稳定性 Rs 要大于 RT 一 般取 Rs 10RT 且 RT 1k CT 100pF 如果 Rs 450 RT 45 CT 1uF 则 f 10HZ 4060 的振荡频率和 Qi i 6 7 8 9 10 12 13 14 的选择要根据情况确定 3 几个原则 看门狗电路必须由硬件逻辑组成 不宜由可编程计数器充当 因为 CPU 失控后 可能 会修改可编程器件参数 使看门狗失效 4060 的 RST 线上阻容组成的微分电路很重要 因为扫描输入信号是 CPU 产生的正脉冲 若此信号变 1 后 由于干扰 程序乱飞 微分电路只能让上跳沿通过 不会封死 马卫飞单片机论文设计 选取日期 34 4060 看门狗仍能计数起作用 若没有微分电路 扫描输入信号上的 1 状态封死 4060 使之不能记数 看门狗不起作用 图 4 2 看门狗电路图 CPU 必须在正确完成所有工作后才能发扫描输入信号 且程序中发扫描信号的地方不 能太多 否则 正好在哪里有死循环 看门狗就不产生记满输出信号 不能重新启动 CPU 4060 的记满输出信号不但要接到 MCS 51 的 RST 脚 而且还应接到其它芯片的 RST 脚 因为程序乱飞后 其它具有 RST 脚的芯片也混乱了 必须全部复位 马卫飞单片机论文设计 选取日期 35 4系统测试 4 1 总功率测量 室温条件下 输 入信 号 频率 幅度 测量时域总功 率 w 测量频域总 功率 w 理论值估算误差 100Hz 1 Vpp0 127 0 129 0 125 1 2 正 弦波 1KH 1 Vpp 0 1260 129 0 125 1 3 0 783 0 761 X 5 音频 信号 20Hz 10KHz 20mVpp 5Vpp 1 803 1 777 X 5 结果分析 由于实验室提供的能够模仿音频信号的且能方便测量的信号只有正弦信号 所以我们用一款比较差点的信号发生器产生信号 然后进行测量 发现误差不达 在 5 以内 我们以音频信号进行测量 由于其实际值无法测量 所以我们只能根据时域和频域 马卫飞单片机论文设计 选取日期 36 以及估计其误差 都在 5 以内 4 2 单个频率分量测量 室温条件下 输入信号频率幅度最大功率 频点 最大功率 频点功率 次大功率频 点 次大功率频 点功率 正弦波 500Hz100mVpp 500Hz1 20mw 520Hz0 04mW 正弦波 5KHz1Vpp 5KHz 120mw 5 02KHz3 56mw 音频信号 20Hz 10K X 880Hz 23mw 600Hz 4 3mw 结果分析 我们首先以理论上单一频率的正弦波为输入信号 在理想状况下 其频谱 只在正弦波频率上有值 而由于有干扰 所以在其他频点也有很小的功率 音频信号由于有多个频点 所以没有一定的规律性 由于音频信号波动较大 没有一 定的规律 且实验室没有专门配置测量仪器 所以我们只好以正弦波和三角波作为信号进 行定量分析测量 以及对音频信号进行定性的分析和测量 我们发现其数字和用电脑模拟 的结果符合得很近 5 5 结论结论 本设计以单片机 STC89C52RC 系统为核心部件 采用光电检测技术 通过软件分时复用控制算法对系统进行优化 分模块实现赛题要求 在系统设计过程中 充分利用单片机的强大功能 力求以方便灵活的软 件编程简化复杂难调的硬件电路 满足系统设计要求 坚持 人性化 理 念 在具体设计中 使用键盘输入 七段数码管显示形成较为友好的人机交 互界面 整机操作简单 使用方便 并很好的完成竞赛的全部要求 本设计主要特色 采用全集成混合信号在线系统单片机 STC89C52RC 主控系统 提高系统运行速度 简化硬件设计 优化的软件算法 智能化的自动控制 传感器检测系统 采用光敏电阻与光耦传感器 信号通过光电耦合器传递 实现控制电路与供电驱动电路隔离 声光告警指示 电路 在本次设计过程中 我们三人通力合作 排除万难 终于按时完成了赛 题设计任务 在这短短的四天三夜比赛过程中我们不仅提高了自己解决问题 的能力 而且深深体会到团队协作精神的重要性 参考文献 信号与系统 ALAN V OPPENHEIM 著 西安 西安交通大学出版社 1997 年 马卫飞单片机论文设计 选取日期 37 数字图像处理学 元秋奇著 北京 电子工业出版社 2000 年 模拟电子线路基础 吴运昌著 广州 华南理工大学出版社 2004 年 数字电子技术基础 阎石著 北京 高等教育出版社 1997 年 数据结构与算法 张晓丽等著 北京 机械工业出版社 2002 年 ARM sbit J1 P1 0 sbit J2 P1 1 sbit J3 P1 2 sbit J4 P1 3 sbit J5 P1 4 马卫飞单片机论文设计 选取日期 39 sbit J6 P1 5 sbit J7 P1 6 sbit J8 P1 7 以下是对 8255 的端口地址的宏定义 define a8255 XBYTE 0X0FF7C define b8255 XBYTE 0X0FF7D define c8255 XBYTE 0X0FF7E define con8255 XBYTE 0X0FF7F define uchar unsigned char Unsignedcharcode table 0 xfc 0 x60 0 xda 0 xf2 0 x66 0 xb6 0 xbe 0 xe0 0 xfe 0 xf6 0 xee 0 x3e 0 x9c 0 x7a 0 x9e 0 x8e 此为自己做的板子上的数码管显示编码 以下是对时分秒变量的声明 int scount 0 这是中断次数的计数寄存器 unsigned int second 0 unsigned int minute 0 unsigned int hour 0 unsigned int hour zong 7 unsigned int hour zong c 10 unsigned int minute zong 0 unsigned int minute zong c 0 unsigned int hour zhi 1 13 unsigned int hour zhi 1 c 16 unsigned int minute zhi 1 0 unsigned int minute zhi 1 c 0 unsigned int hour zhi 2 20 unsigned int hour zhi 2 c 22 unsigned int minute zhi 2 0 unsigned char minute zhi 2 c 0 unsigned int zong unsigned int zong k unsigned int zong c unsigned int zhi 2 unsigned int zhi 2 k unsigned char zhi 2 c unsigned int zhi 1 unsigned int zhi 1 k unsigned int zhi 1 c 马卫飞单片机论文设计 选取日期 40 以下是按键复用的变量的声明 unsigned char x 0 unsigned char y 0 unsigned char z 0 按键扫描部分 判断哪一个按键被按下 unsigned char temp temp1 temp2 unsigned char key 0 unsigned char key down 0 unsigned char key2 0 unsigned char a b k 以下是一段大约 6ms 的延时 void delay uchar i j k for i 1 i 0 i for j 2 j 0 j for k 200 k 0 k 以下是一段大约防抖的延时 void delay 1 uchar d e f for d 10 d 0 d for e 10 e 0 e for f 200 f 0 f 以下是声光报警部分的延时程序 void delay 2 uchar ii jj kk for ii 2 ii 0 ii for jj 50 jj 0 jj for kk 100 kk 0 kk 马卫飞单片机论文设计 选取日期 41 以下是 8255 的初始化 void init8255 con8255 0 x80 c8255 0 xff colse light 以下是定时器 0 的初始化 void timer0 init TMOD 0X01 TH0 65536 50000 256 TL0 65536 50000 256 EA 1 TR0 1 ET0 1 关闭定时器 0 void close timer EA 0 ET0 0 TR0 0 以下是定时器 0 的定时部分也是中断服务子程序 void timer0 void interrupt 1 using 1 TH0 65536 50000 256 TL0 65536 50000 256 scount if scount 20 scount 0 second if second 60 second 0 minute 马卫飞单片机论文设计 选取日期 42 if minute 60 minute 0 hour if hour 24 hour 0 以下是定时器 0 的数码管显示部分 人机对话窗口 void display b8255 0 x40 a8255 table second 10 delay b8255 0 x80 a8255 table second 10 delay b8255 0 x10 a8255 table minute 10 delay b8255 0 x20 a8255 table minute 10 delay b8255 0 x04 a8255 table hour 10 delay b8255 0 x08 a8255 table hour 10 delay void display zong b8255 0 x40 a8255 table 0 马卫飞单片机论文设计 选取日期 43 delay b8255 0 x80 a8255 table 0 delay b8255 0 x10 a8255 table minute zong 10 delay b8255 0 x20 a8255 table minute zong 10 delay b8255 0 x04 a8255 table hour zong 10 delay b8255 0 x08 a8255 table hour zong 10 delay void display zong c b8255 0 x40 a8255 table 0 delay b8255 0 x80 a8255 table 0 delay b8255 0 x10 a8255 table minute zong c 10 delay b8255 0 x20 a8255 table minute zong c 10 delay b8255 0 x04 a8255 table hour zong c 10 马卫飞单片机论文设计 选取日期 44 delay b8255 0 x08 a8255 table hour zong c 10 delay void display zhi 1 b8255 0 x40 a8255 table 0 delay b8255 0 x80 a8255 table 0 delay b8255 0 x10 a8255 table minute zhi 1 10 delay b8255 0 x20 a8255 table minute zhi 1 10 delay b8255 0 x04 a8255 table hour zhi 1 10 delay b8255 0 x08 a8255 table hour zhi 1 10 delay void display zhi 1 c b8255 0 x40 a8255 table 0 delay b8255 0 x80 a8255 table 0 delay b8255 0 x10 a8255 table minute zhi 1 c 10 delay 马卫飞单片机论文设计 选取日期 45 b8255 0 x20 a8255 table minute zhi 1 c 10 delay b8255 0 x04 a8255 table hour zhi 1 c 10 delay b8255 0 x08 a8255 table hour zhi 1 c 10 delay void display zhi 2 b8255 0 x40 a8255 table 0 delay b8255 0 x80 a8255 table 0 delay b8255 0 x10 a8255 table minute zhi 2 10 delay b8255 0 x20 a8255 table minute zhi 2 10 delay b8255 0 x04 a8255 table hour zhi 2 10 delay b8255 0 x08 a8255 table hour zhi 2 10 delay void display zhi 2 c b8255 0 x40 a8255 table 0 delay b8255 0 x80 a8255 table 0 马卫飞单片机论文设计 选取日期 46 delay b8255 0 x10 a8255 table minute zhi 2 c 10 delay b8255 0 x20 a8255 table minute zhi 2 c 10 delay b8255 0 x04 a8255 table hour zhi 2 c 10 delay b8255 0 x08 a8255 table hour zhi 2 c 10 delay void display 1 b8255 0 x01 a8255 table 1 delay void display 2 b8255 0 x02 a8255 table 2 delay 按键扫描控制部分 void keyscan con8255 0 x89 read 8255 port c temp c8255 read 8255c low 4 key down temp temp1 temp key ascii temp if temp1 0 x0f delay 马卫飞单片机论文设计 选取日期 47 if temp1 0 x07 key 1 delay 1 delay 1 else if temp1 0 x0b key 2 delay 1 delay 1 else if temp1 0 x0d key 3 delay 1 delay 1 temp2 temp key ascii temp if temp2 0 xf0 delay if temp2 0 xe0 key 4 delay 1 delay 1 else if temp2 0 xd0 key 5 delay 1 delay 1 else if temp2 0 xb0 key 6 delay 1 delay 1 else if temp2 0 x70 key 7 delay 1 delay 1 修改按键的键值 void modify keyvalue uchar i if x 0 if i 1 修改秒的值 i 0 close timer second if second 60 second 0 else if i 2 修改分的值 i 0 close timer minute if minute 60 minute 0 else if i 3 修改小时的值 i 0 close timer hour if hour 24 hour 0 else if i 4 开始启动定时器 马卫飞单片机论文设计 选取日期 48 i 0 timer0 init else if i 5 记 5 号键的值 让五号按键的值加一 i 0 close timer x else if i 6 启动定时器 并且给五号键清 0 i 0 x 0 timer0 init if x 1 unsigned char aa 200 for aa 200 aa 0 aa display zong if i 2 修改总路开灯时间的分值 i 0 close timer minute zong if minute zong 60 minute zong 0 display zong else if i 3 修改总路开灯时间的小时值 i 0 close timer hour zong if hour zong 24 hour zong 0 display zong else if i 4 开始启动定时器 i 0 timer0 init 马卫飞单片机论文设计 选取日期 49 else if i 5 记 5 号键的值 让五号按键的值加一 i 0 close timer x else if i 6 启动定时器 并且给五号键清 0 i 0 x 0 timer0 init if x 2 unsigned char bb 200 for bb 200 bb 0 bb display zong c if i 2 修改总路的关灯的时间的分值 i 0 close timer minute zong c if minute zong c 60 minute zong c 0 display zong c else if i 3 修改总路的关灯的时间的小时值 i 0 close timer hour zong c if hour zong c 24 hour zong c 0 display zong c else if i 4 开始启动定时器 i 0 timer0 init 马卫飞单片机论文设计 选取日期 50 else if i 5 记 5 号键的值 让五号按键的值加一 i 0 close timer x else if i 6 启动定时器 并且给五号键清 0 i 0 x 0 timer0 init if x 3 unsigned char cc 200 for cc 200 cc 0 cc display zhi 1 if i 2 修改支路一开灯的时间分值 i 0 close timer minute zhi 1 if minute zhi 1 60 minute zhi 1 0 display zhi 1 else if i 3 修改支路一开灯的时间小时值 i 0 close timer hour zhi 1 if hour zhi 1 24 hour zhi 1 0 display zhi 1 else if i 4 开始启动定时器 i 0 timer0 init 马卫飞单片机论文设计 选取日期 51 else if i 5 记 5 号键的值 让五号按键的值加一 i 0 close timer x else if i 6 启动定时器 并且给五号键清 0 i 0 x 0 timer0 init if x 4 unsigned char dd 200 for dd 200 dd 0 dd display zhi 1 c if i 2 修改支路一关灯的时间分值 i 0 close timer minute zhi 1 c if minute zhi 1 c 60 minute zhi 1 c 0 display zhi 1 c else if i 3 修改支路一关灯的时间分值 i 0 close timer hour zhi 1 c if hour zhi 1 c 24 hour zhi 1 c 0 display zhi 1 c else if i 4 开始启动定时器 i 0 timer0 init 马卫飞单片机论文设计 选取日期 52 else if i 5 记 5 号键的值 让五号按键的值加一 i 0 close timer x else if i 6 启动定时器 并且给五号键清 0 i 0 x 0 timer0 init if x 5 unsigned char ee 200 for ee 200 ee 0 ee display zhi 2 if i 2 修改支路二开灯的时间分值 i 0 close timer minute zhi 2 if minute zhi 2 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论