微机原理及应用实验分析报告(中南大学年)

合集下载

微机原理及应用课程设计报告

微机原理及应用课程设计报告

微机原理及应用课程设计设计题目: 基于PC机串行通信的点到点文件传输系统专业讣算机科学与技术班级计104学生 D指导教师2013 年秋季学期LI录U录 2实验LI3的二实验内容及要求 3、三课设基本思想 3、程序流程图以及程序设讣 5四、五. 实验结果截图6六. 程序源代码7七. 课程设计心得体会14A.参考文献151、实验目的1.学习虚拟串口的使用方法。

2.学会在windows平台上进行串口通信的方法。

二、实验内容及要求1•基本要求:采用VB,VC,C#或其他开发工具设计一个简易的聊天系统。

用户可以设置波特率或釆用自动协商机制。

界面如下图:接收信息|Text1发送信息Text22.设汁提示:在Windows平台上通过API或MSComn控件实现串行通信。

3.进一步设计要求:采用多线程完成通信任务。

三、课设基本思想1.在.\ET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System. 10. PortSo这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。

我们将使用标准的RS 232 C在PC间通信。

它丄作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。

2.串口的硬件知识:在数据传输的时候,每个字节的数据通过单个的电缆线传输。

包包括开始位,数据,结束为。

一旦开始位传出,后面就会传数据,可能是5, 6, 7或8位, 就看你的设定了。

发送和接收必须设定同样的波特率和数据位数。

3.关于本程序使用SerialPort的一些属性和方法:4、程序流程图以及程序设计开始、程序流程图:使用函数获取系统、“|前的可用串口初始化串JI初始化波特率建立串11连接并通信是否发送…进制文件发送二进制文件(二)、程序设计思想:首先需要定义一个SerialPort对象,添加DataReceived事件响应收到数据。

然后利用系统提供函数获取当前端口号,以及用户选择的波特率,对对象进行初始化。

中南大学微机原理与接口实验报告

中南大学微机原理与接口实验报告

中南大学课题名称:微机原理与接口技术课程实验报告学院:信息科学与工程学院班级:学号:姓名:目录实验一、 8255A 可编程并行口实验 (1)一、实验目的 (1)二、实验原理 (1)三、实验线路连接 (1)五、实验步骤 (2)实验二、8253A 定时/计数器实验 (4)一、实验目的 (4)二、预备知识 (4)三、实验原理 (4)四、实验步骤 (5)实验三、8259单级中断控制器 (6)一、实验目的 (6)二、实验内容 (6)三、实验线路连接 (7)四、实验软件清单 (7)五、实验步骤 (7)实验四、存储器接口实验 (14)二、实验内容 (14)三、实验原理 (14)四、实验程序 (14)五、实验总结 (15)实验一、 8255A 可编程并行口实验一、实验目的1、掌握并行接口芯片 8255A 和微机接口的连接方法。

2、掌握并行接口芯片 8255A 的工作方式及其编程方法。

二、实验原理如实验原理图5-8所示,PC口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。

拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。

三、实验线路连接(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。

(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。

(3) 8255A的CS插孔CS-8255接译码输出Y7插孔。

四、实验软件清单见随机光盘,文件名为H8255-1.ASM五、实验步骤1、按图5-8连好线路。

2、运行实验程序。

在DVCC-8086JHN显示"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。

实验代码CODE SEGMENTASSUME CS:CODESECOPORT EQU 0051HSEDAPORT EQU 0050HDATA EQU 0500HSTART: MOV DX,SECOPORTIN AL,DXTEST AL,01HJZ STARTMOV AL,55HMOV DX,SEDAPORTOUT DX,ALJMP STARTCODE ENDSEND START改后CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOCPT EQU 0072HIOBPT EQU 0071HSTART: MOV CX,8FFFHDELAY0: LOOP DELAY0MOV AL,89HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIN AL,DXMOV BL,ALADD AL,BLDEC ALMOV DX,IOBPTOUT DX,ALMOV CX,8FFFH DELAY: LOOP DELAYJMP IOLED1CODE ENDSEND START实验二、8253A 定时/计数器实验一、实验目的1、学习 8253A 可编程定时/计数器与 8088CPU 的接口方法。

微机原理及应用课程学习总结与例程分析

微机原理及应用课程学习总结与例程分析

目录学习总结第一章计算机基础知识————————————————————1第二章8086微处理器————————————————————2第三章8086的指令系统————————————————————3第四章汇编语言程序设计————————————————————4第五章输入输出接口————————————————————5例程分析例一:简述CPU执行一条指令的过程———————————————6例二:已知各寄存器和存储单元的状态如图所示,请阅读下列程序段,并将中间结果填入相应指令右边的空格。

———————————————7例三:编写一程序,使得计算机屏幕上每隔五秒显示一行字符"Good morning",按任意键结束———————————————7学习总结第一章计算机基础知识本章我们主要学到了不同进位计数制计数方法、不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、简单的算术运算以及计算机系统的组成。

下边将本章的知识点作了归类,图为本章的知识要点图与计算机系统组成的示意图。

第二章 8086微处理器本章我们主要学习从应用角度上理解8086CPU 的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、8086的存储器组织、基本时序等概执行单元EU (AX 、BX 、CX 、DX 、SP 、BP 、SI 、DI 、标志寄存器)总线接口单元BIU (CS 、DS 、SS 、ES 、IP )第三章 8086的指令系统本章学习的是8086CPU 指令的寻址方式,每条指令的格式、功能及标志的影响;同时还涉及到存储器单元的物理地址计算、标志位填写和堆栈操作。

下图为本章知识结构图。

本章知识要点立即数寻址 寄存器寻址 存储器寻址 串操作寻址I/O 端口寻址 隐含寻址直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址第四章 汇编语言程序设计本章主要内容是汇编语言类别、伪指令语句格式和作用、基本程序结构、调用程序和被调用程序之间数据传递途径以及汇编源程序上机调试过程。

微机原理及应用中南大学实验报告

微机原理及应用中南大学实验报告

微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。

二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。

2.选中此项keil为纯软件仿真。

3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。

1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。

四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。

五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。

其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。

观察运行情况,并记录下表。

R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。

微机原理及应用实验报告

微机原理及应用实验报告

实 验 报 告课 程 名 称实 验 名 称实 验 日 期学 生 专 业学 生 学 号学 生 姓 名教 师 姓 名成 绩 理工大学机械工程学院微机原理及应用 实验1 DEBUG 操作实验 实验2 汇编程序设计实验 实验3 8253定时/计数器实验 实验4 8255 并行接口实验 年 月 日 至 年 月 日实验一 DEBUG命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。

2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。

3.掌握各种寻址方法以及简单指令的执行过程。

二、实验要求1.实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分析等。

2.本实验要求在PC机上进行。

3.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序。

三、实验容●实验容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。

实验报告要求:1.写出运行结果;2.小结debug常用命令及使用体会答:1.原文已给出(略)2.a 汇编d显示存单元容e修改单元存容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令体会:提升学习热情和动手能力有助于理解代码执行过程●实验容2设AX=3000H,BX=5000H,请编一程序段将AX的容和BX的容进行交换。

请用堆栈作为两寄存器交换容的中间存储单元,用DEBUG调试程序进行汇编与调试。

实验报告要求:1.写出完成上述功能的程序段;2.单步执行,并记录寄存器AX, BX及堆栈指针SP的值答:A100Mov ax,3000 ; ax:3000 bx:0000 sp:ffeeMov bx,5000 ;ax:3000 bx:5000 sp:ffeePush ax ;ax:3000 bx:5000 sp:ffecMov ax,bx ;ax:5000 bx:5000 sp:ffecPop bx ;ax:5000 bx:3000 sp:ffeeInt 20●实验容3设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H 连续单元装入0AH,0BH,0CH,0DH,0EH。

中南大学微机实验报告

中南大学微机实验报告

中南大学信息科学与工程学院微机原理与接口技术实验报告学生学院信息科学与工程学院专业班级学号学生姓名____指导教师目录第一部分软件实验 (4)DEBUG 的使用 (4)第二部分硬件实验 (8)实验一使用ADC0809的A/D转换实验 (10)实验二使用DAC0832的D/A转换实验(一) ................................. 错误!未定义书签。

实验三使用DAC0832的D/A转换实验(二) ................................. 错误!未定义书签。

第三部分实验总结. (13)第一部分软件实验DEBUG 的命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。

2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。

3.掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1.进入和退出DEBUG程序2.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序3.掌握一些DEBUG的基本操作三、实验环境Windows系统下从进入命令行窗口。

四、实验的基本原理a 汇编d显示内存单元内容e修改单元内存内容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令五、实验步骤1.用DEBUG调试简单程序例1 -A CS:0106MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运行程序(注:执行程序时IP应指向要执行的指令,需要修改时-RIP当前值输入需要值该处为0106当然也可以在T或G命令中指出程序起始地址)-R 显示各寄存器当前内容及首条指令-T3 跟踪执行三条赋值传送指令,观察寄存器及标志位变化-T2跟踪执行相加及送和数指令,观察寄存器及标志位变化-G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作实验现象记录:观察每条指令执行后各相关寄存器值及标志位状态2.在windows系统下按WIN+R键,在弹出窗口下输入cmd,进入命令行窗口,然后再窗口下输入debug,进入debug程序。

中南大学自动化微机课程设计报告(DOC)

中南大学自动化微机课程设计报告(DOC)

第一章绪论1.1 概述近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

1.2 设计目的《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生必修的一门技术基础课。

通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。

要求同学独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路印制板图,编写设计程序及程序流程图。

希望同学们认真阅读课程设计任务书,认真查阅资料,完成好上机调试,圆满完成本次课程设计。

1.3 设计任务和内容设计题10:交通灯控制功能设计(限2-3人)设计要求:(1)、编程语言为C语言和汇编语言;(2)、硬件电路基于80x86微机接口;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示;(4)、具备急救车应急响应功能和时间倒计时显示功能。

实验仪器与设备(1)TPC-H通用微机接口实验系统1台。

(2)IBM-PC微型计算机1台。

第二章总体设计及核心器件简介2.1总体设计通过采用8086、8255、I\O接口电路、键盘、LED数字灯显示、发光二极管组成交通灯演示系统。

利用8255与键盘扫描单元,编写程序完成按键扫描功能,并将倒计时时间显示在数码管上。

按键可以完成置数功能和各种控制功能,同时利用8086重复刷新数码管产生一秒延时,延时一秒之后,将倒计时时间减少一秒,并利用刷新数码管显示出当前剩余时间,到倒计时时间为零,通过利用I\O 接口电路将控制信号传送给发光二极管,使之发光或者熄灭。

中南大学机电工程学院微机原理实验二 程序设计图片

中南大学机电工程学院微机原理实验二  程序设计图片

实验二程序设计
一、实验目的
1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;
2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

二、实验说明
1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的
变化。

2.选中此项keil为纯软件仿真。

3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:30分/单个程序)
题目1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了0FH,09H,07H,0CH,03H,0DH,08H,0BH,04H,01H共10个字节无符号数,编程将它们规律排序,最大数放在60H中,最小数放在69H中。

排序算法采用冒泡排序、鸡尾酒排序、插入排序、二叉排序树排序、快速排序中间的任意一种。

结果应该是0FH,0DH,0CH,0BH,09H,08H,07H,04H,03H,01H。

题目2、编写多字节加法程序并上机调试通过。

8031内部RAM22H、21H、20H单元中,分别存放了3字节无符号被加数0FFH、0FFH、0FFH(低字节在低地址),在32H、31H、30H单元中分别存放3字节无符号加数22H、22H、22H(低字节在低地址),求两数之和,并将结果存入内部RAM23H 、22H 、21H 、20H单元中(低字节在低地址)。

结果应该是01H、22H、22H、21H。

四、参考实验程序
题目一:1冒泡排序 2选择排序
题目二:1多字节加法程序 2多字节减法程序
五、程序流程图
1冒泡排序 2多字节加法。

中南大学微机原理课程设计报告.docx

中南大学微机原理课程设计报告.docx

中南大学微机原理课程设计实验报告题目设计电子万年历专业班级通信工程一、设计目的及要求(1)设计任务:通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。

(1)通过设计电子万年历,掌握中断的使用方法。

(2)掌握基本的显存读写技术。

(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。

(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。

(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。

汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。

至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。

随着科学技术迅速发展, 理工科大学生不仅需要掌握计算机方而的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。

通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子万年历的系统设计。

这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。

很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。

关键词:汇编语言微机原理接口技术时钟显示键盘输入一次性初始化六位(二)设计功能:1.电子万年历,具有年、月、日、时、分、秒24小时制的运行,并可以在8位数码管上显示:2.电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、时、分、秒。

微机原理及应用实验指导书(2013)

微机原理及应用实验指导书(2013)

微机原理及应⽤实验指导书(2013)微机原理及应⽤实验指导书中南⼤学机电⼯程学院实验⼀单⽚机仿真开发机操作和MCS-51指令系统应⽤⼀.实验⽬的1、熟悉MCS-51单⽚机仿真开发机和开发调试软件的操作使⽤和调整;2、学会编写和输⼊汇编语⾔源程序、对输⼊的源程序进⾏汇编;3、掌握程序的调试和运⾏的各种⽅法。

三.实验步骤(⼀)、开机(台式电脑),双击桌⾯上的图标Keil uVersion2运⾏Keil uVersion2程序进⼊Keil开发环境。

(⼆)、新建⼯程项⽬1、从菜单中选择Project 的下拉菜单中New Project ,新建⼯程项⽬,见图1图12、确定后出现的对话框,输⼊新建⼯程的名字,如example,见图2(请每个同学在D盘上建⽴⾃⼰的⽂件夹,将建⽴的项⽬保持在⾃⼰的⽂件夹内)图23、在弹出的对话框中选择CPU ⼚商,选中Atmel公司,双击⿏标确认,见图3图34、双击后在弹出的对话框中选择CPU类型,选中AT89C51后确认,见图4图45、选择否(N),不添加(三)、设置⼯程⽂件参数1、在菜单栏中选择Project项的下拉菜单Options for Target ‘Target1’项,或单击⼯具栏中图62、在出现的对话选项卡中选择Target项,在中输⼊单⽚机⼯作的频率图73、在选项卡中选择Debug调试项,见图8图8(1)图8选中此项keil为纯软件仿真,不需要连接仿真器就可以仿真,软件实验就可以选择这⼀项(实验⼀、实验⼆为纯软件仿真)(2)图9选中此项keil为带有Monitor-51⽬标仿真器的仿真,必须要有硬件keil-c51仿真器的⽀持,否则不能仿真,在我们做硬件实验时选择这⼀项(实验三、实验四为硬件仿真,此项)(3)单击图9 后⾯的设置,出现图10对话框,设置Port 串⼝:⼀般为COM1,Baudrate 波特率:38400bit/s, 最后确认图10(4)在选项卡中按确定(5)设置完成,就可以添加事先编好的*.asm ⽂件程序编译运⾏(四)、编写新程序事例图11 图121、在菜单栏File (⽂件)选项的下拉菜单中选择New…(新建⽂件),见图11 ,选择后出现图12 ⽂本编辑框,输⼊汇编程序图132、在输⼊程序标点符号时注意,应在没有中⽂输⼊法状态,如图13输⼊程序:ORG 0000HAJMP MAINORG 0030HMAIN: MOV R0,#20H ;(R0)=MOV R2,#0FH ;(R2)=MOV A,#00HA1: MOV @R0,A ;INC R0 ; (R0)=INC A ;(A)=DJNZ R2,A1MOV R0,#20HMOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#0A0HMOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND3、保存⽂件图144保存⽂件以⽂件扩展名*.ASM保存,如图15 (请每个同学把程序保存在⾃⼰的⽂件夹)图155、运⾏程序,要把⽂件程序添加到⼯程⾥去执⾏,操作如图16图166、添加程序对话框操作图17所⽰(如果已编好程序存在⾃⼰的U盘中,可以先复制到D盘上,直接添加即可)图177、添加好程序,在库⾥把⽂件打开,操作见图18图188、编译程序,也可以在⼯具栏中点击Project ,操做如图19后图20图19图20在编译过程中,如果有错可以在信息窗⼝中显⽰出来,双击错误信息,可以在源程序中定位所在⾏。

微机原理及应用实验报告

微机原理及应用实验报告

实验一 程序调试实验(顺序结构程序设计)一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。

2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求:1、上机前,要认真阅读前言和课本相关章节2、上机前,画好流程图,编写好程序3、上机时,注意出现的错误,记录下出错信息,翻译之4、完成好实验报告 三、实验内容:在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。

(2).分析X 平方的值是tab 为首地址且x 的值为有效地址中的值。

data segmentx db 8 y db ?data endsstack segment para'stack' db 100 dup(0) stack ends code segmentassume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start(3).程序调试:4.心得体会了解了顺序结构,掌握了程序的运行,调试。

实验二分支程序设计一、实验目的:熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。

掌握分支程序设计、编写、调试和运行的方法。

二、实验要求:1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。

2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。

二、实验内容1.判断X单元数据的奇偶性,若为奇数,将Y单元设置为0FFH,若为偶数,将Y单元清0。

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计1.实验目的:1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

2.实验内容:1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

2.、编写多字节加法程序并上机调试通过。

8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。

3.实验设备名称、型号:4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:程序1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:ORG 1000HTEM DATA 50HMOV R7 , #9MOV 60H , #0FFHMOV 61H , #99HMOV 62H , #77HMOV 63H , #0CCHMOV 64H , #33HMOV 65H , #0DDHMOV 66H , #88HMOV 67H , #0BBHMOV 68H , #44HMOV 69H , #0EEHLOOP0: CLR F0MOV A , R7MOV R6, AMOV R0 , #60HMOV R1, #60HINC R1LOOP1: MOV A , @R0MOV TEM , AMOV A , @R1CJNE A ,TEM , NEXTSJMP NOCHANEXT: JC NOCHASETB F0MOV @R0 , AXCH A , TEMMOV @R1 , ANOCHA:INC R0INC R1DJNZ R6, LOOP1JNB F0, HALDJNZ R7, LOOP0HAL: SJMP $END程序2:编写多字节加法程序并上机调试通过。

微机原理及应用实验报告材料(中南大学2014年)

微机原理及应用实验报告材料(中南大学2014年)

微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计1.实验目的:1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

2.实验内容:1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

2.、编写多字节加法程序并上机调试通过。

8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。

3.实验设备名称、型号:4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:程序1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:ORG 1000HTEM DATA 50HMOV R7 , #9MOV 60H , #0FFHMOV 61H , #99HMOV 62H , #77HMOV 63H , #0CCHMOV 64H , #33HMOV 65H , #0DDHMOV 66H , #88HMOV 67H , #0BBHMOV 68H , #44HMOV 69H , #0EEHLOOP0: CLR F0MOV A , R7MOV R6, AMOV R0 , #60HMOV R1, #60HINC R1LOOP1: MOV A , @R0MOV TEM , AMOV A , @R1CJNE A ,TEM , NEXTSJMP NOCHANEXT: JC NOCHASETB F0MOV @R0 , AXCH A , TEMMOV @R1 , ANOCHA:INC R0INC R1DJNZ R6, LOOP1JNB F0, HALDJNZ R7, LOOP0HAL: SJMP $END程序2:编写多字节加法程序并上机调试通过。

《微机原理及应用》课程自主学习报告

《微机原理及应用》课程自主学习报告

《微机原理及应用》课程自主学习报告一、单片机与D/A转换器组成波形发生器单片机处理的是数字量。

然而,在单片机的实时控制和智能仪表等应用系统中,被控制量或被测对象的有关参量往往是一些连续变化的模拟量,如温度、压力、流量等物理量。

这些模拟量必须转化成数字量后才能输入到计算机进行处理。

计算机处理的结果也常常需要转化成模拟信号,驱动相应的执行机构,实现对被控对象的控制。

如果输入是非电量的模拟信号,还需通过传感器转换为电信号并加以放大。

这时就需要解决单片机的D/A、A/D的接口技术问题。

本次,就D/A 转换器原理及简单应用进行了学习。

将数字量转换成模拟量的过程称为数/模转换(Digit to Analog,D/A),实现D/A转换的设备称为D/A转换器或DAC。

1.1D/A转换器的主要技术指标(1)分辨率分辨率表示对输入的最小数字量信号的分辨能力,即当输入数字量最低位(LSB)发生一次变化时,所对应输出模拟量的变化量。

它与输入数字量的位数有关。

通常定义刻度值与之比。

例如,如果满量程为5V,设8位D/A转换,分辨率为5/=19.5mV,即二进制变化一位可引起模拟电压变化19.5mV。

位数越多分辨率就越高。

分辨率也可用百分比表示,如8位DAC的百分比分辨率为0.4%。

(2)建立时间建立时间是描述转换速度快慢的一个重要参数,是D/A转换器输入数字量为满刻度值(各二进制各位全为1)时,从输入信号到模拟量电压输出达到满刻度值或满刻度值的某一百分比(如99%)所需的时间(也可表述为:从输入数字量到转换结束,输出达到最终值并稳定(终值误差±1/2LSB)所需的时间。

电流型快(几百ns~几µs),电压型慢。

例:DAC0808建立时间约150ns,DAC0832为1us。

),也可称之为D/A转换速度。

(3)转换精度精度参数用于描述D/A转换的精度程度,一般用误差大小表示。

通常以满刻度电压(满量程电压)VFS的百分数形式给出。

中南大学微机原理实验报告 信号发生器讲解

中南大学微机原理实验报告  信号发生器讲解

微型计算机原理与接口技术实验课程设计课程题目:信号发生器学院:信息科学与工程学院专业班级:自动化1105学号:0909112324姓名:樊文跃指导老师:王击李志明目录一、课程设计概述二、设计思想与实施方案三、典型模块与编程分析四、系统调试五、课程设计收获与体会六、参考文件七、附录一、课程设计概述1.1 课程设计目的《微型计算机原理与接口技术》理论课程是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086 微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。

要求学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086 微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。

本课程设计,旨在提高同学汇编语言的编程能力以及对外部硬件(8086,DC0832,74LS138,8255,数码管,矩阵键盘)的认识,掌握各芯片的用法,锻炼学生在微机应用方面的实际工作能力,将所学转化为所用。

同学们应该充分利用实验室现有资源以及微机原理与接口技术中的相关实验资料,以试验箱或proteus仿真软件为工具,以汇编语言或C语言为开发语言,实现多个模块的结合及软硬结合,独立完成给定的任务。

在完成任务的基础上,以提升能力为目标,各位同学可以尝试用其他的编程语言实现给定要求,并开动自己的脑经,完善功能并尽可能多的做到以较简单的方法实现较为困难的问题,以较少的器件实现较多的功能,并琢磨模块间的配合实现。

1.2 课程设计的要求(1)分别用C语言或汇编语言编程完成硬件接口功能设计;(2)硬件电路基于80x86微机的接口电路;(3)程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调。

(注意:按键数量应尽量少)。

(4)实现远程控制第二章设计思想和实施方案2.1 功能分析2.1.1 波形产生结合微机原理实验中关于波形的显示,在TDPID平台上,因为涉及数字量与模拟量之间的相互转化,所以DAC0832和ADC0809要相互配合使用。

微机原理与应用-实验报告

微机原理与应用-实验报告

《微机原理与应用》实验报告姓名:***学号:**********年级:2014专业:电子2016年春季学期实验一.熟悉单片机开发环境1.功能要求在 P1 端口接8 个LED,并编程依次循环点亮。

要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。

2.硬件原理3.程序清单ORG 0000HLJMP STARTORG 0030HSTART: MOV R2,#8MOV A,#01H LOOP1: MOV P1,ALCALL DELAY RL ADJNZ R2,LOOP1 MOV R2,#8RR ALOOP2: MOV P1,ALCALL DELAY RR ADJNZ R2,LOOP2 LJMP STARTDELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND4.实验心得首次接触开发板,通过实验1加强了对单片机的了解,学会使用仿真软件,学会搭线的各种技巧,并且掌握了LED亮灭的原理。

实验二.并行口输入输出实验——循环彩灯控制1.功能要求P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。

开关断开时,灯灭。

用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1~K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方向(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度;(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定 的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

当K0 没有引发 中断时,保持上一次的循环方式。

2.硬件原理3.程序清单ORG 0000HLJMP MAINDELAY2: MOV R0,#200 D4: MOV R1,#200ORG 0003HLJMP INTERRUPTORG 0030HMAIN: SETB EX0SETB IT0SETB EAMOV A,#01HA1: MOV P0,AJB 20H.2,B1JNB 20H.2,B2A2: JB 20H.3,LOOP11 JNB 20H.3,LOOP22 B1: LCALL DELAY1LJMP A2B2: LCALL DELAY2LJMP A2LOOP11: RL ALJMP A1LOOP22: RR ALJMP A1ORG 0600HDELAY1: MOV R0,#100D1: MOV R1,#100D2: MOV R2,#10D3: DJNZ R2,D3DJNZ R1,D2DJNZ R0 ,D1RET4.实验心得开始熟悉开发板,通过实验2加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。

中南大学微控制器技术实验报告

中南大学微控制器技术实验报告

中南大学微控制器技术实验报告目录实验目的和要求 0硬件、软件环境要求 0实验一、清零程序与拆字程序设计 (1)实验二、拼字程序与数据传送程序设计 (3)实验三、散转与排序程序设计 (6)实验四、数字量的输入输出实验 (8)实验五、定时器\计数器实验 (12)实验六A/D、D/A转换实验 (16)实验七、串行通信实验 (19)总结 (23)实验目的和要求1熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2熟练使用SST89C554RC单片机核心板及I/O扩展实验系统;3熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试;4完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;硬件、软件环境要求软件环境描述该实验使用Keil C51集成开发环境作为实验设计、调度工具。

Keil C51提供了强大的调度功能,可单步、断点、全速运行程序,可观察寄存器区、ROM变量区、RAM变量区等的内容。

支持汇编语言和C语言的源程序语言调试。

硬件环境本实验采用开放的系统板结构,可以灵活地配合各型号接口实验平台开展单片机的应用教学。

其提供了丰富的原理及接口应用实验。

配合接口实验平台可完成数字量输入/输出、中断、定时器/计数器、看门狗、低功耗、PCA、串口通讯、静态存储器、FLASH、A/D、D/A、键盘及数码显示、电子音响、点阵LED、LCD、步进电机、直流电机、温度控制等实验内容。

TD-51系统板上提供了一片SST89E554RC,该器件是SST公司推出的8位微控制器FlashFlex51家族中的一员,具有如下特征:与8051兼容,嵌入SuperFlash存储器;工作电压5V,工作时钟0~40MHz;1Kbyte内部RAM;两块SuperFlash EEPROM,主块32Kbyte,从块8Kbyte,扇区为128Byte;有三个高电流驱动端口(每个16mA);三个16位的定时器/计数器;全双工、增强型UART; 八个中断源,四级优先级;可编程看门狗定时器(WDT);可编程计数阵列(PCA);双DPTR寄存器;低EMI模式(可禁止ALE);SPI串行口;标准每周期12个时钟,器件提供选项可使速度倍增,达到每周期6个时钟;低功耗模式。

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告
班级:
姓名:
学号:
中南大学
机电工程学院精密测控实验室
实验二软件程序设计
.实验目的:
、掌握单片机指令系统及用汇编语言编程技巧;
、了解和熟悉用单片机仿真开发机调试程序的方法。

.实验内容:
、编写排序程序并上机调试通过。

已知内部单元中,依次存放了,它们均为无符号数,编程将它们按递减次序排序,即
最大数放在中,最小数放在中。

.、编写多字节加法程序并上机调试通过。

内部单元中,存放了字节被加数(低字节在前),在单元中存放字节加数(低字节在
前),求两数之和,并将结果存入以为起始地址的区域中(低字节在前)。

.实验设备名称、型号:
.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:
程序、编写排序程序并上机调试通过。

已知内部单元中,依次存放了
,它们均为无符号数,编程将它们按递减次序排序,即最大数放在中,最小数放在
中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较次后,最小的那个数就会沉底,
在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已
经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:。

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

微机原理及应用实验报告(中南大学2014年)————————————————————————————————作者:————————————————————————————————日期:微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计1.实验目的:1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

2.实验内容:1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

2.、编写多字节加法程序并上机调试通过。

8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH 单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。

3.实验设备名称、型号:台式微型计算机MCS-51仿真开发机THKSCM-2A4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:程序1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:ORG 1000HTEM DATA 50HMOV R7 , #9MOV 60H , #0FFHMOV 61H , #99HMOV 62H , #77HMOV 63H , #0CCHMOV 64H , #33HMOV 65H , #0DDHMOV 66H , #88HMOV 67H , #0BBHMOV 68H , #44HMOV 69H , #0EEHLOOP0: CLR F0MOV A , R7MOV R6, AMOV R0 , #60HMOV R1, #60HINC R1LOOP1: MOV A , @R0MOV TEM , AMOV A , @R1CJNE A ,TEM , NEXTSJMP NOCHANEXT: JC NOCHASETB F0MOV @R0 , AXCH A , TEMMOV @R1 , ANOCHA:INC R0INC R1DJNZ R6, LOOP1JNB F0, HALDJNZ R7, LOOP0HAL: SJMP $END程序2:编写多字节加法程序并上机调试通过。

8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。

解:改程序由三个字节数相加,其结果不会超过4个字节,可以采用循环求和的办法,吧加数和被加数依次从低位带进位相加,当然加最低位时必须先对进位位清零。

可以采用线性结构,也可以采用循环结构。

我在设计该程序采用单重循环,结构简单,特别是当相加的数较长时,优势更加明显。

程序结构框图和源代码如下:ORG 1000HMOV 20H,#××HMOV 21H,#××HMOV 22H,#××HMOV 2AH,#××HMOV 2BH,#××HMOV 2CH,#××HMOV R0 #20HMOV R1 #2AHMOV R7 #03HCLR CLOOP0: MOV A ,@R0MOV B ,@R1ADDC A ,BMOV @R0 ,AINC R0INC R1DJNZ R7 ,LOOP0NEXT : JNC HALINC R0MOV @R0 ,#01HHAL: SJMP $END5.思考题1、如果题目1改为递增排序,如何修改程序,为什么?答:将NEXT中的指令中的JC 指令换为JNC指令即可2、如果题目1改为从30H单元开始的16个单元中无符号数排序,改哪几条指令?答:改变R7的值为15,将值赋予30H到3FH上就可以了3、如果题目2改为从50H开始的4字节数与60H开始的四字节数相加,如何修改?答:MOV R0 #20H 改为MOV R0 #50HMOV R1 #2AH 改为MOV R1 #60HMOV R7 #03H 改为MOV R7 #04H4、写出题目2中你处理最高位进位的相应指令。

答:NEXT : JNC HALINC R0MOV @R0 ,#01HHAL: SJMP $5、循环程序中为何常用间接寻址方式(@Ri,@DPTR)?答:因为间接寻址可以实现程序的循环,便于编写程序。

6.心得体会:通过实际模拟操作,加深了对单片机的理解,更好的理解编程语言,本次实验较为简单,我是独立按时完成,当我看到发光二极管一次亮时别提我的兴奋劲了。

在试验的编程过程中弄清了定时器的使用方法,以及延时的计算。

审阅:实验三定时/计数器实验1.实验目的:1、掌握MCS-51单片机内部定时/计数器的功能与特点,工作方式选择和编程方法,中断功能的使用和中断服务程序的设计;2、解和熟悉MCS-51单片机实验板的功能。

2.实验内容:1、用MCS-51单片机的内部定时器定时中断,通过P1口控制实验板上八个LED发光二极管轮流循环显示发光,每个LED发光二极管显示时间为0.5秒;2、用MCS-51单片机的内部定时器定时中断,编写一段电子秒表程序。

(选做)3.实验设备名称、型号:台式微型计算机MCS-51仿真开发机THKSCM-2A4.画出软件程序流程图写出上机调试通过的汇编语言程序清单:1、用MCS-51单片机的内部定时器定时中断,通过P1口控制实验板上八个LED发光二极管轮流循环显示发光,每个LED发光二极管显示时间为0.5秒.分析:采用的晶振为11.0592MHz,所以时间周期T=1.085069μs。

采用方式一计时需要460800 次,超过了计时范围,故在采用一个内循环,取为10 ,则共需460800÷10=46080。

X=2^(16)-46080=19456=4C00H编程:START:MOV TMOD,#01HMOV TH0,#4CHMOV TL0,#00HSETB TR0SETB EASETB ET0MOV A,#F7HMOV P1,AMOV 40H,#0AHSJMP $ORG 0000HLJMP STARTORG 00BHMOV TH0,#4CHMOV TL0,#00HDJNZ 40H,OVERMOV 40H,#0AHMOV P1,ARR AOVER: RETI5.思考题1、你采用的是定时器0还是定时器1?如果换用另外一个定时器,需要修改那些语句?为什么?答:采用定时器0 ,若用另一个则要替换的语句是MOV TMOD ,#01H 换为 MOV TMOD ,#10HMOV TH0 ,#4CH 换为 MOV TH1 ,#4CHMOV TL0, #00H 换为 MOV TL1, #00HSETB TR0 换为 SETB TR12、如果将延时时间变为1秒,如何修改程序,为何?答:两个程序均是将MOV 40H,#0AH 改为 MOV 40H,#14H3、改变发光二极管循环点亮方向,如何修改程序?如果间隔闪亮(亮一个,黑一个,亮一个……)如何修改程序?你还能做哪些花样?答:将 RL A 改为 RR A如果要间隔闪亮可以将A 连续两次左移即RL A 变为 RL A 再加RL A就可以了。

我还可以要其两同时亮,将累加器A 的值变为0FDH 就可以了语言是MOVA # 0FEH 变为MOV A ,#0FDH7.心得体会:通过实际模拟操作,加深了对单片机的理解,更好的理解编程语言,本次实验较为简单,我是独立按时完成,当我看到发光二极管一次亮时别提我的兴奋劲了。

在试验的编程过程中弄清了定时器的使用方法,以及延时的计算。

审阅:实验四串行数据传送实验1.实验目的:1、掌握七段LED数码管显示器工作原理,以及用动态扫描方法编程实现8位LED数码管显示的方法;2.进一步了解和熟悉MCS-51单片机实验板的功能。

2.实验内容:1.用MCS-51 的P1、P2输出段码和位码,编程实现8位LED数码管循环显示出“1”“2”“3”“4”“5”“6”间隔时间0.5秒。

2.缩短间隔时间,直至显示效果为稳定的“123456”3.实验设备名称、型号:台式微型计算机MCS-51仿真开发机THKSCM-2A4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:说明:采用的晶振为11.0592MHz,所以时间周期T=1.085069μs。

执行一次DJNZ指令需要2T,要间隔0.5s。

故需要执行0.5÷(2T)=230400次。

取三次循环,第一次为4,第二次为256,第三次为230400÷4÷256=225=0E1H。

代码如下:ORG 0000HMOV 40H,#00HMOV 41H,#01HMOV 42H,#02HMOV 43H,#03HMOV 44H,#04HMOV 45H,#05HSTART:MOV R0,#40HMOV R2,#06HMOV R7,#7FHLOOP: MOV A,@R0MOV DPTR,#DISTABMOVC A,@A+DPTRMOV P1,AMOV A,R7MOV P2,ARR AMOV R7,AMOV R4,#00HMOV R5,#0E1HLOOP1:DJNZ R5,LOOP1DJNZ R4,LOOP1DJNZ R3,LOOP1INC R0DJNZ R2,LOOPLJMP STARTDISTAB: DB 06H;显示1DB 5BH;显示2DB 4FH;显示3DB 66H;显示4DB 6DH;显示5DB 7DH;显示6END修改 MOV R3,#04HMOV R4,#00HMOV R5,#0E1H可以缩短显示时间。

当修改为 MOV R3,#04HMOV R4,#04HMOV R5,#02H时从视觉看已经看不出变化。

用定时器实现方法:采用的晶振为11.0592MHz,所以时间周期T=1.085069μs。

相关文档
最新文档