微机原理和单片机实验报告2744_第1页
微机原理和单片机实验报告2744_第2页
微机原理和单片机实验报告2744_第3页
微机原理和单片机实验报告2744_第4页
微机原理和单片机实验报告2744_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

设计1.掌握分支程序的结构。2.掌握分支程序的设计、调试方法。设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,源数据块 (a)(b)(c)对于两个数据块分离的情况,如图1.1(a),数据的传送从数据块的首地址开始,或从移”而遭到破坏,可有如下结论:当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图1.14(b)当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图1.14(c)所示。开开始源数据块首地址→SI源数据块首地址→SI搬移字节数→CX>[SI]>[DI]?SI←[SI]+[CX]-1DI←[DI]+[CX]-1SIDI←[DI]+1DI←[DI]-1NCX←[CX]-1YN[CX]=0?Y结束DI←[(SI)]DI←[(SI)]SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0010HMOVSI,3100HMOVDI,3200HCMPSI,DIJAA2ADDSI,CXADDDI,CXDECSIDECDIA1:MOVDECDECDIDECEMOVAL,[SI]A1JMPA3A2:MOVAL,[SI]MOV[DI],ALDECCXJNEA2A3:JMPA3CODEENDSENDSTART1.按流程图编写实验程序,经编译、链接无误后装入系统。2.用E命令在以SI为起始地址的单元中填入16个数。3.运行程序,待程序运行停止。4.通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。5.通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程[BL]+1→BL[AL]×[BL]→AX[DX]+[AX]→DX2.循环程序设计实验1.加深对循环结构的理解。2.掌握循环结构程序设计的方法以及调试方法。计算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。编写实验程序,计算上式的结果,参考流程图如图1.6所示。SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVMOVA1:MOVMULADDCMPJNAMOVDX,0001HBL,02HAL,BLBLBLDX,AXAX,00C8HA1AX,4C00HCODEENDSENDSTART (1)编写实验程序,编译、链接无误后装入系统。 (2)运行程序,待程序运行停止。 (3)运算结果存储在寄存器DX中,查看结果是否正确。 (4)可以改变N(N+1)的条件来验证程序功能是否正确,但要注意,结果若大于2.1实验目的工作方式及其应用。2.掌握8255典型应用电路的接法。2.2实验设备2.3实验内容查询式输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成拨动开2.4实验步骤查询输入输出实验本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图2.1所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。PA7XD0XD7XA1XA2IOW#IOY1D7A0A1RKK7D7LEDSSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE,SS:SSTACKSTART:MOVDX,0646HMOVAL,90HOUTDX,ALAA1:MOVDX,0640HTESTAL,80HJZAA1CALLDELAYMOVDX,0642HOUTDX,ALJMPAA1DELAY:PUSHCXMOVCX,0F00HAA2:PUSHAXPOPAXLOOPAA2POPCXTCODEENDSENDSTART3.1实验目的1.掌握8254的工作方式及应用编程。2.掌握8254典型应用电路的接法。3.2实验设备3.3实验内容计数应用实验。编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按3.4实验单元电路图:7KXD0VCCXD7KK1+单次脉冲单元XA2OUT0IOW#IOR#MIR7D0D7WRA0A1GATE0CLK0IOY3XA13.5实验程序(参考程序如下,大家改动)实验程序清单(A82541.ASM)A8254B8254C8254CON8254SSTACKSSTACKCODESTART:EQU06C0HEQU06C2HEQU06C4HEQU06C6HSEGMENTSTACKDW32DUP(?)ENDSSEGMENTASSUMECS:CODE,SS:SSTACKPUSHDSMOVAX,0000HMOVDS,AXMOVSI,003CHMOV[SI],AXMOVAX,CSMOVSI,003EHAA1:CODEMOV[SI],AXIPOPDSMOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOVAL,01HOUT21H,ALMOVAL,6FHOUT21H,ALMOVDX,CON8254MOVAL,10HOUTDX,ALMOVDX,A8254MOVAL,04HOUTDX,ALJMPAA1MOVDX,A8254MOVAL,04HOUTDX,ALMOVAX,0131HINTHMOVAX,0132HINTHMOVAL,20HOUT20H,ALENDSENDSTART4.1实验目的1.掌握8254的工作方式及应用编程。2.掌握8254典型应用电路的接法。4.2实验设备4.3实验内容要求实现三角波的产生,并且用示波器查看波形4.4硬件连线图实实验五求和程序设计(2学时)5.1实验目的5.2实验设备5.3实验内容5.4实验程序#include"absacc.h"#defineucharunsignedcharvoidmain(){uchari,a,sum;a=0x20;for(i=0;i<10;i++){sum+=DBYTE[a];a;}DBYTE[0x30]=sum;}5.5实验步骤5.6实验结果6.1实验目的6.2实验设备6.3实验内容6.4实验电路图6.5实验程序#include<reg52.h>unsignedcharnum,t,n;unsignedcharcodetable1[]={0x92,0x99,0xb0,0xa4,0xf9,0xc0};voidmain(){num=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;P0=0xc0;P2=0x82;while(1){{num++;ifnumnum=0;P2=table[num];fnum{P0=table1[n];n++;}}{fnumwhile(1);}}}voidexter0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;}6.6实验结果7.1实验目的1.掌握外中断的工作方式及应用编程。2.掌握并行接口及LED显示器的典型应用电路。7.2实验设备7.3实验内容要求实现外部按键一次(利用KK1按键),LED显示器的值加1。7.4实验电路图7.5实验程序#include<SST89x5x4.h>#include<Intrins.h>unsignedcharcodetabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00unsignedcharcodetablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdfunsignedcharx=0;voiddelay(unsignedcharx){unsignedchary;for(;x>0;x--)for(y=112;y>0;y--);}voiddisplay(unsignedcharge){P1=tabledu[ge%10];P2=tablewe[0];//此处可修改第几位显示delay(5);P1=0xff;P1=tabledu[ge/10];P2=tablewe[1];//此处可修改第几位显示delay(5);P1=0xff;}voidint0_isr()interrupt0{x+;ifx)x0;display(x);}voidmain(){P1=0x00;EX0=1;//IT1=1;//EX1=1;EA=1;while(1){display(x);}}7.6实验结果器扩展实验8.1实验要求1.复习单片机扩展外部数据存储器的方法。2.复习常用数据存储器芯片的引脚功能。8.2实验设备8.3实验目的1.进一步熟悉单片机仿真实验软件KeilC51调试硬件的方法。2.掌握单片机系统中存储器扩展的方法。3.掌握单片机内部RAM和外部RAM之间数据传送的特点。8.4实验内容RAMHFHHFH然后将这16个数传送到RAM的0000H~000FH中,最后再将外部RAM的0000H~000FH空间的内容传送到片内RAM的40H~4FH单元中。传送结果通过KeilC51软件观察。8.5实验单元电路及连线8.6实验程序#include<Absacc.h>sfrAUXR=0x8E;voidmain(){unsignedchari;AUXR=0x02;for(i=0;i<=15

温馨提示

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

评论

0/150

提交评论