单片机硬件实验教程.docx
《单片机硬件实验教程.docx》由会员分享,可在线阅读,更多相关《单片机硬件实验教程.docx(19页珍藏版)》请在冰豆网上搜索。
单片机硬件实验教程
一、实验板的介绍及其下载方法
注意事项:
1.请勿随意插拔实验板上有关的芯片!
2.请勿随意拔出实验板中的有关跳线!
3.请勿用手接触实验板上焊盘,防止静电!
4.做完实验,请把实验板、下载线、下载板完整的交还给实验老师!
1.实验板的介绍:
单片机硬件实验不同于之前的软件模拟实验,软件模拟实验只是让PC机模拟单片机来进行程序的运行,而硬件实验是让真正的硬件单片机来执行我们所编写的代码。
硬件实验是基于市面上现成的实验箱上来完成的,实验箱本身的功能是比较复杂和强大的,我们只需要关注于我们实验中所涉及到的部分,与本次试验无关的可以不用看。
实验板的原理图如下:
我们可以把整个电路分为3个部分:
一、单片机最小系统:
能够保证单片机运行的最简单的配置,主要包括:
单片机+时钟电路+复位电路+电源。
单片机电路:
复位电路:
让单片机上电之后可靠的复位。
本系统支持51和AVR两种单片机的复位,可以跳线来进行选择。
一般实验下我们选择51来进行复位,即1和2短接。
时钟电路:
给单片机提供一个时钟。
电源:
本实验板可以外接DC或者通过USB来进行供电。
二、下载电路:
在PC机上编写完程序之后,我们要通过下载电路把PC上的程序下载到单片机中的ROM中。
本实验板支持STC89C52和AT89S52两种单片机程序的下载。
但两者的下载方式完全不一样。
AT89S52的下载接口:
通过一根10芯的排线把实验板和下载板连接起来,然后把下载板插入PC的USB接口中。
STC89C52的下载电路:
STC系列的单片机实际上都是通过单片机的串口进行下载程序的。
所以硬件上只要添加一个串口电平转换的芯片MAX232,就可以实现单片机和PC的通信。
此电路已经集成在实验板上了。
由于考虑到很多笔记本电脑不带串行接口,所以我们配置了一个USB转串口线,不过要使用转串口,需要添加驱动程序。
三、外部功能模块:
单片机就是通过外部功能模块来实现检测和控制作用。
比如通过LED来发光;通过数码管来进行显示;通过继电器来进行控制通和断等等。
2.下载步骤
下面来分别介绍STC89C52和AT89S52具体的下载方法,在实验过程中,任选其中一种。
AT89S52的下载方法:
1).准备好下载用的16进制文件,即后缀名是hex的文件。
请注意一定要在KEIL
如图所示的选项中进行设置,即点击Target1之前的按钮,出现以下对话框:
选择Output这一标签页:
然后点击确定,设置完成之后,要编译源代码,来生成下载用的HEX文件。
下面编译之后的信息:
注意:
设置完成后,一定要编译,才会生成hex文件。
否则不会生成!
2).用10芯灰色排线把实验板的ISP接口和下载板的ISP接口连接起来,并把下载板的USB插入PC的USB接口中。
插入之后,PC机会显示找到新硬件的界面,提示要安装USB驱动:
选择“从列表或指定位置安装”之后,出现如图下所示的界面:
选择好之后,点击“下一步”,就可以进行驱动的安装了。
安装界面:
安装完成之后的界面:
3).下载板的驱动安装完成之后,就可以进行程序的下载了。
首先打开下载软件,AT89S52的下载软件在“USBISP烧写软件”这个文件夹下,选择“AVR_fighter”文件夹,双击此图标:
出现如下界面:
STC89C52的下载步骤:
1)。
与AT89S52类似,请准备好下载用的hex文件。
把STC89C52插入40PIN的紧锁座。
2)。
用USB转串口线连接下载板和PC机的USB接口。
3)。
USB转串口线插入USB接口之后,系统会提示找到新硬件,并需要安装驱动程序。
第一次安装完成,之后再使用USB转串口线,就无需安装驱动程序。
选择“从列表或指定位置安装(高级)”。
点击浏览,选择驱动所在路径,如不清楚,请问老师。
选择完路径,就可以进行安装,安装界面如上图。
安装完成的界面如上图,点击完成按钮即可。
这时我们需要知道USB转串口的端口号,即为COM几。
右键点击我的电脑,选择属性这一菜单项。
然后弹出系统属性的对话框,并选择硬件这一属性页,如下图所示:
选择硬件之后,出现如下的界面,并点击设备管理器按钮:
出现如下界面,点击端口(COM和LPT)前面的那个+号:
接着显示如下的界面,显示端口为COM3:
4)。
上面的USB转串口驱动安装完成之后,就可以进行程序的下载。
请在桌面上找到STC单片机下载软件对应的图标:
双击此图标,出现如下界面:
接着就按照软件界面上的提示,一一完成其操作。
Step1:
选择器件的型号,如STC89C52RC:
Step2:
点击“打开程序文件按钮”,会出现如下的对话框,选择所生成hex文件的路径:
Step3:
选择正确的端口号,最高最低波特率无需设置:
Step4:
默认使用其设置。
Step5:
点击“Download/下载”按钮,然后再给实验板上电。
注意观察下载左下方窗口显示的信息,此信息表示正在下载:
下载成功之后的信息:
实验三单片机IO口的应用
一、实验目的:
1.熟悉单片机程序下载方法。
2.了解IO口的应用。
3.掌握IO驱动LED的编程。
二、实验原理:
图1
在电路中,可以选择用P0口或者P1口来驱动LED工作。
相应IO口编程为0时,则点亮LED;编程为1时,则熄灭相应的LED。
注意:
用P1口来驱动LED时,JPP1跳线要接上;P0口驱动LED时,JPP0跳线要接上。
如图2所示。
图2
三、实验过程
1.完成单片机AT89S52或者STC89C52程序的下载准备工作:
下载线和电源线的连接,驱动的安装。
2.如果JPP0和JPP1没有短接,请用跳线帽短接JPP0或者JPP1。
3.请在KEIL中新建一个工程,并新建一个源文件,注意把源文件添加到工程中去。
在源文件中输入以下程序,来实现P1口控制LED灯闪烁:
ORG0000H
START:
MOVP1,#0FFH;灭灯
CALLDELAY;延时
MOVP1,#00H;亮灯
CALLDELAY;延时
SJMPSTART
DELAY:
MOVR3,#80;延时程序,调节R3、R4、R5的大小实现延时的长短
D1:
MOVR4,#20
D2:
MOVR5,#248
DJNZR5,$
DJNZR4,D2
DJNZR3,D1
RET
END
4.编译程序,生成HEX文件。
5.用AVR_Fighter或者STC_ISP_V4.80把HEX下载到对应的单片机中.
6.注意观察实验的结果。
7.如何调节LED闪烁周期?
8.试着编写一个流水灯的程序。
功能:
P1口控制的LED灯,从左往右,挨个点亮LED,直至最后八个全亮了,然后重复刚才的过程。
9.实验结束后,请把实验板、下载线、电源线、下载板交还给实验老师!
四、实验报告内容:
1.请描述IO口驱动LED的基本原理。
2.请写出流水灯的程序,并画出相应的程序流程图。
实验四按键数码管实验
一、实验目的:
1.熟悉按键的原理,掌握独立式按键的编程方法。
2.熟悉数码管的原理,掌握数码管的静态显示和动态扫描方法。
二、按键的实验:
1.原理图:
此图为独立式按键的原理图,电路中用P1的高4位来检测按键的状态。
2.实验要求:
用K5按键来控制实验板上的L0.0(LED)灯的工作。
按下K5,灯亮;再按下K5,灯灭,重复该过程。
3.画出程序流程,并写出相应的源程序,附在实验报告上。
三、数码管的实验:
1.原理图:
此电路共有8个共阳极的数码管。
段选口并接在一起,用P0口进行控制;位选口用PNP控制选择,用P2口进行位选,要选通某个数码管时,把相应的IO清0即可。
如:
要选择Q1对应的数码管,只需把P2.0这位清0,让PNP导通,即对应的数码管就可以进行显示。
2。
静态显示
要求:
让最左边的数码管显示数字0,其余7个不显示。
ORG0000H
CLRP2.0
MOVP0,#0C0H
SJMP$
END
1)请新建一个工程和源文件,输入以上的源程序,编译生成hex文件,下载到实验板上去,并观察实验结果。
2)如果要显示数字1或者2,程序如何进行修改?
3)请编写一段完整的代码,让最左边的数码管从数字0开始显示,然后累加到9之后,再回到0开始显示,重复该过程。
请画出流程图并写出源代码,调试并观察结果。
3。
数码管的动态扫描
1)让最左边的两个数码管分别显示数字0和1,要求数码管显示稳定,不闪烁。
ORG0000H
START:
SETBP2.1
CLRP2.0
MOVP0,#0C0H
LCALLDELAY
SETBP2.0
CLRP2.1
MOVP0,#0F9H
LCALLDELAY
SJMPSTART
DELAY:
MOVR3,#1;扫描延时
D1:
MOVR4,#2
D2:
MOVR5,#248
DJNZR5,$
DJNZR4,D2
DJNZR3,D1
RET
END
2)调试以上的程序,观察运行结果。
3)如果要把这8个数码管分别稳定的显示“01234567”,该如何去修改以上的源代码?
四、实验报告
1)写出按键的程序。
2)写出数码管的静态显示程序和动态扫描程序。