首页 单片机实验指导书 [25]

单片机实验指导书 [25]

举报
开通vip

单片机实验指导书 [25]单片机原理及应用 实验指导书 2012年12月 目 录 1一、 实验环境介绍 11.1 Keil集成开发环境介绍 101.2 G2010+实验箱介绍 111.3 EasyProbe 8052F仿真器介绍 12二、 实验内容 12实验一 练习使用集成调试软件 13实验二 汇编语言程序设计 14实验三 简单输入/输出实验 16实验四 外部中断实验 18实验五 定时器/计数器应用实验 21实验六 串行口应用实验 24实验七 C51编程实验 25实验八 交通灯控...

单片机实验指导书 [25]
单片机原理及应用 实验指导书 2012年12月 目 录 1一、 实验环境介绍 11.1 Keil集成开发环境介绍 101.2 G2010+实验箱介绍 111.3 EasyProbe 8052F仿真器介绍 12二、 实验内容 12实验一 练习使用集成调试软件 13实验二 汇编语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 14实验三 简单输入/输出实验 16实验四 外部中断实验 18实验五 定时器/计数器应用实验 21实验六 串行口应用实验 24实验七 C51编程实验 25实验八 交通灯控制综合实验 26三、 附录 1、 实验环境介绍 1.1 Keil集成开发环境介绍 Keil集成开发环境是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言、C语言的程序设计,界面友好,易学易用。 (1) 建立工作文件夹 在规定的盘符建立一个以自己学号命名的文件夹,作为工作文件夹,将日后实验所有的文件都存放在该文件夹中。 (2) 进入集成开发环境 双击桌面图标,进入uVision2集成开发环境。 (3) 新建工程 选择菜单“工程—新建工程”,弹出“新建工程”对话框; 在“保存在”下拉列表中选择自己的工作文件夹,在“文件名”文本框中键入工程名(不需要键入扩展名,扩展名默认为 .uv2),单击“保存”按钮,关闭“新建工程”对话框,弹出“为目标‘target 1’选择设备”对话框,选择目标芯片型号; 选择Atmel公司的89C52芯片,单击“确定”按钮,关闭对话框,完成新建工程。 (4) 选择调试方式 单击“目标选项”按钮,弹出“目标’Target 1’属性”对话框;单击“调试”标签,选择调试方式。 若使用软件模拟方式,则选中“S 使用仿真器”,其他选项保持默认状态,不要随意更改;若使用硬件仿真器调试,则选中“U 使用”,并在其后的下拉列表中选择“Micetek Driver”,再选中“启动时加载程序”和“运行到main()”,其他选项保持默认状态,不要随意更改。单击“确定”按钮,关闭该窗口。 (5) 新建源程序 单击“新建文件”按钮,在弹出的文本窗口中输入汇编语言源程序; 输入完毕后,单击“保存”按钮,弹出“另存”对话框; 确认“保存在”为自己的工作文件夹,在“文件名”文本框中键入源程序文件名和扩展名(一定要输入扩展名,汇编语言源程序的扩展名为 .ASM);单击“保存”按钮,关闭对话框,保存源程序。 (6) 将源程序添加到工程中 右键单击“工程窗口”中的“Source Group 1”,在弹出的菜单中选择“增加文件到组”;(注:软件汉化有误) 弹出“增加文件到组”对话框; 在“文件类型”下拉列表中选择“Asm源文件”; 选中欲添加的源程序,单击“Add”按钮,源程序添加到工程中。但是,该对话框并不关闭,等待用户继续添加其他程序。添加完毕后,单击“关闭”按钮,关闭对话框。“工程窗口”中,“Source Group 1”下将出现该源程序文件名。 若对同一个文件二次添加,则会弹出如下警告框。 (7) 构造 单击“构造所有目标文件夹”按钮,对原程序进行编译和连接,构造结果将在“构造”窗口中显示。如果程序有语法错误,则会指出错误类型及所在行。修改后,重新构造,直至没有任何语法错误。 (8) 开始调试 单击“开始/停止调试”按钮,进入调试状态。 在调试状态下,“构造工具栏”变为“调试工具栏”。通过单步运行,查看寄存器、存储器的值,判断程序是否运行正确。若不正确,找出问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 所在,单击“开始/停止调试”按钮,停止调试,进入编辑状态,修改程序,重新构造、调试。 (9) 查看寄存器 进入调试状态后,“工程窗口”变为“寄存器窗口”,可以查看各寄存器的值。 (10) 查看存储器 单击“存储器窗口”按钮,打开存储器窗口;该窗口共有4个标签,可显示4块存储器空间。单击一个标签,按如下格式在地址栏中键入要查看的存储器单元的类型和地址。 片内数据存储器 I : 地址 片外数据存储器 X : 地址 程序存储器 C : 地址 例如:要查看片内数据存储器30H单元的值,则键入I:30H 若要人为修改某存储单元的值,可右键单击该单元,在弹出的菜单中选择“更新存储器”,在弹出的文本框中输入该单元的新值,单击“确定”即可。 (11) 单步运行 在调试状态下,源程序的左边有一个黄色的箭头,指示当前程序执行的位置,即将要执行的指令。单击“单步”按钮,程序执行一条指令,黄色箭头下移一行。寄存器和存储器的值的变化情况显示在相应位置。执行过的指令左边用一绿色方块标记。 (12) 运行到光标行 若想快速、连续执行若干条指令,可将光标定位在这些指令的最后一条指令处,单击“运行到光标行”按钮。 (13) 全速运行 对于有些程序,只有全速运行才能实现其功能,这时只需单击“运行”按钮即可;若要暂停运行,单击“暂停”按钮。 (14) 程序复位 若要重新开始执行程序,可单击复位按钮,使PC=0。 (15) 将源程序从工程中删除 一个程序调试成功后,若要调试另一个程序,可不必新建工程,只需新建一个源程序,添加到原有的工程中,同时,要将前一个源程序从工程中删除。 在“工程窗口”中,单击要删除的源程序名,按“Delete”键,在弹出的对话框中选择“确定”即可。 对于初学者,一个工程中一般只包含一个源程序,应将多余的源程序删除。 1.2 G2010+实验箱介绍 SICElab-G2010+实验箱是一个开放式综合实验/仿真系统,具有如下个模块。 新型实用模块: (1)LCD液晶实验 (2)点阵LED广告屏 (3)DS12887实时时钟 (4)红外线发送、接收 (5)直流电机恒速控制 (6)电子琴模拟实验 (7)串行ROM / I2C ROM / 看门狗 (8)步进电机调速 传感器模块: (1)温度传感器 (2)压力传感器 (3)霍尔传感器 (4)红外传感器 传统实验模块: (1)模数转换器A/D0809 (2)数模转换器D/A0832 (3)8155控制键盘/显示 (4)V/F转换器LM331 (5)串口通讯MAX232 (6)音响电路LM386 (7)EPROM27C256扩展 (8)RAM6264扩展 (9)微型打印机接口 (10)PWM模块 通用实验模块: (1)模拟信号发生器 (2)开关量发生器 (3)发光二极管组 (4)信号发生器 (5)74LS138译码器 (6)分频器电路 (7)LED6位数码管 (8)20个键盘组 (9)逻辑笔 (10)门电路 自由实验模块: 由DIP40锁紧插座及240个插孔组成,CPU所有信号均以插孔方式引出,还设计了常用门电路、晶振源、电源插孔等,可以完成以上实验模块的组合实验以及由实验者自行命题和新器件、新 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的实验,使得实验方式和内容不受限制。 1.3 EasyProbe 8052F仿真器介绍 EasyProbe 8052F仿真器是单片机专业用仿真器,具有高性能仿真存储区,实时硬件断点,实时追踪记录功能,支持 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 8031/32/51/52/54/58微控制器。 系统性能     * 双CPU架构,全开放设计    * 完全实时仿真,最高速度可达40MHz    * 轻巧实用,可以不使用仿真电缆而直接插入用户仿真系统,便于现场调试    * 以115200bps通过RS232串口与主机通信    * 支持8XC31/32/51/52/58及78C31/32/51/52/54/58等 51系列内核的CPU    * 尺寸:9.0cm 宽:6.5 cm 高:3.0 cm, 重:125g 高性能仿真存储区    * 128K仿真存储区,包括64K程序存储区和64K数据存储区    * 可按下列属性进行映射: - Overlay(Internal):内部 - Target(External): 外部     * 目标处理器可完整保留自身的存储区和I/O空间    * 全空间64K个实时硬件断点 原始程序级开发功能 (( 64K硬件执行断点,支持所有程序空间 (( 可对原始程序或C语言进行单步操作 ( Step Into / Over ) (( 循环单步操作 ( Cycle ) 后可显示地址总线、数据总线、周期状态、介面状态及外部追踪位状态资讯 单机执行功能 (( 内建Flash,可下载程序至仿真器中,下载后可单机执行程序,不须连接PC 2、 实验内容 实验1 练习使用集成调试软件 1. 实验目的 (1) 练习使用Keil集成调试软件; (2) 熟悉汇编语言指令。 2. 实验内容 按照实验指导书的说明,结合附录中的例子,练习使用Keil集成调试软件,为以后的实验打下基础。 3. 实验器材 计算机1台 4. 实验步骤 (1) 新建工程; (2) 输入源程序; (3) 将源程序添加到工程中; (4) 构造; (5) 运行程序; (6) 观察记录运行过程和结果。 5. 实验报告要求 (1) 列出源程序,并加以注释; (2) 结构复杂的程序,画出流程图; (3) 对实验过程和结果进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ; (4) 写出心得体会。 实验2 汇编语言程序设计 1. 实验目的 (1) 进一步熟悉汇编语言指令的功能。 (2) 掌握各种结构汇编程序设计方法。 2. 实验内容 (1) 编写程序,计算30H、31H单元和32H、33H单元中两个4位BCD码的和,结果存放到34H、35H单元; (2) 编写程序,将30H、31H、32H单元中的3个数按从小到大的顺序排列,结果仍存放在这3个单元。 (3) 编写程序,查找30H~39H单元10个数中奇数的个数,结果存放到40H单元; (4) 编写程序,查表得到两个数的乘积。 3. 实验器材 计算机1台 4. 实验步骤 (1) 新建工程 (2) 输入源程序 (3) 将源程序添加到工程中 (4) 构造 (5) 运行程序 (6) 观察、记录程序运行的过程和结果 实验3 简单输入/输出实验 1. 实验目的 (1) 进一步理解I/O口的工作原理 (2) 掌握输入/输出程序的设计方法 2. 实验内容 编写程序,实现开关控制发光二极管的亮、灭。 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 硬件连线 开关 ( P1.0 P1.1 ( 发光二极管 5. 实验程序 程序1 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV C, P1.0 MOV P1.1, C SJMP MAIN END 程序2 ORG 0000H LJMP MAIN ORG 0030H MAIN: JB P1.0, LEDON CLR P1.1 SJMP DONE LEDON: SETB P1.1 DONE: SJMP MAIN END 6. 实验步骤 (1) 关闭实验箱电源,按题目要求接线; (2) 打开实验箱电源,注意确认电源指示灯正常点亮; (3) 进入集成开发环境,新建工程,注意必须使用硬件仿真器调试方式; (4) 输入程序,构造,单步运行,检查系统是否工作正常; (5) 全速运行程序,拨动开关,控制发光二极管的亮、灭; (6) 停止运行程序,退出调试状态,关闭实验箱电源,改变接线,做其他实验。 7. 思考与发挥 (1) 如何实现多个开关控制多个发光二极管? (2) 如何实现8个发光二极管循环点亮? 实验4 外部中断实验 1. 实验目的 (1) 进一步了解外部中断的结构和工作原理; (2) 掌握外部中断的应用程序设计方法。 2. 实验内容 编写程序,利用脉冲按钮产生中断,观察外部中断的响应、处理及返回过程。 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 硬件连线 脉冲输出 ( EQ \* jc0 \* "Font:Times New Roman" \* hps10 \o(\s\up 9(_________),INT0) (P3.2) 引脚 5. 实验程序 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0_SERVE ORG 0030H MAIN: SETB EX0 SETB IT0 SETB EA LOOP: MOV A, #01H MOV A, #02H MOV A, #03H SJMP LOOP INT0_SERVE: MOV 30H, A RETI END 6. 实验方法 将光标定位在 LJMP INT0_SERVE 指令处,按下“运行到光标行”按钮,程序全速运行,等待外部中断。 按动脉冲按钮,产生下降沿,程序将中断运行,返回监控状态。 继续单步执行程序,观察中断程序的执行及中断返回过程。查看累加器A或30H单元的值,可知主程序的中断位置。 重复进行实验,中断位置会不同。 7. 思考与发挥 (1) 设计一个实验,按动按钮,LED灯亮一段时间。 (2) 如何通过实验验证外部中断低电平触发方式? 实验5 定时器/计数器应用实验 定时器应用 1. 实验目的 (1) 进一步了解定时器的结构和工作原理; (2) 掌握定时器的应用程序设计方法。 2. 实验内容 编写定时程序,利用音响电路产生不同频率的声音 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 硬件连线 P1.0 ( 音响输入 5. 实验程序 查询方式(TIM0_JNB.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD, #00000010B MOV TH0, #80H MOV TL0, #80H SETB TR0 LOOP: JNB TF0, $ CLR TF0 CPL P1.0 SJMP LOOP END 中断方式(TIM0_INT.ASM) ORG 0000H LJMP MAIN ORG 000BH LJMP TIM0 ORG 0030H MAIN: MOV TMOD, #00000010B MOV TH0, #80H MOV TL0, #80H SETB TR0 SETB ET0 SETB EA SJMP $ TIM0: CPL P1.0 RETI END 6. 实验方法 全速运行程序,从喇叭中发出一定频率的声音。 7. 思考与发挥 (1) 如何改变声音频率? (2) 计数初值变大,声音频率将如何变化? (3) 如何延长定时时间,使发光二极管闪亮? 计数器应用 1. 实验目的 (1) 进一步了解计数器的结构和工作原理; (2) 掌握计数器的应用程序设计方法。 2. 实验内容 编写计数程序,记录按键次数。 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 硬件连线 脉冲输出 ( T0 (P3.4) 引脚 P1.0 ( 发光二极管 5. 实验程序 ORG 0000H LJMP MAIN ORG 000BH LJMP CNT0 ORG 0030H MAIN: MOV TMOD, #00000101B MOV TH0, #0FFH MOV TL0, #0FDH SETB TR0 SETB ET0 SETB EA SJMP $ CNT0: CPL P1.0 MOV TH0, #0FFH MOV TL0, #0FDH RETI END 6. 实验方法 全速运行程序,按动脉冲按钮,每发出3个脉冲,发光二极管改变一次状态。 7. 思考与发挥 (1) 若要求每发出5个脉冲,发光二极管改变一次状态,如何修改程序? (2) 如果改为用计数器1计数,接线和程序要如何修改? 实验6 串行口应用实验 1. 实验目的 (1) 进一步了解串行口的结构和工作原理; (2) 掌握串行口的应用程序设计方法。 2. 实验内容 利用单片机串行口,实现两个实验台之间的串行通讯。 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 硬件连线 方案一: 单片机 MAX232 P3.0 —— RXD P3.1 —— TXD 两台实验箱用通讯电缆连接 方案二: 甲机 乙机 TXD (P3.1) —— RXD (P3.0) RXD (P3.0) —— TXD (P3.1) GND —— GND 5. 实验程序 发送程序(查询方式) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SCON, #10000000B MOV A, #12H MOV SBUF, A JNB TI, $ CLR TI SJMP $ END 发送程序(中断方式) ORG 0000H LJMP MAIN ORG 0023H LJMP SEND ORG 0030H MAIN: MOV SCON, #10000000B MOV A, #12H MOV SBUF, A SETB ES SETB EA SJMP $ SEND: CLR TI RETI END 接收程序(查询方式) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SCON, #10010000B JNB RI, $ CLR RI MOV A, SBUF SJMP $ END 接收程序(中断方式) ORG 0000H LJMP MAIN ORG 0023H LJMP RECEIVE ORG 0030H MAIN: MOV SCON, #10010000B SETB ES SETB EA SJMP $ RECEIVE: CLR RI MOV A, SBUF RETI END 6. 实验方法 接收方先运行,把光标定位在 MOV A, SBUF 指令的下一条指令处,按“运行到光标行”按钮等待接收数据。 发送方后运行,把光标定位在 CLR TI 指令处,按“运行到光标行”按钮,程序很快运行结束,数据发送完毕。 接收方接收到数据后,程序中断运行,返回监控状态,查看累加器A中的内容是否为发送方发送的数据。 7. 思考与发挥 (1) 发送方是否可以先运行? (2) 编写程序发送一组数据。 (3) 设计一个实验,用甲机的开关控制乙机的LED灯。 实验7 C51编程实验 1. 实验目的 初步掌握C51程序设计方法。 2. 实验内容 编写并调试出一个C51实验程序。 3. 实验器材 (1)计算机1台 (2)仿真器1台 (3)实验箱1台 4. 实验程序 main() { int x, y, z; x = 10; y = 20; z = x + y; x++; y--; while (1); } 本例中main是主函数名,要执行的主函数的内容称为主函数体,主函数体用大括号{ }括起来。函数体中包含若干条将被执行的程序语句,每条语句都必须以分号为结束符。 5. 实验方法 保存源程序时,输入扩展名.C ; 使用观察窗口查看变量的值。按“查看调用堆栈窗口”按钮打开观察窗口;在“局部”标签中显示出变量的值;或者,右键单击程序中的变量名,在弹出的菜单中选择“增加到观察窗口”—“#1”或“#2”。 6. 思考与发挥 用C51语言编写一个数据排序程序。 实验8 交通灯控制综合实验 自行设计实验步骤,模拟实现十字路口交通信号灯。 方案一: 东西方向 红灯10s 绿灯15s 南北方向 绿灯10s 红灯15s 方案二: 东西方向 红灯10s 绿灯12s 黄灯3s 南北方向 绿灯7s 黄灯3s 红灯15s 方案三: 增加一个外部中断,模拟紧急情况。按下按钮后四个方向全部红灯,10s后恢复正常。 方案四: 增加计数功能,一个方向通过10辆车后状态转换。 3、 附录 注:下划线表示该数据可以随意更换。 1. 数据交换 交换片内数据存储器30H和31H单元的内容。 源程序:(XCH.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #12H MOV 31H, #34H MOV A, 30H MOV 30H, 31H MOV 31H, A SJMP $ END 2. 片外数据交换 交换片外数据存储器0030H和0031H单元的内容。 源程序:(MOVX.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR, #0030H MOV A, #12H MOVX @DPTR, A MOV DPTR, #0031H MOV A, #34H MOVX @DPTR, A MOV DPTR, #0030H MOVX A, @DPTR MOV B, A MOV DPTR, #0031H MOVX A, @DPTR MOV DPTR, #0030H MOVX @DPTR, A MOV DPTR, #0031H MOV A, B MOVX @DPTR, A SJMP $ END 3. 查表程序 程序存储器从0050H单元开始存放有10位学生的成绩,根据累加器A中的学号,查出该学生的成绩。 源程序:(MOVC.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR, #CJTAB MOV A, #05H MOVC A, @A+DPTR SJMP $ ORG 0050H CJTAB: DB 98H, 74H, 83H, 85H, 77H DB 65H, 92H, 68H, 84H, 70H END 注意观察程序存储器中成绩表的存放情况。 4. 双字节数加法 片内数据存储器30H(高8位)、31H(低8位)单元和32H、33H单元存放有两个双字节无符号数,将其相加,和存放在30H、31H单元中。 源程序:(ADD_W.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #12H MOV 31H, #34H MOV 32H, #0ABH MOV 33H, #0CDH MOV A, 31H ADD A, 33H MOV 31H, A MOV A, 30H ADDC A, 32H MOV 30H, A SJMP $ END 思考与发挥: 如何实现双字节数减法? 5. 双字节数加一 将30H(高8位)、31H(低8位)单元双字节数加一。 源程序:(INC_W.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A, 31H ADD A, #01H MOV 31H, A MOV A, 30H ADDC A, #00H MOV 30H, A SJMP MAIN END 该程序为循环结构,可连续单步运行。 思考与发挥: 如果为BCD码加一,程序将如何修改? 6. 双字节数左移 将30H、31H单元双字节数左移一位。 源程序:(RLC_W.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #12H MOV 31H, #88H LOOP: MOV A, 31H CLR C RLC A MOV 31H, A MOV A, 30H RLC A MOV 30H, A SJMP LOOP END 该程序为循环结构,可连续单步运行。 思考与发挥: 如果要右移一位,程序将如何修改? 7. 比较大小 比较片内数据存储器30H和31H单元的两个无符号数的大小,将较大者存入32H单元。 源程序:(MAX_2.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #12H MOV 31H, #34H MOV A, 30H CJNE A, 31H, COMP COMP: JNC BIG MOV A, 31H BIG: MOV 32H, A SJMP $ END 思考与发挥: 若要存放较小数,程序将如何修改? 8. 寻找最大值 片内数据存储器30H~39H单元中存放有10个无符号数,找出其中最大数存放到40H单元中。 源程序:(MAX_10.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #82H MOV 31H, #23H MOV 32H, #98H ┇ ┇ MOV 39H, #33H MOV A, 30H MOV R0, #31H MOV R7, #09H LOOP: MOV B, @R0 CJNE A, B, COMP COMP: JNC NEXT MOV A, B NEXT: INC R0 DJNZ R7, LOOP MOV 40H, A SJMP $ END 思考与发挥: 若要寻找最小值,程序将如何修改? 9. 单字节BIN码(BCD码 将累加器A中的二进制码转换为BCD码,结果存放在片内数据存储器30H(百位)、31H(十位)、32H(个位)单元中。 源程序:(BIN2BCD.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A, #0BAH MOV B, #64H DIV AB MOV 30H, A MOV A, B MOV B, #0AH DIV AB MOV 31H, A MOV 32H, B SJMP $ END 10. 单字节BCD码(BIN码 将累加器A中的压缩BCD码转换为二进制码。 源程序:(BCD2BIN.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A, #26H PUSH ACC ANL A, #0F0H SWAP A MOV B, #0AH MUL AB MOV B, A POP ACC ANL A, #0FH ADD A, B SJMP $ END 11. 子程序 片内数据存储器30H、31H单元存有两个无符号数a和b,编程计算a2+b2,将结果存取32H单元。由子程序求数的平方。设结果为单字节数。 源程序:(SUBROUT.ASM) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H, #2 MOV 31H, #3 MOV A, 30H LCALL SQR MOV 32H, A MOV A, 31H LCALL SQR ADD A, 32H MOV 32H, A SJMP $ SQR: MOV B, A MUL AB RET END 实验方法: 单步执行程序,注意观察程序的执行顺序。
本文档为【单片机实验指导书 [25]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_193354
暂无简介~
格式:doc
大小:671KB
软件:Word
页数:33
分类:工学
上传时间:2013-09-05
浏览量:30