实验四 扬声器程序设计
更新时间:2023-10-03 09:57:01 阅读量: 综合文库 文档下载
- 实验四小推荐度:
- 相关推荐
实验四 扬声器程序设计
实验目的:
1.掌握8253的工作原理及其应用编程。 2.掌握8255的工作原理及其应用编程。 实验步骤:
1.扬声器控制原理
PC的扬声器以计数器2为核心。计数器8255的CLK2的输入频率为1.193182 MHz,工作于方式3,改变计数器初值可以由得到不同频率的方波输出。
fCLK2频率:1.193182*1000000=12 34DE H
若要使扬声器输出600Hz频率信号,则8253计数初值为1938。 对于600 Hz,N=计数初值=1193182/600=1938。 对于1000 Hz,N=计数初值=1193182/1000=1193。
改变8253的输出频率,即可改变扬声器输出声频信号频率。 扬声器受8255A芯片B口的两个输出端线控制,PB0=1,即GATE2=1,计数器2正常计数; PB1=1,打开输出控制门,扬声器工作。8255工作于方式0输出。 2.编辑
利用编辑器(记事本,也可采用其它编辑器)建立一个名为ASM4.ASM的文本文件,内容如下:
ASSUME CS:seg2,DS:seg1 seg1 SEGMENT pstart DB 'Program start.',0DH,0AH,'$' pend DB 'Program will end when input' DB 27H,'ESC',27H,'.',0DH,0AH,'$' sec DB 10 seg1 ENDS seg2 SEGMENT start: MOV AX,seg1
MOV DS,AX MOV DX,OFFSET pstart MOV AH,09H INT 21H
MOV DX,OFFSET pend MOV AH,09H INT 21H
;--------------键盘控制------------------- wait1: MOV AH,01H ;输入一个字符=AL,DOS系统功能调用
INT 21H CMP AL,1BH ;是否ESC键 JE keyESC CMP AL, 'a' ;是a键? JE keya ;a键处理,初始化定时器8253 CMP AL,'b' JE keyb ;b开启扬声器 CMP AL,'c' JE keyc ;c关启扬声器 CMP AL,'d' JE keyd ;d启动定时器 CMP AL, 'e' JE keye ;e停止定时器 JMP wait1
;-----‘a’键处理,定时器8253通道2初始化,将频率转为计数初值-------- keya: MOV AL,10110110B ;设定时器工作方式,方式3
OUT 43H,AL ;送8253的控制端口43H MOV DX,0012H ;输入频率送DX,AX MOV AX,34DEH MOV DI,1000 ;将频率1000Hz转换为计数初值 DIV DI ;计数初值在AX中 OUT 42H,AL ;计数初值送定时器2,即送42H端口 MOV AL,AH OUT 42H,AL ;输出频率为1000HZ信号 JMP wait1
;------‘b’键处理,并行接口8255,扬声器开启控制-------------- keyb: IN AL,61H ;读8255PB口
OR AL,00000010B ; 并行接口8255,使得PB1=1 OUT 61H,AL ;置PB1=1,开扬声器 JMP wait1
;------‘c’键处理,扬声器关闭控制---------------------------- keyc: IN AL,61H
AND AL,11111101B ; 并行接口8255,PB1=0,关扬声器
OUT 61H,AL JMP wait1
;-------‘d’键处理,定时器开启控制--------------------------- keyd: IN AL,61H
OR AL,00000001B ; 并行接口8255,启动定时器2,GATE=PB0=1 OUT 61H,AL JMP wait1
;------‘e’键处理,定时器关闭控制---------------------------- keye: IN AL,61H
AND AL,11111110B ; 并行接口8255,停止定时器2,GATE=PB0=0 OUT 61H,AL JMP wait1
;------‘ESC’键处理,退出系统-------------------------------- keyESC: MOV AH,4CH
INT 21H seg2 ENDS
END start 2.运行
经过汇编和链接后,运行程序并记录运行过程。 3.调试
利用DEBUG命令载入程序。
利用DEBUG命令单步运行,观察并记录61H端口变化产生的影响。 利用DEBUG命令单步运行,观察并记录42H端口变化产生的影响。 4.编写电子琴程序
要求程序能响应三个键,每个键对应不同频率的声音,按下发声,松开静音。 调试通过。 预习: 1. 学习发声原理。 2. 按要求编写程序。 实验报告要求: 1. 根据步骤4中的要求,画出流程图并写出源程序。 2. 记录调试的操作及其结果。 3. 回答以下问题:
程序中keya部分的作用是什么?计算8253的输出频率是多少?如果要求用BCD码计数,应该怎么改写程序。
程序中keyb、keyc、keyd、keye部分的作用是什么? 按键的先后顺序对程序运行有何影响?
正在阅读:
实验四 扬声器程序设计10-03
2014年考研上海外国语大学企管836管理学真题(回忆版)03-12
110kv变电站设计论文 - 图文10-28
2018-2019家乡的变化作文500字以上word版本(4页)11-29
自然地理环境的整体性和差异性试题汇编(2014届教师版)(AAAAA)08-05
税在心中作文600字07-14
美国火星探测器将出发寻找火星生命迹象07-18
图书馆管理系统03-10
10kv及以下客户供用工程典型设计方案 - secret07-10
基于QtWebkit的嵌入式bs架构设计05-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 扬声器
- 程序设计
- 实验
- 抓好交通专业保障队伍建设
- 百科知识竞赛题库汇总
- 关于在全市团组织和团干部中深入开展“青春零距离”团干部大走访活动的通知
- 项目制的分级运作机制和治理逻对项目进村案例的社会学分析
- 浙江大学宁波理工学院教务处
- hypermesh柔性体教程(altair教程)
- 食品发酵与酿造工艺学
- 安全生产责任制
- 对当前公安民警违法违纪问题的几点思考
- 第9 章《电磁感应 电磁场理论》复习思考题
- 撤伙协议书
- 0416-1开工至2015年9月25日物资核销报告1.23(尾水最终)
- 关于规范公司非正式公文写作格式的通知
- 小学一年级课外经典阅读系列-古诗阅读(一年级上册)分析
- 2019-2025年中国及全球建筑机器人行业市场发展战略分析及投资前景专项预测报告
- 混合碱习题答案
- 2016济南思品中考试卷
- 六大系统标准
- 《女职工劳动保护特别规定》知识竞赛试题(附答案)
- 自动控制原理MATLAB仿真实验报告20150118