您好,欢迎访问三七文档
[单片机原理及接口技术][实验指导书][东北电力大学自动化工程学院]2020年1月11日前言本实验指导书是以启动计算机总厂有限公司生产的DICE-5212K单片机实验系统为硬件基础来编写的。其主要内容为实验设备的介绍、操作使用及MCS51系列单片机的相关实验项目。第1章实验设备介绍1.1实验设备简介DICE-5212K多功能单片机实验开发系统是《MCS-51单片机原理与接口》《C8051嵌入式单片机控制技术》《自动化控制》《传感器控制》等课程教学的配套实验设备。它以小系统、多功能、易扩展为设计思想,系统的地址总线、数据总线、控制总线全部引出,对用户开放,并留有扩展单元(区),学生可以选配各种扩展模块开展实验项目。本设备不仅针对教学实验、课程设计、毕业设计等教学环节提供了良好的实验开发环境,同时也可为学生课外科技活动的开展提供硬件支持。下图为DICE-5212K单片机实验箱的实物图。图1-1DICE-5212K单片机实验箱的实物图1.2、系统组成及工作方式DICE-5212K单片机实验系统由用户实验箱、仿真器和ISP下载器等部分组成。其工作方式有脱机运行和联机运行两种,其中脱机运行又分为固化程序脱机运行和ISP脱机运行两种。下面分别介绍各种工作方式。1.2.1固化程序脱机运行DICE-5212K用户实验箱的外部扩展程序存储器W27512(ROM64K)内部烧写了部分硬件实验模块程序,在不用仿真器和PC机联机时可直接通过实验仪4*6键盘调出相应的程序并全速运行。便于用户测试和演示实验。1.2.2ISP脱机运行可以通过ISP下载线,将HEX文件直接下载到AT89S52单片机内部8K的FLASHROM中运行。1.2.3联机运行通过仿真器及配套上位软件在PC机上编写、编译、装载、运行、调试程序。具体操作详见“第2章DICE-5212K仿真联机运行”。1.3、系统地址分配及系统接口定义1.3.1系统地址分配(1)I/0地址分配(2)存储器地址分配1.3.2系统接口定义(1)RS232用户通信口短路块定义:A:EXT-C(2、3)位置,表示RXD、TXD插孔悬空,用户使用时需用导线连接。B:Keil-C(1、2)位置,表示RXD、TXD插孔已经内部与单片机P3.0、P3.1连接。图1-2地址扩展名称用途8000H~8FFFH自定义实验用口地址9000H~9FFFH自定义实验用口地址0A000H~0AFFFH自定义实验用口地址0B000H~0BFFFH自定义实验用口地址0C000H~0CFFFH自定义实验用口地址0D000H~0DFFFH自定义实验用口地址0E000H~0EFFFH自定义实验用口地址0F000H~0FEFFH自定义实验用口地址0FF20H8155控制口写方式字0FF21H8155PA口字位口0FF22H8155PB口字形口0FF23H8155PC口键入口0FF28H8255PA口扩展用0FF29H8255PB口扩展用0FF2AH8255PC口扩展用0FF2BH8255控制口写方式字地址器件用途0000H~0FFFFHAT89S52/27C512用户程序空间0000H~7FFFH62256用户数据空间(2)CZ4:打印接口图1-3(3)JX0,JX17:为系统提供的数据总线接口图1-4(4)CZ7:系统提供的扩展接口图1-5(5)JX12、JX14:液晶显示接口图1-6(6)ISP下载接口图1-71.4通用单元电路(1)LED发光二极管输出模块实验台上有8只发光二极管及相应驱动电路。见图1-8,L1~L8为相应发光二极管驱动信号输入端,该输入端为高电平“1”时发光二极管亮。图1-8(2)开关量输入模块一实验台上有8只开关Kl-K8,与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。见图1-9。图1-9开关量输入模块二。见图1-10图1-10(3)单脉冲电路实验仪上单脉冲产生电路如图1-11所示,标有“”和“”的两个引线插孔为正负单脉冲输出端。附近按钮AN0为单脉冲产生按钮,每按一次产生一个单脉冲。图1-11(4)分频电路。见图1-12图1-12(5)脉冲发生电路实验仪上提供一8MHZ的脉冲源,见图1-13,实验仪上标有8MHZ的插孔,即为脉冲的输出端。图1-13(6)485接口电路。见图1-14图1-14(7)数码管显示电路。见图1-15数码管显示电路中,SW3、SW4红色拨码开关打在“ON”位置,数码管代码端和公共端与8155PA、PB口相连。如果SW3、SW4红色拨码开关打在相反位置,即“OFF”位置,数码管电路与8155断开,数码管代码端和公共端对外开放。图1-15(8)矩阵键盘模块电路。见图1-16图1-16(9)目标CPU(AT89S52)的控制电路注:图1-17中的74LS245与74LS373功能由CPLD器件1016实现。图1-17(10)存储器控制电路。见图1-18图1-18(11)实验扩展模块图1-19所示为实验扩展模块引脚定义,对应插孔号。KZ1~KZ8还配有排针/锁紧孔转接口。图1-19第2章DICE-5212K仿真联机运行2.1DICE-KEILUSB仿真器与DICE-5212K的连接(1)确认KB1开关打在“一般模式”,KB2短路块插在MCS-51(1、2)位置,SW1短路块插在“UP”位置。SW3、SW4、SW5打在“ON”的位置。这些都是出厂时的默认设置;(2)在确认断电的情况下,取下DICE-5212K实验仪右上角绿色锁紧插座上的AT89S52单片机芯片;(3)将40芯白色扁平线上的IDC40插头与DICE-KEILUSB仿真器的IDC40插座接插好,然后用随机配送的USB线将仿真器与PC机连接;(4)将40芯白色扁平线另一头的40芯仿真头插在DICE-5212K实验仪右上角绿色锁紧插座上。注意:不要插反,绿色锁紧插座左上角第一脚为单片机第一脚。40芯仿真头的第一脚上有箭头指示。DICE-KEILUSB仿真器应置于实验箱右侧。如有疑问请致电我公司技术支持。2.2KEILC仿真软件的操作应用(1)建立一个项目:点击Project(工程)菜单,选择NewProject(新工程),在文件名中输入您的第一个程序项目名称,假定我们用“test”。“保存”后的文件扩展名为uv2这是KEILuVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。注意输入的时候不要输入文件的后缀名,默认即可。为了查找方便,假定我们保存在c盘的根目录。这时会弹出让你选择单片机型号的对话框,我们选择ATMEL---AT89S52。图2-1(2)汇编源文件的建立:点击FILE(文件)菜单中的NEW...(新文件)命令新建一个文本编辑窗口。在里面输入一个程序范例如流水灯程序,然后点击FILE(文件)菜单中的SAVE(保存)命令保存文件,注意必须输入文件的后缀名.asm,例如保存为C:/prog/001.asm(注意不要有中文目录,文件名不超过8个字符,否则编译不通过!如果您是第一次使用,那么建议您直接保存在c盘的根目录,文件名同样取001.ASM,不要试图把他保存在桌面/我的文档等等!)图2-2请注意:C51用户请在您的代码的main()函数前面,加上一句:codeunsignedcharstop[3]_at_0x3b;ASM汇编用户请将你的主程序跳过中断区直到0080H以后,如:org0000HLJMPmainorg0080Hmain:....;程序开始(3)点击Target1(目标1)前面的“+”,出现SourceGroup1,(源程序组1)选中右键点选“AddfilesGroupSourceGroup1”(增加文件到源程序组1)这时选择文件类型为asm,再选中001.asm文件,再按Add添加,在随后的提示框中按“确定”。图2-3(4)仿真部份采用Mon51协议,在使用之前应必须对软件项目进行如下设置:单击“Project”(工程)菜单,再在下拉菜单中单击“optionsfortargettarget1”(目标1属性)在下图中选择output(输出)“CreateHEXfile“(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用。(5)在“Debug”(调试)中点选“KeilMonitor-51Driver”,同时选中加载代码到仿真器,运行到main0,在“恢复调试设置”中“断点”“工具栏”“浏览点”“储存器显示”也全部钩选上,然后点击“设置”。(6)点击“Settings”(设置)选择要使用串口必须和实际相符合,你的计算机可能是COM2或者其他,对此不能确定可以通过察看控制面板\硬件\端口\通讯端口来解决,同时注意电脑上不能够同时运行其他可能占用串口资源的软件,串口调试软件等等也必须退出,否则将引起冲突,(如果您使用的是USB通信方式,那么选择系统分配的虚拟串口号(7)按以下两个向下小箭头的图标进行编译,(或者按F7快捷)编译成功后如会出现下图红箭头所指的文字正在汇编…0(错误),0(警告)这里的意思是没有错误,没有警告,表示编译成功。此时在C盘的根目录就生成了test.hex文件,有了这个hex文件,我们也可用ISP方式烧写到单片机实验,然后可以进行硬件仿真了,将仿真头插入目标板的40pin卡座,开始仿真,退出仿真时最好按一下仿真器上的复位按键,绿色指示灯闪三下。(一般不需要这样做,除非系统没有复位)(8)在按图第三个红色的(debug)按钮或按Ctrl+F5快捷键可以进入仿真。此时界面将出现连接成功的提示!Connectedtomonitor-51v9.1其中9.1是仿真器的版本号(否则设置有误请仔细检查)2.3KEILC仿真器软件调试技巧进入调试状态后,Debug菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug菜单上的大部份命令都有相应的快捷按钮。从左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令;然后按一下图示第二个“运行”按钮。连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP1)连接到八路指示灯部份的L1~L8。这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。1)单步跟踪运行使用菜单Debug-Step或上图第四个单步运行按钮或使用快捷键F11可以单步跟踪执行程序,在这里我们按下F11键,即可执行该箭头所指程序行,每按一次F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行。2)单步运行如果Delay程序有错误,可以通过单步跟踪执行来查找错误,但是如果Delay程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用F10来替代F11(也可使用菜单StepOver或相应的命令按钮),在main函数中执行到Delay时将该行作为一条语句快速执行完毕。为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按F10键,可以看到在源程序窗口中的左边黄色调试箭头不会进入到延时子程序。3)全速运行点击工具栏上的“运行”按钮或按F5键启动全速运行,全速执行程序,此时实验仪上的P1口所接LED以流水灯状态显示。4)暂停点击工具栏上的按钮,此时用户板上的P1口所接LED停止以流水灯状态显示,只有一个LED灯点亮(取决于暂停前的P1的值)5)观察/修改寄存器的值Project窗口在进入调试状态后显示Regs页的内容,包括工作寄存器R0~R7的内容和累加器A、寄存器B、堆栈指针SP的内容用户除了可以观察以外还可自行修改,例如将寄存器a的值0x62改为0x85。方法一:用鼠标点击选中单元a,然后再单击其数值位置,出现文字框后输入0x85
本文标题:DICE实验指导书
链接地址:https://www.777doc.com/doc-2909957 .html