《新单片机实验指导书2013》由会员分享,可在线阅读,更多相关《新单片机实验指导书2013(61页珍藏版)》请在金锄头文库上搜索。
1、单片机原理及接口技术 实验指导书西华师范大学物理与电子信息学院2013年目 录第一部分 实验说明1一、芯片管脚与实验箱上面MCU模块部分的插孔对应说明1二、Keil C软件使用说明2三、实验箱硬件说明8第二部分 实验项目21实验1 P0口输入输出实验21实验2 步进电机正反转实验23实验3 外部中断实验-脉冲计数25实验4 秒时钟发生器实验27实验5 PC机串口通讯实验29实验6 LED数码管显示实验32实验 键盘按键实验34实验8 电机转速实验36实验 RS485通讯实验39实验10 RAM存储器读写实验41实验11 PWM发生器(模拟)实验43实验12 蜂鸣器实验45实验13 外扩WDG(
2、MAX705)实验46实验14 WDG(内部)实验47实验15 12位串行DA转换实验49实验16 IC卡(AT24C01)读写实验51实验17 12位串行AD转换实验53实验18 继电器(或光电隔离器)实验55实验19 TFT液晶显示彩色条纹实验56实验20 16X16LED点阵显示汉字实验57实验21 半导体温度传感器DS18B20实验58单片机原理及接口技术第一部分 实验说明一、芯片管脚与实验箱上面MCU模块部分的插孔对应说明管脚说明见下表:表1 芯片管脚与实验箱MCU部分插孔的对应关系表实验箱上插孔名称51芯片管脚实验箱上插孔名称51芯片管脚IO1P0.0RXD(说明:CPU板子上的跳
3、线帽JP2短接在下侧P3.0IO2P0.1TXDP3.1IO3P0.2INT0P3.2IO4P0.3INT1P3.3IO5P0.4T0P3.4IO6P0.5T1P3.5IO7P0.6RSTRSTIO8P0.7其他没用到的管脚或符号为空CAP0P1.0SDAP1.1SCLP1.2PWM0P1.3CADC0P1.4CDAC0P1.5SPICLKP1.6SPISTEP1.7二、Keil C软件使用说明 打开Keil C环境。1、 新建工程或打开工程文件:在主菜单上选“Project”项,在下拉列表中选择“New Project”新建工程,浏览保存工程文件为扩展名为“.Uv2”的文件。或在下拉列表中选
4、择“Open project”打开已有的工程文件。3、环境设置:新建工程文件后,在工具栏中选择如下图选项设置调试参数及运行环境,或从主菜单“Project”项中选择“Options for Target Target1”,打开如下图设置窗口。在“Device”项下选择要仿真的芯片类型,如:Generic 8051。在“Target”项下的晶振设置中修改为硬件电路所用晶振频率,如:6MHz。选择合适存储模式。在“Output”项下如在Creat HEX File选项前打勾,则在编译的同时生成可下载执行的HEX文件,用仿真芯片仿真时可以不进行此项设置。在“Debug”项下选择“Use: Keil
5、Moniter-51 Driver ”使用硬件仿真。点击“Settings”按钮,进入串口选择及波特率设置窗口(如下图所示)。选择合适的波特率及串口号。“Serial Interrupt”项不可选,把前面的勾打掉。点OK保存设置。在“Option for Target Target1”窗口中,点确定,退出环境设置。4、新建文件:在主菜单的“File”下拉列表中选“New”新建文件。编辑文件并保存文件。文件保存为扩展名为“.C”或“.ASM”的文件。5、添加文件:在左边的“Project Window”窗口中,用右键选取“Source Group 1”,在弹出的列表中选择“Add Files t
6、o Group Source Group 1”,弹出浏览窗口。浏览添加编辑好的C或ASM文件。添加完毕点“Close”,关闭窗口。这时发现添加的文件名已出现在“Project Window”窗口中。双击刚添加的C或ASM文件。打开编辑文件窗口。1、 译链接:在“Build Bar”工具条中,选第二项编译当前文件,第三项为编译全部。编译完成,在下方“Output”窗口中出现编译结果。7、仿真调试:点击调试按钮,或从主菜单选取调试“Start/Stop Debgu Session CTRL+F5”(快捷键CTRL+F5),程序下载到仿真芯片中。窗口下方显示下载进度条。100%下载完成后出现如下窗口
7、。8、 序仿真:运用运行“Debug Bar”调试工具条,进行单步、进入、跳出、运行到光标、全速运行等。全速运行后,程序不受控。如需再次单步调试,需点击调试工具停止按钮,停止调试。停止后,硬件复位仿真芯片,再次运行第7步。三、实验箱硬件说明1、E_lab总线接口通过E_lab接口,可扩展我公司的E_lab扩展模块,信号定义如图1-1所示:图1-1 E-LAB接口定义接口的外形如图1-2所示:图1-2 E_LAB接口外形2、串口接口该模块主要支持用串口进行无线通信的模块,如ZIGBEE模块。接口信号定义如图1-3所示:图1-3 串口接口信号定义3、看门狗模块该模块主要实现外扩看门狗器件控制MCU
8、复位,做实验的时候只需连接两根线,电路图如图1-4所示。图1-4 外扩看门狗电路图4、IC卡模块该模块主要完成 I2C总线读写IC卡的实验,既可以采用GPIO口模拟I2C时序的方式也可以采硬件I2C的方式,具体取决于所选择的MCU是否自带I2C控制器。原理图如图1-5所示:图1-5 IC卡电路图5、RS485模块 该模块主要完成485通信实验,由MAX485芯片完成485电平的转换。电路图如图1-6所示:图1-6 RS485电路图6、温度采集模块该模块采用单总线通信方式的数字温度传感器DS18B20实时采集当前的温度。电路图如图1-7所示:图1-7 DS18B20电路图7、A/D转换模块该模块
9、主要完成模拟量与数字量的转换,使用TI的TLC2543芯片,该芯片是12位的串行A/D转换芯片,采用SPI的通信模式,电路图如图1-8所示:图1-8 A/D转换电路图 8、D/A转换模块该模块主要完成数字量与模拟量的转换,使用TI的TLC5616芯片,该芯片是12位的串行D/A转换芯片,采用SPI的通信模式,电路图如图1-9所示:图1-9 DA转换电路图9、CAN总线模块Cortex-M3的部分芯片带CAN控制器,只需外接一个CAN收发隔离器件就可以完成CAN总线通信实验。电路图如图1-10所示:图1-10 CAN总线电路图10、蜂鸣器模块该模块主要完成用MCU的定时器产生不同频率的PWM方波
10、驱动蜂鸣器鸣叫。电路图如图1-11所示:图1-11 蜂鸣器电路图11、光耦与继电器模块该部分主要用光耦控制继电器的打开与闭合,实现光电隔离的功能。电路图如图1-12所示:图1-12 光耦、继电器电路图12、单脉冲产生模块该模块主要用来提供外部脉冲信号,可供给MCU的中断管脚实现外部中断计数的功能。电路图如图1-13所示:图1-13 外部脉冲输入电路图13、拨动开关与LED灯模块该模块主要作为一个简单的数字量输入输出设备,拨动开关可以改变输入的状态,LED灯可以显示输出的高低电平。电路图如图1-14所示:图1-14 键盘与LED电路图14、直流电机模块该模块主要实现直流电机的转速测量及调速实验,
11、通过电位器改变电机的转速,转速经霍尔传感器转后得到方波,用定时器定时1S钟来观测MCU接收到多少个外部脉冲,从而得到电机转速。电路图如图1-15所示:图1-15 直流电机电路图15、步进电机模块该模块主要实现步进电机转向与转速的控制,用74LS07作为驱动芯片,电路图如图1-16所示:图1-16 步进电机电路图16、键盘数码管显示模块该模块采用专用的键盘与显示控制芯片HD7279A,实现显示与按键中断的控制。电路图如图1-17和1-18所示:图1-17 数码管显示电路图图1-18 7279电路图17、LCD液晶模块点阵式LCD 模块由并行的数据接口和应答信号接口两部分组成,电源由接口总线提供。
12、1、 OCMJ28 液晶模块介绍及使用说明OCMJ 中文模块系列液晶显示器内含 GB 2312 16*16 点阵国标一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。OCMJ 中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。OCMJ 中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。本系列模块具有上/下/左/右移动当前显示屏幕及清除
13、屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10 个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。表一 OCMJ2X8(128X32)引脚说明2、硬件接口: 接口协议为 请求/应答(REQ/BUSY) 握手方式。应答BUSY 高电平(BUSY =1) 表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ 可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ 请求处理当前数据线上的命令或数据。OCMJ 模块在收到外部的REQ 高电平信号后立即读