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

合集下载

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

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

微机原理及应用课程设计设计题目: 基于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多字节加法。

  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。

相关文档
最新文档