微机原理及应用实验报告(中南大学2014年)
微机原理及应用课程设计报告
微机原理及应用课程设计设计题目: 基于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 的接口方法。
《微机原理及应用》实验指导书2014.11.29要点
《微机原理与接口》实验指导书实验概述 (1)基于PC的8086汇编程序实验 (2)2.1 实验一调试程序debug.exe的使用 (2)2.2 实验二汇编与宏汇编程序 (12)2.3 实验三汇编程序设计1 (14)2.4 实验四汇编程序设计2 (15)2.5 实验五汇编程序设计3 (16)实验概述《微机原理及应用》的实验项目由两大部分组成:软件部分是基于PC的8086汇编程序实验,这一部分的实验不需要使用实验箱,直接在PC机上进行。
进行汇编程序实验,需要PC机安装相应的汇编程序软件包,例如microsoft 的宏汇编或其它类似汇编软件。
通过这一部分的实验使学生掌握汇编程序的编写、汇编、连接与调试过程,同时进行一些基于PC的汇编源程序的编写。
在汇编源程序中,可以使用微机的BIOS功能调用与DOS功能调用。
硬件部分(略)1、常用MS-DOS命令功能1.1如何切换Win与DOS环境(1) “开始”-“所有程序”-“附件”-“命令提示符”;若要实现全屏显示可设置“命令提示符-属性”-“选项”-“全屏”(2) 在DOS环境下退回Win:EXIT1.2常用DOS命令(1) 盘切换C:\>D: 回车(2) DIR (directory)(DIR /p/w):列当前文件夹下文件与文件夹(3) MD (make directory):在当前文件夹下新建文件夹(4) CD(change directory):目录切换CD\ :回到根目录CD.. :返回前级目录(5) RD(remove directory):可在前一级目录下删除某空目录(6) DEL(delete):删除文件DEL SY1_1.ASM ;DEL *.*(7) COPY :拷贝文件COPY SY1_1.ASM SY1_2.ASM(8) REN(rename):文件重命名REN MY1_1.ASM SY1_1.ASM基于PC的8086汇编程序实验本章将介绍PC机上的debug.exe的使用,以及采用宏汇编软件的使用。
微机原理及应用中南大学实验报告
微机原理及应用实验报告实验一单片机仿真开发机操作和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开头的地址。
中南大学微机实验报告
中南大学信息科学与工程学院微机原理与接口技术实验报告学生学院信息科学与工程学院专业班级学号学生姓名____指导教师目录第一部分软件实验 (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)
第一章绪论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 接口电路将控制信号传送给发光二极管,使之发光或者熄灭。
《微机原理及应用》实验指导书(jian)
实验守则1.学生应按照课程教学计划,准时上实验课,不得迟到早退。
2.实验前认真阅读实验指导书,明确实验目的、步骤、原理,预习有关的理论知识,并接受实验教师的提问和检查。
3.进入实验室必须遵守实验室的规章制度。
不得高声喧哗和打闹,不准抽烟、随地吐痰和乱丢杂物。
4.做实验时必须严格遵守仪器设备的操作规程,爱护仪器设备,节约使用材料,服从实验教师和技术人员指导。
未经许可不得动用与本实验无关的仪器设备及其它物品。
5.实验中要细心观察,认真记录各种实验数据。
不准敷衍,不准抄袭别组数据,不得擅自离开操作岗位。
6.实验时必须注意安全,防止人身和设备事故的发生。
若出现事故,应立即切断电源,及时向指导教师报告,并保护现场,不得自行处理。
7.实验完毕,应主动清理实验现场。
经指导教师检查仪器设备、工具、材料和实验记录后方可离开。
8.实验后要认真完成实验报告,包括分析结果、处理数据、绘制曲线及图表。
在规定时间内交指导教师批改。
9.在实验过程中,由于不慎造成仪器设备、器皿、工具损坏者,应写出损坏情况报告,并接受检查,由领导根据情况进行处理。
10.凡违反操作规程,擅自动用与本实验无关的仪器设备、私自拆卸而事故和损失的,肇事者必须写出书面检查,视情节轻重和认识程度,按章程予以赔偿。
11.学生进入开放实验室做实验时,应遵守学校开放实验室的相关规定和程序。
2012年3月DICE-8086K系统安装与使用(一)键盘监控程序的功能和操作方法系统一经接通电源,数码管上显示监控提示符“P.”。
1. 键盘显示系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。
系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。
在键盘监控状态下用户可以通过一组键命令完成下列操作·读写寄存器内容·读写存储器内容·EPROM传送·断点设置/清除·通过单步、断点、连续等功能来调试运行实验程序。
中南大学机电工程学院微机原理实验二 程序设计图片
实验二程序设计
一、实验目的
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多字节加法。
微机原理及应用实验报告(中南大学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:编写多字节加法程序并上机调试通过。
中南大学微机原理课程设计报告.docx
中南大学微机原理课程设计实验报告题目设计电子万年历专业班级通信工程一、设计目的及要求(1)设计任务:通过本次课程设计,使学生巩固和加深微型计算机原理理论知识,通过过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
计算机原理与接口课程课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。
(1)通过设计电子万年历,掌握中断的使用方法。
(2)掌握基本的显存读写技术。
(3)学会在屏幕上以七段数码管的形式显示本机时间的方法。
(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。
(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。
至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。
随着科学技术迅速发展, 理工科大学生不仅需要掌握计算机方而的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。
通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。
鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子万年历的系统设计。
这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。
很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。
关键词:汇编语言微机原理接口技术时钟显示键盘输入一次性初始化六位(二)设计功能:1.电子万年历,具有年、月、日、时、分、秒24小时制的运行,并可以在8位数码管上显示:2.电子万年历具有启动键、蜂鸣、整点报时、暂停、初始化年、月、日、时、分、秒。
微机原理及应用实验报告
实验一 程序调试实验(顺序结构程序设计)一、实验目的: 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。
微机原理及应用实验报告
微机原理及应用实验报告微机原理及应用实验报告1. 引言微机原理及应用是计算机科学与技术专业的一门重要课程,通过该课程的学习和实验,我们可以深入了解微机的基本原理和应用技术。
本文将对我们进行的微机原理及应用实验进行详细报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。
2. 实验目的本次实验的目的是通过实际操作,加深对微机原理的理解,掌握微机的基本组成和工作原理,以及学习并应用微机的常见应用技术。
3. 实验内容本次实验主要涉及以下内容:- 微机的基本组成和结构- 微机的工作原理- 微机的存储器和输入输出设备- 微机的指令系统和编程技术4. 实验步骤4.1 实验一:微机的基本组成和结构在这个实验中,我们首先学习了微机的基本组成和结构,包括中央处理器、存储器、输入输出设备等。
通过观察实际的微机硬件设备,我们对微机的组成有了更加直观的认识。
4.2 实验二:微机的工作原理在这个实验中,我们学习了微机的工作原理,包括指令的执行过程、中央处理器的工作原理等。
通过实际操作,我们对微机的工作过程有了更加深入的理解。
4.3 实验三:微机的存储器和输入输出设备在这个实验中,我们学习了微机的存储器和输入输出设备的原理和应用。
通过实际操作,我们了解了存储器的读写过程,以及输入输出设备的工作原理。
4.4 实验四:微机的指令系统和编程技术在这个实验中,我们学习了微机的指令系统和编程技术。
通过实际编写和执行简单的汇编语言程序,我们掌握了微机的编程技术,并了解了指令的执行过程。
5. 实验结果及分析通过以上实验,我们对微机的原理和应用有了更加深入的理解。
我们通过实际操作,掌握了微机的基本组成和结构,了解了微机的工作原理,熟悉了微机的存储器和输入输出设备,掌握了微机的指令系统和编程技术。
这些知识和技能对我们今后的学习和工作都具有重要的意义。
6. 总结通过本次微机原理及应用实验,我们深入了解了微机的基本原理和应用技术。
通过实际操作,我们对微机的组成和工作原理有了更加直观和深入的理解,掌握了微机的存储器和输入输出设备的原理和应用,以及微机的指令系统和编程技术。
微机原理实习报告(带完全汇编源码)
目录一.实习目的 .................................................. 错误!未定义书签。
二、实习内容及要求...................................... 错误!未定义书签。
三、方案和工作原理说明.............................. 错误!未定义书签。
四、程序流程图 .............................................. 错误!未定义书签。
五、程序源代码及注释.................................. 错误!未定义书签。
六、电路的连接 .............................................. 错误!未定义书签。
七、调试中出现的问题、原因及排除方法.. 错误!未定义书签。
一.实习目的本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
二.实习内容及要求1.实习内容简易电子琴原理:(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。
(3) 通过8255的PA口,使G6区的1~7号键由低到高发出1-7的音阶。
2.设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。
2)进一步理解各种接口电路的应用。
例如8255并行接口。
3)掌握利用PC机扬声器发出不同频率声音的方法。
4)理解12864模块的应用。
(此为创新添加部分)三、方案和工作原理说明1.方案基于PC计算机的时钟晶振为1.MHz,利用电脑里面的蜂鸣器发出声音。
微机原理及应用实验报告
微机原理及应用实验报告实验名称:微机原理及应用实验实验目的:通过实际操作,学习微机原理及应用,了解微机硬件组成和工作原理,掌握微机汇编语言的基本操作及应用。
实验器材与软件:电脑、汇编语言编译软件、实验板、示波器。
实验内容:1.微机硬件组成及工作原理-学习微机硬件包括中央处理器(CPU)、存储器(RAM和ROM)、输入输出设备(I/O)等组成部分。
-了解CPU的工作原理,包括指令译码、执行和数据传输。
-掌握存储器的分类和作用,了解RAM的读写操作和ROM的存储功能。
-理解输入输出设备的工作原理,例如键盘、显示器、串口等。
2.微机汇编语言基础-学习汇编语言的基本语法和指令格式。
-掌握汇编语言中的数据存储和操作方法。
-学习汇编语言的控制结构,包括顺序、选择和循环结构。
3.实验操作-实验前准备:连接实验板、示波器和电脑,启动汇编语言编译软件。
-编写简单的汇编程序,例如实现两个数字相加的功能。
-编译和调试汇编程序,观察电路的输出情况。
-修改程序代码,实现其他功能,例如实现数字的乘法和除法。
实验结果与分析:根据实验内容,我们成功学习了微机硬件组成和工作原理,掌握了汇编语言的基础知识并进行了实际操作。
在实验过程中,我们发现CPU是整个微机系统的核心,通过执行指令和数据操作来实现各种功能。
存储器用于存储程序和数据,RAM可以读写操作,而ROM只能读取。
输入输出设备是与外部环境进行数据交互的媒介。
通过编写简单的汇编程序,例如实现两个数字相加的功能,我们深入了解了汇编语言的语法和指令格式。
在编译和调试过程中,我们发现对于了解指令执行的效率和结果的正确性非常重要。
在修改程序代码的过程中,我们扩展了功能,例如实现数字的乘法和除法。
在这个过程中,我们学会了如何在程序中使用循环结构和控制结构。
总结与心得:通过本次实验,我们深入了解了微机原理及应用的相关知识。
通过实际操作,我们掌握了微机的硬件组成和工作原理,学会了使用汇编语言编写和调试程序。
《微机原理及应用》课程自主学习报告
《微机原理及应用》课程自主学习报告一、单片机与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要相互配合使用。
中南大学微控制器技术实验报告
中南大学微控制器技术实验报告目录实验目的和要求 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个时钟;低功耗模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计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:编写多字节加法程序并上机调试通过。
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.实验设备名称、型号:4.画出软件程序流程图写出上机调试通过的汇编语言程序清单: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 就可以了语言是MOV A # 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.实验设备名称、型号:4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:说明:采用的晶振为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。
采用方式一计时需要460800 次,超过了计时范围,故在采用一个内循环,取为50,则共需460800÷50=9216。
X=216-9216=56350=DC1EH源代码如下:MOV TMOD,#01HMOV TH0,#0DCHMOV TL0,#1EHSETB EASETB ET0SETB TR0SJMP $0RGB 000BHMOV R2,#32HDJNZ R2,NEXTORG 0050HMOV 40H,#00HMOV 41H,#01HMOV 42H,#02HMOV 43H,#03HMOV 44H,#04HMOV 45H,#05HSTART:MOV R0,#40HMOV R7,#EFHLOOP: MOV A,@R0MOV DPTR,#DISTABMOVC A,@A+DPTRMOV P1,AMOV A,R7MOV P2,ARR AMOV R7,AINC R0NEXT:RETIDISTAB: DB 06H;显示1DB 5BH;显示2DB 4FH;显示3DB 66H;显示4DB 6DH;显示5DB 7DH;显示6END5.思考题1、要显示实验当天的日期(如20100509),怎样调试?答:将 MOV R2,#06H 改为 MOV R2,#08HDISTAB: DB 06H;显示1 改为 DISTAB: DB 5BH;显示2DB 5BH;显示2 DB 3FH;显示0DB 4FH;显示3 DB 06H;显示1DB 66H;显示4 DB 3FH;显示0DB 6DH;显示5 DB 3FH;显示0DB 7DH;显示6 DB 6DH;显示5DB 3FH;显示0DB 6FH;显示92、用其中4位数码管显示“good”,程序如何修改?答:将 MOV R2,#06H 改为 MOV R2,#04HDISTAB: DB 06H;显示1 改为 DISTAB: DB 6FH;显示gDB 5BH;显示2 DB 3FH;显示0DB 4FH;显示3 DB 3FH;显示0DB 66H;显示4 DB 5EH;显示dDB 6DH;显示5DB 7DH;显示67.心得体会:通过实际模拟操作,加深了对单片机的理解,更好的理解编程语言,本次实验我能够根据老师给出的代码理解完成,并且取得满意的结果。