一、实验板的介绍及其下载方法注意事项: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如图所示的选项中进行设置,即点击Target 1之前的按钮,出现以下对话框:选择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灯闪烁:ORG 0000HSTART:MOV P1, #0FFH ;灭灯CALL DELAY ;延时MOV P1, #00H ;亮灯CALL DELAY ;延时SJMP STARTDELAY: MOV R3, #80 ;延时程序,调节R3、R4、R5的大小实现延时的长短D1: MOV R4, #20D2: MOV R5, #248DJNZ R5, $DJNZ R4, D2DJNZ R3, D1RETEND4.编译程序,生成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个不显示。
ORG 0000HCLR P2.0MOV P0,#0C0HSJMP $END1)请新建一个工程和源文件,输入以上的源程序,编译生成hex文件,下载到实验板上去,并观察实验结果。
2)如果要显示数字1或者2,程序如何进行修改?3)请编写一段完整的代码,让最左边的数码管从数字0开始显示,然后累加到9之后,再回到0开始显示,重复该过程。
请画出流程图并写出源代码,调试并观察结果。
3。
数码管的动态扫描1)让最左边的两个数码管分别显示数字0和1,要求数码管显示稳定,不闪烁。
ORG 0000HSTART: SETB P2.1CLR P2.0MOV P0,#0C0HLCALL DELAYSETB P2.0CLR P2.1MOV P0,#0F9HLCALL DELAYSJMP STARTDELAY: MOV R3,#1 ;扫描延时D1: MOV R4,#2D2: MOV R5,#248DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND2)调试以上的程序,观察运行结果。
3)如果要把这8个数码管分别稳定的显示“01234567”,该如何去修改以上的源代码?四、实验报告1)写出按键的程序。
2)写出数码管的静态显示程序和动态扫描程序。