首页 单片机课程设计指导书

单片机课程设计指导书

举报
开通vip

单片机课程设计指导书 单片机课程设计指导书 一、设计内容 (1)智能化数字电压表总体设计方案,合理选择单片机、A/D 转换器、显示器件; (2)根据 A/D 转换器分辨率计算出数字电压表的测量精度和最小输入量值; (3)完成数字电压表硬件和软件程序设计; (4)采用 uVision2 集成开发环境进行调试,并将最程序固化到单片机中; (5)编写出完整的设计报告。 二、基本要求 从单片机最小应用系统基...

单片机课程设计指导书
单片机课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 指导书 一、设计内容 (1)智能化数字电压表总体设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,合理选择单片机、A/D 转换器、显示器件; (2)根据 A/D 转换器分辨率计算出数字电压表的测量精度和最小输入量值; (3)完成数字电压表硬件和软件程序设计; (4)采用 uVision2 集成开发环境进行调试,并将最程序固化到单片机中; (5)编写出完整的设计报告。 二、基本要求 从单片机最小应用系统基本要求出发,拟定一个智能化数字电压表设计方案,合理选择 各种器件。根据所采用 A/D 转换器, 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 计算数字电压表的测量精度。根据所采用的显示器 件,设计合理的 A/D 采样和数字显示程序,要求显示误差满足设计精度,最终实现智能化数 字电压表功能。采用我们研制的单片机专用仿真开发功能板,板上集成了单片机最小应用系 统,从而可以节省时间,将重点放在进一步了解和掌握基于单片机的智能仪表的设计方法上、 了解和掌握单片机智能仪表在线仿真过程,学习软件程序的调试排错方法。基本智能仪表原 理框图如下: 参考原理电路图如下: 单片机 89C51 程序 数据显示 键盘 数据采集接口 控制报警电路 模 拟 电压 参考主程序流程图如下: 开始 初始化 显示提示信息 三、仿真功能板基本功能及技术指标 仿真功能板包括一个完整的单片机基本系统,扩展了 8路 8位逐次逼近式 A/D转换器, 实现对外部输入得模拟信号进行采集,然后通过 MAX7219 驱动 LED 数码管,或者通过并 行接口驱动点阵 LCD 模块,实现显示输出,通过 MAX232 实现电平转换,可以直接与 Pc 机串行口进行通信。仿真功能板上具有实时时钟和多路数据采集功能,可以实现基本直流电 压或电流测量仪表的功能,另外还备有 4*4按键键盘输入接口和用户扩展区,学生可以在 扩展区根据据题需要,搭接出各种外围扩展电路,如键盘接口电路、模拟量输入量程调理电 路、D/A转换接口、I2C卡展接口等。 仿真功能板最重要的功能是可以实现基于单片机的智能化仪器仪表的开发。智能化仪器 仪表不同于传统仪表之处在于前者以单片机作为仪器的核心,当仪器设计完成之后,可以通 过对该仪器进行仿真运行来检验设计是否合理、功能是否完善。所谓仿真运行,就是通过对 仪器内部单片机中的系统程序人为设置单步、断点、运行历史记录等调试手段,根据调试的 结果对设计进行适当修改,以求达到最优化的设计效果。本仿真功能板的研制基于一种新的 仿真方法,即在仪器设计之初,直接在其硬件系统中加入一个调试模块,并设计一段专门用 于调试的监控程序,这样就可以在智能化仪器设计过程直接进行调试。 仿真功能板采用了一种特殊单片机,其内部固化了我们专门设计的一种专用仿真调试监 控程序,利用它与 PC机上高级语言开发环境相配合,可以很容易实现单片机智能化仪器仪 表的仿真开发,仿真调试监控程序仅占 4KB的 ROM空间,并且可以在完成仿真调试之后, 将其从用户系统中取出,保持用户系统的完成性。该仿真功能板经过严格测试,满足如下技 术指标: *. 单一+5V 电源供电。 *. 采用内装专用仿真调试监控代码的 FLASH 单片机,可通过跳线设定仿真调试和全速 运行两种工作方式。可仿真调试 32k/63k 用户程序。 启动 A/D 数据处理 重新启动定时器 时间到? N Y 数据采集 *. MAX232 电平转换器,带 9针串行口插座,可直接与 PC 机进行通信。 *. 采用目前流行 KEIL uVision2 单片机软件环境,可进行 8051 汇编语言和 C51 高级语 言程序的在线仿真调试。 *. 点阵 LCD 显示模块接口,可以直接输出点阵字符。 *. MAX7219 共阴级 LED 驱动器(可选), 直接驱动 4 个(可扩展到 8 个)共阴级数码显示 器。 *. 8 路 8 位 A/D 转换器 0809,带有输入可调电位器,可直接测量 0~5V 输入电压,通 过传感器可测量其他输入模拟量。 *. 单片机全部引脚都引出,可作为仿真插头接口,板上留有充分的用户扩展区,方便进 行各种接口扩展。 四、跳线 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 仿真开发功能板上有几个配置跳线,其作用如表 1所示: 表 1 仿真开发功能板的跳线配置 跳线名 跳线位置 功能作用 说 明 默认位置 VCC EA =1 运行片内程序 JP1 GND EA =0 运行片外程序 VCC R ADC0809_IN0 接电位器 JP2 GND ADC0809_IN0 接地 R USER_PRG 全速运行用户程序 JP4 VCC 仿真调试 VCC 五、软件环境使用说明 在 PC 机上安装 Keil uVision2 软件,完成后先要建立一个项目,如图 1所示,启动 Keil uVision2,单击“Project 菜单/New…”选项: 图 1 建立新项目 从弹出的窗口中, 选择要保存项目的路径, 并输入项目文件名“ADC0809.uv2”, 然后 点击保存按钮,如图 2所示: 图 2 保存新项目 这时会弹出一个选择CPU型号的对话框,可以根据所使用的单片机来选择, 如图 3 所示选择 SST89E564RD, 选定CPU型号之后从窗口右边一栏可以看到对这个单片机的基本说明,点击确 定按钮后会弹出如图 4所示窗口,询问是否要将启动代码“Startup Code”加入到项目中, 对于采用高级语言C51 编写的程序,点击“是”按钮,对于采用汇编语言编写的程序可以不 用启动代码“Startup Code”,因此点击否按钮。 图 3 选择 CPU 图 4 添加启动代码 接下来要创建程序文件,如图 5所示,单击“File 菜单/New…”选项: 图 5 创建程序文件 在弹出的编辑窗口中输入如下汇编语言源程序: COM EQU 50H ; 指令寄存器 DAT EQU 51H ; 数据寄存器 RS EQU P2.1 ; LCD寄存器选择信号 RW EQU P2.2 ; LCD读/写选择信号 E EQU P2.3 ; LCD使能信号 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中断入口 ORG 0030H ;主程序,初始化 MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H MOV 31H,#0A5H MOV 32H,#30H MOV 33H,#30H MOV 34H,#30H MOV R7,#30H LCALL N1 ;显示 Voltage = 0.000 ;*********************定时器初始化程序,要求学生自己编写 ********************** ;定时器 T0设为方式 0 ;装入定时常数 ;启动 T0 ;装入 T0中断次数 ;开中断 ;***************************************************************************** LP: MOV R7,#30H ;显示缓冲区首地址 LCALL DISPLY SJMP LP ;循环显示 ;****** 读取ADC0809第0通道的A/D转换结果并化为显示值,要求学生自己编写******** ; BT0: RETI ;****************************************************************************** DISPLY: ;LCD显示子程序 MOV COM,#8AH LCALL PR1 MOV R1,#05H MOV R0,#30H L: MOV DAT,@R0 LCALL PR2 INC R0 DJNZ R1,L RET ;1. 逐字依次输入方式演示程序段 N1:MOV COM,#01H LCALL PR1 MOV COM,#06H LCALL PR1 MOV COM,#080H LCALL PR1 MOV DPTR,#TAB MOV R2,#10 MOV R3,#00H WRIN: MOV A,R3 MOVC A,@A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN RET TAB: DB "Voltage = "; ; LCD间接控制方式下的初始化子程序 INT: LCALL DELAY ; 调延时子程序 MOV COM,#38H ; 设置工作方式 LCALL PR1 MOV COM,#01H ; 清屏 LCALL PR1 MOV COM,#06H ; 设置输入方式 LCALL PR1 MOV COM,#0EH ; 设置显示方式 LCALL PR1 RET DELAY:MOV R6,#0FH ; 延时子程序 MOV R7,#00H DELAY1: NOP DJNZ R7,DELAY1 DJNZ R6,DELAY1 RET ;LCD间接控制方式的驱动子程序如下 ;1 读 BF和 AC值 PR0: PUSH ACC MOV P0,#0FFH ; P0置位, 准备读 CLR RS ; RS=0 SETB RW; R/W=1 SETB E ; E=1 LCALL DELAY MOV COM,P0 ; 读 BF和 AC6-4值 CLR E ; E=0 POP ACC RET ;2 写指令代码子程序 PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1 PR11:MOV P0,#0FFH; P0置位, 准备读 SETB E ; E=1 LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11;BF=1? CLR RW; R/W=0 MOV P0,COM SETB E ; E=1 CLR E ; E=0; E=0 POP ACC RET ;3 写显示数据子程序 PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1 PR21:MOV P0,#0FFH SETB E ; E=1 LCALL DELAY MOV A,P0 ; 读 BF和 AC6-4值 CLR E ; E=0 JB ACC.7,PR21 SETB RS CLR RW MOV P0,DAT; 写入数据高 4位 SETB E ;CLR RS ; RS=1 CLR E; R/W=0 POP ACC RET ;4 读显示数据子程序 PR3:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1 PR31:MOV P0,#0FFH ; P0置位, 准备读 SETB E ; E=1 LCALL DELAY MOV A,P0 ; 读 BF和 AC6-4值 CLR E ; E=0 JB ACC.7,PR31 SETB RS ; E=1 SETB RW; R/W=1 MOV P0,#0FFH ; 读数据 SETB E ; E=1 MOV DAT,P0 CLR E ; E=0 POP ACC RET END 程序输入完成后,单击“File 菜单/Save as…”选项,如图 6所示: 图 6 另存程序文件 从弹出的窗口中, 选择要保存程序文件的路径, 并输入程序文件名“ADC0809.asm”, 然 后点击保存按钮,如图 7所示: 图 7 保存程序文件 下面需要将刚才创建的程序文件添加到项目中去。先用鼠标左建点击 uVision2 左边“项 目窗口”中“Target 1”前面的“+”号,展开里面的内容“Source Group 1”,然后将鼠标 指向“Sourece Group 1”并单击右键,弹出一个右键菜单,单击右键菜单中的“Add Files to Guoup'Source Group 1'”选项,如图 8所示: 项目窗口 图 8 添加程序文件 从弹出的窗口中选择刚才保存的文件“ADC0809.asm”添加到项目中去,如图 9所示。 图 9 选择添加程序文件 程序文件添加完毕后,还要设置当前项目的目标选项,将鼠标指向“Target 1”并单击 右键, 再从弹出的右键菜单中单击“Options for Target”选项,如图 10 所示: 图 10 设置目标选项 从弹出的“Options”窗口中选择“Target”标签栏,并如图 11 所示设置其中各项: 图 11 设置 Target 选项 重复上述 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 ,从弹出的“Options”窗口中选择“Output”标签栏,并如图 12 所示设 置其中各项: 图 12 设置 Output 选项 重复上述步骤,从弹出的“Options”窗口中选择“A51”标签栏,并如图.13 所示设其 中各项: 图 13 设置 A51 选项 重复上述步骤,从弹出的“Options”窗口中选择“BL51 Locate”标签栏,并如图 14 所示设置其中各项: 图 14 设置 BL51 Locate 选项 重复上述步骤,从弹出的“Options”窗口中选择“Debug”标签栏,并如图 15 所示设 置其中各项: 图 15 设置 Debug 选项 为了使 Keil C51 源程序仿真版能与 PC 机正常通信,还需要设置 COM 端口和波特率,单 击图 15 上部右边的“Settings”按钮,从弹出的窗口中设置 COM 端口和波特率, 如图 16 所示(仿真板可以进行自动波特率调整,降低波特率可提高联机可靠性): 图 16 设置通信波特率 到此为止完成了必要的各项设置,将鼠标指向“项目窗口”中的“Target 1”并单击右 键,再从弹出的右键菜单中单击“Build target”选项,如图 17 所示: 图 17 对当前项目进行编译连接 此时将开始对项目中的程序文件进行编译连接,并生成与项目文件同名的可执行代码及 用于 EPROM 编程的 Hex 文件,如果没有错误 uVision2 将弹出如图 18 所示的提示信息: 编译连接提示信息 图 18 编译连接正确时的提示信息 上述各项设置都完成之后,将仿真功能板上的 JP4 跳线放到 VCC 端,按一下板上的复位 (红色)按钮,这时板上的 LED 电源指示灯将闪动几下,表示正在擦除单片机的片内 FLASH, 准备进入仿真调试。然后单击 uVision2 的“Debug 菜单/Start/Stop Debug Session”选项, 启动仿真调试,如图 19 所示: 图 19 启动仿真调试 如果联机正确进入调试状态后,uVision2 将显示联机状态及监控程序版本号,如图 20 所示: 联机正确后显示监控代码版本号 图 20 启动仿真调试后联机正确的显示状态 这里需要注意的是,由于采用单片机片内 FLASH 存放程序代码来进行仿真调试,每次装 入用户程序代码之前必需将 FLASH 全部擦除,这是通过将跳线块 JP4 放置在 VCC 端(见表 1) 然后按仿真板上的复位键来实现的。如果联机失败将弹出如图 21 所示窗口,这可能是片内 FLASH 没有擦除干净或者 COM 口波特率设置不对,请再按一下仿真功能板上的复位(红色)按 钮,单击窗口中的“Settings…”按钮重设 COM 口和波特率,然后单击“Try Again”按钮, 即可成功联机。如果还不能联机,则需要单击“Stop Debugging”按钮,先退出然后再重新 进入调试状态。 图.21 联机失败的显示窗口 在联机调试状态下可以启动程序全速运行、单步运行、设置断点等,如图 22 所示,单击 “Debug 菜单/Step”选项,启动用户程序作单步运行: 图 22 启动单步运行调试 单步运行时可以通过寄存器窗口中逐条检查指令的执行状态,但每次单步运行都需要对 单片机片内 FLASH 进行反复擦写,而 FLASH 是有一定使用寿命的,因此建议通过设置断点的 方法来调试程序,而不要太多使用单步调试,以延长单片机片内 FLASH 的寿命。例如在 T0 中断入口 000BH 处设置一个断点,然后单击“Debug 菜单/Go”选项,启动程序全速运行, 遇到断点程序将自动停止。此时可以通过“View 菜单”打开存储器窗口和观察窗口来查看 当前程序的执行结果,还可以通过“Peripherals 菜单”打开各种片上集成外围功能窗口来 查看当前片上功能部件的状态,如图 23 所示。 片上外围功能部件窗口 寄存器窗口 存储器窗口 观察窗口 图 23 通过断点运行调试程序 通过调试排除了用户程序中的错误之后,再次启动全速运行,这时从功能板的 LCD 模块 上可以看到先显示“Voltage = ”字样,然后显示 ADC0809 的 A/D 转换结果值,调整功能板 上的电位器可使显示值在 0~5V 之间变化。也可以将功能板 JP4 跳线块放在“USER_PRG”位 置,然后按一下复位键来启动程序全速运行,这时单片机片内 FLASH 中的用户程序代码不会 被擦除,下次上电时会再次自动全速运行。如果将 JP4 跳线块恢复到 VCC 位置,则按下复位 键又会将单片机片内 FLASH 全部擦除,可以进行新的用户程序仿真调试。 功能板的仿真监控程序代码占用了单片机内部定时器 T2 和串行口,在调试用户程序过 程中不能改变 T2 和串行口的设置,否则可能导致无法联机,但在全速运行时用户程序还是可 以使用串行口的。 Keil uVision2 是一种功能十分完善的单片机集成开发环境,其中包含有 80C51 单片机 汇编语言和 C语言编译连接工具,而且还可以在没有单片机硬件系统的条件下实现对用户程 序的模拟仿真调试(Simulator),使用非常方便,关于它的详细介绍请参阅电子工业出版社出 版的《Keil C51 V7.0 单片机高级语言编程与 uVision2 应用实践》一书。
本文档为【单片机课程设计指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_204047
暂无简介~
格式:pdf
大小:522KB
软件:PDF阅读器
页数:19
分类:互联网
上传时间:2011-05-24
浏览量:18