单片机实验指导书_第1页
单片机实验指导书_第2页
单片机实验指导书_第3页
单片机实验指导书_第4页
单片机实验指导书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机实验指导书第一章 伟福仿真器系统概述本实验系统是基于伟福仿真器系统开发的,利用汽车电子实验室的THKSCM-2单片机开发综合实验台进行开发实验和仿真实验。本仿真器系统由仿真主机+仿真头、单片机开发实验板等组成。本系统的特点是:1 主机+仿真头的组合,通过更换不同型号的仿真头即可对各种不同类型的单片机进行仿真,是一种灵活的多CPU仿真系统。采用主机+POD组合的方式,更换POD,可以对各种CPU进行仿真。本仿真器主机型号为S51, 仿真头型号为POD8X5X(可仿真51系列8X5X单片机)。 2 双平台,具有DOS版本和WINDOWS版本,后者功能强大,中/英文界面任选,用户源程序的大小不

2、再有任何限制,支持ASM,c,PLM语言混合编程,具有项目管理功能,为用户的资源共享、课题重组提供强有力的手段。支持点屏显示,用鼠标左键点一下源程序中的某一变量,即可显示该变量的数值。有丰富的窗口显示方式,多方位,动态地显示仿真的各种过程,使用极为便利。本操作系统一经推出,立即被广大用户所喜爱。3 双工作模式(1)软件模拟仿真(不要仿真器也能模拟仿真)。(2)硬件仿真。4 双CPU结构,100不占用户资源。全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件断点、支持实时断点计数、软件运行时间统计。5 双集成环境编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真

3、全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程师需要面对和掌握不同的项目管理器、编辑器、编译器。他们由不同的厂家开发,相互不兼容,使用不同的界面,学习使用都很吃力。伟福WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供千个与第三方编译器的接口。由于风格统一,大大节省了您的精力和时间。6 强大的逻辑分析仪综合调试功能。逻辑分析仪由交互式软件菜单窗口对系统硬件的逻辑或时序进行同步实时

4、采样,并实时在线调试分析,采集深度32K(E2000/L),最高时基采样频率达20MHz,40路波形,可精确实时反映用户程序运行时的历史时间。系统在使用逻辑分析仪时,除普通的单步运行、键盘断点运行、全速硬件断点运行外,还可实现各种条件组合断点如:数据、地址、外部控制信号、CPU内部控制信号、程序区间断点等。由于逻辑仪可以直接对程序的执行结果进行分析,因此极大地便利于程序的调试。随着科学技术的发展,单片机通讯方面的运用越来越多。在通讯功能的调试时,如果通讯不正常,查找原因是非常耗时和低效的,您很难搞清楚问题到底在什么地方,是波特率不对,是硬件信道有问题,是通讯协仪有问题,是发方出错还是收方出错。

5、有了逻辑仪,情况则完全不一样,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在,从而极大地方便了调试。7 强大的追踪器功能追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。第

6、二章 开发环境简介双击桌面上的WAVE图标或从开始/程序/WAVE FOR WINDOWS/WAVE进入本开发环境,其界面及主要功能如图2-1中所注。 仿真器设置打开文件新建文件打开项目保存文件编译文件复位全速执行跟踪单步CPU窗口保存文件数据窗口 图2-1 WAVE界面 1 仿真器设置窗口如图2-2所示,在实验开始时要先根据需要设置好仿真器类型、仿真头类型以及CPU类型,并注意是否“使用伟福软件模拟器”,若使用硬件仿真,请注意去掉“使用伟福软件模拟器”前的选择。图2-2 仿真器设置窗口2 文件窗口如图2-3,可在此窗口下进行包括新建、打开、保存等文件操作。图2-3 文件窗口3 编译文件窗口如

7、图2-4,在此窗口下可将源文件编译成目标文件。图2-4 编译文件窗口4 执行窗口如图2-5,在此窗口下,可用全速、跟踪、断点等各种方式运行程序图2-5 执行窗口5窗口窗口 如图2-6-1,在此窗口下,可以观察各种窗口信息,其中最常用到的是CPU窗口和数据窗口。图2-6-1 窗口a CPU窗口通过CPU窗口可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。CPU窗口中还有SFR窗口和位窗口,让你了解程序执行过程中寄存器内容的变化。图2-6-2 CPU窗口b 数据窗口对51系列CPU,数据窗口有:DATA 内部数据窗口;CODE 程序数据窗口;XDATA 外部数据窗口;PD

8、ATA 外部数据窗口(页方式)图2-6-3 数据窗口图2-6-4 DATA(内部数据窗口)图2-6-5 CODE(程序数据窗口)图2-6-6 XDATA(外部数据窗口)图2-6-7 PDATA(页方式外部数据窗口)第三章 MCS51系列单片机实验软件实验一 存储器块清零一、实验目的 1. 掌握存储器读写方法。2. 了解存储器的块操作方法。二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。三、实验说明 通过本实验,学生可以

9、了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。四、实验仪器和设备 PC机、WAVE软件。五、参考程序框图设置块起始地址设置块长度当前地址内容清零地址加1结束是否清除完? 否 是存储器块清零参考程序框图软件实验二 二进制到BCD转换一、实验目的1 掌握简单的数值转换算法。2 基本了解数值的各种表达方法。二、实验内容3 将给定的一个单字节二进制数,转换成非压缩的二十进制(BCD)码。4 将给定的一个单字节二进制数,转换成压缩的二十进制(BCD)码。三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。有兴趣的同学可以试试将B

10、CD转换成二进制码。四、实验仪器和设备 PC机、WAVE软件。 五、参考程序框图给出要转换的二进制数将该数除以100保存百位数将余数除以10,得到十位数结束保存十位数余数为个位数,将其保存单字节二进制数转换成非压缩BCD码框图软件实验三 数据排序一、实验目的 1了解数据排序的简单算法。 2了解数列的有序和无序概念。二、实验内容 给出一组随机数,将此组数据排序,使之成为有序数列。三、实验说明有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数

11、据有序。四、实验仪器和设备 PC机、WAVE软件。设置数据区地址清除交换标志从当前地址取数BA=B?设置数据区长度从当前地址取数A地址加1结束数据比较完?全部有序?设置交换标志交换A、B位置五、 参考程序框图 否 是 否 是 否 是数据排序参考程序框图硬件实验一 P1口输入、输出实验一、实验目的1. 学习Pl口的使用方法。2. 学习延时子程序的编写和使用。二、实验内容1、 P1口做输出口,接八只发光二极管(其输入端为高电平时发光二极管点亮),编写程序,使发光二极管循环点亮。2、 P10、P11作输入口接两个拨动开关S0、S1;P12,P13作输出口,接两个发光二极管,编写程序读取开关状态,将此

12、状态在发光二极管上显示出来。编程时应注意P10、P11作为输入口时应先置1,才能正确读入值。三、实验电路连线P10 - LED0 P10 - S0 P11 - LED1 P11 - S1 P12 - LED2 P12 - LED2 P13 - LED3 P13 - LED3 P14 - LED4 P15 - LED5 P16 - LED6 P17 - LED7实验1:P1口循环点灯 实验2:P1口输入输出四、实验说明1、 P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。2、 延时子程

13、序的延时计算问题对于程序 Delay:MOV R7,#200 DEL1: MOV R6, #123 NOPDEL2: DJNZ R6,DEL2 DJNZ R7,DEL1 RET五、实验仪器和设备查指令表可知执行MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,在12MHz晶振时,一个机器周期时间长度为1s,所以该段程序执行时间为:1+(1+1+2*123+2)*200+2* 1s 50ms开始读入P1.0口值将读入的值输出到P1.3P1.0、P1.1置1将读入的值输出到P1.2读入P1.0口值开始延时设置初始值数据输出左移一位 THKSCM-2单片机开发综合实验装置、PC机、WAVE软

14、件、E6000/S51仿真器+POD8X5X仿真头等。六、参考程序框图P1口循环 P1口输入点灯框图 输出框图硬件实验二 交通灯控制(软件延时法)一、实验目的1. 学习数据输出程序的设计方法。2. 学习模拟交通灯控制的方法。3. 进一步了解软件延时方法。二、实验内容用CPU的P1口输出控制信号,控制六个LED灯(红,绿,黄),模拟交通灯管理。LED0、LED1、LED2分别表示南北方向红、黄、绿灯三、实验电路连接P10 - LED0 P11 - LED1 LED3、LED4、LED5分别表示东西方向红、黄、绿灯P12 - LED2 P13 - LED3 P14 - LED4 P15 - LED

15、5四、实验说明l. 因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始为状态0。状态0:东西红灯,南北红灯;然后转状态1:南北绿灯通车,东西红灯;过一段时间转状态2:南北绿灯闪几次转黄灯亮,延时几秒,东西仍然红灯;再转状态3:东西绿灯通车,南北红灯;过一段时间转状态4:东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯;最后循环至状态1。2. 各用一组红、黄、绿色LED分别表示南北方向和东西方向红绿灯。3. 延时程序参考硬件实验一中的例子,具体时间长短由同学自己确定。五、实验仪器和设备THKSCM-2单片机开发综合实验装置、PC机、WAVE软件、E6

16、000/S51仿真器+POD8X5X仿真头等。六、参考程序框图开始状态1:南北绿灯,东西红灯,延时一会儿状态4:南北红灯,东西绿灯闪转亮黄灯,延时一会儿初始状态东西南北都是红灯,延时一会儿状态2:南北绿灯闪转黄灯亮,东西红灯,延时一会儿状态3:南北红灯,东西绿灯,延时一会儿 交通灯控制参考程序框图硬件实验三 计数器实验一、实验目的学习51单片机内部定时计数器使用方法。二、实验内容 51单片机内部定时计数器T0,按计数器模式工作于方式1,对P34(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。三、实验电路连线P10 - LED0 P11 - LED1 P12 - LED2

17、 P13 - LED3 P14 - LED4 P15 - LED5 P16 - LED6P17 - LED7 - T0(P34)单次脉冲四、实验说明本实验中内部计数器起计数器的作用。外部事件计数脉冲由T0(P34)脚引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。五、实验仪器和设备THKSCM-2单片机开发综合实验装置、PC机、WAVE软件、E6000/S51仿真器+POD8X5X仿真头等。六、参考程序框图开始设置

18、T0工作方式(方式1、计数模式)开始计数计数,输出计数值计数器实验参考程序框图硬件实验四 外部中断实验一、实验目的 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。二、实验内容用单次脉冲申请中断,在中断处理程序中对信号进行反转输出。三、实验电路连线P1.0 -LED0 -INT0单次脉冲四、实验说明编写中断处理程序需要注意的问题是: 1保护进入中断时的状态,并在退出中断之前恢复进入时的状态。 2必须在中断处理程序中设定是否允许中断重入,即设置EX0位。本例中使用了INT0中断,一般进入中断处理程序时应保护PSW,ACC以及中断处理程序使用但非其专用的寄存器(保护现场)

19、。本例的INT0中断处理程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器(恢复现场)。另外中断处理程序中涉及到关键数据的设置时应关中断,即设置时不允许中断重入。本例中没有涉及这种情况。 3INT0端接单次脉冲发生器。P10接LED灯,以查看信号反转五、实验仪器和设备THKSCM-2单片机开发综合实验装置、PC机、WAVE软件、E6000/S51仿真器+POD8X5X仿真头等。六、参考程序框图开始设置有关中断控制寄存器开外中断INT0设置P1.0初始状态死循环等待中断INT0中断入口P1.0状态取反保护现场恢复现场中断返回 主程序框图 INT0中断处理程序框图硬件实验五 定时器

20、实验(电子秒表)一、实验目的1. 进一步学习51单片机内部计数器的使用和编程方法。2. 进一步掌握中断处理程序的编程方法。3. 了解键盘显示接口工作原理。二、实验内容利用定时器定时,使七段数码管输出记时值。三、实验电路连线 本实验连线实验板上已经接好,无需另外接线。四、实验说明本系统键盘显示接口由8279芯片控制,占用二个端口地址:数据口FF88H,命令口FF89H,在使用键盘显示功能时,要先初始化8279。本实验中要将记时结果送LED显示,这可通过调用下面给出的显示子程序来实现,调用过程是:先将各位记时值拆字,分别送到LED0LED7显示缓冲区中去,然后调用显示子程序。本实验中用定时器T0产

21、生1秒钟基本时间单位,本系统fosc=12MHz,当定时器T0工作在方式1(16位)时,最大定时时间为216*1s=65536s再利用软件记数,当T0中断16次时,所用时间为65536*16=1048576s1s因此在T0中断处理程序中,要判断中断次数是否到16次,若不到16次,则只使中断次数加1,然后返回,若到了16次,则使电子秒表记时值加1(十进制),请参考硬件实验五有关内容。五、实验仪器和设备PC机、WAVE软件、E2000/S仿真器+POD8X5X仿真头、MULT1A用户板、实验板、开关电源等。六、参考程序及框图LED0EQU50H ;定义显示缓冲区LED1EQU51HLED2EQU5

22、2HLED3EQU53HLED4EQU54HLED5EQU55HLED6EQU56HLED7EQU57H ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ; 转T0中断处理程序 ORG 0030HMAIN:NOPINIT1:MOV DPTR,#0FF89H ;INIT_8279初始化 MOV A,#00H ;MODE MOVX DPTR,A MOV A,#2AH ;CLOCK MOVX DPTR,A MOV TMOD,#01H ;T0初始化,方式1 MOV TH0,#00H ;T0时间常数 MOV TL0,#00H MOV TCON,#10H ; 启动T0

23、MOV IE,#82H ; 开T0中断 MOV 70H,#10H ;中断次数记数(65536*16=1048576s1s) MOV R0,#LED0 CLR ALOOP: MOV R0,A ;显示缓冲区清零 INC R0 CJNE R0,#LED7+1,LOOPDISP: LCALL DISPLAY ;调显示子程序,开始显示8个0 SJMP DISP ;循环调用 ORG 1000HDISPLAY: MOV DPTR,#0FF89H ;显示子程序 MOV A,#90H ;8279写显示缓冲区命令 MOVX DPTR,A MOV R0,#8H MOV R1,#LED0DLOOP: MOV A,R1 MOV DPTR,#DISPTAB ;查表,得到七段字型码 MOVC A,A+DPTR ;DISPD2: MOV DPTR,#0FF88H ; MOVX DPTR,A ;显示(送8279数据口) INC R1 DJNZ R0,DLOOP RET ORG 2000HINT_T0: PUSH ACC ;T0中断处理程序开始,保护现场 PUSH PSW MOV TH0,#00H ;重新赋T0时间常数 MOV TL0,#00H MOV PSW,#10H ;选中工作寄存器2组 DJNZ 70H,FAN ;中断次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论