电子琴微机原理基于8086课程设计
微机原理与接口课程设计基于8086微处理器和8255A芯片的汽车信号灯微机控制系统的设计与实现
课程设计题目汽车信号灯目录一、设计目的 (2)二、系统硬件设计 (3)三、系统软件设计 (9)四、系统调试及结果 (15)五、总结和体会 (16)六、参考文献 (16)一、设计目的通过所学知识和现代计算机技术来模拟模拟汽车信号灯控制系统,把所学的理论的知识用到现实实践中去,加强了对理论知识的理解和记忆。
展示了计算机技术在汽车行业的应用。
设计出汽车信号灯微机控制系统。
汽车信号灯的作用是大家所熟知的,汽车通过显示不同的信号灯来告诉前后左右的行车者本汽车正在进行的操作,本控制系统采用8086微处理器作为处理器和可编程的8255A芯片来模拟汽车信号灯控制系统。
通过在实验箱上分别按K1,K2,K3和K4键来显示汽车左转、右转,前进和后退等状态。
左/右转弯开关K1,K2闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁;紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁;当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮;停靠时(合上停靠开关),即按K4键时,所有的灯闪烁。
所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、暂停灯、照明远灯和照明近灯共五类类灯.二、系统硬件设计1.硬件连接图:利用8088驱动8255 8253来连接外部电路。
2.器件选择:CPU(8088) 1个发光二极管 5个74ALS373 2个电阻 5个74ALS245 1个 74LS00 5个8255 1个控制开关 5个8253 1个3、8088,8255,8253功能及说明8088的引脚包括20根地址线,16根数据线及控制线,状态线,时钟,电源和地线等,大致可分五大类.第一类只传送一种信息,第二类每个引脚电平的高低代表不同信息,第三类代表不同的工作方式,第四类每个引脚可以传送两种信息,第五类引脚在输入和输出时分别传送不同的信息.同时还要地址锁存器及数据总线收发器来构成最小系统.因本电路用到各种比较重要的芯片,因此有必要对芯片进行简要介绍。
微机原理课程设计基于8086
学号:HEBEI UNITED UNIVERSITY微机原理课程设计说明书设计题目:八路竞赛抢答器学生姓名:专业班级:学院:指导教师:2012年11月22日成绩评定表摘要现在很多地方都可能会有各种智力竞赛,当遇到抢答环节时,如果要求主持人自己去用肉眼观察哪一个选手抢答的速度最快无疑会对比赛结果造成很大的影响,同时使比赛失去了公平和公正性,这时候我们想到了抢答记分器是必要设备。
数字抢答器由主体电路与扩展电路组成。
用我们刚刚学过的汇编语言编写程序模拟分析了竞赛中抢答系统的运用,结合竞赛的实际情况阐述了抢答系统的工作原理,给出了一种简单实用的多路抢答系统的硬件、软件电路设计方案。
该系统适用于竞赛中的抢答环节。
现假定竞赛中共有八名选手,主持人宣布抢答开始后,进入倒计时,倒计时间为10秒,10秒内若有选手按下抢答按钮,则倒计时结束,屏幕显示最先抢答选手的号码;若10秒内无人抢答,则该轮抢答结束。
当主持人按下复位按钮时,屏幕显示清零,等待下一轮抢答。
本课题设计了一种采用8255芯片和汇编语言制作的多功能抢答器,实验箱中的开关区和数码显示区共同完成。
主要功能:1.倒计时10秒 2.用LED数码管显示1-8号选手先按下键者的号码。
它除了具有基本的抢答功能之外,和数显的功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设的,期间有人抢答的话系统会停止计时,如果期间没人抢答,系统自动锁存直到主持人按下复位键。
AbstractNow many places may have a variety of intellectual competition responder, when link, if ask themselves to see with the unaided eye which one contestant vies to answer first the fastest will undoubtedly have great impact on the outcome of the game, the game lost fair and justice, at that time we thought the answer scoring apparatus is necessary equipment. The figure vies for the answering device extended from the main circuit and the circuit. We have just learned with the assembly language program to simulate and analyze the race responder system used, combined with the actual situation of competition elaborated vies to answer first the working principle of the system, this paper presents a simple and practical the responder system hardware, software design. The system is applicable to contest Responder link. It is assumed that the race a total of eight players, the host announced the answer after the start, entered the countdown, countdown time of 10 seconds, 10 seconds if the contestant to answer in the button pressed, the end of the countdown, the screen display first player answer number; if nobody answer the question within 10 seconds, the wheel the answer in the end. When the host press the reset button, the screen display clear, waiting for the answer in the next round.The task of designing a method using 8255 chip and assembly language produced by multi-functional responder, the experimental box switch region and digital display area together. Main function: 1 countdown 10 seconds 2 with LED digital tube display 1-8 player to press the number keys. It has a basic responder function, and digital display function, when the answer after the start, the system will automatically countdown, and the time can be preset, during the answer words system will stop the clock period, if no answer, the system automatically latched until the host press the reset button.目录前言 (6)第一章八路竞赛抢答器的设计要求与设计案 (7)1.1 八路竞赛抢答器方案的选择与比较 (7)1.2 八路竞赛抢答器的元件选择 (7)第二章八路竞赛抢答器的硬件设计 (9)2.1 八路竞赛抢答器的硬件框图 (9)2.2 显示电路设计 (9)2.3 抢答电路设计 (9)2.4 开始、复位开关控制电路设计 (10)2.5 可编程并行接口8255及其引脚说明 (11)2.6 8086及引脚说明 (13)第三章八路竞赛抢答器的软件设计 (21)3.1 主程序流程图 (21)3.2 显示模块程序设计 (21)3.3 延时模块程序设计 (22)3.4 开始模块程序设计 (22)3.5 复位模块程序设计 (23)第四章设计体会与小结 (24)4.1 总结设计体会与心得 (24)第五章参考文献 (25)附录一 (26)附录二 (27)前言微机接口课程设计是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
微机原理电子琴设计讨论报告
讨论课报告一、题目:利用8086外接8253可编程定时器/计数器输出音频信号,用8255A 接8只按键,作为电子琴1、2、3、4、5、6、7、1数字键按键,编程完成按下数字键按键即发出相应的音调。
二、硬件设计 模块图 电路图各个模块及其连接说明:8086 CPUPA 8255A计数器0 8253音阶输入驱动电路扬声器控制系统以8086为核心,经8255A 接口芯片连接8只按键作为输入部分,经8253接口芯片连接喇叭的输出部分。
8086与8253定时器/计数器,8255A 总线连接,还要添加8086地址信息锁存电路,8253芯片、8255A 芯片的地址译码电路共同组成电子琴系统的硬件。
8086地址信息的锁存电路。
8253芯片、8255A 芯片的地址译码电路。
8086的16位地址信号中,使用低8位,高8位全为0,利用74LS138译码器实现片选控制。
73LS138的C 、B 、A 输入端分别连接A7、A6、A5,则译码输出Y2作为8253的片选端,Y3作为8255A 的片选端。
D0-D7A0-A7A2、A1作为8255A片内地址信号线,A0没有使用,所有端口地址均为码地址。
键盘电路。
扬声器驱动电路。
8253计数器输出接NPN三极管的基极,NPN发射极接扬声器,利用三极管的电流放大原理驱动扬声器发音,扬声器驱动电路如图所示。
--------------------------------------三、软件设计流程图8255A的芯片初始化程序设计。
MOV AX,10000010B;8255的PB口输入MOV DS,203;8255控制口地址OUT DX,AL;键值判断程序设计。
;键值判断程序段K1: MOV DX,201 ;PB端口地址IN AL,DX;读开关状态TEST AL,01H;判断是否是K1闭合JNZ K2;不是转K2MOV AX,2273;是K1闭合送“1”音频数据1/440.00Hz JMP DDDK2:IN AL,DX;读开关状态TEST AL,01H;判断是否是K2闭合JNZ K3;不是转K3MOV AX,2273;是K2闭合送“2”音频数据1/493.88Hz JMP DDDK3:IN AL,DX;读开关状态TEST AL,01H;判断是否是K3闭合JNZ K4;不是转K4MOV AX,2273;是K3闭合送“3”音频数据1/554.37Hz JMP DDDK4:IN AL,DX;读开关状态TEST AL,01H;判断是否是K4闭合JNZ K5;不是转K5MOV AX,2273;是K4闭合送“4”音频数据1/587.33Hz JMP DDDK5:IN AL,DX;读开关状态TEST AL,01H;判断是否是K5闭合JNZ K6;不是转K6MOV AX,2273;是K5闭合送“5”音频数据1/659.26Hz JMP DDDK6:IN AL,DX;读开关状态TEST AL,01H;判断是否是K6闭合JNZ K7;不是转K7MOV AX,2273;是K6闭合送“6”音频数据1/7DHHz JMP DDDK7:IN AL,DX;读开关状态TEST AL,01H;判断是否是K7闭合JNZ K8;不是转K8MOV AX,2273;是K7闭合送“7”音频数据1/830.61Hz JMP DDDK8:IN AL,DX;读开关状态TEST AL,01H;判断是否是K8闭合JNZ K1;不是转K2MOV AX,2273;是K8闭合送“8”音频数据1/880.30HzJMP DDD8253初始化子程序设计:OUTTONE PORC NEAR;按音频数据设置定时时间常数PUSH AX;键码压栈MOV CX,76H;计数器1,16位二进制,方式2(方波)MOV DX,20BH;定时器控制口地址OUT DX,AL;POP AX;键码出栈MOV DX,AL;定时器1口地址MOV AL,AH;写时间常数低8位OUT DX,AL;写时间常数高8位RETOUTTONE EDNP延时子程序设计:DELAY PROC;延时子程序PUSH CX;现场保护MOV AX,76HLOOP $POP CX;现场恢复RETDELAY EDNP--------------------------------------四、讨论小结通过此次讨论课,对8086,8255A,8253之间的连接有了更加清楚的认识,也对8255A 与键盘连接接受信号,8253对扬声器进行驱动的流程和过程有了进一步的加深。
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系统的电子琴设计报告05级电子信息工程 2班杨锡乐学号:0504030223参与成员:田友详、李丽华一、设计任务及要求1. 以 8255接八个开关 K1~K8,做电子琴按键输入。
2. 以 8253控制扬声器,拨动不同的开关,发出相应的音阶。
要求:K1—静音K2—发 si 的音 493HzK3—发 la 的音 440HzK4—发 sol 的音 392HzK5—发 fa 的音 349HzK6—发 mi 的音 329HzK7—发 re 的音 293HzK8—发 do 的音 261Hz二、方案比较和认证通过 8255和 8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。
输入部分主要是由 8255和 8个常开型开关来完成。
常开型开关如右图。
8个常开型开关 K1~K8与 8255的 A 口 PA0~PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。
例如当 K1键按下时,从 8255中 A 口输入的数为 11111110B ,十六进制为 0FEH 。
每一个开关按下时,都对应一个 ASCII 码,如下表所示:开关 K1 K2 K3 K4 K5 K6 K7 K8对应数据 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 7FH对应频率静音 493 Hz 440 Hz 392 Hz 349 Hz 329 Hz 293 Hz 261 Hz输入部分的硬件实现比较简单, 所以说主要还是在发音部分。
在设计中驱动扬声器地声的主要有两种方式, 分别是以位触发和定时器控制。
下面就这两种不同的方式确定两个不同的设计方案。
方案 1:发声采用位触发方式。
电路原理图如下所示。
程序直接控制 PPI (8255可编程序外围接口芯片的输出控制寄存器(I/O端口为 61H 的第一位,使该位按所需的频率进行 1和 0的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。
微机原理课程设计电子琴
一、教学内容ቤተ መጻሕፍቲ ባይዱ
本节课为微机原理课程的实践环节,选取《微机原理与应用》教材第七章“微机接口技术”及第十章“微机在仪器仪表中的应用”为理论依据,设计了一堂以“电子琴”制作为主体的课程。教学内容主要包括:1.微机与电子琴硬件接口原理,特别是I/O接口地址译码及编程;2.利用基本微机接口实现电子琴音调的控制,包括键盘扫描、音调发生器的使用;3.电子琴软件编程,通过编写简单的BIOS调用或DOS中断实现音色的播放与控制;4.熟悉并掌握电子琴的制作流程,包括电路设计、程序编写、调试与优化等。通过本节课的学习,学生将能理论与实践相结合,深入理解微机接口技术,增强动手能力与创新能力。
5、教学内容
本节课将是对电子琴项目的一个总结和应用拓展,教学内容如下:1.电子琴功能的创新设计,鼓励学生思考如何添加新的功能,如录音、播放、节奏伴奏等;2.介绍微机与其他外设的通信接口,如USB、蓝牙等,为电子琴的远程控制或数据传输打下基础;3.电子琴的电源管理设计,讲解如何为电子琴设计稳定的电源供应系统;4.实践电子琴的组装和外壳设计,提升学生的工业设计和实际动手能力;5.组织学生进行课堂展示和答辩,培养他们的表达能力和公众演讲技巧。通过本节内容的实践,学生将能够综合运用所学知识,发挥创造力,完成一个具有实用性和创新性的电子琴项目,并在此过程中提升自身的工程实践能力和团队合作精神。
2、教学内容
本节课进一步深化微机原理的应用,以“电子琴”项目为载体,教学内容具体包括:1.电子琴键盘布局设计与实现,让学生了解如何通过微机接口读取键盘输入;2.音阶生成算法介绍,探讨如何通过编程产生不同音调;3.利用微机定时器/计数器产生稳定的时钟信号,保证音色的准确性与连贯性;4.简单的乐曲编程与演奏,指导学生如何将音符组合成乐曲并进行演奏;5.电子琴功能的扩展,如增加音量控制、音色选择等,提高电子琴的交互性和趣味性。
微机原理emu8086课程设计
目录一、软件启动 (1)二、程序代码 (2)1、数值计算 (2)(1)十进制系统 (2)2、逻辑运算 (5)(1)与运算(AND) (5)(2)或运算(OR) (5)(3)异或运算(XOR) (5)4、宏 (8)三、鸣谢 (10)Emu8086的应用分析摘要:Emu8086是一个可在Windows 环境下运行的8086CPU汇编仿真软件。
它集成了文本编辑器、编译器、反编译器、真调试、虚拟设备和驱动器为一体,并具有在线使用指南,这对刚开始学习汇编语言的人是一个很有用的工具。
您可以在真器中单步或连续执行程序,其可视化的工作环境让使用者操作更容易。
您可以在程序执行中动态观察各寄存器、标记位以及存储器中的变化情况。
仿真器会在模拟的PC中执行程序,以避免程序运行时到实际的硬盘或内存中存取数据。
此外,该软件完全兼容Intel新一代处理器,包括了PentiumⅢ、Pentium4的指令。
关键词:Emu8086 微机原理程序文件一、软件启动双击进入启动界面如图1所示,用户可以选择新建文本、程序示例、快速启动指南、最近使用文档。
图1 启动界面Emu8086软件提供的实例中包含了几十种典型的程序代码,其中包括:数值计算、逻辑运算、屏幕显示、键盘输入、文件打印、马达控制、温度控制、交通灯控制等。
在软件提供的快速指南中提供了多种在线帮助工具,包括:文件索引、8086CUP指令使用指南、系统中断调用列表以及用法等。
用户可以通过该工具快速地掌握8086CPU指令体系和emu8086汇编真软件的使用。
程序编辑结束后,点击模拟,即可进入模拟状态:点击运行之后即可用屏幕模拟器进行模拟,如:二、程序代码1、数值计算(1)十进制系统目前使用最多的是十进制。
十进制系统有10个数字0,1,2,3,4,5,6,7,8,9。
利用这些数字能表示任何数值,例如754这些数字是由每一位数字乘以“基数”的幂累加而成的(上一个例子中基数是10 因为十进制中有十个数字)。
8086微机课程设计
8086微机课程设计一、课程目标知识目标:1. 理解8086微处理器的内部结构、工作原理及其指令系统;2. 掌握汇编语言编程的基本方法,能够编写简单的汇编程序;3. 了解存储器组织、I/O端口编程以及中断处理的相关知识;4. 掌握8086微机系统设计的基本流程和关键步骤。
技能目标:1. 能够运用汇编语言进行基本程序设计,实现数据的处理和逻辑控制;2. 能够分析和解决8086微机系统设计中遇到的问题;3. 能够运用所学知识,完成一个简单的微机系统设计项目。
情感态度价值观目标:1. 培养学生对计算机硬件和底层编程的兴趣,激发他们的学习热情;2. 培养学生的团队合作意识,使他们能够在项目实践中相互协作、共同进步;3. 培养学生勇于尝试、不断探索的精神,提高他们面对问题的解决能力;4. 引导学生认识计算机技术对社会发展的作用,培养他们的社会责任感和使命感。
本课程针对高年级学生,结合学科特点,注重理论与实践相结合。
课程目标旨在使学生掌握8086微处理器的基本知识和技能,培养他们在微机系统设计方面的实际操作能力,同时提高学生的情感态度价值观。
通过本课程的学习,为学生未来在计算机领域的发展奠定基础。
二、教学内容1. 8086微处理器内部结构及工作原理:包括CPU的架构、寄存器组、总线结构等;相关教材章节:第一章 8086微处理器概述。
2. 汇编语言编程:介绍汇编语言的基本语法、指令系统、伪指令等;相关教材章节:第二章 汇编语言编程基础。
3. 存储器组织与I/O端口编程:讲解存储器层次结构、I/O端口寻址方式及编程方法;相关教材章节:第三章 存储器组织与I/O端口。
4. 中断处理:阐述中断的概念、中断处理过程以及中断向量表的使用;相关教材章节:第四章 中断处理。
5. 微机系统设计:包括系统设计流程、硬件连接、软件编程等;相关教材章节:第五章 微机系统设计。
教学内容安排与进度:第一周:8086微处理器内部结构及工作原理;第二周:汇编语言编程基础;第三周:存储器组织与I/O端口编程;第四周:中断处理;第五周:微机系统设计实践。
基于8086电子琴的设计与实现
基于8086电子琴的设计与实现介绍电子琴是一种使用数字技术而非声学原理来产生声音的乐器。
与传统音乐乐器不同,电子琴可以通过自带音效、合成器、音色等多种设置,同时,它还可以与计算机互联,实现更多其他乐器无法实现的功能。
8086是英特尔公司推出的一种16位微处理器。
该处理器广泛用于计算机、工业控制和嵌入式系统等领域,具有处理速度快、性能稳定、兼容性高等特点。
本篇文档将介绍基于8086的电子琴的设计与实现过程。
设计硬件设计在硬件设计中,我们需要一个键盘矩阵、8086单片机、扬声器等元器件。
键盘矩阵是由若干个按键组合而成的矩阵,在电子琴中,每一个按键对应一个频率,从而实现不同的音调。
8086单片机将键盘矩阵读取,声音的产生则使用扬声器。
具体的硬件设计如下:1.键盘矩阵:16个按键组成的4x4矩阵,其中每个按键对应不同的频率。
2.8086单片机:应使用具有16位数据总线和20位地址总线的微处理器,可采用8086、8088或80186等型号。
3.扬声器:直径为3英寸,阻抗为8欧姆。
软件设计在软件设计中,我们需要实现键盘扫描、音频输出等功能。
具体的软件设计如下:1.键盘扫描:通过键盘矩阵的读取,得到按键的位置、行和列信息。
2.音频输出:使用扬声器输出不同频率的音调。
3.逻辑控制:根据键盘扫描的结果,控制音频输出的频率和音量等参数。
实现硬件实现硬件的实现并不复杂,只需要按照设计优先连接好元器件即可。
在本电子琴中,硬件的连接图如下:TODO: 添加硬件连接图软件实现在软件实现中,我们采用了汇编语言实现。
汇编程序主要包括键盘扫描模块、音频输出模块、中断服务程序和主程序等模块。
具体的软件实现如下:1.键盘扫描模块:先选定一行,然后针对这一行,将其中的列依次读取,如果有按键按下,就将此时的位置和按键信息存储在指定的寄存器中。
2.音频输出模块:选择相应的频率需要选择合适的参数来确定频率的大小,经过计算可确定参数的值,然后使用Pulse Width Modulation(PWM)模块来输出音频信号。
基于8086的简易电子琴设计附汇编源程序
《微机原理与接口技术》综合设计实验报告设计课题:基于8086得简易电子琴设计指导老师:学生姓名:学号:院系:专业:通信工程ﻬ基于8086得简易电子琴设计摘要在学习《微机原理与接口设计》得基础上,针对课程设计要求,综合运用相关软件、硬件知识,设计一个简易电子琴,使之具有音区切换、数码管显示音区及当前音符、记录音符与音符持续时间、播放录制得音乐等功能。
关键词:8086;电子琴;仿真调试;汇编ﻩ目录第1章总体方案设计......................................... 错误!未定义书签。
1、1 系统整体架构图..................................... 错误!未定义书签。
1、2 功能介绍ﻩ错误!未定义书签。
第2章硬件设计ﻩ错误!未定义书签。
2、1 硬件资源ﻩ错误!未定义书签。
2、2 硬件接线图ﻩ错误!未定义书签。
2、2、1 8254接线图............................... 错误!未定义书签。
2、2、2 8255及键盘、数码管接线图ﻩ错误!未定义书签。
第3章软件设计ﻩ错误!未定义书签。
3、1程序框图ﻩ错误!未定义书签。
3、1、1 整体框图2ﻩ3、1、2 延时函数.................................... 错误!未定义书签。
3、1、3键盘扫描ﻩ错误!未定义书签。
3、1、4数码管显示.................................. 错误!未定义书签。
3、1、5声音及时间录制............................. 错误!未定义书签。
3、1、6 选择音区(高、中、低)..................... 错误!未定义书签。
3、1、7播放音乐ﻩ错误!未定义书签。
第4章实验结果及演示...................................... 错误!未定义书签。
8086微机原理与接口技术课程设计
引言8086微机是早期个人计算机使用的一种微处理器,它具有复杂的内部结构和丰富的外部接口,广泛应用于计算机系统的设计和开发中。
本文档旨在介绍8086微机的原理和接口技术,并为课程设计的实施提供指导。
8086微机原理8086微机的基本结构:8086微机包括CPU、内存、外围设备以及系统总线等部分。
其中,CPU是控制和执行各种指令的核心部件,内存用于存储程序和数据,外围设备用于与外部进行数据交互,而系统总线则负责实现各部分之间的有效通信。
8086微机的内部结构:8086微机的内部结构包括通用寄存器、指令寄存器、段寄存器、标志寄存器等。
通用寄存器用于存储临时数据和计算结果,指令寄存器存储当前执行的指令,段寄存器用于定位内存中的数据段和代码段,而标志寄存器则存储程序运行过程中的标志位信息。
8086微机的指令系统:8086微机具有丰富的指令系统,包括数据传输指令、算术指令、逻辑指令、条件转移指令、循环指令等。
这些指令能够满足各种数据处理和控制需求,为程序的编写提供了灵活性和高效性。
8086微机接口技术内存与CPU的接口技术:8086微机通过地址总线和数据总线与内存进行通信。
其中,地址总线用于指定内存中的地址位置,数据总线用于传输数据。
通过适当的地址和数据线连接,可以实现对内存的读写操作。
外部设备与CPU的接口技术:8086微机可以通过端口和中断请求线与外部设备进行通信。
通过端口地址和端口数据线连接,可以在CPU和外部设备之间进行数据传输。
通过中断请求线,CPU可以接收外部设备的中断信号,从而进行相应的处理。
时序控制技术:8086微机的各个部件之间需要进行协调和同步。
通过合理的时序控制技术,可以确保各部件之间的数据传输和操作按照正确的时间序列进行,避免出现数据冲突和错误。
课程设计实施课程设计目标:本课程设计旨在通过8086微机原理与接口技术的学习和实践,培养学生的计算机系统设计和开发能力。
通过对8086微机的原理和接口技术的深入理解,学生可以独立完成微机系统的设计和实现。
微机原理课程设计 -- 基于8086彩灯控制器的设计
微机原理与接口技术课程设计报告题目基于8086彩灯控制器的设计系别物理电气信息学院专业电气工程与自动化姓名梁晓龙 12010245310姚佳乐 12010245249一、课设目的及功能实现课设目的:(1)巩固和加深微机原理所学知识;(2)学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;(3)通过在对循环彩灯效果的设计和制作,深入了解与掌握利用可编8255A进行开关量控制的原理与方法。
所实现的功能:我们以8255交通灯的一种显示效果为例,介绍彩灯控制器显示的基本原理。
设有一排 8个水平排列的彩灯,某种显示方式为从左到右0.5秒点亮。
其控制过程如下:若以“ 0 ”代表彩灯点亮,以“ 1 ”代表彩灯熄灭,则开始时刻, L1黄灯亮1.5秒后,红灯L2,L3,L4,L5间隔0.5秒依次亮,然后绿灯L6.L7.L8间隔0.5秒依次亮;循环7次。
控制器将一帧8个数据送至8个彩灯的控制端,其中,最左边的一段彩灯对应的控制数据为“0”,其余的数据均为1,即11111110.当8个数据送完以后,控制器停止送数,保留这种状态(定时)1.5秒,此时黄灯被点亮,其余彩灯熄灭。
随后,控制器又在极短的时间内将数据111111101送至彩灯的控制端,并定时0.5秒,这段时间,第一个红灯被点亮。
由于送数据的过程很快,我们观测到的效果是第一个红灯被点亮 0.5 秒后,第 2 个红灯接着被点亮,即每隔 0.5 秒显示一帧图样。
如此下去,最后控制器将数据 01111111送至 8个彩灯的控制端,则L8绿灯被点亮。
依次循环7次。
二、系统框图彩灯控制器系统框图如下所示:图1 系统框图三、设计原理在这次课程设计中主要用到了8255A可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。
A 8255工作原理及内部结构1、8255A内部结构8255A的内部结构如图2所示,它由4部分组成:(1)数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A(3) A组和B组控制电路A组:PA口和PC口的高四位(PC7~PC4);B组:PB口和PC口的低四位(PC3~PC)。
基于8086钢琴的程序设计 自动化课程设计报告
Hefei University微机原理课程设计报告课题名称:基于8086钢琴的程序设计班级:09自动化(1)班报告人:指导教师:2011 年 12 月 30 日目录摘要: (3)关键字: (3)正文: (3)一、总体框图 (3)二、方案的论证 (3)三、电路设计 (4)3.1 扬声器接口电路 (4)3.2键盘模块 (4)3.3 总电路系统 (5)四、软件设计流程图 (6)4.1主流程图 (6)4.2键盘扫描子程序图 (7)五、c51单片机系统仿真实现 (9)六、总结与体会 (9)参考文献: (9)附件一、自动化专业微机原理课程设计任务书 (10)附件二:汇编程序清单 (11)附件三:C语言程序清单 (15)基于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电子琴设计一.硬件架构1.8086微处理器:作为整个系统的核心,8086微处理器负责控制和协调整个电子琴的工作。
它能够处理音频数据、控制键盘接口和显示屏幕。
2.存储器:包括存储程序代码和数据的ROM和RAM。
ROM存储音频合成算法的代码,RAM存储用户输入的音符和其他数据。
3.音频合成芯片:负责将8086微处理器生成的数字音频数据转换为模拟音频信号。
音频合成芯片通常采用PWM(脉宽调制)技术,将数字音频信号转换为模拟信号。
4.键盘接口:用于检测用户按键的输入,将按下的键位信息传输给8086微处理器。
键盘接口通常采用矩阵键盘的设计,能够识别多个键位的同时按下。
5.音频输出接口:将音频合成芯片生成的模拟音频信号输出到扬声器。
音频输出接口通常采用音频放大器和滤波电路,保证音频信号的质量和音量。
6.显示屏幕:用于向用户显示电子琴的状态和设置。
显示屏通常采用液晶屏或LED显示屏,能够显示文字、图标和进度条等信息。
二.软件架构1.音频合成算法模块:负责将用户输入的音符信息转换为数字音频数据。
在8086电子琴设计中,可以采用FM合成、波表合成或乐谱匹配等算法来实现音频合成。
2.键盘扫描模块:负责检测用户按键的输入并将键位信息传输给8086微处理器。
键盘扫描模块可以采用循环扫描的方式,检测每个按键的状态。
3.显示模块:负责向用户显示电子琴的状态和设置信息。
显示模块从8086微处理器获取需要显示的信息,并将其显示在屏幕上,以供用户查看。
4.控制模块:负责协调和控制整个电子琴的工作。
控制模块根据用户的按键输入来调用音频合成算法模块,产生相应的音符音频,并通过音频输出接口输出。
三.音频合成技术1.FM合成:通过改变音频信号频率和振幅的关系来合成音频信号。
FM合成实现简单,可以通过调整频率和振幅的参数来产生不同音色的音频。
2.波表合成:通过预先存储的波形数据表,按照一定的频率进行波形重复,合成音频信号。
波表合成能够实现更加真实的音色效果,但需要较大的存储器空间。
电子琴微机原理课程设计
电子琴微机原理课程设计一、课程目标知识目标:1. 学生能理解电子琴的基本工作原理,掌握微机在电子琴中的应用;2. 学生能描述电子琴的音色生成、音阶控制和演奏功能等相关的微机技术;3. 学生掌握电子琴编程的基本知识,能够运用所学知识进行简单的程序编写。
技能目标:1. 学生通过动手实践,能够操作电子琴与微机的连接,进行基础的音乐编程;2. 学生能运用电子琴微机原理,解决实际演奏中遇到的技术问题;3. 学生具备团队协作能力,能够与同学合作完成电子琴音乐作品的创作。
情感态度价值观目标:1. 学生培养对音乐科技的兴趣,激发创新精神,提高审美情趣;2. 学生通过学习电子琴微机原理,增强对现代科技的认识,培养科学素养;3. 学生在学习过程中,养成积极探究、主动思考的学习习惯,形成严谨、务实的科学态度。
课程性质:本课程为音乐与信息技术的跨学科课程,旨在让学生在掌握电子琴演奏技巧的基础上,深入了解微机原理,提高学生的创新能力和实践能力。
学生特点:学生处于具备一定电子琴演奏基础和信息技术知识的年级,对新鲜事物充满好奇,动手能力强,喜欢探索和挑战。
教学要求:教师需结合学生特点,采用理论与实践相结合的教学方法,引导学生主动参与,注重培养学生的实际操作能力和团队协作能力。
通过课程学习,使学生能够将所学知识应用于实际演奏和创作中,达到预期的学习成果。
二、教学内容1. 电子琴结构与工作原理:介绍电子琴的硬件组成、键盘原理、音源发生器、音色设置等基础知识,使学生了解电子琴的基本构造及其工作原理。
相关教材章节:第一章 电子琴概述2. 微机在电子琴中的应用:讲解微机在电子琴中的功能,如音色控制、演奏功能、音乐编程等,使学生明白微机在电子琴演奏中的重要作用。
相关教材章节:第二章 微机在电子琴中的应用3. 电子琴编程基础:教授电子琴编程的基本方法,包括编程语言、程序结构、常用编程技巧等,培养学生实际操作和创作能力。
相关教材章节:第三章 电子琴编程基础4. 实践操作与作品创作:安排学生进行电子琴与微机的连接、音乐编程实践,以及团队合作创作电子琴音乐作品,巩固所学知识,提高学生的实践能力和团队协作能力。
微机原理与接口技术基于8086和Proteus仿真第二版课程设计
微机原理与接口技术基于8086和Proteus仿真第二版课程设计简介《微机原理与接口技术基于8086和Proteus仿真》是一门针对计算机相关专业的课程,主要介绍了8086微处理器的基本原理、汇编语言编程和接口技术等内容。
本门课程的第二版扩展了课程的实践部分,引入了Proteus仿真软件,增加了课程设计的实验项目,使学生能够更深入地学习和掌握课程内容。
本文主要介绍《微机原理与接口技术基于8086和Proteus仿真第二版》课程设计的实验项目及其要求。
实验项目本门课程设计共有三个实验项目,分别为:实验一:LED流水灯实验目的通过设计一个LED流水灯的电路,提高学生对8086微处理器、接口技术和汇编语言的理解和掌握,同时熟练掌握Proteus仿真软件的使用。
实验要求1.设计一个LED流水灯电路,要求至少包含8个LED灯。
2.使用8255A接口芯片控制LED流水灯电路,实现LED灯的流动效果。
3.使用8086微处理器编写汇编语言程序,实现对8255A接口芯片的控制,控制LED流水灯电路的流动效果。
4.使用Proteus仿真软件进行电路的仿真和调试,最终验证电路的正确性和稳定性。
实验二:数码管计数器实验目的通过设计一个数码管计数器的电路,提高学生对8086微处理器、接口技术和汇编语言的理解和掌握,同时熟练掌握Proteus仿真软件的使用。
实验要求1.设计一个数码管计数器电路,要求使用74LS47译码器和74LS48数码管显示器。
2.使用8255A接口芯片控制数码管计数器电路,实现对计数器的控制和显示。
3.使用8086微处理器编写汇编语言程序,实现对8255A接口芯片的控制,控制数码管计数器电路的计数和显示。
4.使用Proteus仿真软件进行电路的仿真和调试,最终验证电路的正确性和稳定性。
实验三:多功能小车实验目的通过设计一个多功能小车的电路,提高学生对8086微处理器、接口技术和汇编语言的理解和掌握,同时熟练掌握Proteus仿真软件的使用。
微机原理课程设计——电子琴
微机原理课程设计——电子琴-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN目录概述 (1)一设计内容与要求 (1)二设计思想 (1)三设计所用芯片及工作原理 (2)四系统连线图 (2)五连线图说明 (3)六程序流程图 (3)七程序源代码 (5)八设计过程中遇到的问题及解决方法 (11)九设计心得 (11)电子琴概述《汇编语言与微机原理》是计算机各专业一门重要的基础课,是必修的核心课程之一,对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。
因此该课程在整个教学计划中占有重要地位。
本课程的目的和要求是:1、应使学生掌握8086/8088宏汇编语言程序设计的基本方法和技巧,能够运用8086/8088宏汇编语言编写应用程序。
提高学生分析问题、解决问题的能力以及实际动手能力。
2、应使学生基本掌握汇编语言程序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技术。
注意培养学生良好的程序设计风格。
3、应使学生比较熟练地使用调试工具DEBUG调试8086/8088汇编语言程序。
注意提高学生的调试能力。
4、注意与前后相关课程的关系。
使学生对前导课程有进一步的理解,同时为学习后继课程打好基础。
一、设计内容与要求编写一实现电子琴的程序,并实现若干扩展功能。
基本功能:用8257键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;扩展功能:1、录音:记录所弹奏曲目2、放录音:任意时刻重放最新记录曲目3、在程序中可预设一曲目,按一键实现播放该曲目。
4、在播放录制曲目或预设曲目时,按8279键盘上任意键可以暂停播放,再按一次从暂停处继续播放。
5、程序运行时有友好的用户介面二、设计思想在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块。
程序设计的思路按以下顺序进行:1、分析与确定程序总体设计目标2、将总体目标划分为若干模块3、定义每个模块的具体任务,明确它与其他模块间的通信方式4、编写源程序,进行调试,包括:A)简单电子琴主程序结合实验指导书的两程序,将其分为5个子程序,实现简单的播放和显示音阶的功能。
微机原理课程设计报告_基于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的简易电子琴设计指导老师:学生姓名:学号:院系:专业:通信工程基于8086的简易电子琴设计摘要在学习《微机原理与接口设计》的基础上,针对课程设计要求,综合运用相关软件、硬件知识,设计一个简易电子琴,使之具有音区切换、数码管显示音区及当前音符、记录音符与音符持续时间、播放录制的音乐等功能。
关键词:8086;电子琴;仿真调试;汇编目录第1章总体方案设计 (1)1.1 系统整体架构图 (1)1.2 功能介绍 (1)第2章硬件设计 (3)2.1 硬件资源 (3)2.2 硬件接线图 (4)2.2.1 8254接线图 (4)2.2.2 8255及键盘、数码管接线图 (4)第3章软件设计 (5)3.1 程序框图 (5)3.1.1 整体框图 (5)3.1.2 延时函数 (6)3.1.3 键盘扫描 (7)3.1.4 数码管显示 (7)3.1.5 声音及时间录制 (8)3.1.6 选择音区(高、中、低) (8)3.1.7 播放音乐 (9)第4章实验结果及演示 (9)第5章遇到的问题及改进措施 (12)5.1 条件转移指令报错 (12)5.2 无法使用8254作为录音时间计数器 (12)附录 (13)程序源码 (13)第1章总体方案设计1.1 系统整体架构图系统整体架构图如图1-1所示。
图1-11.2 功能介绍本实验设计实现了音区切换、数码管显示当前音区及音符、记录音符与音符持续时间、播放录制的音乐等功能。
功能具体说明如下。
按键0-6为音符键,按下后会有对应的音符音调响起,按键弹起后音符终止,此时,按下的音符以及时间将被记录。
按键12,13,14可以选择低音,中音,高音区。
按下按键15后开始播放录制的音符(不超过16个)。
另外数码管0显示音符,数码管2显示音区。
第2章硬件设计2.1 硬件资源TD-PITE 实验教学系统,其主要系统构成如表2-1 所示。
CPU Intel 386EX系统程序存储器:Flash ROM (128KB)存储器数据存储器:SRAM (128KB)信号源单次脉冲:消抖动脉冲 2 组逻辑电平开关与显示16 组电平开关,16 组电平显示LED 灯(正逻辑)8259、8237、8254、8255、8251、DAC0832、ADC0809、SRAM 、键盘扫描及数接口实验单元码管显示、电子发声、点阵LED、液晶LCD(可选)、步进电机(可选)、直流电机、温度控制实验扩展单元 2 组40 线通用集成电路扩展单元、扩展模块总线单元系统电源+5V/2A,±12V/0.2A表2-1 TD-PITE 系统构成系统硬件结构如图2-1 所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南科技大学潇湘学院信息与电气工程系《课程设计报告》题目:基于8086的电子琴设计专业:通信工程班级:通信一班姓名:罗婷学号:1354040118指导老师:欧青立陈君宋芳管志利李目2015年12 月28 日信息与电气工程系课程设计任务书2015—2016 学年第 1 学期专业:通信工程学号:1354040118 姓名:罗婷课程设计名称:微机原理与接口技术设计题目:基于8056的电子琴设计完成期限:自2015 年12 月14 日至2015 年12 月26 日共 2 周设计内容:通过8255 和8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。
输入部分:主要是由8255 和8 个常开型开关来完成。
发音部分:CUP 通过对定时器8253 的通道2 进行编程,使其I/O 寄存器接收一个控制声音频率的16 位计数值,端口61H 的最低位控制通道2 门控的开断,以产生特殊的音响。
本文用到的是8253 的方式3——方波发生器。
基本要求:1.以8255接八个开关K1~K8,做电子琴按键输入。
2.以8253控制扬声器,拨动不同的开关,发出相应的音阶。
要求:指导教师(签字):批准日期:年月日摘要定时器/ 计数器8253 可以产生不同频率的信号, 经过三极管放大驱动扬声器发出不同的音阶。
硬件上以8086 作为核心处理单元, 将8253 的输出端连接音频模块。
软件上检测按键是否有键按下, 判断按键并驱动对应发音子程序。
通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。
这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。
手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400 等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。
此外还有音乐盒、附有生日歌的生日卡片等等。
所以利用微机制作的简易电子琴在我们的日常生活中随处可见。
关键词:Altium Designer;masm.5.0 ;8086;8255;8253定时器;目录1. 设计目的 (5)2. 元件与仪器 (6)3. 设计内容 (6)4. 电路工作原理 (6)5.1 控制模块工作原理 (7)5.2.0 8255A芯片: (8)5.2.1 8255A的内部结构 (8)5.2.2 8255的外部引脚 (8)5.2.3 8255的方式控制字 (9)6. 发声模块工作原理 (10)6.1.1 8253芯片 (10)6.1.2 8253的6种工作方式: (11)7.整体电路图 (13)8.主要程序与编译软件 (14)9. 软件程序: (15)10. 心得体会 (19)1.设计目的检验和提高我在原理与接口综合应用方面分析问题与解决问题的能力,同时也给我提供更多、更好的训练机会。
根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。
2. 元件与仪器1.计时器82532.并行控制器8255A3.实验台4. PC机3.设计内容⑴根据扬声器发声原理可知:不同频率的方波通过扬声器可发出不同的声音。
⑵由此构想运用8253通道二工作在方式3的状态下控制其2#计数器对应寄存器中的数值,然后将输出端口OUT2产生的方波通过扬声器转换成为声音。
⑶为了实现弹奏按键来控制扬声器,可以通过用开关改变8253(工作在方式3的状态下)2#计数器对应寄存器中的数值,8253输出端口OUT2 通过74LS08后与扬声器相连接。
⑷最后要实现的就是将开关对应的数字信号存入寄存器中采用8255A并行接口特点,使端口A工作在方式PB1并作为输出口,端口B工作在方式0,并作为输入口。
将开关与8255A的输入端口A相连接。
4. 电路工作原理整个电路采用模块化来进行设计,分为控制模块和发声模块。
主要的器件有一个并行接口8255,和一个8253定时器。
输入部分的硬件原理图比较简单,控制模块其主要是由8个常开型开关和一个并行接口8255组成。
8个开关一端接地,另一端接到8255的A口输入,并且通过一个电阻接到+5V。
因此,在开关不按下时,从8255A口输入的是高电平,当开关按下时,输入的则是低电平,这样通过低电平触发,既方便也对芯片起保护作用。
通过软件检测输入的数据,然后给8253送相应频率的计数值。
发音模块连接到扬声器上的是8253定时器2,GATE2与端口61H的PB0相连,当PB0=1时,GATE2获得高电平,使定时器2可以在模式3(方波)下工作。
定时器2的OUT2与端口61H的PB1通过一个与门与扬声器的驱动电路相连。
当PB1=1时,允许OUT2的输出信号到达扬声器电路。
因此,只有PB0和PB1同时为“1”时,才能驱动扬声器鸣叫。
5.1 控制模块工作原理控制部分主要是由8255和8个常开型开关来完成。
常开型开关如右图。
8个常开型开关K1~K8与8255的A口PA0~PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。
例如当K1键按下时,从8255中A口输入的数为11111110B,十六进制为0FEH。
每一个开关按下时,都对应一个ASCII码,由于PC计算机的时钟晶振为1.1931816MHz,根据频率的公式:f=1/T则频率周期为T=1/f定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:t=65536*T=65536/f=0.0549254(秒)即:PC定时器每秒可中断18.2065次。
开关K1 K2 K3 K4 K5 K6 K7 K8 对应数据0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 7FH 对应频率静音493 Hz 440 Hz 392 Hz 349 Hz 329 Hz 293 Hz 261 Hz5.2 8255A芯片:8255A是为Intel公司的微处理器配套的通用可编程并行接口芯片,其基本功能如下:8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是作为输出端口;8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。
如无条件传送,查询方式传送,中断方式传送。
与此相应,8255A设置了方式0、方式1以及方式2。
5.2.1 8255A的内部结构8255A的C口比较特殊,除作数据口外,在工作方式1和2下,它的部分信号线被分配作专用的联络应答信号。
8255A的内部结构机外部引脚,它包括四个部分:数据总线缓冲器,读写控制逻辑,A组和B组控制电路。
1. 数据总线缓冲器2. 读写控制逻辑3. A组和B组控制A和端口C的高4位(PC7~PC4)构成A组,由A组控制部件来对它进行控制;端口B和端口C的低4位(PC3~PC0)构成B组,由B组控制部件对它进行控制。
5.2.2 8255的外部引脚8255的外部引脚1. 与CPU相连的引脚D7~D0:数据线,双向、三态。
:读信号,输入、低电平有效。
:写信号,输入、低电平有效信号。
:片选信号,输入、低电平有效。
2. 8255A的数据线、片选信号线、地址线、读写控制线等分别与系统总线相连,其中A、B、C三个端口一排针形式引出。
表1 8255A端口地址表5.2.3 8255的方式控制字8255A的工作方式控制字格式和各位的含义。
A组有三种工作方式,而B只有两种工作方式。
方式0—基本的输入/输出方式方式1—选通式输入/输出方式2—双向选通输入/输出方式6. 发声模块工作原理要使扬声器发出不同的音阶, 就得输入不同频率的信号。
通过给定时/ 计数器8253 送入不同的初值, 可以从输出端得到不同频率的波形,在74LS08的作用下经过放大器三极管8550的放大作用, 便可驱动扬声器发出不同的音阶。
音阶声音的持续时间可以通过软件延时程序实现。
1~7 某一按键被系统检测到, 系统驱动PC对应子程序使扬声器输出对应的音阶。
6.1.1 8253芯片8253内设三个计数器都独立工作,用-65536之间的一个数去输入频率,可以实现每个计数器的独立编程。
每个计数器占有一个独立的端口地址。
可以通过A0、A1、和CS来寻址这些端口如下图所示:6.1.2 8253的6种工作方式:方式0--计数结束产生中断方式1--单稳负脉冲信号发生器方式2--分频器方式3--方波信号发生器方式4--软件触发的选通信号发生器方式5--硬件触发的选通信号发生器本课题采用通道二方式3,当通道2用于发声时,采用的是模式3,在模式3下,输出线为“1”和为“0”的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。
从定时器输出的方波信号,三极管驱动扬声器。
送到扬声器的信号还受到了从并行接口芯片8255(端口地址为61H)来的双重控制,端口61H的最低位控制通道2的门控开断,以产生特殊的音频信号,端口61H的PB1位和定时器的输出信号同时作为与门的输入,PB0和PB1位可由程序决定为0还是为1。
显然只有PB0和PB1都是1时,才能使扬声器发出声音。
控制音长的时间可以简单地通过反复执行指令来得到。
我们知道执行2801次LOOP指令约需要10MS的时间。
因此用10MS的倍数值来控制扬声器开关的时间间隔,就可控制发声的音长了。
打开X86 PC扬声器,GATE2必须设置为高电平,以便计数器2提供CLK信号。
该端口61H的PB0来完成,由下图还可以看到计数器2的OUT2和端口61H的PB1进行与操作,然后输入到PNP三极管8550进行放大作用再到扬声器中进行播放。
为此,为了将OUT2传送到扬声器,端口61H的PB1也必须为高电平。
IN AL, 61H ;获得端口B的当前设置MOV AH, AL ;保存OR AL, 00000011B ;使PB0=1,PB1=1MON AL, AH ;获得端口B的初始设置OUT 61H, AL ;关闭扬声器7. 整体电路图8.主要程序与编译软件8.1.0编译环境Masmforwindows集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,现在已全面支持最新操作系统VISTA,支持DOS的16/32位汇编程序和Windows下的32汇编程序(并提供调试通过的30个WINDOWS汇编程序实例源代码),它具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。
本课程设计采用Masmforwindows集成实验环境极大方便了程序的编辑与调试。
9. 软件程序:DATA SEGMENTTABLE DW 493 ;K2—发si的音493HzDW 440 ;K3—发la的音440HzDW 392 ;K4—发sol的音392HzDW 349 ;K5—发fa的音349HzDW 329 ;K6—发mi的音329HzDW 293 ;K7—发re的音293HzDW 261 ;K8—发do的音261Hz DATA ENDS;定义堆栈段STACK SEGMENT PARA STACK 'STACK'STA DB 48 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE S EGMENT ;定义代码段ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATAMOV DS,AX ;初始化DSMOV AX,STACKMOV SS,AX ;初始化SSMOV AX,TOPMOV SP,AXMOV AL,90H ;初始化8255OUT 63H,AL ;从8255A口输入一个数据K0: IN AL,60H;以下为检测哪个键按下CMP AL,0FEHJZ K1CMP AL,0FDHJZ K2CMP AL,0FBHJZ K3CMP AL,0F7HJZ K4CMP AL,0EFHJZ K5CMP AL,0DFHJZ K6CMP AL,0BFHJZ K7CMP AL,7FHJZ K8JMP EXIT ;如没有键按下,或不止一个键按下,则跳到EXIT K1: JMP K0 ;如果为K1按下,则返回继续循环,为静音K2: MOV BX,TABLE ;如为其它键则把相应的频率送给BXJMP SOUNDFK3: MOV BX,TABLE+1JMP SOUNDFK4: MOV BX,TABLE+2JMP SOUNDFK5: MOV BX,TABLE+3JMP SOUNDFK6: MOV BX,TABLE+4JMP SOUNDFK7: MOV BX,TABLE+5JMP SOUNDFK8: MOV BX,TABLE+6SOUNDF: MOV DX,12HMOV AX,348CHDIV BXCALL SOUND ;调用发音子程序CALL DELAY ;调用延时程序EXIT: MOV AH,06H ;有无键盘动作MOV DL,0FFHINT 21HJZ K0 ;如果没有,则跳到KO循环MOV AH,4CH ;如果有,则结束返回INT 21H;以下是发音子程序SOUND PROC NEARPUSH AXMOV AL,10110110B ;初始化8253OUT 43H,ALPOP AXOUT 42H,AL ;送计数值MOV AL,AHOUT 42H,ALIN AL,Y2 ;发音设置,打开扬声器OR AL,03HOUT Y2,ALRETSOUND ENDP;以下是延时子程序DELAY PROC NEAR PUSH CXPUSH AXMOV AX,0FFFHX11: MOV CX,2801 X12: LOOP X12DEC AXJNZ X11POP AXPOP CXRETDELAY ENDP CODE E NDSEND START10. 心得体会在为期两周的课程设计中我学到了很多。