




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用实验指导书XX 用单片机原理及应用实验指导书华南理工大学自动化学院耿彤史步海华南理工大学教材供应中心xx年4月录目录第一章MCS-151单片机仿真实验系统介绍? (1)第一节系统概述? (1)第二节系统功能与特点? (1)第三节系统资源分配? (2)第二章安装使用? (3)第一节硬件安装? (3)第二节快捷使用? (3)第三章MCS-151单片机实验指导? (5)第一节软件实验? (5)实验1清零程序(MCS-51指令学习)? (8)实验2拆字程序? (9)实验3数据区传送子程序? (10)实验4数据排序实验? (11)实验5多分支程序? (12)实验6脉冲计数(定时/计数器实验)? (13)实验7电脑时钟(定时器、中断综合实验)硬件实验? (14)第二节硬件实验? (15)实验1P1口亮灯实验? (15)实验2P1口转弯灯实验? (16)实验3定时器/计数器实验? (17)实验48255控制交通灯? (19)实验50809A/D转换实验? (20)实验60832D/A转换实验? (21)实验7步进电机控制? (22)实验8小直流电机调速实验? (24)实验9电子音响实验? (26)实验108253方波实验? (27)附录实验参考程序清单? (28)1第一章MCS-51单片机仿真实验系统概述第一节系统组成Dais系列单片机微机仿真实验系统的MCS-51单片机实验与仿真由管理CPU89C52系统单元、目标CPU8032或438单元、接口实验单元和内置稳压电源组成。 通过RS232C串行接口与PC微机相连,系统硬件主要内容如下第二节系统功能与特点1)自带键盘、显示器,能独立运行,也可以PC机为操作平台。 两种工作方式任意选择,均全面支持单片机原理机应用等课程的实践教学。 2)系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8032或438作为目标机仿真与实验CPU,其软硬件资源100出借。 3)目标CPU8032/438采用主频为6MHz,向用户提供实验方式和两种仿真方式(RAM方式和EPROM方式)。 4)配有一片RAM61C256构成系统的32K程序空间,地址范围为0000H7FFFH,还配有一片61C256(32K)作为用户设置的断点区(BPROM)。 CPU管理CPU89C 52、目标CPU8032/78E438系统存储器监控在89C52内E2PROM(8K)、RAM 6264、RAM61256一片(32K)、BPROM61256(32K)。 接口芯片及单元实验 8253、 8255、 8259、ADC 0809、DAC 0832、 6264、 164、 273、 244、393分频、电子发声单元,电机控制单元,开关及发光二极管、单脉冲触发器、继电器控制、1616点阵、8155扩展33键盘、四位LED显示、216LCD液晶显示、40芯锁紧式接口扩展及 8250、8251串行通信等。 外设接口打印接口、RS232串口、D/A驱动接口、步进电机驱动接口、音频驱动接口、51仿真接口、支持P0口、P2口及P3. 6、P3.7的第二功能(PIO)的仿真、216LCD液晶显示接口。 显示器6位LED、两路双踪示波器键盘32键自定义键盘EPROM编程器对EPROM2764/27128快速读出系统电源+5V/2A,12V/0.5A25)实验项目完整丰富,与课程教学紧密结合,同时配有电机、温压、音响等实验对象,可支持控制应用类综合实验。 6)系统接口实验电路为单元电路方式,电路简捷明快,后缀名为“H”机型的8位数据总线以排线或8芯扁平线形式引出,这样既减轻繁琐的连线工作,又通过学生的实验工作能力。 7)通过RS232通信接口,在Windows/DOS集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的、编译、调试运行,提高实验效率。 8)具有丰富的调试手段。 系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100保护用户现场,返回监控。 9)自带EPROM编程器,可对2764/27128快速读出(软硬件实验所需的代码文件)。 第三节系统资源分配实验系统寻址范围定义如下空间地址器件选用用途与说明0000H7FFFH61C256仿真程序空间0000H0FFFFH EPROM目标机程序空间0000H0FFFFH实验接口电路实验空间0000H0FFFFH RAM/IO目标机数据空间系统已定义的I/O地址如下:接口芯片口地址用途74LS2730FFDDH字位口74LS2730FFDCH字形口74LS2450FFDEH键入口8255A口0FFD8H EP总线8255B口0FFD9H EP地址8255C口0FFDAH EP控制8255口0FFDBH控制字3第二章安装使用第一节硬件安装1)将CPU选择开关拨至51位置。 2)将随机所配的三芯电源线与AC220V电网连接。 3)打开电源开关(位于机箱后面板),系统应显示闪动的“P.”,处于待命状态;否则按下RESET键,如仍再不显示,应立即切断电源,检查后重新进行或请指导老师对仪器进行检查。 4)系统功能自检在闪动的“P.”状态下按键MOVE0000STEPEXEC,系统以连续方式运行“8”字循环右移程序,若6位LED出现跑“8”显示,说明系统已进入正常工作状态,可按RESET键返回“P.”待令。 第二节快捷使用1.Windows环境1)在桌面上点击“MSC51仿真开发系统”图标,然后选择以实验系统所接串口一致的选项,点击“确定”便进入Dais集成调试环境。 2)点击工具条中“打开文件”图标;在打开对话框中双击LED51.asm文件,进入实验源程序的窗口。 3)点击工具条中“编译连接,生成目标文件、装载”图标,进行源文件的编译、装载,在出现编译成功的对话框后点击“OK”框自动进入源文件调试状态。 4)在工具条中点击所需的运行方式“单步运行”图标,“宏单步运行”图标,“运行”图标。 5)若需要以断点方式运行,可直接点击源语句行前的“断点”图标来完成所需断点的设定。 6)系统一旦进入运行状态后若需终止该程序的运行请点击“暂停运行”图标退出当前操作返回待令状态。 42.DOS环境1)在纯DOS环境下,用“CD”命令进入有安装路径确定的Dais目录。 2)键入DMCS51命令,回车。 便进入DOS版集成调试环境。 3)在菜单栏选择“Options”中的“Ports”项,对当前实验系统所连接的串口进行确定。 4)一旦进入集成调试环境,用F3(Open)命令打开源文件选择窗,把MCS51.asm文件调入当前窗口。 5)用F9(Compile)命令,对当前窗口的源文件进行编译、连接、装载后自动进入调试环境。 6)用“Tab”键把光标移至寄存器框的PC位置,进入实验项目所需的程序入口地址。 7)再用“Tab”键把光标移至源文件调试窗口,用F7(单步)、F8(宏单步)、F4(运行到光标处)、CtrlF9(连续运行)等方式进入实验程序的调试运行。 8)系统一旦进入运行状态后若需终止该程序的运行请按“Esc”退出当前操作返回待令状态。 3.LED环境1)在“P.”状态下按“0F14F20EV/UN”,装载实验所需的代码程序。 2)在“P.”状态下键入实验项目所需的程序入口地址(详见P6),然后按“STEP”或“EXEC”进入实验项目的调试与运行。 3)若需要以断点方式运行,请在“P.”状态下键入断点地址然后按“SRB”命令键确认,再键入实验程序入口地址,按“EXEC”进入实验项目的断点运行。 4)系统一旦进入运行状态后若需终止该程序的运行请按STOP(暂停)或RESET(复位)按钮退出当前操作,返回待令状态“P.”。 5第三章MCS-51单片机实验指导本实验指导是为适应开设单片机原理与应用课程需做一定量软硬件实验的需要而编写的,供学生编程用。 完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、接口技术、程序设计技巧。 手册中详细叙述了各实验的目的、内容,列出了接线图、程序框图和实验步骤。 为设计、准备调试实验线路和实验程序节约了宝贵的时间。 一、所有实验程序已固化在16K EPROM (27128)中,把插在固化区上的EPROM内容(0000-3FFFH)用传送命令将程序传送到以0000H为起始地址的RAM中,因实验程序中采用子程序形式较多,要互相调用,所以必须把程序全部传送到实验系统中,对中断入口等地址的指令按照实验要求输入。 其中MCS-51实验程序地址范围00001FFFH,您可以通过系统自带的键盘显示输入各种命令运行系统RAM中的实验程序,显示实验结果,完成各个实验,这种模式适合于PC机不足的情况。 您也可将实验系统连接在PC机上,把工作目录中的51.HEX下载到实验系统RAM中,利用所提供的系统操作命令完成各实验。 二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。 三、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。 四、关于打印机、8279等详细使用说明,见单片微型计算机控制板使用说明。 五、对同一问题的解决办法往往不是唯一的,欢迎用户在使用本书过程中提出最为优秀的实验方案,指示错误和不足,希望用户反馈给我们,以便及时修改。 六、每个实验程序的序号、实验名称、入口地址参考下表。 (表中所列为所有程序,因学时有限,本实验中所用程序以实验名称为准对应入口地址)6软件部分实验实验序号软件实验名称入口地址实验一清零程序0640H实验二拆字程序0660H实验三拼字程序0680H实验四数据区传送子程序07B0H实验五数据排序实验09B0H实验六查找相同数个数0AA0H实验七无符号双字节快速乘法子程序0970H实验八多分支程序0A10H实验九脉冲计数(定时/计数器实验)06E0H实验十电脑时钟(定时器、中断器综合实验)0030H硬件部分实验实验序号硬件实验名称入口地址实验一P1口亮灯实验0790H实验二P1口转弯灯实验0C30H实验三P3口输入P1口输出0810H实验四工业顺序控制实验0190H实验五8255ABC口输出方波0580H实验六PA口控制PB口实验0770H实验七8255控制交通灯0BB0H实验八简单I/O口扩展实验0B80H实验九0809A/D转换实验05A0H实验十0832D/A转换实验05E0H实验十一8279键盘/显示实验00D0H实验十二通用打印机实验0240H实验十三GP16微型打印机实验0280H实验十四电子音响实验music.hex实验十五继电器控制实验0F00H实验十六步进电机实验0CAOH实验十七8253方波实验0EC0H7第一节软件实验(MCS-51指令学习)本节共有七个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计的过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 本节提供的软件实验,涉及外部数据存储器扩展寻址操作,按下图连接实验线路。 1)将存储器单元的D0D7总线接口用8芯排线或8芯扁平线与数据总线单元D0D7的任一接口相连。 存储器单元的A0A7地址接口与地址总线单元(低8)A0A7的任一接口相连,存储器单元的A8A12地址接口与地址总线单元(高8)A8A12的任一接口相连。 2)存储器单元的WE/PGM插孔与六位LED坐下方的WR或IOWR插孔相连。 3)存储器单元的CS1插孔连到六位LED右下方的A15插孔。 4)存储器单元的OE插孔连到六位LED左下方RD或IORD插孔。 8验实验1清零程序 一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容把2000H-20FFH的内容清零。 三、程序框图 四、实验步骤用连续或单步方式运行程序,检查2000-20FF中执行程序前后的内容变化。 五、思考假使把2000H-20FFH中的内容改成FF,如何修改程序。 9验实验2拆字程序 一、实验目的掌握汇编语言设计和调试方法。 二、实验内容把2000H的内容拆开,高位送xxH低位,低位送xxH低位,xxH、xxH高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序框图 四、实验步骤用连续或单步方式运行程序,检查2000xxH中内容变化情况。 五、思考如何用断点方式调试本程序。 10验实验3数数据区传送序子程序 一、实验目的掌握RAM中的数据操作。 二、实验内容把R 2、R3源RAM区首址内的R 6、R7字节数据传送到R 4、R5目的RAM区。 三、程序框图 四、实验步骤在R 2、R3中输入源首址(例如0000H),R 4、R5中输入目的地址(例如2000H),R 6、R7中输入字节数(例如1FFFH),运行程序,检查0000-1FFFH中内容是否和2000-3FFFH中内容完全致。 11验实验4数据排序实验 一、实验目的熟悉8032指令系统,掌握程序设计方法。 二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。 把R 2、R3源RAM区首址内的R 6、R7字节数据传送到R 4、R5目的RAM区。 三、程序框图 四、实验步骤把8032中RAM50H-5AH中放入不等的数据,运行本实验程序后检查50-5AH中内容是否按从小到大排列。 四、实验步骤修改程序把50H-5AH中内容按从大到小排列。 12验实验5多分支程序 一、实验目的掌握汇编语言的编程。 二、实验内容编写程序,根据送入的数据转移运行。 三、程序框图 四、实验步骤在20H中分次送入 00、 01、 02、03,每次运行程序后,观察数码管上数字循环情况。 13验实验6脉冲计数(定时/计数器实验) 一、实验目的熟悉8032定时/计数功能,掌握初始化编程方法。 二、实验内容把定时器0外部输入的脉冲进行计数,并送显示器显示。 三、程序框图 四、实验电路 五、实验步骤P3.4依次接T0-T7或单步脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。 六、思考修改程序使显示器上可显示到999999个脉冲个数。 14验实验7电脑时钟(定时器、中断综合实验)硬件实验 一、实验目的熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。 二、实验内容编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。 三、程序框图 四、实验步骤连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。 五、思考 (1)电子钟走时精度和程序中那些常数有关? (2)修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。 15硬件实验硬件实验可使学生能进一步掌握单片机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件/硬件设计,学习调试方法和技巧。 实验11P1口亮灯实验 一、实验目的 (1)学习P1口的使用方法; (2)学习延时子程序的编写。 二、实验预备知识 (1)P1口对准双向口,每一位都可独立地定义为输出线或输入线。 (2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。 二、实验设备PC机、MCS-51单片机实验仪 四、实验内容P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 五、程序框图 六、实验电路16 七、实验步骤P1.O-P1.7用插针连至L1-L8,运行程序后,观察发光二极管闪亮移位情况。 八、思考改变延时常数,使发光二极管闪亮时间改变。 修改程序,使发光二极管闪亮移位方向改变。 实验验12P1口转弯灯实验 一、实验目的进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。 二、实验内容P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.O、P1.1开关同时接5V或接地时,转弯灯均不闪亮。 三、程序框图 四、实验电路17 五、实验步骤P1.0接K1P1.1接K2P1.4-P1.7接L1L5L9L13连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。 验实验3定时器/计数器实验 一、实验目的 (1)掌握定时器/计数器T 0、T1的使用; (2)掌握中断的设置和初始化。 二、实验设备PC机、MCS-51单片机实验仪 三、实验内容通过程序将T 0、T1设为定时模式0或1,从P1.1和P1.0观察方波情况。 四、程序框图 六、实验电路P1.O、P1.1用插针连至L 1、L2,运行程序后,观察发光二极管闪亮移位情况。 七、实验步骤P1.O-P1.1用插针连至发光二极管,运行程序后,观察发光二极管闪亮情况。 同时用示波器观察输出波形情况。 八、思考设计程序对步进电机进行控制。 18步进电机为四相八拍控制(即四输出A-P1.0,B-P1.1,C-P1.2,D-P1.3;DCBA-P1.3-1.0。 八拍为AABBBCCCDDDA;对应01H、03H、02H、06H、04H、0CH、08H、09H)。 连接好单片机和步进电机,在单片机的P1口输出以上对应码,控制步进电机动作,同时用四个发光二极管观察输出情况。 参考电路图如下进行本实验时请先用8芯扁平线将实验系统“步进电机驱动单元”的8芯接口与实验系统左上方“机电实验单元”(音响、直流电机、步进电机)的8芯接口相连接。 19验实验48255控制交通灯 一、实验目的进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。 二、实验内容用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 三、程序框图 四、实验电路 五、实验步骤8255PA0-PA7PB0-PB3接发光二极管L15-L 13、L11-L 9、L7-L 5、L3-L1。 执行程序,初始状态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。 20验实验5A/D转换实验 一、实验目的 (1)掌握A/D转换与单片机接口的方法; (2)了解A/D芯片0809转换性能及编程方法; (3)通过实验了解单片机如何进行数据采集。 二、实验内容利用实验系统上的0809做A/D转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。 三、程序框图 四、实验电路 五、实验步骤把0809的零通道INT0用插针接至AINl孔,0809CS位FFE0孔,运行程序,数码管显示0809.XX,后二位显示当前采集的电压转换的数字量,调节W1,该二位将随着电压变化而相应变化。 六、思考修改程序,用其它通道轮流采样显示。 21验实验6D/A转换实验 一、实验目的 (1)了解D/A转换与单片机的接口方法; (2)了解D/A转换芯片0832的性能及编程方法 (3)了解单片机系统中扩展D/A转换芯片的基本方法。 二、实验内容利用0832输出一个从0V开始逐渐升至5V再降至0V的电压,数码管显示送入的数字量值。 三、程序框图 四、实验电路 五、实验步骤把0832译码线0832CS接至FFE0孔运行程序,数码管显示不断加大或减小的数字量,用万用表测试D/A输出孔AOUT应也能测出不断加大或减小的电压值。 六、思考题:修改程序,使能产生锯齿被。 22实验7步进电机控制 一、实验目的了解步进电机控制的基本原理,掌握步进电机转动编程方法。 二、实验预备知识步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。 三、实验内容从键盘上输入正、反转命令,转速参数和转动步数显示在显示器上,CPU再读取显示器上显示的正、反转命令,转速级数(16级)和转动步数后执行。 转动步数减为零时停止转动。 四、程序框图 五、实验电路23 六、实验步骤采用外置机电实验方式的用户,在实验前用随机所配的连接电缆与实验仪相对应的机电实验接口相连。 按实验连线图把P1.0P1.3分别接到BABD插孔。 在“P.”状态下,从起始地址开始(0CA0H)连续执行程序。 在键盘上输入数字在显示器上显示,第一位为0表示正转,为1表示反转,第二位0F为转速等级,第三到第六位设定步数,设定完按EXEC键,步进电机开始旋转。 24实验8小直流电机调速实验 一、实验目的掌握直流电机的驱动原理。 了解直流电机调速的方法。 二、实验内容用0832D/A转换电路后的输出经放大后驱动直流电机。 编制程序改变0832输出经放大后的方波信号的占空比来控制电机转速。 本实验中D/A输出为双极性输出,因此电机可以正反向旋转。 三、程序框图 四、实验电路 五、实验步骤对于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引25出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H0FFFFH。 把D/A区0832片选CS信号线接至译码输出插孔Y0。 对于机型后缀名含有“H”的机型,将D/A区WR插孔与控制线WR插孔相连。 对于机型后缀名含有“H”的机型,将电位器W2的输出VREF连到D/A区的VREF上,调节W2使VREF为+3.5V。 对于机型后缀名含有“H”的机型,用8芯排线或8芯扁平线将D/A区总线接口D0D7与数据总线区D0D7任一接口相连。 将0832的输出AOUT连到DJ插孔、将位于S/P区的+5V、-5V分别以DMOT区+5V、-5V相连。 采用外置机电实验方式的用户,在实验前用随机所配的连接电缆与实验仪相对应的机电实验接口相连。 六、实验程序运行D/A输出端“AUTO”的调零在“P.”状态下,键入0617EXEC,调节基准电压控制电位器W2,使D/A输出端“AUTO”输出电压为零伏。 D/A输出控制直流电机实验在“P.”状态下,键入05E0EXEC,D/A输出端“AUTO”循环输出0V-5V0V+5V。 (在显示出数据为0FFH时,其输出电压应5V,在显示出数据为80H时,其输出电压为0V,在显示出数据为00H时,其输出电压-5V)直流电机应在“停止”、“反转”、“停止”、“正转”的状态下循环工作。 26验实验9电子音响实验 一、实验目的了解实验系统发出不同音调声音的编程方法。 二、实验内容利用定时器产生不同频率的方法,组成乐谱由单片机进行信息处理,经过放大利用8032P1.7口输出音乐。 三、实验预备知识要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用计时器计时此半周期时间,计时到后即反相输出,重复此过程即得到此频率的脉冲。 计定时器工作在计数方式上,改变计数值TH0及TL0,以产生不同的频率的方法。 每个音符使用一个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。 四、实验电原理图 五、实验步骤把软件工作目录中MUSIC.HEX文件装载到实验系统上;把P1.7用插针连至SIN插孔上。 对卡式结构机型而言,把喇叭插头线插到J5插座;运行程序,实验系统喇叭即播放“祝你生日快乐”等歌曲。 六、思考自己动手编一首歌。 27验实验108253方波实验 一、实验目的学会8253芯片和单片机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容8253的0通道工作在方式3,产生方波。 三、实验流程图 四、实验电原理图 五、实验步骤对于后缀名含有“H”的机型,按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为0FFE0H0FFFFH。 对于机型后缀名含有“H”的机型,用插针把CLK0孔和T2孔相连,GATE0孔和+5V孔相连,8253的CS孔和Y0插孔相连。 把D0D7总线接口(部分机型位于8251右侧)与数据总线区D0D7任一接口相连,然后从0EC0H以连续方式执行,用示波器观察OUT0,应有方波输出。 28附录实验参考程序清单软件实验程序清单实验1清零程序ORG0640H SE01:MOV R0,#00H MOV DPTR,#2000H;(2000H)送DPTR LOO1:MOVXDPTR,A;0送(DPTR)INC DPTR;DPTR+1INC R0;字节数加1CJNE R0,#00H,LOO1;不到FF个字节再清SJMP$END实验2拆字程序ORG0660H SE02:MOV DPTR,#2000H MOVX A,DPTR MOVB,A; (2000)AB SWAP A;交换ANL A,#0FH;屏敝高位INC DPTR MOVXDPTR,A;送xxH INCDPTR MOV A,B ANL A,#0FH; (2000)内容屏敝高位MOVXDPTR,A;送xxH SJMP$END29实验33数据区传送子程序ORG07B0H MOV R2,00H MOV R3,#00H MOV R4,#10H MOV R5,#00H MOV R6,#00H MOV R7,#08H SE22:MOV DPL,R3MOV DPH,R2;建立源程序首址MOVX A,DPTR;取数MOV DPL,R5MOV DPH,R4;目的地首址MOVXDPTR,A;传送CJNE R3,#0FFH,LO42INC R2LO42:INC R3;源地址加1CJNE R5,#0FFH,LO43INC R4LO43:INC R5;目地址加1CJNE R7,#00H,LO44CJNE R6,#00H,LO45;字节数减1SJMP$NOP LO44:DEC R7SJMP SE22LO45:DEC R7DEC R6SJMP SE22;未完继续END实验44数据排序实验ORG09B0H QUE:MOV R3,#50H QUE1:MOV A,R3;指针送R0MOV R0,A MOV R7,#0AH;长度送R7CLR00H;标志位为030MOV A,R0QL2:INC R0MOV R2,A CLR C MOV22H,R0CJNE A,22H,QL3;相等吗?SETB CQL3:MOV A,R2JC QL1;大于交换位置SETB00H XCH A,R0DEC R0XCHA,R0INC R0;大于交换位置QL1:MOV A,R0DJNZ R7,QL2JB00H,QUE1;一次循环中有交换继续SJMP$;无交换退出END实验55多分支程序ORG0A10H MEMS:MOV A,20H MOV DPTR,#KKKK;散转首址RL A; (20)*2JMPA+DPTR;转到 (20)*2+DPTR KKKK:AJMP MEMSP0AJMP MEMSP1AJMP MEMSP2SJMP MEMSP3MEMSP0:MOV20H,#0C0H;0字循环LJMP SOX0MEMSP1:MOV20H,#0F9H;1字循环LJMP SOX0MEMSP2:MOV20H,#0A4H;2字循环LJMP SOX0MEMSP3:MOV20H,#0B0H;3字循环LJMP SOX0;-SOX0:MOV A,20H31MOV R0,#0DCH MOV R1,#0DDH MOVXR0,A MOV A,#01H SOX1:MOVXR1,A MOV R2,#20H LCALLDELY RLA;显示子程序SJMP SOX1;-DELY:PUSH02H DEL2:PUSH02H DEL3:PUSH02H;延时DEL4:DJNZ R2,DEL4POP02H DJNZ R2,DEL3POP02H DJNZ R2,DEL2POP02H DJNZ R2,DELY RET;-END实验66脉冲计数(定时计数器实验)ORG06E0H SE15:MOV SP,#53H MOV TMOD,#05H MOVTH0,#00H MOV TL0,#00H;定时计数器初始化SETB TR0;开计数器LO29:MOV R2,TH0MOV R3,TL0;取出TH0.TL0内容LCALL ZOY0;二转十进制MOV R0,#79H MOV A,R6LCALL PTDS MOV A,R5LCALL PTDS MOV A,R432LCALL PTDS;送显示缓冲区LCALL SSEE;显示SJMP LO29;循环计数.显示ZOY0:CLR A MOV R4,A MOV R5,A MOV R6,A;0送R4R5R6MOV R7,#10H LO30:CLR C;R2R3左移.移出的MOV A,R3;最高位送CY RLC A MOV R3,A MOV A,R2RLCA MOV R2,A MOV A,R6ADDC A,R6;(R4R5R6)*2+CY送R4R5R6DA A;十进制调整MOV R6,A MOV A,R5ADDC A,R5DA A MOV R5,A MOV A,R4ADDC A,R4DA A MOV R4,A DJNZ R7,LO30;循环16次RET;-PTDS:MOV R1,A;拆送显示缓冲区ACALL PTDS1MOV A,R1SWAP APTDS1:ANL A,#0FH MOVR0,A INC R0RET;-SSEE:SETB RS1;换工作区MOV R5,#05H SSE2:MOV30H,#20H MOV31H,#7EH MOV R7,#06H33SSE1:MOV R1,#0DDH MOV A,30H MOVXR1,A;字位送入MOV R0,31H MOV A,R0MOV DPTR,#DDFF MOVC A,A+DPTR;取字形代码MOV R1,#0DCH MOVXR1,A;字形送入MOV A,30H;右移RR A MOV30H,A DEC31H MOV A,#0FFH MOVXR1,A;关显示DJNZ R7,SSE1;6位显示完了吗?DJNZ R5,SSE2;5次显示完了吗?CLR RS1RET;-DDFF:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH;-END实验77电脑时钟(定时器、中断综合实验)ORG0000H SJMPCHK00ORG000BH LJMPCLOCK;INT_T0ORG0030H CHK00:MOV SP,#60H LCALLLEDP CHK0:LCALL LCK0;键扫,显示子程序LCALL PTDS0;显示缓冲区放数子程序MOVTMOD,#01H ORLIE,#82H MOVTL0,#0B7H MOVTH0,#3CH;定时中断初始化MOV23H,#00H SETBTR0;开定时34LOO5:LCALL DIS;SSEE;显示LCALL PTDS0SJMP LOO5PTDS0:MOV R0,#79H MOV A,22H ACALL PTDSMOV A,21H ACALLPTDSMOV A,20H ACALLPTDS RET;-PTDS:MOV R1,A;拆送显示缓冲区ACALLPTDS1MOV A,R1SWAPAPTDS1:ANL A,#0FH MOVR0,A INCR0RET;-CLOCK:MOVTL0,#0B7H MOVTH0,#3CH;恢复初值PUSH PSWPUSH ACCSETB0D3H;保护INC23H;0.1秒加1MOV A,23H CJNE A,#0AH,DONE;1秒到吗?MOV23H,#00H;清0.1秒单元MOV A,22H INCA;秒加1DA A MOV22H,A;十进制调整CJNE A,#60H,DONE;60秒到吗?MOV22H,#00H;秒单元清零MOV A,21H INCA DA A;分加1.十进制调整MOV21H,A CJNEA,#60H,DONE;60分到吗?MOV21H,#00H;分单元清零MOV A,20H INCA35DAA;时加1.十进制调整MOV20H,A CJNEA,#24H,DONE;24小时到吗?MOV20H,#00H;时单元清零DONE:POP ACC;退栈POP PSWRETI;-SSEE:SETB RS1;换工作区MOV R5,#05H SSE2:MOV30H,#20H MOV31H,#7EH MOV R7,#06H SSE1:MOV R1,#0DDH MOV A,30H MOVXR1,A;字位送入MOV R0,31H MOV A,R0MOVDPTR,#DDFF MOVC A,A+DPTR;取字形代码MOV R1,#0DCH MOVXR1,A;字形送入MOV A,30H;右移RR A MOV30H,A DEC31H MOV A,#0FFH MOVXR1,A;关显示DJNZ R7,SSE1;6位显示完了吗?DJNZ R5,SSE2;5次显示完了吗?CLR RS1RET;-DDFF:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH;-X3:MOV R4,A MOV R0,#50H MOVA,R0MOV R1,A MOVA,R4MOVR1,A CLRA POP DPH36POP DPLMOVC A,A+DPTR INCDPTR CJNEA,01H,X30dec r1clr aMOVC A,A+DPTR X31:MOVR0,A INCDPTR PUSH DPL PUSH DPH RETX30:DEC R1MOVA,R1SJMP X31;-X2:MOV R6,#50H X0:ACALL XLEJNB ACC.5,XX0DJNZR6,X0MOV R6,#20H MOV R0,#50H MOVA,R0MOVR0,A MOVA,R0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年黄山市徽州国有投资集团有限公司招聘13人模拟试卷含答案详解
- 2025年烟台市公费医学生考试选聘(139人)模拟试卷及答案详解(各地真题)
- 2025湖南湘潭市市直学校人才引进45人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025福建漳州市漳浦县金瑞集团招聘20人模拟试卷附答案详解
- 2025湖南株洲市茶陵县卫生健康局所属事业单位就业见习岗位招聘10人模拟试卷及答案详解(名师系列)
- 2025内蒙古鄂尔多斯生态环境职业学院人才引进38人模拟试卷及完整答案详解1套
- 2025届春季江苏金陵科技集团有限公司校园招聘模拟试卷及参考答案详解
- 2025年福建南平武夷有轨电车有限公司招聘1人模拟试卷及完整答案详解1套
- 2025年嘉兴市秀洲区王江泾医院公开招聘编外合同制人员5人模拟试卷有答案详解
- 2025江苏南京市栖霞区人民法院编外人员招聘6人考前自测高频考点模拟试题附答案详解
- 2025年上海市公安辅警、法检系统辅助文员招聘考试(职业能力倾向测验)历年参考题库含答案详解
- XX园项目销售手册
- 锅炉工安全培训知识课件
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- T/DGGC 005-2020全断面隧道掘进机再制造检测与评估
- 手机媒体概论(自考14237)复习题库(含真题、典型题)
- 2024版人教版八年级上册英语单词表(含音标完整版)
- 天津地区高考语文五年高考真题汇编-文言文阅读
- 高三为梦想扬帆++励志班会课件
- 个人简历模板(5套完整版)
- 跟踪出站调车讲解
评论
0/150
提交评论