单片机原理与应用课程实验和课程设计指导书版.docx
- 文档编号:1841669
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:22
- 大小:803.93KB
单片机原理与应用课程实验和课程设计指导书版.docx
《单片机原理与应用课程实验和课程设计指导书版.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程实验和课程设计指导书版.docx(22页珍藏版)》请在冰豆网上搜索。
单片机原理与应用课程实验和课程设计指导书版
单片机原理及应用
实验和课程设计
指导书
徐春辉陈忠斌主编
华东交通大学电气与电子工程学院
二0一七年九月
前言
单片机的高可靠性、超小型、低价格、容易产品化等特点,使得其在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,得到了十分广泛的应用。
《单片机原理及应用》课程成为众多工科专业的一门重要的学科基础课。
为配合《单片机原理及应用》课程的教学,编写了本实验和课程设计指导书。
作为高校教学的主力单片机,51系列单片机尽管仍在发挥巨大的作用,但教学方法和实验手段已发生了一些重要的变化。
一个是大量采用C语言进行教学,强调单片机学习的高效性,通用性和实用性。
二是大量采用仿真软件,对单片机的整个开发过程进行前期的仿真设计,在仿真中发现和解决大量可能在产品实际开发中可能出现的问题。
强调硬件与软件的统一,降低开发成本。
这其中以英国了Labcenter公司推出的PROTEUS的软件功能最为强大,在全世界都得到了广泛的应用。
目前,国内的很多高校的单片机教学也大量采用PROTEUS软件,这已经成为单片机教学改革的一个很重要的方面。
本实验指导书正是顺应这一教学改革的潮流,充分利用单片机软硬件仿真软件KeilC和PROTEUS,针对教学中的难点和重点,设计了一系列的实验,使得学生既可以在实验室里也可以在安装了相关软件的自有计算机上完成这些实验,这就增加了学生学习的兴趣和主动性。
除此而外,本实验指导书还设计了利用单片机开发板对单片机实验系统进行实时调试的实验,使学生的开发能力得到全面锻炼。
最后,在为期1周的课程设计时间里,利用这些开发工具完成一个完整的单片机系统的设计与调试,使学生的单片机实际应用能力得到一个有效的提高。
本实验及课程设计指导书由电气学院单片机教研组徐春辉、陈忠斌、章海亮、李宋、张永贤等老师编写。
由于时间仓促,加上编者学识有限,如有不妥之处,欢迎读者批评指正。
编者
2017年9月
前言---------------------------------------------
(1)
第1章实验指导书----------------------------------(3)
1.1实验1汇编语言简单试验---KeilC51的使用----------------(3)
1.2实验2汇编语言实验----二进制到BCD转换------------------(6)
1.3实验3I/O口实验---流水灯-------------------------(8)
1.4实验4串口数据发送实验---------------------------(13)
1.5实验5数字电压表---A/D转换器应用实验------------------------(16)
第2章课程设计指导书-----------------------------(20)
附录A-------------------------------------------(22)
附录B-------------------------------------------(30)
参考文献-----------------------------------------(34)
第1章实验指导书
《单片机原理及应用》是一门实践性很强的课程,必须通过大量的实践才能真正掌握单片机的原理和应用技术。
所以,希望每位同学都能认真对待单片机实验课,认真完成实验安排的任务。
要求同学做到如下几点实验须知:
1.实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。
2.在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。
3.不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。
4.按规定认真完成实验报告,对实验中出现的现象进行分析,在规定的时间内上交实验报告。
1.1实验1KeilC软件学习与操作实践
1.实验目的
熟悉KeilC51集成开发环境的使用方法,初步掌握KeilC51基本的操作和使用,能够输入、编译和仿真调试简单的程序。
2.实验内容
在KeilC51集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在KeilC51集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作。
3.实验设备
安装KeilC51的计算机一台。
4.实验步骤(参考文献1第11章)
(1)建立一个工程项目选择芯片确定选项。
执行KeilC51软件的菜单“Project|NewProject…”,弹出一个名为“CreateNewProject”的对话框。
先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。
如图1-1所示,紧接着,KeilC51提示您选择CPU器件。
在这里可以选择Atmel公司的AT89S52。
图1-1KeilC51工程的建立
(2)编写(或加入)汇编源文件或C源文件,并添加到工程中。
执行菜单“File|New…”,出现一个名为“Textn”(其中n表示序号)的文档。
如图1-2所示。
图1-2源文件的添加
执行菜单“File|Save”,弹出一个名为“SaveAs”的对话框。
将文件名改为你事先起好的名称,如:
led.asm然后保存。
注意:
扩展名“.ASM或.c”不可省略。
单击KeilC51软件左边项目工作窗口“Target1”上的“+”,将其展开。
然后右击“SourceGroup1”文件夹,会弹出如图1.7所示的选择菜单。
单击其中的“AddFilestoGroup'SourceGroup1'”项,将源程序文件添加到工程中。
然后编写如下程序源文件,并再次保存。
ORG0000H
MAIN:
CLRP1.0;
(1)点亮LED
MOV30H,#255
LCALLDELAY;
(2)调用延时子程序
SETBP1.0;(3)熄灭LED
MOV30H,#200
LCALLDELAY;(4)调用延时子程序
AJMPMAIN;(5)返回MAIN处执行
DELAY:
MOVR7,30H;(6)延时程序
D1:
MOVR6,#250;(7)
D2:
DJNZR6,D2;(8)R6存放内循环次数
DJNZR7,D1;(9)R7存放外循环次数
RET;(10)
END
(3)设置参数
单击“Project”菜单“Option…”选项(可能需要选择两次),在“Output”标签页,选中“CreateHEXFile”项,然后“确定”。
其他参数的设置可参考相关教材。
(4)编译源程序
单击工具栏的按钮“”编译当前源程序。
编译结果会显示在输出窗口内。
如果是“0Error(s),0Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了)。
如果存在错误或警告,请仔细检查您的程序。
修改后,再编译,直到通过为止。
编译后的结果会生成HEX格式的程序文件“LedFlash.hex”。
(5)编译连接通过后进行软件模拟仿真。
直接点击工具栏红色的“”图标。
进入仿真状态。
执行菜单“Peripherals|I/O-Ports|Port1”,弹出P1端口的界面,如图1-3。
在位0~7中,用√表示高电平,无√表示低电平。
图1-3仿真I/O端口
点击工具栏“”图标,进行全速运行,观察P1.0口电平的变化。
点击停止运行“”,再点击单步进入“”,单步运行程序,观察观察P1.0口电平的变化。
设置/清除断点“”:
在程序的中设置断点,(如在CLRP1.0和SETBP1.0语句前加入断点),再多次点击工具栏“”图标,进行全速运行,每次遇到断点,程序会停止运行,可观察P1.0口电平的变化。
单击工具栏的“”图标,将显示出存储器窗口,可在存储器窗口中观察某一具体位置的内容,如;30H中的内容。
(6)编译连接通过后如果有硬件装置,可将程序下载到单片机中,使程序在硬件进行实际运行,观察运行结果。
5.实验思考题
(1)试编写把片内RAM50H~59H单元清零的程序。
(2)试编写把片内RAM50H~59H单元写入“01H”的程序
1.2实验2程序调试实践----BCD到二进制转换
1.实验目的
掌握简单的数值转换算法。
了解数值的各种表达方法。
熟练掌握KeilC51集成开发环境的使用。
2.实验内容
把3位BCD码转换为二进制数,设3位BCD码最大为255。
(参考文献1第68页)
在KeilC51集成开发环境完成程序的编译和仿真,通过单步运行、并同时使用“View”菜单下的“MemoryWindows”查看存储器内部的值,仿真、查看程序运行结果。
3.实验设备
安装KeilC51的计算机一台。
4.参考程序框图
在加上个位数,将其保存
图1-4单字节二进制数转换成非压缩BCD码框图
5.参考程序:
说明:
待转换的BCD码为123,分别放在09H和08H中,转换结果放在0AH中。
ORG0000H
SJMPMAIN
ORG0030H
MAIN:
MOV08H,#23H
MOV09H,#01H
MOVR1,08H
MOVR0,09H
MOVA,#00H
CJNER0,#00H,LOOP1
SJMPLOOP2
LOOP1:
ADDA,#64H
DJNZR0,LOOP1
LOOP2:
MOVR2,A
MOVA,R1
ANLA,#0F0H
SWAPA
MOVR0,A
MOVA,R2
CJNER0,#00H,LOOP3
SJMPLOOP4
LOOP3:
ADDA,#0AH
DJNZR0,LOOP3
LOOP4:
MOVR2,A
MOVA,R1
ANLA,#0FH
ADDA,R2
MOV0AH,A
END
6.实验思考题
(1)试编写查表程序程序。
(2)试编写二进制数转换成BCD码的程序
(3)试编写二进制到ASCII码转换的程序
1.3实验3Proteus软件学习与单片机I/O接口应用实验
1.实验目的
掌握AT89S51单片机输入/输出端口的使用方法。
掌握PROTEUS软件的使用方法。
2.实验内容
使用Proteus画出硬件电路图,如图1-5所示,单片机的P1口接8个LED发光二极管,试编写程序实现8个发光二极管循环点亮,即实现发光二极管组成的流水灯控制,鼓励用多种编程方法实现流水灯控制的编程。
利用Proteus硬件仿真功能,完成流水灯的仿真运行。
3.实验设备:
安装PROTEUS软件的计算机一台。
图1-5流水灯硬件电路图
4.参考程序框图
图1-6程序参考流程图
5.参考程序见参考文献1第83页。
6.实验步骤:
(参考文献1附录B)
(1)新建设计文件
执行Proteus软件的菜单“File---NewDesign”,选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课程 实验 课程设计 指导书