微机8086课程设计实验报告 网工1502
原创8086微机原理实验报告
Inter 8086/8088系列微型计算机原理及接口技术课程设计报告设计项目:电子时钟院系:大学电气工程学院班级::学号:同组者:目录:一、设计目的说明 (3)二、设计原理 (3)三、程序说明 (3)四、程序流程图 (5)五、程序代码 (10)六、效果图 (20)七、调试过程 (21)八、硬件连接图 (22)九、心得体会 (23)十、参考资料 (23)一、设计目的:运用汇编语言设计一个电子时钟,有以下功能:1、实现时分秒的计时,并显示于屏幕中央;2、具有时分秒的校时功能;3、具有半点整点声音报时功能;4、实现年月日的计算,并显示于时间下方;5、实现日期校对功能;6、实现一键重启功能;7、在屏幕左上方显示各功能操作提示8、设计表盘,作为时间显示的背景二、设计原理设计的基本原理是通过软件实现延时,以实现秒的计时,进而通过进制关系实现分、时的显示。
软件延时原理如下:每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。
当CPU采用的时钟频率一定时,时钟周期也为定值,因此可以根据时钟周期的多少来计算执行指令需要的时间。
因此可以在程序中增加适当的无关语句让计算机执行,已获得需要的延时。
这就是延时程序的设计原理。
在以上延时程序的基础上,通过时间约1s的长延时累加,并以时、分、秒的形式显示出来。
同理,通过时间与日期的进制关系,还可以编写一个日期的程序。
在时、分、秒和年、月、日进制计算程序的基础上可以增加语句以实现时间和日期的校对功能,通过键盘输入不同字符可以选择对时、分、秒、年高位、年低位、月、日分别进行加一操作,以实现校对功能。
报时的功能可以通过将8255A的PB端口的第一位交替置位或复位产生一个方波信号,推动扬声器发出声音。
产生的声音频率就是端口置位复位的频率。
半点/整点条件的检测则可以编写一个分支程序体,通过对当前秒值、分值与报时点的秒值、分值进行比较以实现。
当分值到达29或59时激发响铃。
另外,还可以在键盘输入特定字符的时候执行一条转移语句跳转到程序开始的地方,以实现一键重启的功能,然后提示再次输入起始时间,即重置时间。
微机原理实验报告 8086最小系统构建和IO接口电路
实验12:8086最小系统构建和I/O地址译码实验1、实验目的:(1)掌握I/O地址译码的工作原理和电路设计(2)掌握Proteus ISIS中电路原理图的模块化设计方法(3)绘制通用的8086最小系统电路图和I/O地址译码电路图供后续实验使用2、实验设备:安装有Proteus的PC一台3、实验过程:编写测试程序,对8086最小系统和I/O地址译码电路模块进行仿真测试。
(1)所绘制电路图如下面截屏所示:首先是8086最小系统电路图,如下:第二个是I/O地址译码子电路图,如下:实验电路图如下面所示:(2)实验仿真运行画面截图如下所示:(对所给程序稍微作了变动)(3)程序源代码如下所示:.model small.8086.stack.data.code.startupmov dx,1000hlp0:mov bx,0e001hlp1:mov al,blout dx,almov ah,1call delaycmp bl,0jz lp2rol bx,1jmp lp1lp2:mov ah,8call delayjmp lp0delay:mov cx,5000d: loop ddec ahjnz delayretend4、实验总结:(1)绘制实验电路图时主要问题包括标号的设置(如果未设置则会出现八个灯同时亮的情况),总线等的连接(注意对应接口相同,引脚线与总线的连接末端采用斜线)等。
(2)程序中,lp0中将点亮的模式传送给bx寄存器,可改变该值从而改变点亮的模式(如改为0e004h则变为有4个灯同时亮);Lp1中,将每个周期中灯与灯的时间间隔设为一个基本单位并存入了ah中,可改变该值以延长时间(如实验习题中);Lp2中,将不同周期直接的时间间隔设为8个时间单位并存放入ah中,与上一个值一起可以调控灯亮的持续时间和周期等。
(3)注意总线标号的输入为中为XD[0..15]而非XD[0,,15];另外注意合理安排位置以使电路图更加美观。
8086微机原理实验报告
8086微机原理实验报告实验名称:8086微机原理实验实验目的:1.深入了解8086微处理器的内部结构和指令系统。
2.掌握汇编语言的编程方法和技巧。
3.熟悉微机系统的输入输出操作原理。
4.掌握8086微机系统的调试方法和程序调试技巧。
实验器材:1.8086微处理器芯片2.Intel 8086学习板3.编程器4.示波器5.实验箱实验步骤:1.熟悉8086微处理器的内部结构和指令系统在开始实验前,首先需要熟悉8086微处理器的内部结构和指令系统。
通过阅读教材和讲义,了解到8086微处理器采用16位结构,具有4个寄存器组,支持16种不同寻址方式的指令。
熟练掌握常用的指令系统和汇编语言的编程方法。
2.设计并编制简单的汇编程序在熟悉8086微处理器的内部结构和指令系统后,我们开始设计并编制简单的汇编程序。
本实验中,我们编写了一个简单的汇编程序,用于实现两个数的加法操作,并将结果存储在内存中。
程序中使用了mov指令将操作数送入寄存器,add指令将它们相加,再用mov指令将结果存储到内存中。
程序流程图如下所示:a. 将第一个数送入累加器A中。
b. 将第二个数送入寄存器B中。
c. 执行add指令,将A和B相加,结果保存在A中。
d. 将结果存储到内存中。
e. 程序结束。
3.调试程序并进行测试在完成汇编程序的编写后,我们需要使用调试器对程序进行调试,并进行测试。
首先,将程序加载到学习板上进行调试。
在调试过程中,我们使用示波器观察各个信号的波形,以确定程序的正确性。
通过逐步单步执行程序并观察寄存器和标志位的变化,我们验证了程序的正确性。
接下来,我们使用输入设备输入两个数,并观察输出结果是否正确。
测试结果表明程序正确实现了两个数的加法操作。
4.总结体会和改进建议通过本次实验,我们深入了解了8086微处理器的内部结构和指令系统,掌握了汇编语言的编程方法和技巧,熟悉了微机系统的输入输出操作原理,以及掌握了8086微机系统的调试方法和程序调试技巧。
8086微机课程设计
8086微机课程设计一、教学目标本课程的教学目标是让学生掌握8086微机的原理、接口技术及其应用,培养学生具备微机系统设计和调试的能力。
具体分为以下三个层面:1.知识目标:使学生了解8086微机的硬件结构、指令系统、寄存器、中断处理等基本知识;掌握微机接口技术,包括并行接口、串行接口、AD/DA转换等;了解微机在现代工业控制系统中的应用。
2.技能目标:培养学生具备8086微机程序设计能力,能熟练使用汇编语言和C语言进行程序设计;培养学生具备微机系统硬件调试能力,能使用常用的调试工具进行硬件调试。
3.情感态度价值观目标:培养学生对微机技术的兴趣,认识微机技术在现代社会中的重要性,培养学生创新意识和团队合作精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.8086微机的基本原理:介绍8086微机的硬件结构、指令系统、寄存器等基本知识。
2.微机接口技术:包括并行接口、串行接口、AD/DA转换等,以及这些接口在实际应用中的设计方法。
3.微机程序设计:介绍汇编语言和C语言在8086微机程序设计中的应用,包括程序设计方法、调试技巧等。
4.微机系统设计:介绍微机系统的设计方法,包括硬件选型、电路设计、系统集成等。
5.实践环节:安排一定的实验课时,使学生在实际操作中掌握微机原理和接口技术。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解基本原理、概念和知识点。
2.案例分析法:通过分析实际案例,使学生更好地理解微机原理和接口技术。
3.实验法:安排实验课时,让学生亲自动手进行实验,提高实际操作能力。
4.讨论法:学生进行课堂讨论,促进学生之间的交流与合作。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的多媒体课件,提高课堂教学效果。
8086汇编语言程序设计 微机实验报告
微机实验报告第一部分:8086汇编语言程序设计一、实验目的通过上机练习,初步掌握8086的指令系统,熟悉8086汇编语言程序的编写格式,学会编写简单的汇编语言应用程序,初步学会使用DEBUG调试工具。
二、实验题目(一)编程实现从字符串中查找特定的字符,记录特定字符的个数,并将结果在屏幕上显示,同时退出并返回DOS。
(要求字符串从键盘上输入)1、流程图2、实验程序及注释DATA SEGMENTBUFSIZE DB 20 ;数据段ACTCHAR DB ? ;定义字符串CHARTEXT DB 20 DUP(?) ;给输入字符分配内存DB '$'CNT DB 0 ;给计数器分配内存STRING1 DB 'PLEASE INPUT THE STRING:','$'STRING2 DB 0AH,0DH,'INPUT THE WORD YOU WANT TO CHECK:','$' STRING3 DB 0AH,0DH,'THE NUMBER OF THE WORD IS:','$'DATA ENDS ;数据段结束COSEG SEGMENT ;代码段ASSUME CS:COSEG,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRING1 ;显示提示语:请输入字符串MOV AH,09H ;输出字符串STRING1INT 21HMOV DX,OFFSET BUFSIZE ;从键盘输入字符串存入BUFSIZEMOV AH,0AH ;并送显INT 21HMOV DX,OFFSET STRING2 ;显示提示语:想查询的字符是MOV AH,09H ;输出字符串STRING2INT 21HMOV AH,01H ;从键盘上输入字符到AL中并送显INT 21HMOV BX,OFFSET CHARTEXT ;将字符串首地址存入BXMOV CL,ACTCHAR ;置循环次数CX=字符串长度XOR CH,CHLP1: CMP AL, [BX] ;字符串从头开始与键入字符AL比较JZ LP2 ;相等则转入LP2INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,继续循环LP1JMP FINI ;若全部比较完毕,跳转FINILP2: INC CNT ;计数器增一INC BX ;指针指向字符串下一个字符DEC CX ;循环次数减一JNZ LP1 ;若还有未比较的字符,跳至LP1 FINI: MOV DX,OFFSET STRING3 ;显示提示语:所查询的字符个数:MOV AH,09HINT 21HMOV AL,CNT ;将计数器的值送ALAAM ;将此值转换成非压缩BCD码ADD AH,30H ;将BCD码转换为ASCⅡ码MOV DL,AH ;高位送显MOV AH,02HINT 21HMOV AL,CNT ;再将计数器的值送ALAAMADD AL,30H ;将BCD码转换为ASCⅡ码MOV DL,AL ;低位送显MOV AH,02HINT 21HMOV AH,4CH ;结束INT 21HCOSEG ENDS ;代码段结束END START ;程序结束3、运行结果PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): A↙THE NUMBER OF THE WORD IS(数量为):3↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符):9↙THE NUMBER OF THE WORD IS(数量为):0↙PLEASE INPUT THE STRING(先输入字符串):ASDFAAD↙INPUT THE WORD YOU WANT TO CHECK(输入待查找字符): S↙THE NUMBER OF THE WORD IS(数量为):1↙4、程序改进○1循环次数的改进原来的程序:MOV CX,19改进原因:此程序表明无论输入的字符串多长,即使没有达到限定的最大字符串的长度,也要循环19次。
8086简易计算器的设计微机原理计硬报告DOC
简易计算器的设计 自动化(电站方向)计算机硬件技术实践报告题目 姓名 专业 班级学号上海电力学院自动化工程学院 实践报告内容(目录)一. 设计题目二.开发目的三.小组成员分工及成果四.设计方案以及论证五. 硬件原理图(包括芯片的选型介绍)六. 程序流程图(包括各个子系统和子过程的程序流程)七. 程序清单,要有适当的注释八. 程序运行结果分析与预测九. 结果评述或总结(对实验结果进行分析,对实验过程进行总结,系统改进升级建议或者提出新的方案等。
)8255 控制键. 设 计题目 :用 8086 设计一个能实现 0~9 整数加法运算的计算器 , 并用 2 位 LED 数码显示 . 键盘包 括0-9 , + , - ,*, / , =, ON/C;共16个按键.能实现简单的清零操作,减法运算,乘法运算.. 开发目的 :通过课程设计,熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机 开发应用方面的初步训练。
培养集体讨论设计题目的总体设计方案、 编程、软件硬件调试、 编写设计报告等问题,做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计熟练运用程序对 盘和LED 显示的控制,完成计算器加减法的应用,并熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
本组的三个成员一起讨论研究简易计算器设计的主要方案。
粗略设计程序流程图以确定简易计算器设计的大概框架。
明确目的后各自查询资料了解设计原理、逐步清晰设计思路。
以下为大体分工:主要负责: 1 、设计主要程序,编写;2、查找资料验证修改;主要负责: 1、选择需要用的各个芯片;2、设计硬件原理图;主要负责: 1、各个芯片功能的资料查找;2 、设计程序流程图四. 设计方案以及论证利用程序不断扫描所设的按钮键盘是不是有输入,如果没有就一直扫描,如果有就调 用子程序进行判断,是数值则进行存储并同时进行显示,是运算符号等就调用相应的子程 序进行操作,操作后则继续利用程序不断扫描键盘是不是有输入,从而实现部分十进制数 的加、减、乘、除的运算。
8086.8088微机原理课程设计报告书
8086/8088微机原理课程设计1、课程设计说明“微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。
设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。
特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。
本课程的课程设计实际上是一个综合性应用的设计和制作。
这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。
纯汇编语言软件的设计未在这里列出。
欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。
2、课程设计计分办法课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。
一、题目的选择设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。
要根据个人情况合理选择题目,不可多组选择同一题目。
1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。
2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。
3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。
4、星级题目多做可提高分值。
5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。
6.、未完成设计者视设计程度减星计分。
7、无星题目可单人完成,但不选题目者记0分。
二、报告要求课设报告应按规定格式书写,并按时上交。
报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。
三、考勤考勤。
点名一次未到扣5分,5次以上记0分。
3、课程设计题目设计一、发光管间隔交替闪烁。
使QTH实验仪上的8个发光管间隔交替闪烁,要求:①8255的PA0~PA7接L1~L8;②8255的片选信号CE接地址线A15;③闪烁时间可通过PC键盘、QTH小键盘或波动开关调整;说明:①发光管可接8255的其它口,CE也可接其它地址线。
微机原理上机实验(八+十二)实验报告 8086中断实验 步进电机实验
微机原理上机实验报告实验八:8086中断实验实验十二:步进电机实验微机原理上机实验(八)实验报告实验八:8086中断实验一、实验目的1、了解8086内部响应中断的机制;掌握中断向量的作用。
2、利用实验仪上单脉冲、74HC244电路,不使用8259,实现一个中断实例。
3、复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验内容1、编制程序:拨动单脉冲开关,“”送给8086的INTR,触发中断;8086通过INTA信号,读取中断向量;8086计数中断次数,显示于F5区的数码管上注意:给INTR高电平信号,8086就会相应中断,所以实验开始前,保证单脉冲开关给8086低电平;中断程序中,加一个较长的延时程序,在中断结束前,有时间拨动单脉冲开关,恢复给8086低电平。
三、实验原理图本实验,通过F4区的8个拨动开关,给74HC244设定中断向量;本实验的中断向量是08H,即IN7-IN0位数据是00001000。
同学可以自定义中断向量,实验程序中处理中断向量部分程序作相应调整四、实验步骤1、连线说明:B4区:CS244、BLE ——C1区:GNDB4区:RD(IO区)——A3区:INTAA3区:INTR ——B2区:单脉冲B4区:JP57(D0..D7) ——A3区:JP41B4区:JP52(IN0..7) ——F4区:JP27(1..8)D3区:CS、A0、A1 ——A3区:CS1、A0、A1D3区:PC0、PC1 ——F5区:KL1、KL2D3区:JP20、B、C ——F5区:A、B、C2、运行程序3、实验开始前,保证单脉冲开关给8086低电平;运行程序;向下拨动开关(触发中断),立即向上拨动开关,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。
五、实验代码EXTRN InitKeyDisplay:NEAR, Display8:NEAR_STACK SEGMENT STACKDW 100 DUP(?)_STACK ENDS_DATA SEGMENT WORD PUBLIC 'DATA'BUFFER DB 8 DUP(?)Counter DB ?ReDisplayFlag DB 0_DATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:_DATA, SS:_STACKMOV AX,_DATAMOV DS,AXMOV ES,AXNOPCALL InitKeyDisplay ;对键盘、数码管控制器8255初始化CALL WriIntverMOV Counter,0 ;中断次数MOV ReDisplayFlag,1 ;需要显示STI ;开中断START1: LEA SI,BufferCALL Display8CMP ReDisplayFlag,0JZ START1CALL LedDisplayMOV ReDisplayFlag,0JMP START1WriIntver PROC NEARPUSH ESMOV AX,0MOV ES,AXMOV DI,20HLEA AX,INT_0STOSWMOV AX,CSSTOSWPOP ESRETWriIntver ENDPLedDisplay PROC NEARMOV AL,CounterMOV AH,ALAND AL,0FHMOV Buffer,ALAND AH,0F0HROR AH,4MOV Buffer + 1,AHMOV Buffer + 2,10H ;高六位不需要显示MOV Buffer + 3,10HMOV Buffer + 4,10HMOV Buffer + 5,10HMOV Buffer + 6,10HMOV Buffer + 7,10HRETLedDisplay ENDPINT_0: PUSH DXPUSH AXMOV AL,CounterADD AL,1DAAMOV Counter,ALMOV ReDisplayFlag,1CALL LedDisplayDELAY: PUSH BXPUSH CXPUSH DIPUSH SIMOV CX,20DELAY1: LEA SI,BufferCALL Display8loop DELAY1POP SIPOP DIPOP CXPOP BXPOP AX六、实验思考题1.绘制本实验的详细实验电路图?微机原理上机实验(十二)实验报告实验十二:步进电机实验一、实验目的1、了解步进电机的基本原理,掌握步进电机的转动编程方法2、了解影响电机转速的因素有那些二、实验内容编写程序:使用F5区的键盘控制步进电机的正反转、调节转速,连续转动或转动指定步数;将相应的数据显示在F5区的数码管上。
8086微机汇编实验报告
电梯模拟实验一、实验目的通过综合实验使学员复习并熟练掌握各个模块电路功能、基本原理、线路连接和驱动方法。
自己编写嵌入式代码进行驱动,掌握相关的程序设计、电路测试的基本能力。
通过动手实践进一步加深对理论知识的理解,提高动手能力。
二、实验原理1.使用模块:本实验使用了8254、8255、七段数码管、4*4键盘、步进电机、喇叭6大模块来进行模拟电梯的综合实验。
2.连接电路:(1).使用8255的C口的PC0~PC7连接4*4键盘的行3~列0,接收4*4键盘输入;(2).将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0接+5V,S1~S3接GND,编程实现在其显示电梯所处的楼层;(3).使用8255的B口的PB0~PB3分别与步进电机的驱动输入端BA~BD相连,编程实现根据键盘输入实现顺时针(反时针)转动;(4).8254的CLK0接1MHz时钟,GATE0接8255的PB5,OUT0和8255的PB4分别接与门的两个输入端A和B,与门输出端Y连接喇叭,编程实现电梯到达所要求的楼层后发出设定的声音进行提示,具体实验电路如下图.3.接线:4.程序流程三、关键点及难点1.关键点(1).8255的控制方式8255是通用并行接口芯片,但在具体应用时,要根据实际情况选择工作方式,连接硬件电路(外设),待进行初始化编程之后才能成为某一专用的接口电路。
8255的初始化编程比较简单,只需要一个方式控制字就把3个端口设置完成。
方式控制字决定端口A、B和C的工作方式,如下图所示。
(2).I/O端口值的读写实验中,会对大量的I/O端口进行读写操作,我们通过I/O端口对相关的硬件进行数据的读写,在进行数据读写的过程中,要清楚相关的函数操作以及写入的bit位的值对硬件起到怎样的控制。
下面是C语言方式对I/O端口读写进行操作的相关函数:(3).七段数码管工作原理实验所用的七段数码管为共阴型,段码采用同相驱动,输入加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
1130510323_强英_8086微处理器设计实验报告
姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.5.27 8086微处理器设计实验一:内存块移动电路原理图 实验目的:1、熟悉实验系统的编程和使用。
2、了解内存的移动方法。
3、加深对存储器读写的认识实验内容:1.将内部RAM中从1000H开始的100个字节存入数据为1到100;2.将内部RAM中从1000H开始的100个字节转存到1100H开始的100个字节。
实验问答:1、简述8086指令系统中可以包含哪些段,简述每个段的作用答:代码段——存放所在段的段首地址;数据段——存放当前程序所用数据段的段首地址;附加段——存放附加数据段的段首地址;堆栈段——存放当前地址所用堆栈段的段首地址。
2、数据段如何初始化?答:用MOV语句给数据段赋初值。
实验程序:================================================ ====================CODE SEGMENT PUBLIC'CODE'ASSUME CS:CODESTART:MOV CX,100MOV SI,1000HMOV AX,01L1:MOV DX,AXMOV[SI],DXINC SIINC AXLOOP L1MOV CX,100MOV SI,00HL2:MOV AX,[1000H+SI]MOV[1100H+SI],AXINC SILOOP L2JMP$ENDLESS:JMP ENDLESSCODE ENDSEND START**单个实验报告内容限制在两页之内,打印或转换为PDF格式。
姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.5.27 8086微处理器设计实验二:DAC0832数模转换实验实验目的:1.了解D/A转换的基本原理。
2.了解D/A转换芯片0832的编程方法。
实验内容:利用DAC0832,编写程序生锯齿波、三角波。
8086微机原理与接口技术课程设计
引言8086微机是早期个人计算机使用的一种微处理器,它具有复杂的内部结构和丰富的外部接口,广泛应用于计算机系统的设计和开发中。
本文档旨在介绍8086微机的原理和接口技术,并为课程设计的实施提供指导。
8086微机原理8086微机的基本结构:8086微机包括CPU、内存、外围设备以及系统总线等部分。
其中,CPU是控制和执行各种指令的核心部件,内存用于存储程序和数据,外围设备用于与外部进行数据交互,而系统总线则负责实现各部分之间的有效通信。
8086微机的内部结构:8086微机的内部结构包括通用寄存器、指令寄存器、段寄存器、标志寄存器等。
通用寄存器用于存储临时数据和计算结果,指令寄存器存储当前执行的指令,段寄存器用于定位内存中的数据段和代码段,而标志寄存器则存储程序运行过程中的标志位信息。
8086微机的指令系统:8086微机具有丰富的指令系统,包括数据传输指令、算术指令、逻辑指令、条件转移指令、循环指令等。
这些指令能够满足各种数据处理和控制需求,为程序的编写提供了灵活性和高效性。
8086微机接口技术内存与CPU的接口技术:8086微机通过地址总线和数据总线与内存进行通信。
其中,地址总线用于指定内存中的地址位置,数据总线用于传输数据。
通过适当的地址和数据线连接,可以实现对内存的读写操作。
外部设备与CPU的接口技术:8086微机可以通过端口和中断请求线与外部设备进行通信。
通过端口地址和端口数据线连接,可以在CPU和外部设备之间进行数据传输。
通过中断请求线,CPU可以接收外部设备的中断信号,从而进行相应的处理。
时序控制技术:8086微机的各个部件之间需要进行协调和同步。
通过合理的时序控制技术,可以确保各部件之间的数据传输和操作按照正确的时间序列进行,避免出现数据冲突和错误。
课程设计实施课程设计目标:本课程设计旨在通过8086微机原理与接口技术的学习和实践,培养学生的计算机系统设计和开发能力。
通过对8086微机的原理和接口技术的深入理解,学生可以独立完成微机系统的设计和实现。
8086实验报告
8086实验报告8086实验报告引言:8086微处理器是Intel公司于1978年推出的一款16位微处理器,它在计算机发展历史上具有重要的地位。
本实验旨在通过对8086微处理器的实际应用,深入了解其工作原理和功能。
一、实验目的本实验的目的是通过对8086微处理器的实际操作,掌握其基本指令的使用方法,并了解其内部结构和工作原理。
二、实验材料和方法1. 实验材料:- 8086微处理器开发板- 电源线- 串口线- 电脑2. 实验方法:- 将8086开发板与电脑通过串口线连接- 将电源线插入开发板并连接电源- 打开电脑,启动开发板上的操作系统- 使用汇编语言编写程序,并通过串口线将程序下载到开发板中- 在开发板上运行程序,观察结果并进行分析三、实验过程1. 硬件连接:将8086开发板与电脑通过串口线连接,并确保连接稳定。
2. 软件操作:打开电脑,启动开发板上的操作系统。
使用汇编语言编写程序,并通过串口线将程序下载到开发板中。
3. 程序运行:在开发板上运行程序,并观察结果。
通过分析程序的运行过程,了解8086微处理器的工作原理和功能。
四、实验结果与分析在本次实验中,我们编写了一个简单的程序,用于在开发板上显示一段文字。
通过观察开发板上的显示屏,我们可以看到程序成功地在8086微处理器上运行,并显示出我们编写的文字。
通过对程序的分析,我们可以了解到8086微处理器具有强大的计算和控制能力。
它能够执行各种指令,完成各种复杂的计算任务。
同时,8086微处理器还具有较大的存储空间和高速的数据传输能力,使得它能够处理大量的数据和信息。
此外,8086微处理器还具有良好的扩展性和兼容性。
它可以与其他外部设备进行连接,实现更多的功能和应用。
同时,8086微处理器与其后续型号的兼容性也非常好,这使得它在计算机领域得到了广泛的应用。
五、实验总结通过本次实验,我们深入了解了8086微处理器的工作原理和功能。
我们通过编写程序并在开发板上运行,亲身体验了8086微处理器的强大计算能力和高效数据传输能力。
8086简易计算器的设计-计算机硬件-微机原理-课程设计
计算机硬件技术实践报告题目简易计算器的设计姓名专业自动化(电站方向)班级学号上海电力学院自动化工程学院一、设计题目及目的本次课程设计的实验目的是:通过该实验掌握较复杂程序的设计;能独立完成用程序对8086、8255A控制键盘和LED显示的控制,完成计算器加减法的应用;独立编写程序,明白和掌握程序的原理和实现方式;学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用;进一步加强理论知识与应用相结合的实践和锻炼,为以后的设计提供经验。
这次设计实践,加深了我对专业知识和理论知识学习的认识和理解,使我的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
我们的具体任务是用8086设计一个能实现0~9整数加减乘除法的运算器,并用2位LED数码显示,键盘包括0-9,+ ,-,×,÷,=,NO/C共16个按键。
二、小组成员分工及成果在实验课程要求下,我们选择基于8086CPU的模拟计算器设计。
要完成设计首先需要构建简单的微型计算机应用系统,其次是确定组成各部件的芯片,然后画原理图,根据相应的原理以及实现过程,编写出相应的汇编代码。
再根据原理图连接硬件电路,电路连接完成后进行调试。
设计过程中我们用到了8086CPU、可编程并行输入/输出芯片8255A、74HC138、74HC373、矩阵式键盘、LED数码管。
我们的模拟计算器能实现2位十进制数以内的加减乘除法运算。
首先,本组的三个成员一起讨论研究简易计算器设计的主要方案。
粗略设计程序流程图以确定简易计算器设计的大概框架。
明确目的后各自查询资料了解设计原理、逐步清晰设计思路。
以下为大体分工:主要负责:1、设计主要程序,编写;2、查找资料验证修改;主要负责:1、选择需要用的各个芯片;2、设计硬件原理图;主要负责:1、各个芯片功能的资料查找;2、设计程序流程图三、设计方案思路用8086设计一个能实现0~9整数加减乘除法的运算器,并用2位LED数码显示,键盘包括0-9,+ ,-,×,÷,=,NO/C共16个按键。
微机课程设计8086控制的循环彩灯报告
微机原理课程设计报告题目:循环彩灯控制系统学年:10/11学年学期:第1学期班级:学号:姓名:循环彩灯控制系统课程设计报告设计目的:1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。
设计任务与要求:设计一个循环彩灯控制系统,能输出四种花型,输出花型如下:1)00000001 左循环(1时亮,0时灭)2)10000000 右循环3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁一次,循环不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;总体方案与说明:根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器,74LS373锁存器,和8255A可编程并行接口芯片和8个led彩灯。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道;8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离循环彩灯主要模块流程图软件设计采用模块化程序设计思想,将软件划分成若干单元,主要包括主程序、LED 彩灯显示子程序和延时子程序等。
本系统具体汇编源程序见附表一。
使用软件说明:ProteusProteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等Emu8086Emu8086-MicroprocessorEmulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具,编译源代码,并在模拟器上一步一步的执行。
8086最小系统实验报告
课程设计实验报告课题:8086最小模式系统的原理图及PCB图设计学院:信息科学与工程学院实验时间:09.12.28-10.01.10目录一、Protel DXP 课程认识 (3)二、设计课题以及设计要求 (3)三、绘制原理图 (4)四、绘制PCB图与封装 (6)五、生成印制板电路图 (8)六、布线跟生成模拟图 (9)七、系统原理图 (12)八、系统封装图 (16)九、元器件清单 (18)十、课程设计总结 (19)参考文献 (21)一、Protel DXP 课程认识Protel DXP 是一款为计算机电路辅助设计的多功能的应用软件,是一个继承的电路开发环境,能为设计者提供统一的电路设计的界面、系统菜单和设计工具。
从功能上,Protel DXP可以分为五大部分:电路原理图绘制部分、印制电力板设计部分、自动布线部分、可编程逻辑设计部分和电路仿真部分。
使用上述所提供的各种功能,设计者便能从电路的原理图设计开始,最终得到所需要的印制电路版图(PCB)。
在正确安装好了Protel DXP软件之后,必须要熟练掌握各种系统参数和基本设置,以及工具栏中的各种基本操作、各种符号所代表的意义。
本次课程设计只要使用到该软件的原理图以及PCB图的绘制和自动布线部分。
二、设计课题以及设计要求本次课程设计主要考查对8086最小模式系统的原理图和PCB图的设计。
1、实验目的1)掌握8086最小模式系统的设计方法。
2)熟练Protel DXP 的使用方法。
2、实验设备PC微机一台、Protel DXP软件3、实验内容本实验完成的是一个基于Protel DXP软件的8086最小模式系统原理图以及PCB图设计。
设计8086最小模式系统,包括8086CPU、地址锁存器、数据总线收发器、时钟发生器等。
利用8255芯片进行接口扩展,外接矩阵键盘电路和数码管显示电路等,也可以自行扩展其他外设。
学习掌握Protel DXP软件的使用方法,绘制上述系统的原理图以及印制电路板图(PCB)。
微机原理课程设计报告_基于8086钢琴的程序设计
Hefei University微机原理课程设计报告课题名称:基于8086钢琴的程序设计班级:09自动化(1)班报告人:指导教师:2011 年 12 月 30 日目录摘要: (3)关键字: (3)正文: (3)一、总体框图 (4)二、方案的论证 (4)三、电路设计 (5)3.1 扬声器接口电路 (5)3.2键盘模块 (5)3.3 总电路系统 (6)四、软件设计流程图 (7)4.1主流程图 (7)4.2键盘扫描子程序图 (8)五、c51单片机系统仿真实现 (10)六、总结与体会 (10)参考文献: (10)附件一、自动化专业微机原理课程设计任务书 (11)附件二:汇编程序清单 (12)附件三:C语言程序清单 (16)基于8086钢琴的程序设计摘要:本设计以8086为主体,结合使用8255,8253及相关电路设计利用键盘输入发出不同频率的的音调。
利用8255检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利用8253的分频输出不同的信号,经放大驱动扬声器发出声音。
关键字: 8086、8255、8253、键盘正文:一、总体框图本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。
围绕这二个功能需要用到三个主要芯片:8086,8255,8253。
首先8086主芯片负责数据交换与处理,芯片初始化等。
系统开始时对键盘进行扫描,有输入信号时,8255采集信号并输入8086进行处理, 8086接到8255输入的信号时,调用与之相关的初始值n,输入到8253,对clock进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时8255对8253进行控制并对信号进行采集送到8086,决定发声时间的长短。
二、方案的论证扬声器接口由8255、8253、驱动器和低通滤波器等构成,8255做控制器,8253做音频信号源。
根据音阶频率表,利用8253可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。
8086微机原理实验报告大连工业大学
8086微机原理实验报告大连工业大学不知不觉,微机原理与接口技术实验课程已经结束了。
回忆起来收获颇丰,主如果加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机械语言最接近的了,若是用它来编程序的话,会比用其它高级语言要快得多。
本学期咱们在老师的率领下,进行了微机原理实验六到十这五组实验。
它们别离是:实验六825PA口控制PB口。
实验目的
掌握单片机系统中扩展外围芯片的方式,了解8255芯片的结构及编程方式。
实验内容用8255PA口作开关量输入口,PB口作输出口。
实验步骤
1、用8芯线将8255PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;
2、运行程序,拨动开关K1~K8,观察L1~L8发光二极管是不是对应点亮。
实验目的进一步了解8255芯片的结构及编程方式,学习模拟交通控制的实现方式实验内容用8255做输出口,控制六个发光二极管燃灭,模拟交通灯管理。
8086软硬件实验报告(微机原理与接口技术上机实验)
实验一实验环境熟悉与简单程序设计实验目的(1)掌握DEBUG调试程序的使用方法。
(2)掌握简单程序的设计方法。
实验内容编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。
如:BH=10110010B则运行程序后DH=00001011BDL=00000010B实验准备(1)熟练掌握所学过的指令。
(2)根据实验内容,要求预先编好程序。
实验步骤(1)利用DEBUG程序输入、调试程序。
(2)按下表要求不断地修改BH的内容,然后记录下DX的内容。
实验报告(1)给出程序清单。
(2)详细说明程序调试过程。
程序:CODE SEGMENTSTART : MOV BH,00111111B MOV AL,BHMOV CL,4SHR AL,CLMOV DH,ALMOV AL,BHAND AL,00001111BMOV DL,ALMOV CL,0CODE ENDSEND START实验二简单程序设计实验目的(3)掌握DEBUG调试程序的使用方法。
(4)掌握简单程序的设计方法。
实验内容试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello worldMy name is Li Jianguo参考程序如下:(有错)data segmentout1 db 'Hello world'ax db 'My name is Li Jianguo'data enscode segmentassume cs:code;ds:datalea dx,out1mov ah,2int 21hmov dl,0ahmov ah,2int 21hmov dl,0dhmoo ah,2int 21hlea dx,axmov ah,int 21hcode ends实验步骤(3)利用IDE86程序输入、调试程序。
实验报告(3)给出正确的程序清单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书课程名称:《微机原理及接口技术》课程设计设计题目:定时与计数:利用8253控制扬声器发声,播放一段音乐班级:网络工程1502姓名:潘万丁开始时间:_2018_____年_01___月_15___日完成时间:_2018_____年_01___月_19___日成绩评定指导教师签名:___年__月__日目录摘要随着科技的高速发展,计算机已经经过了好几代的更新,然而计算机的运行的基本原理依然没有改变的。
而今,我们通过一个学期的学习,已经初步了解了计算机的基本结构和原理,并且已经学会了用汇编语言进行基本的程序编写。
一、概述汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。
借助于汇编程序,计算机本身可以自动地把汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。
而本次课程设计的主要目的就是巩固所学过的知识,用汇编语言熟练地运用三大结构,进一步掌握一些指令的功能、掌握子程序的定义及调用和INT 21H、INT10H中断的使用,同时熟练运用通用寄存器和堆栈来进行编写一个完整的具有某种特定功能的程序。
二、方案设计1.功能分析在此次设计中,第一个重点就是音乐播放的控制,要想能按照正常的频率和节拍播放出音乐,就需要合理的设计出给蜂鸣器的频率值和播放的时间。
这样就能比较准确的把音乐按一定的节奏播放出来。
如果我们要想加快播放速度,我们可以改变每一节拍的播放时间,如果我们改变了播放的频率值,那么歌曲也就相应的改变了。
我们根据上面的功能分析,同时通过查阅相关资料,了解了计算机的内部结构的同时还清楚的理解了DOS中的21H和10H中断的调用,因此我们设计出如下方案:(1)音乐的代码化我们首先收集了一首简单的歌曲《两只老虎》,同时还带有相应的音谱,通过查阅相关的音乐资料,了解了节拍的概念和各音符所对应的频率,而后我们把每一首歌曲都转化成两个数据段,一个是把各个音符翻译成相应的频率值,第二是把相应的节拍转化成对应的时间值,来控制播放每一个音符所对应的时间。
这样我们在播放歌曲时,同时调用频率值和时间值就可以把相应的歌曲播放出来了。
(2)音乐演奏的硬件配合我们了解到在计算机的主板上有8253、8255和蜂鸣器,同时了解到蜂鸣器的驱动是通过8255和8253共同控制的,我们通过对8253的通道2进行写数据来控制蜂鸣器的声音频率,再通过8255来控制播放时间的长短,就通过这样的巧妙配合来达到播放完整音乐的效果。
(3)音乐演奏的软件设计软件设计是本设计的重点,在软件设计中,我们要给8253和8255写数据,执行相应的代码来控制音乐的播放。
三、软件设计在介绍音乐的播放之前,先来说说PC机的小喇叭是怎样与机器相连的呢?下面的“发声原理图”表示了喇叭与机器简单的相连情况。
喇叭的一端连接在电源正极,另一端与机器的61H端口的bit位相连。
可以想象,若能连续改变61H端口的bit位0,1状态,就可以使喇叭线圈内的电流时有时无,从而使喇叭发声。
我们编制的汇编程序的工作,就是连续改变61H端口的bit位状态。
我们使用PC机有一个专门用于定时的电路,型号为8253。
它有三个通道,第一个通道用于控制始终正常运转;第二个通道用于存储器刷新;这两个通道与我们现在要讨论的问题无关。
第三个就是一组电路域喇叭相连。
如下图所示就是PC机中完整的发声电路,定时器通道3的G端与61H端口的bit0位相连,如果把61H端口的bit0位置为1,那么定时器通道3就会被启动,此时将有一组信号从OUT输出,信号的频率可以用程序控制;若61H的端口bit0位为0,则定时器被关闭,out端就恒为1.发声原理图:发声程序设计原理:PC机发声系统以8253的2号计数器为核心。
系统初始化时,2号计数器I 作在“方波发生器”方式,初值为二进制数,,写入顺序为先低后高,CLK2为1.193182MHz,当计数初值为533H时,OUT2输出的方波大约为900Hz,经过简单的滤波之后,送至扬声器。
改变1、4号计数器的计数初值就可以使扬声器发出不同频率的音响。
ROM BIOS 中有个BEEP子程序,这能根据BL中组出的时间计数值控制8253定时器,产生持续时间为1个或几个0.5秒,频率为896HZ的声音,我们可以利用并修改BEEP,使其产生任一频率的声音。
为此我们需要做两点修改,首先,BEEP程序只能产生896HZ的声音,我们的通用发声程序应能产生任一频率的声音。
其次,BEEP产生声音的持续时间(音长)只能是0.5秒的倍数,我们希望声音的持续时间更易于调整,例如可以是10ms的倍数。
我们知道BEEP能将计数值533H送给定时器2产生896HZ的声音的,那么产生其它频率声音的时间计数值应为:533H×896÷给定频率=123280H÷给定频率发声程序包括4个步骤:(1)在8253中的42端口送一个控制字0B6H(10110110B),该控制字对定时器2进行初始化,使定时器2准备接收计数初值。
(2)在8253中的42H端口(Timer2)装入一个16位的计数值(533H×895/频率),以建立将要产生的声音频率。
(3)把输出端口61H的PB0、PB1两位置1,发出声音。
对于发音部分。
PC机上的大多数输入/输出(I/O)都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的。
PPI包括3个8位寄存器,两个用于输入功能,一个用于输出功能。
输入寄存器分配的I/O端口号为60H和62H,输出寄存器分配的I/O端口号为61H。
由PPI输出寄存器中的0、1两位来选择扬声器的驱动方式。
(4)注意音乐节拍表的频率表的设定。
一个频率对应一个节拍,如果频率表和节拍表有问题,同样不会发出声音。
对于发音部分。
PC机上的大多数输入/输出(I/O)都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的。
PPI只有PB0和PB1同时为“1”时,才能驱动扬声器地声。
当从8255中采集到输入的数据时,需要确定相应的频率,所以在软件编程时要建立一个数据表。
把相应的频率送到一个寄存器上,通过公式:计数值=533H×896÷ f=1234DCH÷ f算出计数值,再把算得的计数值送给8253,就可产生所要频率的方波。
在把计数值送8253前,必须先把8253进行初始化:使其选用通道2,工作在方式3下。
就整个电路而言,接好电路后,通过软件编程不断地采集从8255口中输入的信号,而8个开关都接在8255的A口上,只要有开关按下,就会采集到一个数据,根据这个数据与事先编好的表对应,得到一个计数值,把这个计数值送给8253的通道2,8253的通道2工作的方式3下,这样就可以产生满足频率要求的发声方波。
这个方波经驱动放大就可以使扬声器发出相应的声音。
所以8255在这里完成两个任务,它不仅从A口中采集到数据,而且B口的PB1和PB0两个位要控制发声。
8253的主要任务就是产生所要求发声的不同频率的方波。
本例程序是由8253芯片控制发声的音阶和节拍,由8255 芯片控制扬声器的器来控制主板发声。
1.算法描述流程图:2. 主程序流程图实现代码如下:;************************************************************************** *;程序名称:ceshi;两只老虎乐曲;************************************************************************** *stack segment para stack 'stack'db 64 dup('stack...')stack ends;*******************************************************************dseg segment para 'data'mus_freq dw 262,294,330,262,262,294,330,262dw 330,349,392,330,349,392,392,440dw 392,349,330,262,392,440,392,349dw 330,262,294,196,262,294,196,262,-1mus_time dw 25,25,25,25,25,25,25,25,25,25dw 50,25,25,50,12,12,12,12,25,25dw 12,12,12,12,25,25,25,25,50,25,25,50dseg ends;*******************************************************************cseg segment para 'code'assume cs:cseg,ss:stack,ds:dseg;-------------------------------------------------------------------music proc farmov ax,dsegmov ds,axlea si,mus_freqlea bp,ds:mus_timefreq:mov di,[si]cmp di,-1je end_musmov bx,ds:[bp]call soundfadd si,2add bp,2jmp freqend_mus:mov ax,4c00hint 21hmusic endp;-------------------------------------------------------------------------- soundf proc nearpush axpush bxpush cxpush dxpush dimov al,0b6hout 43h,almov dx,12hmov ax,348chdiv diout 42h,almov al,ahout 42h,alin al,61hmov ah,alor al,3out 61h,alwait1:mov cx,6630call waitfdec bxjnz wait1mov al,ahout 61h,alpop dipop dxpop cxpop bxpop axretsoundf endp;--------------------------------------------------------------------------waitf proc nearpush axwaitf1:in al,61hand al,10hcmp al,ahje waitf1mov ah,alloop waitf1pop axretwaitf endp;--------------------------------------------------------------------------cseg ends;************************************************************************** *end music;************************************************************************** *四、调试过程1.编辑源程序,假定源文件名为YINYUE.ASM。