




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机系统与汇编语言课程设计(题目)姓名 班级 学号 2013/12/26 内容要求:一设计内容设计并实现随音乐伴奏而按某种规律显示的彩灯。二. 设计要求用实验箱上的8253控制扬声器发声,演唱3首不同的歌曲。通过实验箱上的8255A驱动二极管发光。发光二极管的闪烁以音调的不同而不同通过中断信号选择歌曲。 三. 总体设计1. 设计思路: 1本次实验应用了8254,8255,8259芯片组 28254用于计数和连接扬声器,用计数器1实现音乐播放的控制,方式3。提供因每个音符频率不同而产生的音乐输出,片选信号接到系统总线的IOY2(端口地址为0680) 38255A驱动二极管发光,伴随音乐而变换。用B口作输出,片选信号接到系统总线的IOY0(端口地址为0600H) 48259采用级联方式,提供中断控制歌曲的切换,主片的中断类型号为68H,接MIR7.从片中断类型号为70H,接SIR1 。每按一次MIR7或SIR1,切换一首歌。 5共有三首歌,0-友谊地久天长,1-祝你生日快乐,2-两只老虎,从第一首开始播放,然后判断有无中断,没有就继续播,有就判断计数器的值,大于等于3就重置为0(第一首),否则就用计数器的值找下一首要播放的歌曲的频率表、时间表、彩灯的控制表,然后取出播放新的音乐。2. 硬件连接图我的改为片选CS接IOY2,用的计数器1,即把GATE0、CLK0、OUT0改为GATE1、CLK1、OUT1我的片选信号CS接到IOY0,用的B口输出,即把PA0-PA7改为PB0-PB73. 软件流程图4.4. 程序代码IOY0 EQU 0600H IOY2 EQU 0680HMY8254_COUNT0 EQU IOY2+00H;8254 计数器 0 端口地址MY8254_COUNT1 EQU IOY2+02H;8254 计数器 1 端口地址MY8254_COUNT2 EQU IOY2+04H;8254 计数器 2 端口地址MY8254_MODEEQU IOY2+06H;8254 控制寄存器端口地址MY8259_ICWEQU 20H;MY8255_AEQU 0600HMY8255_BEQU 0602HMY8255_CONEQU 0606HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSDATASEGMENTCOUNTSONGDB 0INT_FLAG DB 0FREQ_LIST DW FREQ_ONETIME_LIST DW TIME_ONEFREQ_ONEDW 393,393,441,393,525,495 ;频率表 DW 393,393,441,393,589,525 DW 393,393,786,661,525,495,441 DW 350,350,661,525,589,525,0 TIME_ONEDB 4,2,5,5,5,10 ;时间表 DB 3,2,5,5,5,10 DB 2,4,5,5,5,3,3 DB 4,1,5,5,5,10 LED_ONEDB 25,23,03,44,75,26,07,08,19DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29DB 01,62,03,34,25,06,67,28,09DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34FREQ_SEC DW 262,294,330,262,262,294,330,262 ;频率表 DW 330,350,393,330,350,393,393,441,393,350,330,262 DW 393,441,393,350,330,262,262,393,262,262,393,0 TIME_SEC DB 6, 6, 6, 6, 6, 6, 6, 6 ;时间表 DB 6, 6, 12, 6, 6, 12, 4, 2, 4, 2, 6, 6 DB 4, 2, 4, 2, 6, 6,6, 6, 12,6, 6, 12LED_SEC DB 01,62,03,34,25,06,67,28,09DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34DB 25,23,03,44,75,26,07,08,19DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29FREQ_THIRDDW 371,495,495,495,624,556,495,556,624 ;频率表DW 495,495,624,742,833,833,833,742,624DW 624,495,556,495,556,624,495,416,416,371DW 495,833,742,624,624,495,556,495,556,833DW 742,624,624,742,833,990,742,624,624,495DW 556,495,556,624,495,416,416,371,495,0TIME_THIRDDB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表DB 6, 2, 4, 4, 12, 1, 3, 6, 2DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 6, 2, 4, 4, 12LED_THIRD DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29DB 01,62,03,34,25,06,67,28,09DB 25,23,03,44,75,26,07,08,19DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34SING_FREQ DW FREQ_ONE,FREQ_SEC,FREQ_THIRDSING_TIME DW TIME_ONE,TIME_SEC,TIME_THIRDLED_TAB DW LED_ONE,LED_SEC,LED_THIRD DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX, 0000HMOV DS, AX;MIR7MOV AX, OFFSET MIR7 ;取中断入口地址MOV SI, 006FH*4 ;中断矢量地址,低位存偏移地址MOV SI, AX ;填 IRQ7 的偏移矢量MOV AX, CS ;段地址MOV SI, 006FH*4+2 ;高位存段地址MOV SI, AX ;填 IRQ7 的段地址矢量;SIR1MOV AX, OFFSET SIR1 MOV SI, 71H*4MOV SI, AX MOV AX, CS MOV SI, 71H*4+2 MOV SI, AX CLI;中断允许标志置0POP DS;初始化主片 8259MOV AL, 11HOUT 20H, AL ;ICW1,11H=0001 0001,IRx为上升沿触发,多片8259级联,需要ICW4MOV AL, 68HOUT 21H, AL ;ICW2,68H=0110 1000,程序设定的中断类型码的高5位内容为01101,中断源为?MOV AL, 04HOUT 21H, AL ;ICW3仅用于8259的级联方式,04H=0000 0100,IR2上接有从片8259MOV AL, 05HOUT 21H, AL ;ICW4,01H=0000 0101,优先级管理采用正常的完全嵌套方式,非缓冲方式,作为从片,非自动中断结束方式MOV AL, 6BH OUT 21H, AL;OCW1 用来设置中断源的屏蔽状态,6BH=0110 1011,IR4和IR7没被屏蔽,主片IR2不屏蔽;初始化从片MOV AL, 11H OUT 0A0H, AL ;ICW1 MOV AL, 70H OUT 0A1H, AL ;ICW2 MOV AL, 02H OUT 0A1H, AL ;ICW3 MOV AL, 01H OUT 0A1H, AL ;ICW4 MOV AL, 0FDH OUT 0A1H,AL ;OCW1=1111 1101 从片IR1不被屏蔽STI;中断允许标志置1;初始化8254MOV DX,MY8254_MODE;初始化8254工作方式MOVAL,76H;0011 0110设置定时器1,先读写低8位,后读写高8位,工作方式3,软硬件启动OUTDX,AL;初始化8255MOV DX, MY8255_CON ;初始化 8255 工作方式MOV AL, 80H;1000 0000 B口工作在方式0,做输出 OUT DX, ALMOV AX,DATAMOV DS,AXAA1: NOP JMP PLAY1 ;CALL BEGINJMP AA1 ;子程序功能MIR7: PUSH AX MOV INT_FLAG,0FFH INC COUNTSONG;增量加(加1)CMP COUNTSONG,3 ;比较JC RETT;条件转移,有进位(借位)转移MOV COUNTSONG,0;大于等于3时,从第0首歌开始唱SIR1: PUSH AX MOV INT_FLAG,0FFH INC COUNTSONG;增量加(加1)CMP COUNTSONG,3 ;比较JC RETT;条件转移,有进位(借位)转移MOV COUNTSONG,0;大于等于3时,从第0首歌开始唱;-是那首歌就唱哪首歌-RETT: MOV AH,1MOV AL,COUNTSONG;-OR AL,30HINT 10H MOV AL, 20H ;-OUT 20H, AL ;中断结束命令OUT 0A0H,ALPOP AXIRET ;-使程序顺序执行-PLAY1: XOR BX,BX MOV BL,COUNTSONG SHL BX,1 MOV BP,BX MOV SI,DS:SING_FREQ MOV DI,DS:SING_TIME MOV BX,DS:LED_TAB;MOV BX,DS:LED_TABBP; MOV SI,SING_FREQ; MOV DI,SING_TIME ;响应中断SONG1: CMP INT_FLAG,0H JZ PLAY MOV INT_FLAG,0H XOR BX,BX MOV BL,COUNTSONG SHL BX,1 MOV BP,BX MOV SI,DS:SING_FREQBP MOV DI,DS:SING_TIMEBP MOV BX,DS:LED_TABBP ; MOV BX,DS:LED_TABBP;-; ;CMP INT_FLAG,0H ; JZ SONG0 ; MOV INT_FLAG,0H ;XOR BX,BX ; MOV BL,COUNTSONG ; ADD BX,OFFSET SING_FREQ ;MOV SI,BX ; ADD BX,OFFSET SING_TIME ; MOV DI,BX PLAY: ;输入时钟为 1MHz,1M = 0F4240HMOV AX,4240H MOV DX,0FHDIV WORD PTR SI MOV DX,MY8254_COUNT1OUT DX,AL;装入计数初值MOV AL,AHOUT DX,ALMOV DL,DI;取出演奏相对时间,调用延时子程序CALL DALLYMOV AX,BXMOV DX,MY8255_B OUT DX,AL ;从B口 输出音符到LED ADD SI,2INC DIINC BX;POP BXCMP WORD PTR SI,0;判断是否到曲末?JE PLAY1JMP SONG1;MOV DI,OFFSET TIME_LIST;装入时间表起始地址DALLYPROC;延时子程序D0:MOV CX,0010HD1:MOV AX,0F00HD2:DEC AXJNZ D2LOOP D1DEC DLJNZ D0RETDALLYENDP CODE ENDSEND START四. 心得体会通过课程设计我对8259A、8254、8255等芯片有了更深刻的认识。对于实验中用到的8255,8254,8259等芯片都有了较为深刻的认识,知道了如何使用这几个芯片,对于它们的初始化,赋初值,写命令字都有了较为熟悉的了解,对于8254,8055的端口地址以及命令字格式都已经差不多记下来了,使用8253芯片,主要是用来得到我们需要的音乐频率,8255工作方式控制字用来设定A、B 口和C口的数据传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机应用基础考试题库附答案详解
- 2025年护士执业资格考试真题及答案
- 慢性膀胱炎合并神经源性膀胱护理查房
- 阿坝藏族羌族自治州2024-2025学年八年级下学期语文月考模拟试卷
- 安徽省安庆市望江县2023-2024学年高二上学期期末考试化学考题及答案
- 2025 年小升初武汉市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 2025 年小升初哈尔滨市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 第一章 三角形的初步知识 过关检测试卷(含答案)2025-2026学年浙教版2024 数学八年级上册
- 资金垫付合同范本
- 源画摄影合同范本
- KET教学课件新版
- 《人类行为与社会环境》课件
- 头位难产识别和处理
- (完整版)文献调研报告模板
- CS4000高级过程控制实验装置设备操作说明书
- 《透视灵魂看人生》-曾仕强
- 浅谈新课标下的高中英语教学
- 企业安全标准化班组建设PPT课件
- 超长混凝土结构温度应力分析
- 金沙县网约车从业资格考试模拟试卷
- T∕ACSC 01-2022 辅助生殖医学中心建设标准(高清最新版)
评论
0/150
提交评论