微机原理实验: 数据传送

合集下载

微机原理串行数据传送课程设计报告

微机原理串行数据传送课程设计报告

目录一、设计目的······························二、设计要求······························三、设计题目······························四、设计原理······························五、设计过程······························1、开关控制LED显示模块···················2、中断读取开关状态模块···················3、8250串行发送数据模块··················4、定时器控制中断模块·····················5、动态扫描显示模块·······················六、器件连接图····························七、源程序································八、设计总结······························九、参考文献·································一、设计目的微机课程设计是《微机原理与应用》课程的一个重要实践教学环节,主要目的是提高学生综合运用微机软硬件技术的能力,加深对微机结构和接口原理的理解,熟练地掌握汇编程序的编写、调试和接口技术应用的水平;为后续课程的应用打好基础。

微机原理与接口技术实验内容及报告要求(自动化、电气、智能专业专用)

微机原理与接口技术实验内容及报告要求(自动化、电气、智能专业专用)

实验内容及报告要求一、实验内容:实验一顺序程序设计与DEBUG使用题目1.利用串操作传送指今将0FFH送入数据段的0180H开始的128个字节存储单元中,编写一段程序。

题目2.将数据段中0200H字节存储单元中的二位BCD码转换为二个ASCII 码送0201H开始的二个字节单元中,编写—段程序。

题目3.编写一段程序,在内存中自SQTAB(0200H)地址开始的连续十个单元中存放0~9的平方值。

要求利用计算法查表求NUM(0210H)单元中指定数(0~9中的任意一数)的平方值,并将所求平方值存入RESULT(0211H)单元中。

[注]:题目二和题目三可选做一个,题目一必做。

详细实验要求及步骤方法,参见“DEBUG实验参考”实验二键盘、显示程序设计实验(教材P15)提高部分(2选1):1、显示字符输入提示信息、键盘输入一个字符,屏幕显示字符的ASCⅡ码;2、显示字符串输入提示信息、键盘输入一个字符串,屏幕显示对应字符串中各字符的ASCⅡ码。

实验三数据传送、数码转换程序设计实验(教材P19、23)提高部分(2选1):1、数据传送,完成20个数据的传送,并对附加段数据进行升序排列,并在屏幕上显示排序后的数据,以及最大数据和最小数据。

2、数据转换,键盘输入2位(或以上)十进制数,分别转换成十六进制数、BCD码、七段共阳极码。

实验四运算类程序设计实验(教材P31)提高部分:键盘输入5位被减数和减数,计算并以恒等式形式显示在屏幕上(允许被减数<减数)。

实验五基本I/O接口与地址译码电路设计实验(教材P55、60)提高部分(2选1):1、在“基本I/O接口电路设计实验”中,如何扩展16路输入、输出功能?并回显到计算机屏幕上。

2、在“地址译码电路设计实验”中,将Y6与CS_A、Y7与CS_B,改换成Y0与CS_A、Y1与CS_B连接,修改程序并实现实验功能。

实验六 8255接口电路设计实验(教材P98)提高部分(2选1):1、通过开关控制,实现流水灯的左循环、右循环、间隔闪烁功能。

微机原理与接口技术实验十二 8237 DMA传送实验

微机原理与接口技术实验十二  8237 DMA传送实验

实验十二8237 DMA传送实验一、实验目的(1)掌握DMA方式的工作原理和8237DMA控制器的编程使用方法。

(2)掌握如何在实验系统环境下,使用DMA的CH0进行数据传送。

二、实验内容利用本实验系统提供的8237A-5 DMA控制的CH0,实现DMA的内存到内存的读、写传送,采用DMA软件请求,把内存中3000H~4FFFH单元内容传送到5000H~6FFFH单元中。

三、编程指南1、8237A引脚图图6-62、8237A的内部寄存器格式⑴8237A控制寄存器格式(2) 8237A模式寄存器格式(3)8237A状态寄存器格式(4)请求寄存器和屏蔽寄存器格式(5)多通道屏蔽寄存器格式(6)8237A端口地址3、8237A的初始化编程⑴命令字写入控制寄存器⑵方式字写入模式寄存器⑶屏蔽字写入屏蔽寄存器⑷写先/后触发器⑸写入基地址和当前地址寄存器以及基字节和当前字节计数器。

⑹写入请求寄存器如果采用软件DMA请求,在适当的时候令通道的请求触发器置1。

四、实验接线图图6-7五、实验步骤连CS10到8000H,在系统内存3000H~4FFFH单元中填充10,11,12,13……,运行程序8237·ASM或在实验系统处于P态下,按SCAL键,然后在系统内存3000H~4FFFH 单元中填充10,11,12,13……,输入2860,按EXEC键即可,当系统显示“8237——good”表示DMA传送结束,按RST钮,返回P态,用内存读写命令检查5000H~6FFFH单元内容是否和3000H~4FFFH单元内容相一致,验证其正确性。

六、实验程序清单;8237.ASM,MOV:RAM FROM 3000H TO 5000H;BYTE-MOVCODE SEGMENTASSUME CS:CODEPCTL EQU 0FF20H ;控制口PA EQU 0FF21H ;字位口PB EQU 0FF22H ;字形口PC EQU 0FF23H ;键入口CLEARF EQU 800CHCH0A EQU 8000hCH1A EQU 8002HCH1C EQU 8003HMODE EQU 800BHCMMD EQU 8008HMASKS EQU 800FHREQ EQU 8009HSTATUS EQU 8008Hrst equ 800dhLATCH EQU 9000HORG 2860H ;FORM EPROM FILE (.COM),SET ORG= 0100HSTART: JMP START0BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV SI,3000HMOV DI,5000HMOV CX,1FFFHMOV AL,00MOV DX,LATCHOUT DX,ALNOPNOPmov dx,rstout dx,alMOV DX,CLEARFOUT DX,ALMOV AL,0FH ;MASK_CH_0-3MOV DX,MASKSOUT DX,ALNOPNOPMOV DX,CH0A ;L-SADMOV AX,SIOUT DX,ALMOV AL,AHOUT DX,ALNOPNOPMOV DX,CH1A ;L-DADMOV AX,DIOUT DX,ALMOV AL,AHOUT DX,ALNOPNOPMOV AX,CX ;COUNTMOV DX,CH1COUT DX,ALMOV AL,AHOUT DX,ALMOV AL,48H ;P_MODEMOV DX,MODEOUT DX,ALMOV AL,45HOUT DX,ALMOV AL,01H ;ON-8237MOV DX,CMMDOUT DX,ALL1: MOV AL,0EH ;UNMASK_CH_0MOV DX,MASKSOUT DX,ALMOV AL,04H ;START_DMA_TRANSFERMOV DX,REQOUT DX,ALMOV DX,STATUSNOPNOPWAIT1: IN AL,DXTEST AL,03HJZ WAIT1; CALL CMP1; JNZ ERRMOV DX,CH1CIN AL,DXMOV AH,ALCMP AX,0FFFFHJNZ L1CALL BUF1MOV CX,0080HL2: PUSH CXCALL DISPPOP CXLOOP L2CALL BUF2L3: CALL DISPJMP L3;---------------------------------------------CMP1: MOV DX,CH0ACALL CMP10MOV SI,AXMOV DX,CH1ACALL CMP10MOV DI,AXMOV AX,[SI]CMP [DI],AXRETCMP10: IN AL,DXMOV BL,ALIN AL,DXMOV AH,ALMOV AL,BLDEC AXRETERR: CALL BUF3ERR0: CALL DISPJMP ERR0;---------------------------DISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]MOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HDELAY: LOOP DELAYPOP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,08HMOV BUF+1,02HMOV BUF+2,03HMOV BUF+3,07HMOV BUF+4,17HMOV BUF+5,17HRET;------------------------------------------------------------- BUF2: MOV BUF,09HMOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0DHMOV BUF+4,10HMOV BUF+5,10HRETBUF3: MOV BUF,08HMOV BUF+1,02HMOV BUF+2,03HMOV BUF+3,07HMOV BUF+4,18HMOV BUF+5,18HRETCODE ENDSEND START。

微机原理及应用实验(题目)

微机原理及应用实验(题目)

微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。

二、实验内容在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的30H~7FH 单元清零。

三、实验设备PC机一台。

四、实验步骤用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。

五、实验思考1.如果需把30H-7FH 的内容改为55H,如何修改程序?2.如何把128B的用户RAM全部清零?六、程序清单文件名称:CLEAR.ASMORG 0000HCLEAR: MOV R0,#30H ;30H 送R0寄存器MOV R6,#50H ;50H 送R6寄存器(用作计数器)CLR1: MOV A,#00H ;00 送累加器AMOV @R0,A ;00 送到30H-7FH 单元INC R0 ;R0 加1DJNZ R6,CLR1 ;不到50H个字节,继续WAIT: LJMP WAITEND实验二数据传送一、实验目的掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。

二、实验内容1.编制一段程序,要求程序中包含7中不同寻址方式。

2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。

3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。

4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?实验三数码转换一、实验目的掌握采用软件方法进行不同形式数据之间的转换,如十进制数与二进制数的转换、十六进制数与BCD码的转换、BCD数与ASCII码之间的转换、非压缩BCD码与压缩BCD码之间的转换。

《微机原理与接口技术》实验指导书

《微机原理与接口技术》实验指导书

微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。

二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。

三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。

四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。

五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。

六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。

我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。

通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。

实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。

注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。

微机原理——数据传送实验

微机原理——数据传送实验

微机原理数据传送实验【实验目的】(5分)1 学习汇编语言的数据传送的方法,练习一道综合题;2 掌握汇编应用程序的编辑和编译、调试和运行的方法。

【实验环境】(5分)1.实验设备:Windows 10 64位笔记本2.软件:Masm for Windows集成实验环境共享版2015 DOSBox 0.74【实验原理】(30分)将存储区BUF1中的内容复制到BUF2中,在数据区中定义源数据区BUF1变量,存放待传送的数据(字符串),在数据区中定义目的数据区BUF2变量,存放接收的数据(字符串),使用寄存器SI作为源地址指针,DI作为目标地址指针,每次传送一个字节的数据,AL用来存放传送的字节,CX用于记录数据个数,并作为循环变量。

通过一个循环进行字节传送,直到所有字节传送结束。

【实验内容】(50分)1.数据传送:【代码】DATA SEGMENTBUF1 DB'HELLO 18030213 $!'COUNT EQU $-BUF1BUF2 DB 20 DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB 20 DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ;取源数据一个字节送入AL中MOV [DI],AL ;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕CODE ENDSEND START【操作步骤】1.编译成目标文件2.生成可执行文件3.调试4.输入-u;–g=0 17;–d ds:000 –d ds:0010并查看结果【结果】运行后给出截图1,ds:0000H开始地址单元中内容(XXH)0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 48H 45H 4CH 4CH 4FH 20H 31H 38H- 30H 33H 30H 32H 31H 33H 20H 24H ds:0010H开始地址单元中内容(XXH)0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F21H 48H 45H 4CH 4CH 4FH 20H 31H- 38H 30H 33H 30H 32H 31H 33H 20H2.求和实验【代码】STACK SEGMENTDW1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; 1-20个数STACK ENDSDATA SEGMENTCOUNT EQU 1NUM EQU 10DATA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATA,SS:STACK START:MOV AX,STACKMOV SS,AXMOV SI,COUNT;下标从0开始MOV AX,0000H; 累计和初始为0MOV CX,0000H; 累计个数,从0开始LP1:MOV DX,[BP+SI];从数组中获取下标为SI的数ADD AX,DX ;累计求和INC SI ;下标增加2,因为是每个数是字长INC SIINC SI ;下标增加2,因为是每个数是字长INC SI ;下标增加2,因为是每个数是字长INC CX ;累计个数加1CMP CX,NUMJNZ LP1CODES ENDSEND START【操作步骤】1.编译成目标文件2.生成可执行文件3.调试4.输入-u;-g=0 1c;-d ss:0000【结果】运行后给出截图1,看AX中累加和是多少给出截图2,看ss段中是否存放了数组【实验结论】(10分)1.通过此次实验,了解了汇编语言的数据传送的方法.2.掌握汇编应用程序的编辑和编译、调试和运的方法。

实验四—数据传送实验报告

实验四—数据传送实验报告

实验报告专业:计算机科学与技术班级:计算机科学与技术(1)班学号:201024131147姓名:赵倩倩课程名称:计算机组成原理学年:2010—2011 学期1课程类别:专业必修试验时间:2011年11月7日实验四:总线传输实验一、实验目的(1)理解总线的概念及其特性(2)掌握总线传输控制特性二、实验原理及基本技术路线图(方框原理图)总线传输框如图5.4-1所示,他将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。

这些设备都需要三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。

基本实验要求如下:根据挂起在总线上的几个基本条件,设计一个简单的流程;1)输入设备将一个数打入R0寄存器。

2)输入设备将另一个数打入地址寄存器。

3)将R0寄存器中的数写入带当前的地址的寄存器中。

4)将当前地址的寄存器中的数用LE数码管显示。

三、所用仪器、材料(设备名称、型号、规格等)TDN-CM+或TDN-CM++教学实验系统一台四、实验方法、步骤1)按照图5.4-2试验接线图进行连线。

(2)实验的具体操作步骤图如图5.4-3所示。

首先应关闭所有三态门(SW-B=1,R0-B=1,LED-B=1),并将关联的信号置为LDAR=0,LDR0=0,W/R(LED)=1,W/R(LED)=1.然后参照如下操作流程,先将数据开关打入到R0中;然后继续给开关置数,拨动LDR0控制信号做0→1→0动作,产生一个上升沿将数据打入到R0中;然后继续给数据开关置数,拨动LDAR控制信号做0→1→0动作产生一个上升沿将数据打入到AR中;关闭数据开关三态门,打开R0寄存器输出控制,使寄存器输出,使寄存器处于写状态(W/R=0,CS=0),将R0中的数写到存储器中;关闭存储器片选,关闭R0寄存器输出,使存储器处于读状态(W/R=1,CS=0),打开LED片选,拨动LED的W/R控制信号1→0→1动作,产生一个上升沿将数据打入到LED中。

微机原理实验报告

微机原理实验报告

校区实验报告课程名称____________________________ 专业班级_____________________________ 学生及学号____________________________指导教师____________________________实验地点————————————————2015 ~2016 学年第二学期《微机原理与接口技术》实验一(1)实验名称存贮器部数据传送姓名系院专业电子信息类班级学号实验日期2016.6.14 指导教师成绩一、实验目的和要求1、初步掌握星研集成环境工具软件的使用方法。

2、掌握存储器部不同位置间数据传送的方法。

3、认真预习本节实验容,尝试自行编写程序,填写实验报告。

二、实验容(包括实验步骤和代码)1、编写源程序,要求将数据段中3000H~30FFH 单元的容传送给6000H~60FFH 单元中。

2、编译、连接所编写的源程序。

3、执行程序前,利用存贮器窗口将DS:3000H~300FH 中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,存贮器窗口支持数据的直接修改功能,在相对应的地址中直接输入数据即可。

4、进入调试状态后,分别以“全速运行”、“全速断点”、“单步”、“单步进入”等方式运行程序,同时在工作区窗口的CommonRegister 视图中查看本程序所使用的寄存器(CX、DI、SI)容的变化。

5、在如下图所示的存贮器窗口中检查程序运行结果是否正确。

程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DI,6000HCLDREPE MOVSBMOV CX,100HMOV SI,3000HMOV DI,6000HREPE CMPSBJNE ERRORTRUE: JMP $ERROR: JMP $END START三、实验结果及其分析1、通过该实验,成功地将数据段中3000H~30FFH 单元的容传送到了6000H~60FFH 单元中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数据传送
一、实验目的
1.熟悉8086指令系统的数据传送指令及8086的寻址方式。

2.利用Emulator仿真器来调试汇编语言程序。

二、实验预习要求
1.复习8086指令系统中的数据传送类指令和8086的寻址方式。

2.按照题目要求预先编写好实验中的程序段。

三、实验任务
1.通过下述程序段的输入和执行来熟悉Emulator仿真器的使用,并通过显示器屏幕观察程序的执行情况。

练习程序段如下:
MOV BL,08H
MOV CL,BL
MOV AX,03FFH
MOV BX,AX
MOV DS:[0020H],BX
2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。

压栈程序段如下:
MOV AX,0102H
MOV BX,0304H
MOV CX,0506H
MOV DX,0708H
PUSH AX
PUSH BX
PUSH CX
PUSH DX
出栈程序段请自行编写(用不同的出栈顺序)。

3.指出下列指令的错误并加以改正,上机验证之。

(1) MOV [BX],[SI]
(2) MOV AH,BX
(3) MOV AX,[SI][DI]
(4) MOV BYTE PTR[BX],2000H
(5) MOV CS,AX
(6) MOV DS,2000H
4.①编写程序设置各寄存器及存储单元为如下内容:
(BX)=0010H,(SI)=0001H
(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H
(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH
②根据①中设置说明下列各条指令执行完后AX寄存器中的内容,并上机验证。

(1) MOV AX,1200H
(2) MOV AX,BX
(3) MOV AX,[0120H]
(4) MOV AX,[BX]
(5) MOV AX,0110H[BX]
(6) MOV AX,[BX][SI]
(7) MOV AX,0110H[BX][SI]
5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。

试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。

6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:1000H 单元中的内容为3333H。

将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:1000H单元中的内容进行交换。

试编写程序段,并上机验证结果。

7.设(DS)=1000H,(ES)=2000H,有关存储器的内容如图1.5所示。

要求将DS段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。

四、 实验报告要求
1.写明本次实验内容和实验步骤。

2.整理出运行正确的各题源程序段和运行结果。

3.写出第3题中改正后的正确指令。

DS :1000H ES :2000H。

相关文档
最新文档