微机原理课设——竞赛抢答器——8086CPU,82558254_第1页
微机原理课设——竞赛抢答器——8086CPU,82558254_第2页
微机原理课设——竞赛抢答器——8086CPU,82558254_第3页
微机原理课设——竞赛抢答器——8086CPU,82558254_第4页
微机原理课设——竞赛抢答器——8086CPU,82558254_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳工程学院课程设计课程设计题目:竞赛抢答器设计系 别 电气工程系学生姓名刘洪硕指导教师曲乐声,踪念品班级继电本095学号 2009205515职称讲师,工程师起止日期:2012年06月11日起一至2012年06月15日止沈阳工程学院课程设计任务书班级继电本095学号 2009205515职称讲师,工程师课程设计题目:竞赛抢答器设计系 别电气工程系学生姓名刘洪硕指导教师曲乐声,踪念品 课程设计进行地点:微机原理实验室(F106) 任务下达时间:2012年06月4日起止日期:2012年06月11日起一至2012年06月15日止教研室主任王健2012年5月28日批准一、设计目的通过课程设讣使学生更

2、进一步掌握微机原理及应用课程的有关知识,提高应用微机解决 问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计, 使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计 奠定基础。二、设计的原始资料及依据查阅微机原理的教材、试验指导书等参考资料,进一步熟悉微机的基本原理、常用芯片 的基本特性,并着重研究可编程并行芯片8255、8254的原理及应用。运用8255的输入输出功能实现抢答的基本U的及8段数码管的数字显示功能;运用 8254的分频功能,实现抢答后不同的提示音乐。三、设计的主要内容及要求内容:利用微机原理试验箱的8255单元和LED数码管

3、,模拟竞赛抢答器。要求:通过按钮等方式,完成抢答器的基本要求,即可以区分哪组选手先完成抢答。1. 接口设汁:根据所选题LI和所用的接口电路芯片设计出完整的接口电路,并在实验系 统上完成电路的连接和调试通过。2. 程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。 可选:运用8段显示器显示抢答选手编号、运用8254及扬声器发出抢答提示音。 发挥:运用8254使每组抢答到之后发出不同音阶的提示音,从而从声音上区分最先完成抢答的选手。四、对设计说明书撰写内容、格式、字数的要求1. 课程设计说明书(论文)是体现和总结课程设计成果的载体,主要内容包括:设计题 u设讣标、设备器材、设

4、计原理及内容、设计步骤或程序实现方法、遇到的问题及解 决方法、设计总结、参考文献等,一般不应少于3000字(不包括程序清单)。2. 在适当的位置配合相应的功能模块图、程序流程图、程序界面效果图等图表进行说明, 应做到文理通顺,内容正确完整,书写工整,装订整齐。3. 设计内容不允许抄袭和复印,否则取消设讣成绩。4. 课程设计说明书打印采用A4纸,页边距为20mm。正文采用宋体小四字,行间距18 磅。中文大标题采用黑体小三号字,一级节标题采用黑体小四号字,二级节标题采用黑体 小四号字,标题与图题采用宋体五号字。5. 课程设计说明书装订顺序为:封面、任务书、成绩评定表、摘要及关键词、LI录、正 文、

5、参考文献。五、设计完成后应提交成果的种类、数量、质量等方面的要求;1. 提交课程设计说明书一份。2. 提交设计原理、设讣图纸或图表(如接口电路原理图等)。3. 作品的使用或操作说明六、时间进度安排;顺序阶段日期计划完成内容备注11天查阅资料23天设计及调试30. 5天成绩评定40. 5天书写报告七、主要参考资料(文献)。1、微型计算机原理及应用王庆利 主编 西安电子科技大学出版社2、微机原理与接口技术北京航空航天大学出版社3、微型计算机原理与汇编语言电子工业出版社4、微机原理与应用大连理工大学出版社5、微型计算机原理及应用李伯成主编西安电子科技大学出版社沈阳工程学院微机原理及应用课程设计成绩评

6、定表系(部):电气工程系班级:继电本095 学生姓名:刘洪硕见 意 审 评 师 教 导 指价容 评内求 要 体 具权分 评加权 分调研 论证A7,当8组均未按下抢答按钮时,送入到并行接口的8位抢答状态都 是0,当检测到按键发生变化时,即微机采样到这8位数据不为0时,微机通过该并行输 入口循环对8路抢答信号进行采样。当采样到哪一组的抢答信号已经发出,则记录下该组的组号,从PB 口输出组号所对 应的LED数码管段码,在LED显示器上显示选手编号。同时,采集到的按键信息传递到8254芯片中,根据按键信息提取相应的频率码,经 计算后传输到扬声器,从而响起不同的音乐。扬声器音乐结束后,若系统检测到按键信

7、息 全为0时,表明选手已经把按键退下,则系统重新开始检测按键状态,进入下一个抢答环 节。元器件功能特性:2.1.1 8086 CPU 简介由于此系统最终要在西安唐都科教仪器出品的32位微机机教学实验系统 TD-PITE/PITC上进行实验,故设汁硬件配置时采用Intel8086,整个实验的硬件配置都以 此为原则进行设计选用。Intel8086是16位的微处理器(理论学习中为8088,其内部总 线为16位,外部总线为8位,故称为准16位微处理器),它釆用HH0S工艺40条引脚封 装。8086工作时使用5V电源,时钟频率5MHz (8086-1为10MHz, 8086-2为8MHz)它有 20根地

8、址线,故可寻址的内存空间为IMBo2.1.2 8086主要特性Intel8086/8088CPU是Intel公司推岀的高性能的微处理器,具体如下主要特性:(1) 8086CPU数据总线为16位,8088CUP数据总线为8位。(2) 地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。(3) 有16位的端口地址,可以寻址64KB的I/O端口。(4) 有99条基本指令,指令功能强大(5) 有9种基本寻址方式。(6) 可以处理内部和外部中断,外部中断源多达256个。(7) 兼容性好,与80*86, 8085在源程序一级兼容。(8) 8086/8088 标准主频为 5MHz,

9、8086/8088-2 主频为 8MH。(9)支持单处理器或多处理器系统工作。实验中是以Intel386EX微处理器为核心,来模拟8086处理器来进行系统的测试工作。2.1.3 8086CPU寄存器结构8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄 存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器(仅用9位)。通用寄存器AHALBHBL ICHCL(DHDL 1SPBPDI,3$7T1XXX5ALU数拯总线n=地址总线地址加法器ip暂存器总线逻借外部总线c=0|幺指令预取标志寄存器FREU控制器执单元(EU)队列总线总线接口单元(BI

10、C)图2-1CPU8086内部结构图2.13.1通用寄存器通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存 器,位于CPU的EU中,每个数据寄存器可存放16位操作数。表2-1 通用寄存器的特殊用途和隐含属性寄存器名称特殊用途及隐含性质AX在输入输出指令中作数据寄存器,不能隐含在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商,能隐藏AH在LAHF指令中,作目标寄存器,能隐藏AL在输入/输出指令中作数据寄存器,不能隐藏 在十进制运算指令中作累加器,能隐含 在XLAT指令中作累加器,能隐含BX在间接寻址中作基址寄存器,不能隐含 在XLAT指令中作基址寄存器,能

11、隐含CX在串操作指令和LOOP指令中做计数器,能隐含CL在移位/循环移位指令中作移位次数计数器,不能隐含DX在字乘法/除法指令中存放乘积髙位或被除数高位或余数,能隐含在间接寻址的输入/输出指令中作地址寄存器,不能隐含2.13.2指针和变址寄存器指针和变址寄存器包括:堆栈指针SP、基址指针BP、源变址寄存器SI、和口的变址寄存器DI四个16位寄存器,可以来存放数据和地址。表2-2 指针和变址寄存器的特殊用途和隐含性质寄存器名称特殊用途及隐含性质SI在字符串运算指令中作源变址寄存器,能隐含 在间接寻址中作变址寄存器,不能隐含DI在字符串运算指令中作目标变址寄存器,能隐含在间接寻址中作变址寄存器,不

12、能隐含BP在间接寻址中基址指针,不能隐含SP在堆栈操作中作堆栈指针,能隐含2.13.3段寄存器段寄存器包括:代码段寄存器CS,用于存放当前代码段的段地址:数据段寄存器DS, 用于存放当前数据段的段地址;附加段寄存器ES,用于存放当前附加段的地址;堆栈段寄 存器SS,用于存放当前堆栈段的段地址。这些段寄存器彼此不能互换,每个段寄存器在 8086存储寻址空间中规定了 64KB的存储快。该64KB存储快叫做段寄存器的当前段。2.13.4专用寄存器指令指针寄存器(IP):用来存放要取的下一条指令在当前代码段中的偏移地址,程序不能直接访问IP,在程序运行过程中,BIU可修改IP中内容。指令指针 寄存器每

13、执行一次取操作,将自动加1,使它指向下一条要取内存。标志寄存器(FR):尽定义了 9位,其中6位用作状态标志,3位用作控制标志。D15D12Di D2DO0FDFIFTFSFZFAFPFCF2.1.3.5状态标志位进位标志CF:当前加法运算有进位,减法运算有借位时,CF二1,否则CF二0。辅助进位标志AF:在字节操作时,低4位向高4位有进位(加法)或有借位(减法); 在字操作时,低字节向高字节有进位(加法)或有借位(减法)时,则,AF二1,否则AF二0。奇偶校验标志PF:当运算结果低8位“1”的个数为偶数时,PF二1,否则PF二0。零标志ZF:当运算结果为0时,ZF二1,否则ZF二0。溢出标志

14、OF:在有符号数的算术运算时,当运算结果有溢出时,OF二1,否则0F二0。符号标志SF:在有符号数的算术运算时,当运算结果为负时,SF二1,否则SF二0。2.1.3.6控制标志位方向标志DF:当DF二0时,在串操作指令中,进行自动增址操作;当DF二1时,在串操 作指令中,进行自动减址操作。中断允许标志IF:当IF二0时,禁止响应可屏蔽中断;当IF二1时,允许响应可屏蔽中 断。2.1.4 CPU引脚图GNDADMAD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2ADIADONMIINTR140VccAD152AD16/S339AD17/S43AD18/S538AD1

15、9/S64SSO(HIGH)37MN/MX5RD36HOLD(RQO/GTO)6HLDA(RQ1/GT1)35WR7M/IO(S2)34DT/R(S1)8DEN(SO)33ALE(QSO)9INTA(QSl)32TEST10READY31REST11图2-2CPU8086引脚图表2-3 8086CPU引脚说明AD0AD15分时复用的双向、三态地址/数据线AD19/S6AD16/S3分时复用,输出引脚NMI(17)输入,非可屏蔽请求INTRC18)输入,可屏蔽请求CLK(19)输入,时钟GND(20) (1)地线(两个)REST (21)输入,复位READY(22)准备就绪,输入TEST (23

16、)输入,测试低电平有效INTA(QSl) (24)输出,中断响应ALE (QSO) (25)输出,地址锁存允许DEN(SO)(26)三态输出,数据允许信号DT/R(S1)(27)三态输出,数据发送/接收控制信号M/WS2) (28)三态输出,存储器/I0端口WrTlOCKT (29)三态输出,写HLDA(RQ17GTTH30)总线请求响应,输岀hold(rqo7gtoH31)输入总线请求丽32)三态输出,读MN/b而3)决定工作模式BHE/S7(34)三态输出,髙8位数据有效/状态复用2.2可编程并行接口接口芯片8255A2.2.1 8255A内部结构8255A芯片是一个釆用NMOS工艺制造的

17、40引脚双列直插式(DIP)封装组件o8255A 有3个8位数据端口,即A 口、B 口及C 口,它们都可以分别作为输入口或输出口使 用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。2.2.2 8255A主要的外部引脚1PA22PAi 3PAtI 4R155CS6OND7Ai 8Ao9PC71Opc6 1 1PCs12卩613PS14PC1 一1 5PC216心-17PBo1 8FJBi 19PB2204039373635343332X25SA 3130292827262524232221PA4 PAg PA6 PA7 WR RRSF l(i n.d2 56D7 V pb7 PBo P

18、B5 PH, PBj图2 8255A引脚图PA7PA0: A 口的8条I/O线。8条线只能同时作为输入或输出,不能分开使用, 可设置成双向口,也只有A 口允许这样做。PB7PBO: B 口的8条I/O线。不可以设置成双向口,其它和A 口一样。PC7C0: C 口的8条I/O线。不可以设置成双向口,但它可以分拆为两组即高4 位和低4位,这两组可以任意设置为输入或输出。除了作为独立的I/O线外,C 口还 经常为A 口、B 口服务,配合A 口、B 口作联络线使用。Al、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0二00时,选择端口 A;为01时,选择端口 B;为1

19、0,选择端口 C;为11时,选择 控制口。2.2.3 8255A工作方式方式0:基本的输入/输出方式。A 口、B 口、C 口都可以工作在些方式下。2.2.4 8255A方式控制字格式表1 82亦方式控制字D7D6、D5D1D332D1D01A 口A 口C 口商4位B【1B 口C 口低4位00方式001方式1lx方式20 输出1 输入0 输出1 输入0方式01方式10 输出1 输入0 输出1 输入2.3可编程定时器/计数器825423 1 8254的内部结构8254采用NMOS工艺制成,有24个引脚,所有输入、输出端均TTL电平兼容,单一电源(VC=+5V)供电,最高计数速率为2. 6MHzo它

20、包括3个计数器(即计数器0、1、2)、数据总路线缓冲器、读/写逻辑以及控制寄存器等4个部分。2.3.2 8254的外部引脚D71 一VccD62WRD53RtD44厉D35MD2017 6253AO CLK2DO8OUT2CLPO9GATE2OUTO10CLK1OATEO11OUT1OND12GATE1图3 8254引脚图Al. AO:地址输入线,用来址8253内部的4个端口,即3个计数器和1个控制字 寄存器与CPU系统地址线相连。CLKO、CLK1:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK可以是系 统的时钟脉冲,也可以山系统时钟分频或者其他脉冲源提供。当用于定时时,这个脉 冲必

21、须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、 断续的、周期不定的。GATEO、GATE1:门控输入端,用于外部控制计数器的启动计数和停止il数的操作。 两个或两个以上计数器连用时,可用此信号同步,也可用于与外部某信号的同步。OUTO、OUT1:计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出相应 的信号。23.3 8254的工作方式方式0:减1计数到0,产生中断请求信号。方式3:减1计数到初值的1/2,方波发生器。23.4 8254方式控制字格式表2 8254方式控制字D7 D6D5 D4D3 D2 D1D000选计数器001选计数器110选计数器200 计

22、数器锁存01 只读写低8位10 先读写高8位11 先读写低8位再读写高8位000 方式0001 方式1X10 方式2XII 方式3100 方式4101 方式50二进制计数1 BCD计数第三章:系统设计3.1硬件设计:根据任务分析与设计原理,对硬件进行了连接设计,具体办法如下:3.1.1各芯片与CPU的连接:8255、8254的数据总线D0、D7端、RD端、WR端分别与CPU的D0D7数据总线、IOR# 端、IOW#端相连;8255A、8253的AO、A1端分别与CPU地址线的Al、A2端相连;8254 的CLK端与系统总线的CLKO端相连,CS端与系统总线的I0Y3端相连;8255的CS端 与

23、系统总线的I0Y1端相连。3.1.2各芯片之间的连接和与外设的连接:8255的A 口的PA0PA7依次接“按键1”、“按键8”, B 口的PB0PB7接到LED显示器abcdefgh端,PC0PC3接到LED显示单元的XIX4端;8254的OUTO接到输出设备扬声器上。具体接线图如下:3.2软件设计:3.2.1程序流程根据设计要求,本课题中8255与8254的控制字应分别为90H与36H。首先为两芯片 设定控制方式。设定好8255、8254的方式控制字后,根据读取8255PA端口的状态值,获取选手的具 体号码,从而转到相应程序,将号码所对应的段码输出到PB端口进行数码管显示。同时 扫描出的PA

24、 口状态之输入8254,调用相应的频率代码与时间代码,经过8254的翻译后传 到扬声器,发出不同的声响。程序流程图如下:误!未指定书签。错误! 未指定书签。错误!未 指定书签。错误!未指 定书签。错误!未指定 书签。错误!未指定书322子程序清单:3.2.2.1芯片8255初始化:PORT.A EQU 0640HPORT_B EQU 0642HPORT_C EQU 0644H;8233控制字A组方式1输入;B组方式0输出C 口输出PORT.CTL EQU 0646HMOV AL, 90HMOV DX, PORT.CTLOUT DX,AL3.2.1.2芯片8254初始化:I0Y0EQU 06C0

25、HMY8254_C0UNT0EQU IOYO+OOHMY8254_COUNT1EQU I0Y0+02HMY8254_COUNT2EQU IOYO+O4HMY8254_MODEEQU I0Y0+06HMOV DX, MY8234_MODEMOV AL, 36H;8254控制字计数器0OUT DX,AL;工作方式方式3读写字3.2.23获取选手号码子程序:在硬件电路中,8255的PA端口连接开关按键,根据读取PA的状态可以判断出按下的是哪个键(按下为高电平),根据进行移位操作,可得出选手的具体号码。MOV DX, PORT_AIN AL, DXCMP AL, OOHJE AA1CMP AL, 01

26、HJE LP1CMP AL, 02H;读取A 口状态(按键状态);无按键按下返回AA1;按键1;按键2JE LP2CMP AL, 04H;按键3JE LP3CMP AL, 08H;按键4JE LP4CMP AL, 10H;按键5JE LP5CMP AL, 20H;按键6JE LP6CMP AL, 40H;按键7JE LP7CMP AL, 80H;按键8JE LP8JMP AA1;返回3.2.2.4数码管显示子程序:根据获取得到选手的号码,跳转相应程序,将段码输出给PB端口。LP1:MOV DX, PORT_B;数码管显示1MOV AL, 06HOUT DX,ALLP2:MOV DX, PORT

27、_B;数码管显示2MOV AL, 5BHOUT DX,ALLP8:LED的管脚dp g、 f、 e 、 d、 c、 b、 a对应的字形111110 1010 1110 0 110 0 11110111110 0 010 0 10 10 00 0 0 010 0 10 0 100 0 1010 0 00 0 0 023456783.225扬声器奏乐程序:3.2.2.5.1奏乐频率、时间表:STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSFREQ_LIST1DW523, 578, 659, 698, 784,-1,0;音符 1、2、3、4、5FREQ_LIS

28、T2DW57& 659, 69& 784, 880,-1, 0;音符 2、3、4、5、6FREQ_LIST3DW659, 69& 784, 880, 98& -1, 0;音符 3、4、5、6、7FREQ_LIST4DW69& 784, 880, 98& 1046,-1, 0;音符 4、5、6、7、1FREQ_LIST5DW784, 880, 988, 1046, 1175, -1,0 ;音符 5、6、7、1、2FREQ_LIST6DW880, 98& 1046, 1175, 1318,-1, 0 ;音符 6、7、1、2、3FREQ_LIST7DW98& 1046, 1175, 131& 139

29、7,-1, 0 ;音符 7、1、2、3、4DATA SEGMENTFREQ_LIST8 DW 1046, 1175, 1318, 1397, 1568, -1, 0;音符 1. 2、3. 4、5TIME.LIST1 DB 3,3 3,2,1, 1,50DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA3.2252奏乐选择调用频率表、时间表、程序:MOV DX, PORT_A;读取A 口状态(按键状态)IN AL, DXCMP AL, OOH;无按键按下返回LP9JE LP9CMP AL, 01H;按键1JE BEGIN1CMP AL, 02H;按键2JE

30、BEGIN2CMP AL, 04H;按键3JE BEGIN3CMP AL, 08H;按键4JE BEGIN4CMP AL, 10H;按键5JE BEGINSCMP AL, 20H;按键6JE BEGIN6CMP AL, 40H;按键7JE BEGIN7CMP AL, 80H;按键8JE BEGIN8BEGIN1:MOVSI, OFFSET FREQ_LIST1;装入频率表起始地址JMPBBBEGIN2:M0VSI, OFFSET FREQ_LIST2;装入频率表起始地址JMP BBBEGIN3:M0VSI, OFFSET FREQLIST3;装入频率表起始地址JMP BBBEGIN4:M0VS

31、I, OFFSET FREQ_LIST4;装入频率表起始地址JMP BBBEGINS:MOVSI, OFFSET FREQ_LIST5;装入频率表起始地址JMP BBBEGIN6:M0VSI, OFFSET FREQ_LIST6;装入频率表起始地址JMP BBBEGIN7:MOV SI, OFFSET FREQ_LIST7JMP BBBEGIN8:M0V SI,OFFSET FREQ_LIST8JMP BBBB:MOV DI,OFFSET TIME.LISTlMOV BL,OOH3.2.2.53音乐演奏程序:PLAY: MOV DX, OFHMOV AX, 4240HDIV WORD PTR

32、SIMOV DX, MY8254_C0UNT0OUT DX,ALMOV AL, AHOUT DX,ALMOV DL,DICALL DALLY;装入频率表起始地址;装入频率表起始地址;装入时间表起始地址;输入时钟为 1MHz, IM 二 0F4240H;取出频率值计算讣数初值,0F4240H /输出频率;装入计数初值;取出演奏相对时间,调用延时子程序ADDSI, 2INCDICMPWORD PTR SI,0JNECCJMPLP9CC:JMPPLAYDALLYPROCDO:MOVCX, 001 OHDI:MOVAX, OFFOHD2:DECAXJNZD2LOOP DIDECDLJNZDORET;判

33、断是否到曲末?涎时子程序PUSH DX第四章:系统实现K按照接线图连接电路,连接、编译无误后载入系统,执行程序。显示器如图一所示,即显示“-2、当向前推动多个按钮后(可故意先推动一个按钮以测试准确性),屏幕显示出抢答成功 者的编号,并奏岀响应音乐,如图二所示。3、当将按钮归位后,试验箱随即恢复图一初始待命状态,实验结束。图一图二第五章:遇到的问题及解决方法遇到的问题1抢答器设计的基本问题,如何实现一名选手抢答成功后,其他选手再抢答时,信号无 效。解决的办法设置了全局变fiMOV BL, 01 o在完成了一次PA组扫描后,如发现PA组有输入(即不全为 0),则执行LP9:MOV DX, PORT

34、_AIN AL, DXCMP BL, 01HJE DELAY2CMP AL, OOHJE DELAY1JMP LP9该段程序即实现了如过PA端有输入(即不全为0),则一直在PL9里循环,不改变其他 数据的功能。遇到的问题2当有选手完成抢答后,播放完音乐后扬声器一直有声响,不能停止,直到PA端没有输 入。解决的办法在每条频率表中倒数笫二位都设置了-1频率系数,该系数在与1MHZ相除后将产生人耳 听不到的频率,由此达到了停止播放的目的。第六章:程序清单PORT_A EQU 0640HPORT_B EQU 0642HPORT_C EQU 0644HPORT_CTL EQU 0646HIOYONfY8

35、254_C0UNT0MY8254_COUNT1N!Y8254_C0UNT2MY8254.M0DEEQU 06C0HEQU IOYO+OOHEQU I0Y0+02HEQU I0Y0+04HEQU I0Y0+06HSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTFREQ_LIST1DW523, 578, 659, 698, 784, -1, 0;音符1、2、3、4、5FREQ_LIST2DW578, 659, 698, 784, 880,-1, 0;音符2、3、4、5、6FREQ_LIST3DW659, 698, 784, 880,

36、988,-1, 0;音符3、4、5、6、7FREQ_LIST4DW698, 784, 880, 988, 1046,-1, 0;音符4、5、6、7、1FREQ_LIST5DW784, 880, 988, 1046, 1175,-1,0;音符5、6、7、i、2FREQ_LIST6DW880, 98& 1046, 1175, 1318,-1, 0;音符6、7、 1、2、3FREQ_LIST7DW98& 1046, 1175, 131& 1397,-1, 0;音符7、1、2、3、4FREQ_LIST8DW1046, 1175, 131& 1397, 156& -1, 0;音符1、2、3、4、5TIM

37、E.LIST1DB3,3 3,2,1, 1,50;节拍DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, MY8254_MODEMOV AL, 36HOUT DX, ALMOV AL, 90HMOV DX, PORT.CTLOUT DX,AL;8254控制字 计数器0读写字;工作方式方式3;8255控制字A组方式1输入;B组方式0输出C 口输出AA1:MOV BL,01HMOV DX, PORT_BMOV AL, 40HOUT DX,ALMOV DX, PORT_AIN AL, DXC

38、MP AL, OOHJE AA1CMP AL, 01HJE LP1CMP AL, 02HJE LP2CMP AL, 04HJE LP3CMP AL, 08HJE LP4CMP AL, 10HJE LP5CMP AL, 20HJE LP6CMP AL, 40HJE LP7CMP AL, 80HJE LP8JMP AA1LP1:MOV DX, PORT_B;数码管显示1跳转LP9;读取A 口状态(按键状态);无按键按下返回AA1;按键1;按键2;按键3;按键4;按键5;按键6;按键7;按键8;返回MOV AL, 06HOUT DX, ALJMP LP9LP2:;数码管显示1跳转LP9MOV DX,

39、 PORT_BMOV AL, 5BHOUT DX, ALJMP LP9LP3:MOV DX, PORT_B;数码管显示1跳转LP9MOV AL, 4FHOUT DX,ALJMP LP9LP4:MOV DX, PORT_B;数码管显示1跳转LP9MOV AL, 66HOUT DX,ALJMP LP9;数码管显示1跳转LP9LP5:MOV DX, PORT_BMOV AL, 6DHOUT DX, ALJMP LP9LP6:MOV DX, PORT_B;数码管显示1跳转LP9MOV AL, 7DHOUT DX, ALJMP LP9;数码管显示1跳转LP9LP7:MOV DX, PORT_BMOV AL, FEHOUT DX,ALJMP LP9LP8:MOV DX, PORT_BMOV AL, 07HOUT DX,ALJMP LP9LP9:MOV DX, PORT_AIN AL, DXCMP BL, 01H;数码管显示1跳转LP9;BL减1,进入声音播放单元JE DELAY2CMP AL, OOHJE DELAY1JMP LP9;读取A 口状态(按键状态);无按键按下返回LP9;按键1;按键2;按键3;按键4;判断PA是否清零(即是否仍有输入):没输入跳入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论