当前位置:文档之家› 单片机课程设计指导书[2012级本一]

单片机课程设计指导书[2012级本一]

单片机原理及其应用 课程设计指导书(2012级本一执行)南通大学电气工程学院自动化系2014年12月目录第一章集成开发环境简介1.1 Keil C51简介 (1)1.2 uVision5 集成开发环境 (1)第二章设计内容2.1 键盘和数码管显示设计 (12)2.2串行口收发设计 (13)2.3 数字电压表设计 (14)2.4 实时时钟设计 (15)2.5 音乐播放器设计 (16)附录 1 字模生成软件简要说明 (18)更多参考资料:网盘“2012级单片机学习”—〉“20周本一课程设计”文件夹下资料。

其中:1、谱曲学习--课程设计优必要条件:用于2.5 音乐播放器设计;2、硬件验证用文件夹资料,用于硬件验证,主要有:(1)串口调试助手UartAssist3.6;(2)STC单片机ISP下载工具STC-ISP-V4.83;(3)CH340 USB-232驱动;第一章 集成开发环境简介1.1 Keil C51简介Keil C51软件是原德国Keil 公司(现已并入ARM 公司)开发的功能完善的C51开发软件,近年来在国内得到了迅速普及。

Keil 包括以下几个部分:uVision5 IDE 、C51编译器、A51汇编器、LIB 库管理器、BL51连接器/定位器、uVision 硬件调试器、RTX51实时多任务操作系统。

用户可以向ARM 公司或国内代理商购买正版软件或索取Demo 版本,也可以直接到 网站下载评估版本(2K 代码限制)。

1.2 uVision5 集成开发环境uVision5集成开发环境如图1-1所示,有编辑、项目、输出等窗口和File 、Edit 、View 、Project 、Debug 、Periherals 、Tools 、SVCS 、Windows 、Help 等下拉菜单。

图1-1 uVision5 集成开发环境项目名称栏 工具菜单栏 快捷图标 存储器观察输出信息窗程序编辑区 工程项目窗口1.2.1 创建、保存工程文件在uVision5环境下,使用工程来管理各个文件。

为了开始新的工程,选择“Project->New uVision Projiect ”选项,出现如图1-2所示界面。

然后选择此新工程要保存的路径,键入项目名称并保存,后缀“.uvproj ”系统会自动添加,如图1-3所示。

注意项目名称最好不要超过8个字符、与软件编程时变量的命名习惯一致(尽量不要采用中文、不要以数字开头,以免出现不可预料错误)。

图1-3 保存新工程图1-2 创建新工程1.2.2 MCU选择接着系统出现“Select Device for Target”界面,要求选择目标硬件系统的MCU,如图1-4所示。

选择要开发的目标硬件系统的MCU,点击“确定”即可。

教材所使用单片机,选择Atlmel的AT89S51。

1.2.3 添加源文件如图1-5所示,在“Target 1/Source Group 1”上点击右键,选择“/Add Existing Files to Group ‘Source Group 1’”后,出现如图1-6所示界面,选择添加所要的源程序。

图1-4 MCU选择图1-5 添加源文件源程序包括“*.C”、“*.ASM”、“*.LIB”、“*.A51”等,在“文件类型”中选择对应类型文件,再选择相应源程序文件即可,如图1-6所示。

图1-6 选择待添加的源文件1.2.4 目标硬件系统配置源程序添加完毕后,进行“Option for Target”的设定。

在菜单栏中,选择“Project/Option for Target…”,出现如图1-7所示界面。

图1-7 目标硬件系统配置1如果要调试AT89S51之类的双DPTR机型,在Target选项卡中,选中Use multiple DPTR registers 选项;如果仅使用片内程序存储器,勾选Use On-chip Rom(0x0-0xfff) 选项;如果是用C51编程,可以点击Memory Model、Code Rom Size的下拉框箭头进行选择;如果要用嵌入式实时操作系统,如RTX51,可点击Operating system下拉框箭头进行选择。

点击Output选项卡,选中Crest Hex File 选项,如图1-8所示,在编译时系统将会自动生成目标代码文件*.HEX;此文件通常用在:(1)用Proteus软件仿真时,作为源程序加载到仿真单片机中;(2)通过“编程器”,将此文件烧写到单片机程序存储器中(如AT89S51);(3)通过ISP下载软件,将此文件写入到单片机程序存储器中(如STC89C52)。

图1-8 目标硬件系统配置21.2.5 Debug选项配置点击 Debug选项卡,如图1-9所示,可以选择各种仿真模式等。

图1-9 debug配置uVision5的仿真模式分为Use Simulator(软件仿真)和Use(硬件仿真)2种。

其中Use Simulator选项是将uVision5调试器设置成软件模拟仿真模式,在此模式下不需要实际的目标硬件就可以模拟8051单片机的很多功能。

Use Simulator中的“Load Application at Startup”是装入程序的复选框,“Run till main()”是表示从应用程序的主函数开始执行的复选框。

除非有特殊情况,一般都同时使用这两复选框。

Use选项有高级的GDI驱动(ICES仿真器)和各种仿真器硬件驱动。

运用此功能可以把Keil C51 嵌入到自己的系统中去,从而实现在目标硬件上调试程序。

选择“Load Application at Startup”,在启动时直接装载程序,选择“Run till main()”,在用C51开发时,装载后直接运行到main函数。

1、Proteus虚拟硬件仿真:选择Proteus VSM Monitor-51 Driver硬件驱动即可。

2、仿真器实际硬件仿真:一般选择Keil Monitor-51 Driver硬件驱动。

图1-10 硬件仿真驱动选择硬件仿真模式下还需配置波特率等,点击“Settings”选项,如图1-11所示。

图1-11 串口等配置选择“Serial Interrupt”,在前面打勾,否则装载过程中,仿真器会发出“嘀”一声长声报警,仿真结果将可能不正确。

选择正确的串口号(真232串口一般是COM1,USB转成的232口可通过设备管理器查询),波特率一般取38400;缓存选择建议只选Cache Code。

1.2.6 程序编译、连接与下载使用“Project ”下拉菜单中的编译命令,“Build Target ”()只编译和连接在项目窗口中的修改过的程序;“Rebuild all Target File ”()编译和连接项目里所有的源程序文件。

编译等无误后,使用菜单栏中的“Debug ”下“/start/stop Debug Session ”或使用快捷方式()进入硬件调试系统,如图1-12所示。

“Debug ”下“Step ”或用快捷方式()进行单步(进子程序)调试;“Debug ”下“Step Over ”或用快捷方式()进行单步(不进子程序)调试;“Debug ”下“Run to Cursor Line ”或用快捷方式()进行运行到当前光标处调试;“Debug ”下“Run ”或用快捷方式()进行全速运行,直到下一个有效断点;“Debug ”下“Start/Stop Debug Session ”进入、退出硬件调试系统环境; “Debug ”下“Reset CPU ”复位CPU ,程序回到入口地址0000H ,等待操作。

图1-12 硬件调试系统界面第二章设计内容2.1 键盘和数码管显示设计按键和显示(通常称为人机接口)是单片机系统的最基础部分,单片机学习板上配备了4*4矩阵键盘和4位共阳数码管(只能采用动态显示),具体电路见学习板原理图。

一、预备知识有关LED数码管、矩阵键盘的具体编程原理见单片机课程教材。

二、设计目的掌握LED数码管、矩阵键盘的使用,熟悉单片机人机接口设计,提高实际应用能力。

三、设计内容1、设计键盘、LED数码管显示电路原理图;2、设计程序流程图;3、编程调试,按下某键,在4位数码管上显示按下键的键号(位置信息)。

四、Proteus仿真实现本部分设计内容先用Proteus仿真实现。

五、硬件验证本部分内容要求能在学习板上进行硬件验证,将*.hex文件下载到学习板上的STC89C52单片机中,上电实际运行。

2.2 串行口收发设计串行口是单片机系统与外部设备通信的常用手段,单片机学习板上配备了一个RS-232串行接口(DB9形式),具体电路见学习板原理图。

一、预备知识有关SCI串行口、TTL-232电平转换知识见单片机课程教材。

二、设计目的掌握SCI串行口、TTL-232电平转换的使用,熟悉单片机SCI串行通信接口设计,提高实际应用能力。

三、设计内容在“2.1 键盘和LED数码管显示设计”基础上,增加如下内容:1、SCI串行口、TTL-232电平转换部分电路原理图;2、相应程序流程图;3、编程调试,在2.1基础上,实现串口接收、发送功能,具体如下:(1)按下某键,通过串口送出按下键的键号(重复4字节)并在虚拟终端上显示;(2)在虚拟终端上输入4位要显示的数值,串行口接收后,在数码管上显示,数值输入数据格式为‘s’、‘0~9’、‘0~9’、‘0~9’、‘0~9’、‘e’。

四、Proteus仿真实现本部分设计内容先用Proteus仿真实现。

五、硬件验证本部分内容要求能在学习板上进行硬件验证,将*.hex文件下载到学习板上的STC89C52单片机中,上电实际运行,同时在PC机上运行“串口调试助手”软件,上下协调,观察程序运行结果。

2.3 数字电压表设计用I2C接口A/D转换器得到电位器电压值并显示在LED数码管上,实现数字电压表功能。

一、预备知识当前串行A/D转换器的使用越来越广泛,本设计利用I2C接口PCF8591串行A/D 转换器转换电位器输入模拟电压,有关PCF8591的详细使用说明见使用手册。

二、设计目的熟悉A/D转换原理,掌握I2C通信、串行A/D、LED数码管显示电路的工作原理及编程方法,提高实际应用能力。

三、设计内容(基本部分)1、设计A/D转换、LED数码管显示电路原理图;2、设计程序流程图;3、编程调试,利用PCF8591串行A/D转换器转换电位器输入模拟电压,并在LED 数码管上显示电压值(精确到2位小数),实现数字电压表功能。

四、设计内容(扩展部分)在基本部分基础上,利用PCF8591的D/A通道实现一个固定频率的方波(频率范围10~50Hz),并在虚拟示波器上输出。

相关主题