单片机原理实.docx
- 文档编号:1670634
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:58
- 大小:833.39KB
单片机原理实.docx
《单片机原理实.docx》由会员分享,可在线阅读,更多相关《单片机原理实.docx(58页珍藏版)》请在冰豆网上搜索。
单片机原理实
单片机原理实验讲义
郭海燕 周小方编
漳州师范学院物理与电子信息工程系
2010年11月
前 言
随着微电子技术的进展,当前各类电子设备中几乎都能见到微操纵器的身影,《单片机原理》课程是电子信息科学与技术、电子信息工程、电气工程及其自动化等本科专业学生的重要专业课,是这些专业学生第一次学习与微操纵器有关的课程,学好本课程内容,把握单片机应用系统程序设计方式,养成良好的设计规范,对学生进一步学习其它功能更强、复杂性更高的微操纵器(或微处置器)有重要意义。
课程要紧讲述51系列单片机的内部结构、指令系统和编程设计方式,是一门实践性很强的课程。
本实验讲义共安排六个实验,别离为:
实验一、单片机集成开发环境入门;
实验二、I/O口输入输出实验――循环灯程序设计;
实验三、I/O口输入输出实验――LED数码管动态显示与按键去抖程序设计;
实验四、按时器应用实验――LED数码动态显示与矩阵键盘赋值程序设计;
实验五、计数器应用实验――基于热敏电阻和555电路的简易温度报警系统设计;
实验六、中断实验――简易温度操纵器设计。
其中实验一是入门实验,为基础性实验,另五个实验为设计性、综合性实验。
围绕“简易温度操纵器”那个实际应用系统的设计的各个环节展开,每一个实验完成最终系统的一个或二个子模块的设计,最终将各模块集成为一个完整系统。
本实验采纳自制实验板,三名学生领用1套实验板和1条下载线,组成讨论小组,以个人电脑为设计平台,利用课外时刻完成设计、仿真和调试等前期工作,在利用课内2课不时刻集中进行点评和设计总结。
五个设计性、综合性实验均采纳“WAVE”集成开发环境完成程序设计、仿真,并最终下载到自制的系统板中运行,其设计、仿真、调试进程与真实的工程设计无异,全方位实践CDIO工程教育理念,突出“构思(Conceive)、设计(design)、实现(implement)”三个重要环节,对提高学生工程创新能力、综合应用所学知识解决实际工程问题的能力有重要作用。
在单片机应用系统设计中,最核心的问题如何构建系统监控程序,最重要的程序设计方式是模块化程序设计法,最重要的系统分析方式是状态及转移分析法。
本讲义的五个设计性实验的设计内容着重突出状态及转移分析法和模块化程序设计法,力图让学生初步成立单片机应用系统程序的宏观结构框架,而只是分纠缠各类算方式程序的微观结构及编程技术。
就前者而言,未能应用系统程序的宏观结构框架,意味着课程教学目标未能达到;就后者而言,成立后者需经长期专业工作的积存,对初学者不能要求太高,且有各类资料可供参考。
目 录
前言
实验一、单片机集成开发环境入门
实验二、I/O口输入输出实验――循环灯程序设计
实验三、I/O口输入输出实验――LED数码管动态显示与按键去抖程序设计
实验四、按时器应用实验――LED数码动态显示与矩阵键盘赋值程序设计
实验五、计数器应用实验――基于热敏电阻和555电路的简易温度报警系统设计
实验六、中断实验――简易温度操纵器设计
附录一、WAVE集成开发环境菜单及其功能说明
附录二、AT89S52实验板硬件原理图
附录三、单片机ISP下载编程软件及USB下载器简介
附录四、“简易温度操纵器”设计项目程序汇总
实验一、单片机集成开发环境入门
一、实验目地
1.把握单片机集成开发软件“WAVE”的开发环境配置。
2.把握单片机集成开发软件“WAVE”的大体功能,了解MCS-51系列单片机应用系统的软件开发进程。
●把握创建工程项目和治理工程项目的方式。
●把握MCS-51系列单片机汇编程序的编辑、编译方式。
●把握MCS-51系列单片机汇编程序的仿真调试方式和观看窗口的利用。
二、实验设备
PC兼容机一台,操作系统为WindowsXP,安装有单片机集成开发软件“WAVE”。
三、实验原理
1.单片机集成开发软件“WAVE”简介
单片机应用程序的设计步骤通常可分为以下几步:
(1)依照单片机应用系统的功能进行算法构思和设计,画出程序流程图;
(2)用单片机汇编语言、C语言或PLM语言(初学者一样应采纳汇编语言)编写源程序;(3)将源程序翻译成单片机可执行的机械码程序,即所谓的目标程序,该进程称为汇编或编译;(4)程序调试,将目标程序下载到目标单片机(即应用系统板中的单片机),运行目标程序,对运行结果进行监控。
若运行结果与预期结果相符,程序正确,调试终止;不然由结果的不同分析算法或程序的可能错误,重复步骤2至4,修改源程序、从头汇编、再调试,直至程序正确。
以上步骤2至4可应用单片机集成开发软件在个人运算机上完成。
“WAVE”是一款功能壮大的单片机集成开发软件,可开发多个系列的单片机应用系统。
该软件要紧功能有:
(1)集成了文本编辑器,可对源程序进行编辑、修改;
(2)集成了汇编器,可对源程序进行汇编,自动查找源程序中的语法错误,并将无语法错误的源程序翻译成目标程序;(3)集成了仿真调试器,可对目标系统进行在线仿真调试,也可在个人运算机上对目标程序进行模拟仿真调试。
在线仿真调试,必需借助硬件仿真器,PC机通过硬件仿真器与目标系统相连,可用PC机监控目标程序的运行,目标单片机内部RAM和特殊功能寄放器的值可实时反馈回PC机。
程序员通过度析目标单片机内部RAM和特殊功能寄放器的值、观测目标程序与单片机应用系统的配合情形,判定系统的软硬件是不是正确。
模拟仿真调试是一种纯软件模拟,它直接利用PC机的资源,在PC机上模拟目标程序的运行,并显示虚拟单片机内部RAM和特殊功能寄放器的值,程序员通过度析虚拟单片机内部RAM和特殊功能寄放器的值仅能判定与硬件无关的那部份软件的正确与否,无法判定单片机应用系统的硬件是不是正确,目标程序与系统硬件是不是匹配。
由于在线仿真调试需要硬件仿真器,设备本钱较高,利用较复杂,无益于普及。
因此,本课程的实验将采纳模拟仿真调试与硬件无关的部份软件(这部份软件所占比例专门大),采纳将目标程序下载到目标系统中实际运行,进行软硬件综合调试。
2.集成开发软件“WAVE”的界面
启动“WAVE”后,集成开发软件的界面如图所示,菜单功能见附录一。
3.单片机应用程序设计及调试方式
以下举例说明51系列单片机应用程序设计及调试的要紧方式,要紧步骤如下:
①创建工程项目,编辑源程序;②汇编或编译;③利用软件模拟器及观看窗口调试程序。
以实现“从口输出1Hz方波”程序为例。
先进行算法设计,若每隔500mS将求反,则口将输出频率为1Hz的方波,程序流图如图和图所示。
为了能在本例中能尽可能多地实践程序调试方式,咱们故意将500mS延时子程序复杂化,采纳二级子程序嵌套,并引入十进制加法运算。
该程序的汇编源程序清单如下
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#60H;初始化
MAIN1:
XRLP1,#01H;求反
ACALLDELAY;调用500mS延时子程序
SJMPMAIN1
DELAY:
MOV30H,#0;500mS延时子程序
DELAY1:
ACALLD10MS;调用10mS延时子程序
MOVA,30H
ADDA,#01H
DAA
MOV30H,A
CJNEA,#50H,DELAY1
RET
D10MS:
MOVR6,#20;延时(2*R7+4)*R6+5=10005机器周期
D10MS1:
MOVR7,#248
NOP
DJNZR7,$
DJNZR6,D10MS1
RET
END
3.1创建工程项目
①成立一个工作文件夹(不妨取为E:
\学号\实验一)用于保留与本例的工程项目有关的各类文件。
②启动WAVE软件,系统将自动打开最近利用过的工程项目,将所有窗口全数关闭。
③编辑源程序,选择菜单[文件|新建文件]功能,显现一个文件名为NONAME1的源程序编辑窗口,在此窗口中输入上述程序,选择菜单[文件|保留文件]或[文件|另存为]功能,将文件保留到工作目录中,文件名自概念,如取为,文件保留后,程序窗口上文件名变成了:
E:
\学号\实验一\。
④成立新的项目,选择菜单[文件|新建项目]功能,自动打开项目名为UNTITLED的项目窗口,并弹出加入模块文件对话框,选择源程序文件,点击打开。
紧接着弹出加入包括文件对话框,因没有需要添加的其它文件,点击取消钮。
再接着弹出保留项目对话框,键入工程项目的名称project,点击保留钮,项目窗口中的项目名称显示为。
注意:
工程项目文件、源程序文件等要保留在同一文件夹中。
⑤设置项目,选择菜单[设置|仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。
由于本课程实验没有利用硬件仿真器,自制实验板的CPU型号为AT89S52,因此在“仿真器”栏中应如下设置仿真器:
在仿真器标签中任意选取仿真器和仿真头,只要所选仿真器和仿真头可仿真的CPU列表中有8032或8732即可,并选择其中一款CPU,然后选中“利用伟福软件模拟器,并设置晶体频率1200000Hz。
在“语言”栏中,由于本课程实验均采纳汇编语言编写程序,因此“编译器选择”选择“伟福汇编器”。
当仿真器设置好后,再次保留项目,完成项目创建。
3.2汇编(或编译)程序
选择菜单[项目|编译]功能或按编译快捷图标,编译你的项目。
在编译进程中,若是源程序有语法错误,将自动弹出信息窗口,显示错误所在行号及错误编号等信息,双击错误信息,能够在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,感动工作文件夹,能够看到文件夹中产生、、三个文件,第1个是源程序的汇编列表文件,可用记事本编辑器打开该文件,解读该文件提供的信息;第2和3个文件是该工程项目的二种格式的目标程序(.bin和.hex格式)。
3.3汇编程序的仿真调试方式和观看窗口的利用
如前所述,模拟仿真调试的方式是在PC机上模拟目标程序的运行,并显示虚拟单片机内部RAM和特殊功能寄放器的值,程序员通过度析虚拟单片机内部RAM和特殊功能寄放器的值仅能判定与硬件无关的那部份软件的正确与否。
经常使用先打开适合的观看窗口,用跟踪、单步、执行到光标处等方式来调试程序。
比如
1打开CPU窗口、数据窗口(DATA窗口)、外设端口,适当调整各窗口位置和大小,如图所示。
图:
WAVE软件工作环境
在主窗口下方的状态栏中显示CPU的当前状态,包括PC、DPTR、ACC、PSW、SP的值及上次程序执行(跟踪、单步、或执行到光标处)的时刻。
在CUP窗口中,第一栏显示每条指令的地址、机械码、反汇编结果、对应的源程序行,若该栏未显示正确指令,可从头编译;第二栏显示SFR及其值,第三栏显示被选中的SFR名位的值,被选中的SFR的名称和值的显示格为立体框样式。
点击跟踪快捷图标,程序转移到“MAIN”标号行,现在在源程序窗口最左侧显现“o”和“=>”符号,其中“o”代表此行为有效程序,此行产生了能够执行的机械码,伪指令不产生机械码;“=>”所指的行(被点亮的行)确实是下次将要执行的程序指令行。
数据窗口逐行显示内部RAM的内容,每行16字节。
端口显示P0、P一、P二、P3的状态,“√”表示高电平(即逻辑1)。
②由于待调试程序仅涉及SFR中的ACC、PSW、SP和RAM中R六、R7、30H单元、堆栈(60H~7FH),为了便于观看这些单元的内容转变,可在CPU窗口中关闭无关的SFR的显示,添加R六、R7、30H单元的显示。
选择菜单[仿真器|设置汇编预概念符号]功能,弹出符号概念对话框;例如要关闭DPL,则双击DPL,将DPL的用途由“预概念符号+SFR窗口显示”改成“预概念符号”,确认修改;例如要添加R6,则点击“添加”钮,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理