- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(微机原理实习报告带完全汇编源码
目 录
一.实习目的 - 3 -
二、实习内容及要求 - 3 -
三、方案和工作原理说明 - 3 -
四、程序流程图 - 5 -
五、程序源代码及注释 - 6 -
六、电路的连接 - 39 -
七、调试中出现的问题、原因及排除方法 - 39 -
一.实习目的
本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
二.实习内容及要求
1.实习内容
简易电子琴原理:
(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;
(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。
(3) 通过8255的PA口,使G6区的1~7号键由低到高发出1-7的音阶。
2.设计要求
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
掌握汇编语言程序设计的基本方法。
进一步理解各种接口电路的应用。例如8255并行接口。
掌握利用PC机扬声器发出不同频率声音的方法。
理解12864模块的应用。(此为创新添加部分)
三、方案和工作原理说明
1.方案
基于PC计算机的时钟晶振为1.1931816MHz,利用电脑里面的蜂鸣器发出声音。
各音阶标称频率值:/*-------------------------------------------------------------*/
音符: 1 2 3 4 5 6 7
(低音)
对应频率(Hz): 1250 1351 1428 1562 1666 1785 1923
(中音)
对应频率(Hz): 2500 2703 2857 3125 3333 3571 3846
(高音)
对应频率(Hz): 5000 5406 5714 6250 6666 7142 7692
/*-------------------------------------------------------------*/
2.工作原理
8255可编程外围接口芯片共有3个数据端口,在本程序中采用PC.7输出特定频率的音调到蜂鸣器,此时蜂鸣器即可以发出指定的1,2,3,4,5,6,7。通过延时达到计算拍数,此时即可产生一首音乐。
本程序将8255PA口与独立按键相连,通过键盘扫描判断是哪一个按下即执行相应的程序。
12864分左右半屏,左半屏与右半屏工作方式相同。在写左半屏时,分字节写和字写,在读写数据时,需要指定位置,当然在最开始时,需要初始化。此时即可在液晶屏上显示所需的汉字与符号。
3 . 原理图
(1).电子琴
(2).12864液晶显示模块
四、程序流程图
1、程序流程图
否
是
K1按下 K2 K3 K4 K5
否
是
K6 K7 K8
五、程序源代码及注释
.MODEL TINY
C8255 EQU 0F003H
PA8255 EQU 0F000H
PC8255 EQU 0F002H
PB8255 EQU 0F001H
WR_COM_AD_L EQU 0F004H ;写左半屏指令地址
WR_COM_AD_R EQU 0F000H ;写右半屏指令地址
WR_DATA_AD_L EQU 0F006H ;写左半屏数据地址
WR_DATA_AD_R EQU 0F002H ;写右半屏数据地址
RD_BUSY_AD EQU 0F001H ;查忙地址
RD_DATA_AD EQU 0F003H ;读数据地址
X EQU 0B8H ;起始显示行基址
Y EQU 040H ;起始显示列基址
FirstLine EQU 0C0H ;起始显示行
.STACK 300
.DATA
Music1 DW M5,M5,M6,M5,M1,M7,M5,M5,M6,M5,M2,M1,M5,M5
DW M5,M3,M1,M7,M6
Music2 DW M1,M2,M3,M1,M1,M2,M3,M1,M3,M4,M5,M3,M4,M5
DW M5,M6,M5,M4,M3,M1,M5,M6,M5,M4,M3,M1,M1,M5,M1,M1,M5,M
文档评论(0)