ZHC2实验指导1_第1页
ZHC2实验指导1_第2页
ZHC2实验指导1_第3页
ZHC2实验指导1_第4页
ZHC2实验指导1_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 单片机内部功能实验第一章 单片机内部功能实验实验一 清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把7000H70FFH的内容清零。三、实验程序框图(CLEAR.ASM)开始R0=0000送到7000HDPTR+1,R0+1R0=FFNY结束四、实验步骤 在闪动“P.”状态,按PCDBG键; 在PC机处于在Win9X/2000/XP软件平台下,单击DVCC图标,进入51动态调试窗口; 在“系统设置”选项中设定仿真模式为内程序、内数据; 在主菜单中选择“联接”,进入51实验系统动态调试界面; 选择“实验指南/实验项目选择/清零程序”,再选择实验指南/程序,打开

2、该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 从起始地址开始单步(F8)或断点运行程序到STOP处; 在存贮器窗口内检查7000H70FFH中的内容是否为全00H。五、思考:假使要把700070FFH中的内容改成FF,如何编制程序?实验二 拆字实验一、实验目的掌握汇编语言设计和调试方法。二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。三、实验程序框图 (CWOR

3、D.ASM)开始7000内容送A高低位交换屏蔽高位后送7001H7000H内容送A屏蔽高位后送7002H结束四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/拆字程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 先用存贮器读写方法将7000H单元置成34H; 从起始地址开始单步(F8)或断点运行程序到STOP处; 检

4、查7001H和7002H单元中的内容应为03H和04H;五、思考:如何用断点方法调试本程序。实验三 拼字实验 一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把7000H、7001H的低位相拼后送入7002H,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、实验程序框图 (PWORD.ASM)(7000H)送A,屏蔽高位(7001H)送A,屏蔽高位开始交换高低位后送BA和B相或后送7002H结束四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/拼字程序,再选

5、择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 先用存贮器读写方法将7000H单元中内容置03H,7001H单元中的内容置04H; 从起始地址开始单步(F8)或断点运行程序到STOP处; 在存贮器窗口内检查7002H中的内容应为34H。实验四 数据传送实验一、实验目的掌握RAM中的数据操作。二、实验内容把(R2、R3)源RAM区首址内的(R6、R7)个字节数据,传送到(R4、R5)目的RAM区。三、实验程序框图 (DMVE.ASM)开始源地址

6、内容送A(A)送目的地址源地址加1目的地址加1字节数到吗?结束NY四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/数据传送程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 在寄存器窗口里,R2、R3中装入源首址<例如6000H>,R4、R5中装入目的地址<例如7000H>,R6、R7中装入字

7、节数<0FFFH>; 从起始地址开始单步(F8)或断点运行程序到STOP处; 检查7000H开始的内容和6000H开始的内容是否完全相同。 实验五 数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图 (DORDE.ASM)开始清标志位从(R0)取数一>A(R0)+1送R0(A)<(R0)?置标志位,交换内容长度减1=0?标志位=0?结束YNYY NN N四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标

8、; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/数据排序程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 片内RAM区50H-5AH中放入不等的数据。 从起始地址开始单步(F8)或断点运行程序到STOP处; 检查片内RAM区50H-5AH中内容,应从小到大排列。五、思考:编一程序把50H-5AH中内容按从大到小排列。实验六 查找相同数个数一、实验目的熟悉汇编语言编程。二、实验内容在

9、7000H-700FH中查出有几个字节是零,统计“00”的个数存入7100单元。三、实验程序框图 (FIND.ASM)开始字节数送R0,查找字节送R17000HDPTR从DPTR中取数判和被查数相同否DPTR+1字节数到吗?R1存入7100单元调显示子程序R1+1Y N NY四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/查找相同数个数程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项

10、进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 在用户程序区7000H-700FH的单元中放入随机数,其中几个单元中输入零; 从起始地址开始连续运行(F9)程序; 检查7100H单元中的内容。 五、思考修改程序,查找其它内容。实验七 无符号双字节乘法实验一、实验目的掌握MCS-51汇编语言程序设计方法。二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的。(R2R3)*(R6R7)=(R2)*28+(R3)*(R6)*28+(R7)=(R2)*(R6)*216+(R2)*(R7)+(R3)*(R6)*28+(R3)*(R7)三、实验内容将(R2R3)和

11、(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中。四、实验程序框图 (NCMUL.ASM)开始被乘数和乘数低字节相乘积高位送R5,低位送R7被乘数高字节和乘数低字节相乘积低位加R5R4,高位加CYR5被乘数低字节和乘数高字节相乘积低位加R4R6,高位加R5R5,CYF0被乘数和乘数高字节相乘积低位加R5,CYR5,高位加F0R4结束五、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/无符号双字节快速乘法子程序,再选择实验指南/程序 ,打开该实验源程序; 再在主菜单中选

12、择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 将7000H-7001H中存放无符号整数作为被乘数000AH,7002H-7003H中存放乘数0019H。 从起始地址开始单步(F8)或断点运行程序到STOP处; 检查两个数的乘积7004-7007单元中的内容应为000000FAH。实验八 多分支实验一、实验目的掌握汇编语言的编程。二、实验内容编写散转程序,根据8032片内20H中的内容(00或01或02或03)进行散转。三、实验程序框图 (MJUP.ASM)开始(20H)AA+散转首地址1字循

13、环2字循环3字循环0字循环四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/多分支程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 片内RAM区20H单元写入00或01或02或03(在内部数据窗口中操作)。 从起始地址开始连续运行(F9)程序; 观察数码管显示的内容(20H)=00时,显示“0”循环,(20H)=01

14、时,显示“1”字循环实验九 脉冲计数(定时/计数器)实验一、实验目的熟悉8031定时/计数功能,掌握定时/计数初始化编程方法。二、实验内容对定时器0外部输入的脉冲进行计数,并送显示器显示。三、实验程序框图 (CONT.ASM)开始堆栈、定时/计数初始化开定时器取出TL0、TH0内容调用二转十进制子程序结果送显示缓冲器调显示子程序二进制转十进制子程序0送R4 R5 R616送位计数器R70送CYR2R3右移一位2×(R4R5R6)+CY送R4R5R6(R7)-1送R7 R7=0?结束NY四、实验连线 系统扩展区1的P3.0连串行键盘显示接口区的SCL_04; 系统扩展区1的P3.1连串

15、行键盘显示接口区的SDA_04; 系统扩展区1的P3.4插孔接固定脉冲输出信号或单脉冲输出孔,作为被测脉冲信号源;五、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/脉冲计数(定时/计数器实验)程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 从起始地址开始连续运行(F9)程序; 观察数码管显示的内容应为脉冲个数。实验

16、十 电脑时钟(定时器、中断综合)实验一、实验目的 熟悉MCS-51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧。 编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。二、实验程序框图 (COCK.ASM)主程序:定时器中断服务程序:定时中断恢复初值,保护1秒到吗?0.1秒加1秒加1分加1时加1时单元清零堆栈返回NNNN开始清显示缓冲区初始化定时计数器显示初值000000从键盘设置时钟初值判时钟初值合乎规定否?开定时器显示器显示当前时钟值Y0.1秒单元清零,60秒到吗?Y秒单元清零,6

17、0分到吗?NY 分单元清零,24小时到吗? Y Y 三、实验连线 系统扩展区1的P3.0连串行键盘显示接口区的SCL_04; 系统扩展区1的P3.1连串行键盘显示接口区的SDA_04;四、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/脉冲计数(定时/计数器实验)程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 连续运

18、行程序,时钟开始工作,键盘显示区的数码管上显示从015800开始计数的时间值(时间初值的设置在源程序中进行,默认值为1时58分0秒)。思考:电子钟走时精度和程序中哪些常数有关?修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。实验十一 单片机串行口应用实验与PC机通信一、实验目的 掌握串行口工作方式的程序设计,掌握单片机通信程序的编制方法。 了解实现串行通信的硬环境,数据格式的协议,数据交换的协议。 了解机通信的要求。二、实验内容 利用8031单片机串行口,实现与PC机通信。 本实验实现以下功能,从PC机键盘输入的字符(0F)显示到实验仪的数码管上。 三、实验说明 实验系统中考虑用户

19、可以方便使用串行口实现双机或和上位机通信,系统设计有用户专用串行接口,只要配上用户专用电缆就可以实现和上位机的通信,不影响监控系统和上位机的联机工作。注意不要和上位机使用的串口冲突。四、实验原理图五、实验程序框图(MCUPC.ASM)NY开 始置串口模式置T1模式及常数启动定时器调显示子程序显示80312判断串行口有数据否?接受数据调数字处理程序 六、实验连线 系统扩展区1的P3.0连RS232/485接口区中的RXD_232,P3.1连TXD_232; 将随机配备的通信线一头插到RS232/485通信接口上,另一头插到PC机空余的串行口上; 系统扩展区的P1.0连串行键盘显示接口区的SCL_

20、04; 系统扩展区的P1.1连串行键盘显示接口区的SDA_04;七、实验步骤 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/8031串行口应用实验与PC机通信,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 连续运行(F9)实验程序(内程序,内数据); 使用串口调试助手或在点击电脑左下角“开始”,选择程序/DVCC-ZHC2 实验

21、系统/DVCC串行口发送,在弹出的窗口中先选择串口号(注意不要与系统联机串口冲突),再设置波特率(默认值为2400),然后按打开串口按钮; 从上位机的键盘上输入数字键或在窗口内点击“0F”16个数字按钮,相应的数字会显示在实验系统的数码管上。实验十二 单片机串行口应用实验双机通信一、实验目的 掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。 了解实现串行通信的硬环境,数据格式协议,数据交换的协议。 掌握双机通信的原理和方法。二、实验内容 利用8031单片机串行口,实现与双机通信。 本实验实现以下功能,将1号实验机键盘上键入的数字显示到2号实验机数码管上。三、实验说明 本实验系统中考虑

22、用户可以方便使用串行口实现双机或和上位机通信,系统设计有用户专用串行接口,只要配上用户专用电缆就可以实现和上位机的通信,不影响监控系统和上位机的联机工作。注意不要和上位机使用的串口冲突。 两台机必须共地。四、实验原理图略五、实验程序框图(发送程序TXD.ASM,接收程序RXD.ASM)接收:发送:NY开 始置串口模式置T1模式及常数启动定时器调显示子程序显示80312判断串行口有数据否?接受数据调数字处理程序NY开 始置串口模式置T1模式及常数启动定时器调显示子程序显示80311是否有数字键按下?键值发送调数字处理程序六、 实验步骤 按图连接线路:把1#机的P3.0连接到2#机的P3.1;1#

23、机的P3.1连接到2#机的P3.0;两台的地线连在一起;1机和2#机上系统扩展区1的P1.0连串行键盘显示接口区的SCL_04,P1.1连SDA_04,P1.2连INT_KEY; 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择1号机选择8031串行口应用实验发送程序,再选择实验指南/程序,打开该实验源程序;2号机选择8031串行口应用实验接收程序,再选择实验指南/程序,打开该实验源程序; 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);

24、目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 连续运行实验程序(内程序,内数据); 从1号机的键盘上输入数字键,该数字键的值会显示在2号机的LED显示器上。实验十三 单片机I/O口实验(P3和P1口应用)一、实验目的 掌握P3口、P1口简单使用。 学习延时程序的编写和使用。二、实验内容P3.3口做输入口,外接脉冲,每输入一个脉冲,P1口按十六进制加一,P1口做输出口,编写程序,使P1口接的8个发光二极管L0L7按16进制加一方式点亮发光二极管。三、实验说明 P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平

25、,使内部MOS管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 延时子程序的延时计算问题。对于延时程序 DELAY :MOV R6, #00H DELAY1:MOV R7, #80H DJNZ R7, $ DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为:(80+1)×256+1)×2×(12÷6000000)=132.1ms四、实验原理图五、实验程序框图 (MCUIO

26、1.ASM)开 始P3.3为高吗延 时P3.3真的为高吗P3.3为低吗延 时A+1送P1口循 环 Y N Y N Y N六、实验步骤 按图连接线路:系统扩展区1的P3.3用插针连至K0, P1.0P1.7用插针连至L0-L7; 在闪动“P.”状态,按PCDBG键; 单击DVCC图标; 在系统设置选项中设定仿真模式为内程序、内数据; 在主菜单中选择联接; 选择实验指南/实验项目选择/单片机I/O口实验(P3和P1口应用),再选择实验指南/程序,打开该实验源程序 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现; 连续运行实验程序(内程序,内数据);。 开关K0每拨动一次,L0L7发光二极管按16

温馨提示

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

评论

0/150

提交评论