做jsp毕业设计源代码 然后可以利用代码让其比较智能化

当前位置: >>
毕业设计智能化风扇控制器的设计
智能化风扇控制器的设计序言自然风是指自然界里的天然阵风,风量时大时小,给人以舒适感觉。在生活 中,我们可以感受自然风给我们带来的清爽,也可以享受空调带来的阵阵凉意。 风扇虽然在一定程度上给人们的生活带来了便捷,而电风扇的风量则不同, 它是固定不变的,虽然配以摇头装置,仍不能达到自然风的效果。长时间吹固定 不变的风量, 不但会感到不舒服, 而且对人的健康也不利, 随着变频空调的发明, 我们设想能否设计一种风扇,其工作效果可以象变频空调一样,象自然风一样, 来解决经济条件还没有能接受空调或在一些不适合使用空调的地方的人们生活 矛盾。 解决的方法是给电风扇安装一个摸拟自然风控制器, 有了它可使电风扇发出 变化的风量, 好像自然界里的天然阵风, 这种模拟自然风对老人和小孩尤为适宜, 同时设计的风扇具备多档定时功能,也使其适合夜间睡眠使用。 该设计控制器期望能达到长期可靠运行,风扇速度可调节并不少于 8 档,能 实现定时关机。风扇能模拟自然风,其转速能由快到慢,再由慢到快反复循环。 在本次设计, 制作, 调试过程中得到了李月红老师的大力支持, 指导和帮助。 特此表示感谢!××××× 第1页共 36 页 第1章智能化风扇控制器硬件设计1.1 智能化风扇控制器系统设计方案及简介方案一:采用数字电路控制。其原理方框图如图 1-1 所示。采用数字集成电 路通过对脉冲振荡器的调节和脉冲计数实现定时关机。电路可由可控式振荡器、 脉冲计数与分频器、脉冲译码与分配器与晶闸管触发电路。但是不能随意控制档 速,而且硬件的连接有些复杂。不够实用。脉冲发生器 (脉冲信号源)计数与分频译码分配执行单元张弛式振荡器图 1-1 数字电路控制方案方案二:采用单片机控制。利用单片机丰富的 I/O 端口,及其控制的灵活性, 采用数模转换实现基本的调速功能、还有时钟显示功能。其原理如图 1-2 所示。 通过比较以上两种方案, 单片机有较大的活动空间, 既能实现所要求的功能, 又能在很大的程度上扩展功能,而且可以方便的对系统进行升级,所以我们采用 后一种方案[1]。第2页共 36 页 数显开关控制89C51 单片机数模转换执行单元晶振放大稳压图 1-2 单片机控制方案1.2 单片机外围电路设计1.2.1 AT89C51 简介 AT89C51 是 AT89C52 是美国 ATMEE 公司生产的低电压,高性能 CMOS 8 位单 片机,片内含 8k bytes 的可反复擦写的只读程序存储器(PEROM)和 256 bytes 的随机存取数据存储器(RAM ),器件采用 ATMEE 公司的高密度、非易失性存储技 术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处 理器(CPU)和 Flash 存储单元,功能强大 AT89C52 单片机适合于许多较为复杂控 制应用场合,可灵活应用于各种控制领域[2]。 (1) 特性概述: 工串行通信口,片内振荡器及时钟电路。同时,AT89C52 可降至 0Hz 的静 态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工 作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方 式保存 RAM 的内容, 但振荡器停止工作并禁止其它所有部件工作直到下一个 硬件复位。 (2).主要性能参数: ?与 MCS-51 产品指令和引脚完全兼容第3页共 36 页 ?4k 字节可重擦写 Flash 闪速存储器 ?1000 次擦写周期 ?全静态操作:0Hz-24MHz ?三级加密程序存储器 ?126 *8 字节内部 RAM ?32 个可编程 I/0 口线 ?2 个 16 位定时/计数器 ?6 个中断源 ?可以编程串行 UART 通道 ?低功耗空闲和掉电模式 (3)引脚功能说明: VCC:电源电压 GND:地P0:P0 口是一组 8 位漏级开路型双向 I/O 口, 也即地址/数据总线复用口。作为输出口用时,每 位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对图 1-3 89C52 管脚图端口 P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储 器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部 上拉电阻。在 Flash 编程时,P0 口接受指令字节,而在程序校验时,输出指令 字节,校验时,要求外接上拉电阻。 P1:P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱 动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电 阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电 阻,某个引脚被外部信号拉低时会输出一个电流(IIL) ,与 AT89S51 不同之处是, P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入(P1.0/T2)和输入 (P1.1/T2EX)见下表(表 1-1)Flash 编程和程序校验期间,P1 接收低 8 位地 址。引脚号 P1.0 P1.1 功能特性 T2(定时/计数器 2 外部技术脉冲输入) ,时钟输出 T2EX(定时/计数 2 捕获/重装载触发和方向控制)表 1-1 P1.0 P1.1 特殊功能第4页共 36 页 P3:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动 (吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上 拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电 流(IIL) 。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能。见 下表(表 1-2) RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平 将使单片机复位。 ALE/ PROG :当访问外部程序存储器和数据存储器时,ALE(地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节, 一般情况下, 仍以时钟震荡频率的 1/6 ALE 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每 当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引 脚还用于输入编程脉冲( PROG ) 。如有必要,可通过对特殊功能寄存器(SFR) 区中的 8EH 单元的 D0 位置位,可禁止 ALE 的操作。该位置位后,只有一条 MOVC 和 MOVX 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机型外部程序 时,应设置 ALE 禁止位无效。表 1-2 P3 口特殊功能PSEN :程序存储允许( PSEN )外部程序存储器的读选通信号,当 AT89C52有外部程序存储器取指令(或数据)时,每个机器周期两个 PSEN 有效,即输出 两个脉冲。在此期间,当访问外部数据存储器时,将跳过两个 PSEN 信号。第5页共 36 页 EA/VPP : 外 部 访 问 允 许 。 欲 使 CPU 仅 访 问 外 部 程 序 存 储 器 ( 地 址 为 0000H-FFFFH)端必须保持低电平(接地) 。需要注意的是:如果加密位 LB1 被编 程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 VCC 端) ,CPU 则执行 内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电 源 Vpp,当然这必须是该器件使用是 12V 的编程电压 Vpp 。 1.2.2 单片机电路设计 在本模块中单片机基本工作电路有 4 种电路: 电源电路、 控制电路、 晶振电路、 引脚电路, EA 单片机基本模块 如图 1-4 所示。[4] [3]图 1-4 单片机模块电路1.电源电路 主电源引脚: 40 引脚 VCC:接+5V 电源正端。 20 引脚 VSS: 接+5V 电源地端。第6页共 36 页 2.控制电路 开关引脚 P3.4 P3.5 口:控制风扇风俗,高电平有效。 3.晶振电路 AT89C52 单片机片内含有一个高增益的反相放大器,通过 X1,X2 外接作为反 馈元件的晶体后便成为自激振荡器,如图 1-5 所示: X1:振荡器反向放大器的及内部时钟发生器的输入端。 X2:振荡器方向放大器的输出端。图 1-5 晶振电路4. EA 引脚电路 EA 引脚功能为内外程序存储器选择,其引脚连接如图 1-7 所示: EA 为高电平时,单片机访问内部程序存储器,但在 PC 值超过 0FFFH 时,将 自动向执行外部程序存储器内的程序。 EA 为低电平时,单片机则只访问外部程序存储器,而不管它是否有内部程 序存储器。所以在我们这个系统中,EA 接+5V 高电平。图 1-6 EA 引角图第7页共 36 页 1.3 显示电路设计1.3.1 数码管应用设计 1.数码管简介 设计选用七段发光二极管(LED)数码管,LED 数码管是目前最常用的数字显 示器,图 1-9(a)、(b)为共阴管和共阳管的电路,(c)为两种不同出线形式的引 出脚功能图。 一个 LED 数码管可用来显示一位 0~9 十进制数和一个小数点。小型数码管 (0.5 寸和 0.36 寸)每段发光二极管的正向压降,随显示光(通常为红、绿、 黄、橙色)的颜色不同略有差别,通常约为 2~2.5V,每个发光二极管的点亮电 流在 5~10mA。LED 数码管要显示 BCD 码所表示的十进制数字就需要有一个专门的译码器, 该译码器 不但要完成译码功能,还要有相当的驱动能力。图 1-8 74HC245 管脚图第8页共 36 页 (a) 共阴连接( “1”电平驱动)(b) 共阳连接( “0”电平驱动)(c) 符号及引脚功能 图 1-9 LED 数码管2. 扫描方式 动态扫描:单片机 P0 口是段码,低电平有效。P2 口是位码,高电平有效。 各个数码管的段码都是 P0 口的输出,即各个数码管输入的段码都是一样的, 为 了使其分别显示不同的数字, 可采用动态显示的方式,即先只让最低位显示所要 数据,经过一段延时,再让次低位显示次低位数据,如此类推。由视觉暂留,只 要我们的延时时间足够短, 就能够使得数码的显示看起来非常的稳定清楚。 因为 动态扫描利用了人眼的视觉暂留效果, 周期动态的扫描, 一个端口可以挂几个数 码管,节省端口资源。 静态扫描:静态扫描一个端口只挂一个数码管,每个端口都需要 8 位的段位 驱动显示段码。静态扫描相对于动态扫描有一定的局限性,多用于个数较少的数 码管显示。 设计采用动态扫描方式,用单片机 P0 口作为数码管段位控制; 口通过译 P2 码器选通数码管[5]。 这里为了能使数码管正常工作如图 1-10 所示接了上拉电阻,使得有足够的 电流使数码管工作!第9页共 36 页 图 1-10 数码管图1.4 数模转换电路设计DAC0808 为 8 位 D/A 转换器件。当输入数据全为 0 时,其输出电压接近零; 当输入数据全为 1 时,其输出电压最高,电压值由基准电压 VREF 决定。待用的 基准电压为 15V, 而输入数据在 00H-FFH 之间变化, D/A 输出的电压有 256 种。 即 由此计算出电源精度为 15V/256=0.05859 约为 0.06V。若要输出 6V 的直流电压, 则输入数据=6/0.06=100,转换成十六进制为 64H。只要输出 6V 的直流电压,则 输出数据 6V 的电压。该电压经过预防 TL082 去推动 LM317,有 LM317 出处余姚 的电压值实现了数控调节电压。 (DAC0808 芯片如图 1-11 所示)图 1-11DAC0808 芯片图第 10 页共 36 页 1.4.1 运放电路介绍 TL082 是一个输入宽带高速运算放大器能放大来自 DAC0808 的电压。 (内部 结构图及个引脚图如图 1-12 所示)图 1-12TL082 内部结构图及引脚图1.4.2 稳压部分介绍 LM317 是个稳压块起到稳定来自 TL082 的电压。稳定的出处到用电器。实物 图如图 1-13 所示!图 1-13LM317 实物图第 11 页共 36 页 第 2 章 智能风扇控制器软件的设计2.1软件总体设计方案流程图该系统软件主要由中断模块、主程序模块、时间处理模块和电压模块。2.1.1 主程序模块 如图 1-14 所示。图 1-14 主程序模块流程2.1.2 中断模块程序框图 如图 1-15 所示。图 1-15 中断子程序模块第 12 页共 36 页 2.1.3 电压子程序模块 它是控制风扇转速的,具体流程图见图 1-16图 1-16 电压子程序流程第 13 页共 36 页 2.1.4 时间处理子程序模 如见图 1-17图 1-17时间处理子程序流程第 14 页共 36 页 第 3 章 仿真软件 MedWin3.1 仿真软件介绍MedWin 是万利电子有限公司 Insight 系列仿真开发系统的高性能集成开发 环境。集编辑、编译/汇编、在线及模拟调试为一体,VC 风格的用户界面,内嵌 自主版权的宏汇编器和连接器, 并完全支持 Franklin/Keil C 扩展 OMF 格式文件, 支持所有变量类型及表达式,配合 Insight 系列仿真器,是开发 80C51 系列单片 机的理想开发工具。 MedWin 仿真软件不仅支持 A51 汇编语言,而且与 Keil 配合使用可以对 C51 进行仿真。系统默认 C 编译器为 C51.EXE,连接器为 BL51.EXE 或 L51.EXE,INC 文件指向与 BIN 目录相同层的 INC 目录,LIB 文件指向与 BIN 目录相同层的 LIB 目录[10]。3.2 仿真的步骤第一步:关闭当前项目文件 命令:[项目管理/ 关闭当前项目] 不使用MedWin 集成开发环境项目管理方式开发应用程序,用户必须关闭已 经打开的项目,此时MedWin 集成开发环境关闭界面上所有的窗口。因为当打开 项目文件后,MedWin 集成开发环境默认所有编译/ 汇编、产生代码的过程都是 对项目或项目所包含的文件进行的。 第二步:在文件菜单下打开应用程序 命令:[文件| 新建] 或 [文件| 打开] 1. 点击[文件|新建],输入文件名和扩展名,新建文件 2. 点击[文件|打开],选择文件捡取框中的文件将其打开。 第三步:编译/汇编第 15 页共 36 页 命令:[项目管理|编译/汇编] MedWin 集成开发环境根据文件的扩展名,自动对当前激活的文件选择调用 外部编译器或汇编器: 1. 如果当前文件的扩展名为ASM 或系统定义的扩展名,编译/ 汇编命令调 用外部汇编命令对当前文件汇编 2. 如果当前文件的扩展名为C 或系统定义的扩展名,编译/ 汇编命令调用 外部C 编译命令对当前文件编译执行[项目管理| 编译/ 汇编]命令后产生的结 果显示在消息框中。 第四步:错误信息关联 MedWin集成开发环境调用外部命令编译/汇编后产生的结果,显示在消息窗 口中,消息窗口可由热键Ctrl+9 激活。当编译/ 汇编发生错误时,消息窗口中 的错误信息自动与源文件关联,提示出错的位置。在消息窗口中错误提示处双击 鼠标左键或键入回车,可将错误信息与源文件的错误位置关联: 1. 如果编译/ 汇编没有错误,可进入第五步操作 2. 如果编译/ 汇编出现错误,在修改源文件后重复进行第三步操作 第五步:产生代码并装入仿真器调试 命令:[项目管理| 产生代码] 或[项目管理| 产生代码并装入]。 产生代码或产生代码并装入命令对经过编译/汇编无误后产生的OBJ文件进 行连接产生用于下载的代码。此命令自动地对修改过的源程序进行编译或汇编, 对没有修改过的程序将越过编译或汇编过程,然后连接所有的OBJ,LIB 文件, 再装载代码到仿真器, 完成调试程序所需的准备工作。 装载完成后, “Loading 出现 program“ (项目名)字样。 第六步:产生代码并装入仿真器 命令:[项目管理| 产生代码并装入] 命令:[项目管理| 重新产生全部代码] 产生代码或产生代码并装入命令,对经过编译/汇编无误后产生的OBJ文件进 行连接,产生用于下载的代码。此命令对修改过的源程序自动进行编译或汇编, 否则将越过编译或汇编过程进行连接,并装载代码到仿真器,完成调试文件所需 的准备工作。第 16 页共 36 页 1. 使用产生代码命令,项目管理器会自动判别文件是否需要重新编译/ 汇 编,提高调试效率。 2. 使用产生代码并装入命令,项目管理器会自动判别文件是否需要重新编 译/ 汇编,并将产生的代码下载到仿真器,提供调试运行使用重新产生全部代码 命令, 项目管理器会对所有文件重新编译/ 汇编, 并将产生的代码下载到仿真器, 提供调试运行。第 17 页共 36 页 第4章 运行与调试单片机应用系统样机组装好以后,便可进入系统的在线(联仿真器)调试, 其主要任务是排除样机硬件故障,并完善其硬件结构,试运行所设计的程序,排 除程序错误,优化程序结构,使系统达到期望的功能,进而固化软件,使其产品 化。4.1 调试前的准备1.所需测试设备和测试仪表 直流稳压电源一台 MedWin 仿真机一台 电脑一台 万用表一个 2.准备所需的技术文件电路原理图,和相关技术文件。了解被测设备的基本 工作原理,主要技术指标。电路安装完毕,首先直观检查电路各部分接线是否正 确, 检查电路元件焊接是否正确, 有无虚焊的现象。 注意元件的位置, 管子型号, 管脚是否接对。认为一切正确后,可进行调试[11]。4.2 系统的调试4.2.1 硬件调试 单片机应用系统的硬件和软件调试使交叉进行的, 但通常是先排除样机中明 显的硬件故障,尤其是电源故障,才能安全地和仿真器连接,进行综合调试。 1. 常见的硬件故障 (1) 逻辑错误 样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性能所造成的。 这 类错误包括时序不匹配、错误、开路、相位错。其中由于印制版质量不好所造成第 18 页共 36 页 的开路和短路是最常见的。 (2) 元器件失效 元器件失效的原因有两个方面:一是器件本身已损坏或性能差,诸如器件型 号选择不当、电气性能达不到要求等;二是由于组装错误造成的元件失效,诸如 电容、二极管、三极管的极性安装错误或集成块安装方向错误等。 (3)电源故障 若样机中存在电源故障,则加电后将造成元器件损坏,因此电源必须单独调 试好以后才加到系统的各个部件中。电源的故障包括:电压值不符合设计要求, 电源引出线和插座不对应,各档电源之间的短路,变压器功率不足,内阻大,负 载能力差等[12]。 2.硬件调试方法 在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细 检查线路的正确性。应特别注意电源的走线,防止电源之间的短路和极性错误, 是否存在相互间的短路或与其他信号线的短路。 第二步是加电后检查各插件上引脚的电位,仔细测量各点电位是否正常,尤 其应注意单片机插座上的各点电位,若有高压,联机时会烧坏仿真机。 第三步是在不加电情况下,除单片机以外,插上所有的元器件,最后用仿真 机连接,为联机调试做准备。4.2.2 软件调试 1.常见的软件错误 (1) 程序失效 错误的现象是当以断点或连续方式运行时,目标系统没有按规定的功能进行 操作或什么结果也没有,这是由于程序转移到意外之处或在某处死循环所造成 的。这类错误的原因有:程序中转移地址计算错误、堆栈溢出工作寄存器冲突等。 在采用实时多任务操作系统时,错误可能在操作系统中,没有完成正确的任务调 度操作,也可能在高优先级任务程序中,该任务不释放处理机,使 CPU 在该任务中 死循环。 (2)中断错误第 19 页共 36 页 这种错误是 CPU 循环地响应某一个中断,使 CPU 不能正常地执行或其它的中 断服务程序。这种错误大多数发生在外部中断中.若外部中断一电平触发方式请 求中断,当中断服务程序没有有效清除外部中断源。 (3)输入/出错误 这类错误包括输入/出操作操作杂乱无章或更本不动作,错误的原因有:输入 /输出程序没有和 I/O 硬件协调好;时间上没有同步;硬件中还存在故障。 2.软件调试方法: 软件调试与所选用的软件结构设计技术有关。如果采用实时多任务操作系 统, 一般是逐个任务进行调试。 在调试某一个任务时, 同时也调试相关的子程序、 中断服务程序和一些操作系统的程序。 若采用模块程序设计技术, 则逐个模块 (子 程序、中断程序、I/O 程序等)调试以后,再联系成一个大的程序。然后进行系 统程序综合调试。 本次软件调试过程采用由点带面的方法进行, 先对各个子程序进行一个一个 的调试,逐步磨合,在完成了各个模块的调试后,对系统进行了总的调试。综合 调试一般采用全速断点运行方式, 主要是为了排除系统中的遗留错误以提高系统 的动态性和精度。在综合调试最后阶段,应使用目标系统的晶振频率工作,使系 统全速运行目标程序,实现了预定功能的技术指标后,便可将软件固化,然后在 运行固化程序的目标程序,成功后即可脱机工作。 总程序的调试过程中我们对各个子程序进行了设断点的方法对它们的工作 情况进行测试,防止子程序之间的相互冲突。对于出现问题的子程序用单步执行 的方法,同时观察内存区域,判断各个寄存器的工作情况,来发现错误。4.3 调试过程中遇到的问题及其解决方法在硬件和程序的调试过程中,遇到了许许多多的问题。这些问题有的是由于 自己的粗心造成的,有的是因为自己的基础知识不扎实造成的。许多方面凑在一 起,酿成了一个个的问题。 1.单片机的P0口驱动共阴数码管, 数码管不能正常工作, 这是因为P0口内部 没有上拉电阻的原因 。一定要接限流电阻,电阻的大小为200-300欧姆左右。 2.在焊接好电路板以后,接上220V的交流市电,发现电源指示灯无显示,经第 20 页共 36 页 过检测,原来是稳压块装反了,而且有点虚焊的现象。 3.通电仿真时数码管显示乱码,考虑可能是硬件或者软件有问题,首先检查 硬件,发现本应装共阳极的数码管,装成了共阴的数码管,后经更正,问题排除。 4.一切正常以后,数码管出现了显示相反的结果,很明显是数码管显示程序 中,应加个非号,经过编译仿真,显示正常。 5.CPU不响应任何中断,这错误是由于连续运行时不执行中断服务程序的规 定操作,当断点设在中断入口或中断服务程序中时不到断点。错误的原因是:中 断控制寄存器(IE,IP)的初值不正确,使CPU没有开放中断或不允许某个中断请 求。 6.目标系统基本上已能正常操作,但是控制有误动作或者输出的结果不正 确,这是由于计算机程序中的错误引起的。第 21 页共 36 页 参考文献[1]王松武.电子创新设计与实践[M].北京:国防工业出版社,2005. [2]周明德.微型计算机系统原理及应用[M].北京:清华大学出版社,2003. [3]余永权.ATMEL89 系列单片机应用技术[M].北京: 航空航天大学出版社, 2002. [4]格拉夫(美).电子线路设计速查手册[M].福建:科学技术出版社,2005. [5]吕杨 刘瑞敏 .微型计算机原理、 接口及应用[M]. 四川:重庆大学出版, 2000. [6]百孥雳著,北大宏博改编.Protel PCB 99 电路设计快易通[M].北京:北京大 学出版社,2001 [7]何立民.MCS-51 单片机应用系统设计[M].北京:航空航天大学出版社,1990 [8]康华光.电子技术基础[M].北京:高等教育出版社,1999. [9]白云生, 鄢光辉. 浅谈 51 单片机在出租车计价器的应用研究[J]. 科技信 息 , 2006, (05). [10] 马 鸿 文 . 新 一 代 出 租 车 计 价 器 微 机 实 际 系 统 [J]. 微 计 算 机 应 用 , 2005,(06) . [11]MAX2620 Data Sheet.Maxim Integrated Products,Inc[J].July
[12]Rhea,Randall W.Oscillator Designand Computer Simulation, Edition[J] Atlanta: Noble publishing,1995第 22 页共 36 页 致谢在本次毕业设计中, ×××老师不仅提供了丰富的资料, 而且对于设计方案, 硬件的调试,给予了许多的理论和技术上的指导。在调试的后期,正是由于老师 的正确指导,才少走了很多的弯路。这其中既要用到以前电子线路、数字电路等 学科中所学的硬件电路的知识。 任务书下达后, 由于自己对所要设计的课题不是太精通, 所以不知从何下手。 但是经过指导老师的指导和自己的刻苦钻研, 在调试时,我深刻认识到,我们很多的知识只是停留在理论阶段,所学的都 是理论知识,很少触及到实践。虽然以前曾有一些课程设计,汇编语言的实验也 不少,但指导书对课程设计内容和过程讲解的很详细,而毕业设计是要求我们自 己独立的去完成,把所学的理论知识运用到实践中去。在调试过程中,也遇到了 很多困难, 由于用到了许多以前没见过的指令, 而且程序相对以前来说复杂的多, 因此程序的运行也就出现了一些混乱。 总之,通过这次毕业设计,是我们了解到,毕业设计不是对单一的某一门课 的知识的应用,而是对大学里所学的多门课的知识的综合应用;也不是对各门课 的理论知识的简单组合,而是将这些知识运用到实践中去。这次毕业设计使我们 将大学四年来所学的知识联贯复习一遍。在应用中更加深刻地理解和掌握了,更 重要的是,他使的我们对学科之间的相互联系和应用有了一定的基础,同时,更 深刻理解了严谨的科学学习态度是设计的根本。 最后,感谢我的导师×××老师,你严谨细致、一丝不苟的作风一直是我工 作、学习中的榜样;你循循善诱的教导和不拘一格的思路给予我无尽的启迪。第 23 页共 36 页 附录附录一:智能化风扇控制电路原理图第 24 页共 36 页 附录 2 智能化风扇控制电路实物图第 25 页共 36 页 附录 3:原器件明细表 第 26 页 共 36 页 序号 1 2 3 4 5 6 7 8原件名称 DAC088 89C51 数码管 TL082 排阻 电容 104μF 电容 30PF 电容 10μ/16V数量 1 1 2 1 300*8 1 2 19电 容 22000 1μ/25V10 11 12 13 14电阻 5K 电阻 10K 电阻 1K 电阻 47K3 2 1 1电阻 220 欧 1 /1W15电阻 1 欧 1 /3W附录 4:程序 第 27 页 共 36 页 SEC EQU 30H MIN EQU 31H org 0000H sjmp main org 000开始main: MOV P1,#00H; SETB P2.5;继电器 SETB P3.6 SETB P3.7 SETB P3.5;关 SETB P3.4;减 SETB P3.3;加 MOV sp,#50h MOV TH0,#3CH MOV TL0,#0B0H MOV TMOD,#01H MOV R7,#20 ;50MS 软件计数器 MOV SEC,#0 ;秒计数器 MOV MIN,#0 ;分计数器 SETB EA SETB ET0 SETB TR0 main0: Acall start sjmp main0 ;开中断 ;中断初始化ct:第 28 页共 36 页 MOV TH0,#3CH;初始化中断MOV TL0,#0B0H MOV TMOD,#01H DJNZ R7,CTF ;判断软件计数器是否到了MOV R7,#20 ;重新赋软件计数器的值 INC SEC CTF:RETI ;1 秒自加;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; time:MOV A,SEC CJNE A,#60,TIME1 ;判断秒是否为 60 INC MIN MOV SEC,#0 ;分加 1 ;秒清零TIME1:JNB P2.5,TIME2 JNB P3.6,TIME2 JNB P3.7,TIME2 MOV A,MIN CJNE A,#1,TIMEF CLR P2.5 CLR P3.6 CLR P3.7 MOV MIN,#0 TIMEF:RET TIME2:MOV A,MIN CJNE A,#1,TIMEF SETB P2.5 SETB P3.6 SETB P3.7 ;开风扇 MOV MIN,#0 ;分清零 ;如果是关着则在 20 分后开启 ;分清零 ;若是开着则在 5 分关 ;判断当前状态;关风扇第 29 页共 36 页 SJMP TIMEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; start: V5: LCALL DELAY2; MOV P1,#53H; B5: MOV P0,#B; SETB P2.6 CLR P2.7 LCALL DELAY; MOV P0, #B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.4,T; JNB P3.3,V6; JNB P3.5,S1; LCALL time JMP B5 T:LJMP V12; S1:LJMP STOP ;5vV6:第 30 页共 36 页 LCALL DELAY2; MOV P1,#64H; B6: MOV P0,#B; CLR P2.6; CLR P2.7; LCALL DELAY; MOV P0, #B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.5,S2; JNB P3.4,V5; JNB P3.3,V7; LCALL time JMP B6 S2:LJMP STOPV7: LCALL DELAY2; MOV P1,#74H; B7: MOV P0,#B; SETB P2.6; CLR P2.7; LCALL DELAY; MOV P0 ,#B; CLR P2.6; SETB P2.7;第 31 页共 36 页 LCALL DELAY; JNB P3.5,S3; JNB P3.4,V6; JNB P3.3,V8; LCALL time JMP B7 S3:LJMP STOP;V8: LCALL DELAY2; MOV P1,#85H; B8: MOV P0,#B; CLR P2.6; CLR P2.7; LCALL DELAY; MOV P0 ,#B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.5,S4; JNB P3.4,V7; JNB P3.3,V9; ACALL time JMP B8 S4:LJMP STOP;V9:第 32 页共 36 页 LCALL DELAY2; MOV P1,#96H; B9: MOV P0,#B; CLR P2.6; CLR P2.7; LCALL DELAY; MOV P0 ,#B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.5,S5; JNB P3.4,V8; JNB P3.3,V10; ACALL time JMP B9 S5:LJMP STOP;V10: LCALL DELAY2; MOV P1,#0A6H; B10: MOV P0,#B; SETB P2.6 CLR P2.7 LCALL DELAY; MOV P0 ,#B; CLR P2.6; SETB P2.7;第 33 页共 36 页 LCALL DELAY; JNB P3.5,STOP; JNB P3.4,V9; JNB P3.3,V11; ACALL time JMP B10; S6:LJMP STOP;V11: LCALL DELAY2; MOV P1,#0B7H; B11: MOV P0,#B; SETB P2.6; CLR P2.7; LCALL DELAY; MOV P0, #B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.5,STOP; JNB P3.4,V10; JNB P3.3,V12; ACALL time JMP B11;V12:第 34 页共 36 页 LCALL DELAY2; MOV P1,#0C8H; B12: MOV P0,#B; SETB P2.6; CLR P2.7; LCALL DELAY; MOV P0, #B; CLR P2.6; SETB P2.7; LCALL DELAY; JNB P3.5,STOP; JNB P3.4,V11; JNB P3.3,T2; ACALL time JMP B12; T2:LJMP V5;STOP:; LCALL DELAY2; MOV P1,#00H;;STOP2: ;SETB P2.5; ;MOV P0,#B; ;SETB P2.6; ;CLR P2.7; ;LCALL DELAY ;MOV P0,#B; ;SETB P2.7;第 35 页共 36 页 ;CLR P2.6; ;LCALL DELAY; ;JNB P3.5,ST; ;JNB P3.4,ST; ;JNB P3.3,ST; ;JMP STOP2;DELAY: MOV R2,#5 L1: MOV R3,#250 DJNZ R3,$ DJNZ R2,L1 RETDELAY2: MOV R6,#3 D2: MOV R4,#200 D3:MOV R5,#248 DJNZ R5,$ DJNZ R4,D3 DJNZ R6,D2 RETEND第 36 页共 36 页
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 毕业设计代码查重吗 的文章

 

随机推荐