您好,欢迎访问三七文档
第一章单片机内部功能实验-1-第一章单片机内部功能实验实验一清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把7000H~70FFH的内容清零。三、实验程序框图(CLEAR.ASM)N四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵在PC机处于在Win9X/2000/XP软件平台下,单击DVCC图标,进入51动态调试窗口;⑶在“系统设置”选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择“联接”,进入51实验系统动态调试界面;⑸选择“实验指南/实验项目选择/清零程序”,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺从起始地址开始单步(F8)或断点运行程序到STOP处;⑻在存贮器窗口内检查7000H~70FFH中的内容是否为全00H。五、思考:假使要把7000~70FFH中的内容改成FF,如何编制程序?开始R0=0000送到7000HDPTR+1,R0+1R0=FF结束Y第一章单片机内部功能实验-2-实验二拆字实验一、实验目的掌握汇编语言设计和调试方法。二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。三、实验程序框图(CWORD.ASM)四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/拆字程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺先用存贮器读写方法将7000H单元置成34H;⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼检查7001H和7002H单元中的内容应为03H和04H;五、思考:如何用断点方法调试本程序。开始7000内容送A高低位交换屏蔽高位后送7001H7000H内容送A屏蔽高位后送7002H结束第一章单片机内部功能实验-3-实验三拼字实验一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把7000H、7001H的低位相拼后送入7002H,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、实验程序框图(PWORD.ASM)四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/拼字程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺先用存贮器读写方法将7000H单元中内容置03H,7001H单元中的内容置04H;⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼在存贮器窗口内检查7002H中的内容应为34H。(7000H)送A,屏蔽高位(7001H)送A,屏蔽高位开始交换高低位后送BA和B相或后送7002H结束第一章单片机内部功能实验-4-实验四数据传送实验一、实验目的掌握RAM中的数据操作。二、实验内容把(R2、R3)源RAM区首址内的(R6、R7)个字节数据,传送到(R4、R5)目的RAM区。三、实验程序框图(DMVE.ASM)NY四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/数据传送程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺在寄存器窗口里,R2、R3中装入源首址例如6000H,R4、R5中装入目的地址例如7000H,R6、R7中装入字节数0FFFH;⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼检查7000H开始的内容和6000H开始的内容是否完全相同。开始源地址内容送A(A)送目的地址源地址加1目的地址加1字节数到吗?结束第一章单片机内部功能实验-5-实验五数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图(DORDE.ASM)NNN四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/数据排序程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤开始清标志位从(R0)取数一A(R0)+1送R0(A)((R0))?置标志位,交换内容长度减1=0?标志位=0?结束YNYY第一章单片机内部功能实验-6-一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺片内RAM区50H-5AH中放入不等的数据。⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼检查片内RAM区50H-5AH中内容,应从小到大排列。五、思考:编一程序把50H-5AH中内容按从大到小排列。第一章单片机内部功能实验-7-实验六查找相同数个数一、实验目的熟悉汇编语言编程。二、实验内容在7000H-700FH中查出有几个字节是零,统计“00”的个数存入7100单元。三、实验程序框图(FIND.ASM)NNY四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/查找相同数个数程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;开始字节数送R0,查找字节送R17000H→DPTR从DPTR中取数判和被查数相同否DPTR+1字节数到吗?R1存入7100单元调显示子程序R1+1Y第一章单片机内部功能实验-8-⑺在用户程序区7000H-700FH的单元中放入随机数,其中几个单元中输入零;⑻从起始地址开始连续运行(F9)程序;⑼检查7100H单元中的内容。五、思考修改程序,查找其它内容。第一章单片机内部功能实验-9-实验七无符号双字节乘法实验一、实验目的掌握MCS-51汇编语言程序设计方法。二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的。(R2R3)*(R6R7)=((R2)*28+(R3))*((R6)*28+(R7))=(R2)*(R6)*216+((R2)*(R7)+(R3)*(R6))*28+(R3)*(R7)三、实验内容将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中。四、实验程序框图(NCMUL.ASM)五、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/无符号双字节快速乘法子程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有开始被乘数和乘数低字节相乘积高位送R5,低位送R7被乘数高字节和乘数低字节相乘积低位加R5→R4,高位加CY→R5被乘数低字节和乘数高字节相乘积低位加R4→R6,高位加R5→R5,CY→F0被乘数和乘数高字节相乘积低位加R5,CY→R5,高位加F0→R4结束第一章单片机内部功能实验-10-一个蓝色光标出现;⑺将7000H-7001H中存放无符号整数作为被乘数000AH,7002H-7003H中存放乘数0019H。⑻从起始地址开始单步(F8)或断点运行程序到STOP处;⑼检查两个数的乘积7004-7007单元中的内容应为000000FAH。第一章单片机内部功能实验-11-实验八多分支实验一、实验目的掌握汇编语言的编程。二、实验内容编写散转程序,根据8032片内20H中的内容(00或01或02或03)进行散转。三、实验程序框图(MJUP.ASM)四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;⑸选择实验指南/实验项目选择/多分支程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺片内RAM区20H单元写入00或01或02或03(在内部数据窗口中操作)。⑻从起始地址开始连续运行(F9)程序;⑼观察数码管显示的内容(20H)=00时,显示“0”循环,(20H)=01时,显示“1”字循环……开始(20H)→AA+散转首地址1字循环2字循环3字循环0字循环第一章单片机内部功能实验-12-实验九脉冲计数(定时/计数器)实验一、实验目的熟悉8031定时/计数功能,掌握定时/计数初始化编程方法。二、实验内容对定时器0外部输入的脉冲进行计数,并送显示器显示。三、实验程序框图(CONT.ASM)二进制转十进制子程序NY四、实验连线⑴系统扩展区1的P3.0连串行键盘显示接口区的SCL_04;⑵系统扩展区1的P3.1连串行键盘显示接口区的SDA_04;⑶系统扩展区1的P3.4插孔接固定脉冲输出信号或单脉冲输出孔,作为被测脉冲信号源;五、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;⑷在主菜单中选择联接;开始堆栈、定时/计数初始化开定时器取出TL0、TH0内容调用二转十进制子程序结果送显示缓冲器调显示子程序0送R4R5R616送位计数器R70送CYR2R3右移一位2×(R4R5R6)+CY送R4R5R6(R7)-1送R7R7=0?结束第一章单片机内部功能实验-13-⑸选择实验指南/实验项目选择/脉冲计数(定时/计数器实验)程序,再选择实验指南/程序,打开该实验源程序;⑹再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;⑺从起始地址开始连续运行(F9)程序;⑻观察数码管显示的内容应为脉冲个数。第一章单片机内部功能实验-14-实验十电脑时钟(定时器、中断综合)实验一、实验目的⑴熟悉MCS-51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧。⑵编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。二、实验程序框图(COCK.ASM)主程序:定时器中断服务程序:YYNYYY三、实验连线⑴系统扩展区1的P3.0连串行键盘显示接口区的SCL_04;⑵系统扩展区1的P3.1连串行键盘显示接口区的SDA_04;四、实验步骤⑴在闪动“P.”状态,按PCDBG键;⑵单击DVCC图标;⑶在系统设置选项中设定仿真模式为内程序、内数据;开始清显示缓冲区初始化定时计数器显示初值000000从键盘设置时钟
本文标题:ZHC2实验指导1
链接地址:https://www.777doc.com/doc-2829714 .html