单片机实验报告.docx
- 文档编号:2295270
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:31
- 大小:1.70MB
单片机实验报告.docx
《单片机实验报告.docx》由会员分享,可在线阅读,更多相关《单片机实验报告.docx(31页珍藏版)》请在冰豆网上搜索。
单片机实验报告
本科生实验报告
实验课程单片机原理及应用
学院名称核技术与自动化工程学院
专业名称电气工程及其自动化
学生姓名
学生学号
指导教师任家富
实验地点6C902
实验成绩
二〇一五年三月二〇一五年六月
单片机最小系统设计及应用
摘要
目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。
因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。
通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。
进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。
实现了单片机的各个程序的各个功能。
对仿真软件keil的应用提升了一个新的高度。
单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。
通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。
关键词:
单片机;智能;最小系统;ADC;RS232;显示;STC89C52
第1章概述
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
第2章实验内容
2.1单片机集成开发环境应用
2.1.1实验目的
1、集成开发环境Keil介绍及开发流程
1)建立您的第一个项目
点击Project菜单,选择弹出的下拉式菜单中的NewProject,如图1-2。
接着弹出一个标准Windows文件对话窗口,如图1-3,用法技巧也不是这里要说的,以后的章节中出现类似情况将不再说明。
在“文件名”中输入您的第一个C程序项目名称,这里我们用“test”,这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。
“保存”后的文件扩展名为uv2,这是KEILuVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。
2)选择所要的单片机
选择所要的单片机,这里我们选择常用的Ateml公司的AT89C51。
此时屏幕如图1-4所示。
AT89C51有什么功能、特点呢?
请看图中右边有简单的介绍,是英文的。
稍后的章节会作较详细的介绍。
完成上面步骤后,我们就可以进行程序的编写了。
3)在项目中创建新的程序文件或加入已经存在的程序文件
首先我们要在项目中创建新的程序文件或加入已经存在的程序文件。
如果您没有现成的程序,那么就要新建一个程序文件。
在KEIL中有一些程序的Demo,在这里我们还是以一个C程序为例介绍如何新建一个C程序和如何加到您的第一个项目中吧。
点击新建文件的快捷按钮,在2中出现一个新的文字编辑窗口。
4)如果没有已经存在的程序文件,新建、保存
点击图1-5中的3保存新建的程序,也可以用菜单File-Save或快捷键CTRL+S进行保存。
因是新文件所以保存时会弹出类似图1-3的文件操作窗口,我们把第一个程序命名为test1.c,保存在项目所在的目录中,这时您会发现程序单词有了不同的颜色,说明KEIL的C语法检查生效了。
如图1-6鼠标在屏幕左边的SourceGroup1文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。
我们选“AddFiletoGroup‘SourceGroup1’”弹出文件窗口,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件已加到项目中了。
这时在SourceGroup1文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。
5)编译调试
C程序文件已被我们加到了项目中了,下面就剩下编译运行了。
这个项目我们只是用做学习新建程序项目和编译运行仿真的基本方法,所以使用软件默认的编译设置,它不会生成用于芯片烧写的HEX文件。
要生成用于芯片烧写的HEX文件,应进行如下设置:
在CreatHEXFile前打选择。
如果先前编译过一次之后文件没有做动编辑改动,这时再点击是不会再次重新编译的。
3是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动。
在3右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。
5是菜单中的它们,我个人就不习惯用它了。
嘿嘿,这个项目只有一个文件,您按1.2.3中的一个都可以编译。
在4中可以看到编译的错误信息和使用的系统资源情况等,以后我们就依靠它来进行查错。
6是有一个小放大镜的按钮,这就是开启\关闭调试模式的按钮,它也存在于菜单Debug-Start\StopDebugSession,快捷键为Ctrl+F5
6)调试、生成HEX文件
进入调试模式,软件窗口样式大致如图1-8所示。
图中1为运行,当程序处于停止状态时才有效,2为停止,程序处于运行状态时才有效。
3是复位,模拟芯片的复位,程序回到最开头处执行。
3、下载到单片机的内部运行
1)用KEIL生成的HEX文件
步骤:
①点击Project菜单,选择弹出的下拉式菜单中的NewProject。
②选择所要的单片机,如选择常用的Ateml公司的AT89C51。
③在项目中创建新的程序文件或加入已经存在的程序文件。
④如果没有已经存在的程序文件,新建、保存。
⑤编译
⑥调试、生成HEX文件
2)下载
本实验板提供ISP方式的下载,将KEIL生成的HEX文件下载到单片机的内部flash。
连接计算机串口和单片机的串口下载。
注意:
单片机的P1.0P1.6P1.1不能被短接。
3)ISP下载方法
使用STC-ISP软件,操作方法见前面。
ISP下载步骤:
①选择器件
②装载HEX文件
③下载程序
4)运行
将KEIL生成的HEX文件下载到单片机的内部flash后,即可自动运行单片机的内部的程序
2.1.2实验内容
照实验内容开始进行实验,熟悉Keil软件的使用,自行建立工程,并新建一个文件(汇编文件为.ASM扩展名,C文件为.C扩展名),编写自己的程序,再把此文件添加到工程当中,最后进行编译,如果没有错误,则进行在线软件的仿真调试。
仿真调试分为两种:
软件仿真和硬件仿真,前者不使用仿真器,后者使用硬件仿真器。
本实验箱提供ISP方式的下载,将KEIL生成的HEX文件下载到单片机的内部flash,重复此部分内容,直到熟练掌握开发环境的使用。
2.1.3实验程序
1、汇编程序:
ORG 0000H
SJMP START
ORG 0030H
START:
MOV P1,#00000010B;将P1.0与P1.1分别置低电平、高电平
NOP;空指令,不执行任何操作
NOP
NOP
LJMP START;跳转到STA
END;程序结束
2、C程序:
附:
关于此程序的C51实现
#include
#include
voidmain()
{
while
(1)
{
P1=0x02;//置位P1.1,清零P1.0
}
}
2.1.4实验结果及分析
点亮了第二个发光二极管,P1^0-P1^8分别控制八个发光二极管,0x02表示点亮第二个发光二极管。
将程序下载到单片机内运行结果正确。
2.1.5收获及思考题回答
1,如果二极管的阴、阳极插反,怎么改进程序,使之发光?
将P1=0x02改为P1=0xf即可。
2,用软件延时的办法实现指示灯的闪烁。
添加一个延时程序即可,例如延时0.2ms
MOVR6,#200
LOOP1:
MOVR7,#248
NOP
LOOP2:
DJNZR7,LOOP2
DJNZR6,LOOP1
RET
END
本次实验学会了使用KEIl软件编写程序,并用下载器将程序下载到单片机当中运行。
2.2单片机I/O口实验
2.2.1实验目的
1、熟悉单片机I/O口的特点
2、掌握单片机I/O口的编程
2.2.2实验内容
1、P1口交通灯程序编写(调试时连接JP3的8个跳线)
2、蜂鸣器发声程序
2.2.3实验程序
1、蜂鸣器程序:
ORG0000H
LJMPMAIN
MAIN:
SETBP1.2
LCALLDELAY
CLRP1.2
LCALLDELAY
SJMPMAIN
DELAY:
MOVR7,#255
D1:
MOVR6,#255
D2:
DJNZR6,D2
DJNZR7,D1
RET
END
2、流水灯:
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVDPTR,#2000H
MOV@R0,#0FEH
MOVA,@R0
MOVX@DPTR,A
ACALLDELAY;延时
MOVR3,#07H;设置左移7次
LOOP:
RLA;左移一位
MOVX@DPTR,A
ACALLDELAY;延时
DJNZR3,LOOP;R3是否为0,不为0转LOOP继续执行
AJMPMAIN;返回主程循环执
DELAY:
MOVR7,#255;延时子程序
D1:
MOVR6,#255
D2:
DJNZR6,D2
DJNZR7,D1
RET;子程序返回
END
2.2.4实验结果及分析
调试时连接JP3的8个跳线。
编译正确,P1.2给低电平蜂鸣器就会发声音。
流水灯关键在于循环。
2.2.5收获及思考题回答
用C51实现流水灯和蜂鸣器
#include
#include
unsignedchara,b,k,j;
sbitbeep=P2^3;
voiddelay10ms()
{
for(a=100;a>0;a--)
for(b=225;b>0;b--);
}
voidmain()
{
k=0xfe;
w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告