微 机 课 程 设 计
题 目
计算机钢琴程序编写
学 院
物信学院
专 业
电子信息工程
班 级
电信班
姓 名
学号
指导教师
.实验目
1掌握利pc机扬声器发出频率声音方法
2学利系统功调键盘读取字符方法
二.实验容
编写程序程序运行时pc机成架弹奏钢琴数字18时者键盘18时次发出1234567i八音调ESC键退出钢琴状态
三.设计思想
1 分析设计课题应82538255芯片通8253定时器装入计数值输出频率波形门开放器放作便驱动扬声器发出频率音调音调声音持续端时间插入端延时程序扬声器切断(关闭门)
外计算机成弹奏钢琴需系统调01H功接收键入字符建立张表键入字符频率构成应关系
键入字符
1
2
3
4
5
6
7
8
音符
1
2
3
4
5
6
7
8(i)
频率值
524
588
660
698
784
880
988
1048
四.设计程
.扬声器驱动分析
该程序驱动电脑板扬声器根音阶音调频率值扬声器发出声音产生想弹钢琴样感觉然音质相提
电路图21示:
8255(PB1)
图21 8253电路连接图
PCXTAT家族中计时器芯片3通道专门功通道2控制计算机扬声器声音频率通道2产生频率信号工作方式方式3计数值6A4H1190方波输出频率119MHz11901KHz信号决定扬声器声调通道2控制字0B6H119M约等十六进制12348CH
图11知8253通道2计数8255APB0控制PB0输出高电时候门GATE2高电时8253通道2允许计数通道2输出方波受PB0控制控制扬声器音调高低通道2输出否扬声器产生持续控制取决8255APB1PB10时OUT2通门反通门控制扬声器扬声器发音时间长短取决8255APB1信号外CPU通8255AC口知5283通道2状态扬声器驱动器状态
知需扬声器正常发声需82538255A协工作8253控制字书查43H面程序初始化8253
MOV AL 10110110B
OUT 43HAL
通道2端口址42HN值般计算出255需字写入 8253八位数线字写入需两次般N值直接AX然通面程序完成
OUT 42HAL
MOV ALAH
OUT 42HAL
8255A控制8253扬声器PB0PB1时高调扬声器开8255A控制扬声器控制书知8255AB口址61H通面程序实现扬声器开关
IN AL61H
OR AL3 保证PB0PB1时高电
OUT 61HAL 开扬声器
MOV ALAH
AND AL0FCH 保证PB0PB1时低电
OUT 61HAL 关闭扬声器
二.发声时间
通8255A扬声器开关闭8253正常工作扬声器会直发声需发声时间长需写延时子程序利LOOP跳转指令双循环程序根指令时间次LOOP循环次跳转指令跳转次数想延时时间子程序循环完毕扬声器关闭延时子程序时间长短发声时间长短
三.设计流程图
键盘接收字符符
键盘接收字符
取字符偏移址
计算相应计数初值N
初始化8253
初始化8253
8255扬声器
发声程序
退出程序
四.源程序
DATA SEGMENT
F1 DW 5245886606987848809881048
DATA ENDS
CODE SEGMENT
ASSUME CSCODEDSDATA
HHH PROC NEAR 延时子程序
MOV DX08FFH
MOV CX0FFFFH
YYY
LOOP YYY
DEC DX
JNZ YYY
RET
HHH ENDP
START
MOV AXDATA 送数段址
MOV DSAX
XXX
MOV AH1H
INT 21H 读入键值放入AL中
CMP AL'1'
JB OVER 1跳转OVER
CMP AL'8'
JA OVER 8跳转OVER判断键入值否1~8
SUB AL31H 键入值ASCⅡ码减31H键入值F1中位置
MOV BL2
MUL BL 执行SUB指令MUL指令输入音符应频率首偏移址放入AX中
MOV AH0
MOV SIAX 输入音符应频率首偏移址放入SI中
MOV BXF1[SI] 输入音符频率放入BX中
MOV AX0000H 输入8254时钟频率低位放入AX中
MOV DX0012H 输入8254时钟频率高位放入DX中
DIV BX 8254计数初值放入AX中
MOV BXAX
MOV DX43H 控制口址43H传送DX寄存器
MOV AL10110110B 8253控制字:通道2先写入低字节写入高字节
方式3二进制计数
OUT DXAL 写入控制字
MOV ALBL 计数初值低字节AL
OUT 42HAL 写入低字节
MOV ALBH 计数初值低字节AL
OUT 42HAL 写入高字节
IN AL61H 读入8255A端口B容
MOV AHAL 保护B口原状态
OR AL03H PB0 PB1均1开门
OUT 61HAL 接通扬声器发声
CALL HHH CALL指令调HHH
JMP XXX 条件跳转XXX
OVER
MOV AH4CH
INT 21H
CODE ENDS
END START
五.心体会
次课程设计收获颇然刚开始编程时头雾水网查阅相关资料弄清楚设计原理操作起手学期微机原理学微机原理知识初步解掌握次课程设计作理基础准备
然第次做设计相次模拟电路课程设计觉进步少第次茫然知措次序步步规律进行通次设计掌握课程设计基技时锻炼查找资料认识新知识解新知识基力学会样解决面问题中吸取教训觉次设计重程结果重认真做设计步骤结果然出关键提高解决问题力运理知识力接受新事物新知识力
总通次课程设计微机原理理知识更深理解掌握时更灵活应种芯片外明白团队合作重性家互相帮忙互相讲解令受益匪浅
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档