当前位置:文档之家› 单片机实验指导书

单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (33)实验八数码管动态显示实验 (38)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。

二、实验内容任选单片机的一个I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。

三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。

作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。

例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“下载”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。

附录:一、Keil C51编程软件使用说明Keil C51编程软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、C51语言,界面友好,易学易用。

1、启动Keil C51编程软件,出现编辑界面;New uVision Project选项。

3、然后选择保存路径,输入工程文件名,点击“保存”;4、弹出单片机选择框,选择对应的单片机型号,并点“OK”;5、完成后,屏幕出现编辑环境;6、点击“File”菜单,在下拉菜单中点击“New”选项;7、在“Text1”中编写实验程序,完成后保存文件,要保存在所建的工程文件夹中。

在“文件名”栏中输入欲使用的文件名,同时必须输入正确的扩展名。

注意:如果使用C语言编写程序,则扩展名为.C;如果用汇编语言编写程序,则扩展名为.ASM;1”上单击右键,弹出如下菜单;9、单击“Add File to Froup ‘Source Group 1”选择实验程序“SY1.ASM”,然后单击“Add”,则项目中多出SY1.ASM子项;10、单击“Project”菜单,在下拉菜单中单击“Options for Target ‘Target 1’”;11、在“Options for Target ‘Target 1’”的选项中选择“Output”选项,并在“Create HEX File”选项前打上“√”,然后点击“OK”;12、单击“Project”菜单,在下拉菜单中单击“Build target”选项,若程序无误,编程成功后,则生成后缀为.HEX的文件,该文件是单片机下载文件。

二、STC-ISP下载软件的使用说明1、打开“STC-ISP”下载软件,界面如下;单片机型号,如:STC89C52RC;COM1、COM2、USB Serial Port(COM3);4、单击“打开程序文件”,找到所见项目文件夹,选中后缀为.HEX 的文件,并单击打开;5、单击“下载/编程”按钮,将.HEX文件下载到单片机的ROM中,注意,在单击“下载/编程”按钮后,需要将单片机进行一次冷启动(即:将实验箱电源关掉,稍等片刻再打开),程序才能下载成功;6、下载成功后,程序则在单片机内运行,观察实验箱上的实验结果。

实验二端口I/O输入输出实验一、实验目的1.掌握51单片机输入/输出端口的使用方法;2.学习蜂鸣器和继电器的控制电路设计3.掌握51单片机I/O使用的编程方法二、实验内容选择单片机的某个I/O端口,连接实验设备上的按键、蜂鸣器、继电器,编写程序实现按键控制继电器和蜂鸣器。

三、接线方案单片机P0.0接继电器控制端;单片机P0.1接蜂鸣器控制端;P2.6接按键1(单脉冲输出端1);P2.7接按键2(单脉冲输出端2)。

图2-1实验线路图2-2 继电器电路和蜂鸣器电路四、实验步骤1、连接串行通信电缆盒电源线;2、根据图2-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“下载”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生产后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

五、参考程序KEY1 EQU P2.7 ;定义按键1KEY2 EQU P2.6 ;定义按键2SPK EQU P0.1 ;定义蜂鸣器JDQ EQU P0.0 ;定义继电器ORG 0000HLJMP MAINORG 0100HMAIN: JB KEY1,M2M1: SETB JDQ ;按键1按下,继电器吸合LJMP M3M2: CLR JDQ ;按键1松开,继电器断开M3: JB KEY2,M4SETB SPK ;按键2按下,蜂鸣器响LJMP MAINM4: CLR SPK ;按键2松开,蜂鸣器停LJMP MAIN ;循环扫描按键END六、思考题1、利用其他I/O口实现控制功能;2、利用按键作为实现功能,要求:按键1作为蜂鸣器和继电器的启动按钮;按键2作为蜂鸣器和继电器的停止按钮。

蜂鸣器和继电器启动后自动工作,每隔1秒启动一次(延时方式实现)。

3、实现其他创新功能。

实验三外部中断实验一、实验目的1.掌握51单片机外部中断的使用方法。

二、实验内容1.实验电路如图3-1所示,通过用手动逐个向单片机的输入单脉冲,申请中断。

每中断一次,使8051单片机的P2口的数值加1。

2.接线方案P2.0~P2.7/C51单片机接L0~L7/LED显示;INT0/C51单片机接单脉冲。

图3-1 实验线路三、实验原理当单片机的外部中断口(INT0)有电平变化时,单片机程序会进入中断服务程序,执行中断服务功能,对P2口数值进行加1,实现手动对P2口数值控制。

四、参考程序流程图图3-2程序流程图五、实验步骤1、连接串行通信电缆盒电源线;2、根据图3-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“下载”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生产后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序ORG 0000HLJMP MAINORG 0003H ;中断入口LJMP INTORG 0200HMAIN: MOV P2,#00HSETB EA ;首先开启总中断SETB EX0 ;开启外部中断0,即P32引脚SETB IT0 ;设置成下降沿触发方式M1: SJMP $ ;主程序只等待中断INT: INC P2 ;外部中断0 中断响应,将P2口内容加1 LCALL DELAYRETI ;中断结束返回DELAY: M OV R5,#255 ;延时子程序D1: M OV R6,#255DJNZ R6,$DJNZ R5,D1RETEND七、思考题1、利用外部中断1实现本实验的中断功能;2、两个外部中断的同时应用(外部中断0实现LED流水灯;外部中断1实现LED加1功能)。

实验四定时器实验一、实验目的1.掌握51单片机内部定时器的使用方法。

2.学习单片机控制蜂鸣器电路设计方法。

二、实验内容1.实验电路如图4-1所示,用51单片机内部定时器T0定时,控制蜂鸣器发声,使之发声1秒钟,停止1秒钟,重复循环。

2.接线方案P1.0/51单片机接蜂鸣器图4-1 实验线路三、实验原理当P1.0输出高电平时,三极管导通蜂鸣器发声,P1.0输出低电平时,三极管截止,蜂鸣器不发声。

本实验设备的晶振频率为11.0592MHZ,定时方式时,约1us计数器加1,计数初值15536时,经过50ms溢出,溢出20次约1秒钟。

四、参考程序流程图图4-2 程序流程图五、实验步骤1、连接串行通信电缆盒电源线;2、根据图3-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“下载”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生产后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序ORG 0000HAJMP MAINORG 000BH ;定时器0中断服务程序DJNZ R0,EXITCPL P1.0 ;中断20次到1S,对P1.0取反MOV R0,#20 ;重置中断次数计数器EXIT: MOV DPTR,#15536 ;重置T0计数初值15536MOV TH0,DPHMOV TL0,DPLRETIMAIN:MOV TMOD,#01H ;设置定时器0,方式1MOV DPTR,#15536 ;送T0计数初值15536MOV TH0,DPHMOV TL0,DPLSETB EA ;开总中断SETB ET0 ;开定时器0SETB P1.0 ;蜂鸣器发生MOV R0,#20SETB TR0SJMP $七、思考题1、利用定时器1实现本实验定时功能,编写程序;2、使用工作方式2实现本实验定时功能,编写程序。

实验五串行口通信实验一、实验目的1.掌握51单片机串行口工作方式的设定及串行通信程序设计。

相关主题