单片机课程设计指导书
单片机课程设计指导书
一、设计内容(1)智能化数字电压表总体设计方案,合理选择单片机、A/D转换器、显示器件;(2)根据A/D转换器分辨率计算出数字电压表的测量精度和最小输入量值:(3)完成数字电压表硬件和软件程序设计:(4)采用uVision2集成开发环境进行调试,并将最程序固化到单片机中;(5)编写出完整的设计报告。二、基本要求从单片机最小应用系统基本要求出发,拟定一个智能化数字电压表设计方案,合理选择各种器件。根据所采用A/D转换器,分析计算数字电压表的测量精度。根据所采用的显示器件,设计合理的A/D采样和数字显示程序,要求显示误差满足设计精度,最终实现智能化数字电压表功能。采用我们研制的单片机专用仿真开发功能板,板上集成了单片机最小应用系统,从而可以节省时间,将重点放在进一步了解和掌握基于单片机的智能仪表的设计方法上、了解和掌握单片机智能仪表在线仿真过程,学习软件程序的调试排错方法。基本智能仪表原理框图如下:模拟数据采集接口数据显示单片机由氏89C51控制报警电路键盘程序参考原理电路图如下:LCD1REFS1311
一、设计内容 (1)智能化数字电压表总体设计方案,合理选择单片机、A/D 转换器、显示器件; (2)根据 A/D 转换器分辨率计算出数字电压表的测量精度和最小输入量值; (3)完成数字电压表硬件和软件程序设计; (4)采用 uVision2 集成开发环境进行调试,并将最程序固化到单片机中; (5)编写出完整的设计报告。 二、基本要求 从单片机最小应用系统基本要求出发,拟定一个智能化数字电压表设计方案,合理选择 各种器件。根据所采用 A/D 转换器,分析计算数字电压表的测量精度。根据所采用的显示器 件,设计合理的 A/D 采样和数字显示程序,要求显示误差满足设计精度,最终实现智能化数 字电压表功能。采用我们研制的单片机专用仿真开发功能板,板上集成了单片机最小应用系 统,从而可以节省时间,将重点放在进一步了解和掌握基于单片机的智能仪表的设计方法上、 了解和掌握单片机智能仪表在线仿真过程,学习软件程序的调试排错方法。基本智能仪表原 理框图如下: 参 考原理电 路图如下 : 单片机 89C51 程序 数据显示 键盘 数据采集接口 控制报警电路 模 拟 电压
参考主程序流程图如下:开始1初始化+显示提示信息★N时间到?Y启动A/D数据采集文数据处理1重新启动定时器±三、仿真功能板基本功能及技术指标仿真功能板包括一个完整的单片机基本系统,扩展了8路8位逐次逼近式A/D转换器,实现对外部输入得模拟信号进行采集,然后通过MAX7219驱动LED数码管,或者通过并行接口驱动点阵LCD模块,实现显示输出,通过MAX232实现电平转换,可以直接与Pc机串行口进行通信。仿真功能板上具有实时时钟和多路数据采集功能,可以实现基本直流电压或电流测量仪表的功能,另外还备有4*4按键键盘输入接口和用户扩展区,学生可以在扩展区根据据题需要,搭接出各种外围扩展电路,如键盘接口电路、模拟量输入量程调理电路、D/A转换接口、I2C卡展接口等。仿真功能板最重要的功能是可以实现基于单片机的智能化仪器仪表的开发。智能化仪器仪表不同于传统仪表之处在于前者以单片机作为仪器的核心,当仪器设计完成之后,可以通过对该仪器进行仿真运行来检验设计是否合理、功能是否完善。所谓仿真运行,就是通过对仪器内部单片机中的系统程序人为设置单步、断点、运行历史记录等调试手段,根据调试的结果对设计进行适当修改,以求达到最优化的设计效果。本仿真功能板的研制基于一种新的仿真方法,即在仪器设计之初,直接在其硬件系统中加入一个调试模块,并设计一段专门用于调试的监控程序,这样就可以在智能化仪器设计过程直接进行调试。仿真功能板采用了一种特殊单片机,其内部固化了我们专门设计的一种专用仿真调试监控程序,利用它与PC机上高级语言开发环境相配合,可以很容易实现单片机智能化仪器仪表的仿真开发,仿真调试监控程序仅占4KB的ROM空间,并且可以在完成仿真调试之后,将其从用户系统中取出,保持用户系统的完成性。该仿真功能板经过严格测试,满足如下技术指标:*.单一+5V电源供电。*.采用内装专用仿真调试监控代码的FLASH单片机,可通过跳线设定仿真调试和全速运行两种工作方式。可仿真调试32k/63k用户程序
参考主程序流程图如下: 开始 初始化 显示提示信息 三、仿真功能板基本功能及技术指标 仿真功能板包括一个完整的单片机基本系统,扩展了 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机进行通信。*,采用目前流行KEILuVision2单片机软件环境,可进行8051汇编语言和C51高级语言程序的在线仿真调试。*,点阵LCD显示模块接口,可以直接输出点阵字符。*:MAX7219共阴级LED驱动器(可选),直接驱动4个(可扩展到8个)共阴级数码显示器。*。8路8位A/D转换器0809,带有输入可调电位器,可直接测量0~5V输入电压,通过传感器可测量其他输入模拟量。*,单片机全部引脚都引出,可作为仿真插头接口,板上留有充分的用户扩展区,方便进行各种接口扩展。四、跳线说明仿真开发功能板上有几个配置跳线,其作用如表1所示:表1仿真开发功能板的跳线配置跳线名跳线位置说明默认位置功能作用VCC运行片内程序EA-IJP1VCCGND运行片外程序EA=0RADC0809_INO接电位器RJP2GNDADC0809_INO接地USER_PRG全速运行用户程序JP4VCCVCC仿真调试五、软件环境使用说明在PC机上安装KeiluVision2软件,完成后先要建立一个项目,如图1所示,启动KeiluVision2,单击“Project菜单/New..”选项:磁ion2File Edit Yiew ProjectDebug Plash Peripherals Iool- SvCS Yindow HelpHew Project.智品日部Import μVisionl Project.恒国包口Open ProjectlseProte国Components.Environment,Books.ProjectworkspaceSoSEnoc TargeRemoveTeeALETUptonwBudtargeE7d Rebuid i target iletaTrneleteCLFPTnStoprntld图1建立新项目从弹出的窗口中,选择要保存项目的路径,并输入项目文件名“ADCO809.uv2”,然后点击保存按钮,如图2所示:
*. 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 所示:
DL-151XEile Edit Zies Erejeet Bbug Pigsh Fugiphurds Iools SVCS Lindov HalpDA2H6eEEkttc姐#中风生区兴区-ProjecfWorkspaceXCrate lw Frojoet2区操存在()日口国0809文件名ADC0809. w9保荐保存类型()PrejeetPiles(ruv2.酒DFile5国euidCommandFindinFiesOVRRY图2保存新项目这时会弹出一个选择CPU型号的对话框,可以根据所使用的单片机来选择,如图3所示选择SST89E564RD,选定CPU型号之后从窗口右边一栏可以看到对这个单片机的基本说明,点击确定按钮后会弹出如图4所示窗口,询问是否要将启动代码“StartupCode”加入到项目中,对于采用高级语言C51编写的程序,点击“是”按钮,对于采用汇编语言编写的程序可以不用启动代码“StartupCode”,因此点击否按钮。Ha区A000消Eile Edit Yiey Eroeet mebue Pliash Peripherals Tools Svcs Yindow Hely百2年花ort口A区a@Select Device for Target Target CPU中图Projact WorkspacVendor:SST国自aDevice:SST89564RnUse Extended LinkerQx51)insteadofBt5Fonily:MCS-51Data baseDesgriptionSSASST89C54SST89C58SST89C59SST89E554STR9FSE4RSSTB9ES64RI取准销定自FilesRegsOVRR/N图3选择CPU
图 2 保存新项目 这时会弹出一个选择CPU型号的对话框,可以根据所使用的单片机来选择, 如图 3 所示选择 SST89E564RD, 选定CPU型号之后从窗口右边一栏可以看到对这个单片机的基本说明,点击确 定按钮后会弹出如图 4 所示窗口,询问是否要将启动代码“Startup Code”加入到项目中, 对于采用高级语言C51 编写的程序,点击“是”按钮,对于采用汇编语言编写的程序可以不 用启动代码“Startup Code”,因此点击否按钮。 图 3 选择 CPU