《单片机实验指导书剖析》由会员分享,可在线阅读,更多相关《单片机实验指导书剖析(43页珍藏版)》请在金锄头文库上搜索。
1、目录实验一 系统认识实验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点亮。三、 接线方案单片机P10P17/C51单片机 接L0L7/LED显示,如下图:图1-1实验线路四、 实
2、验原理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中,程序为:SETBP0.0MOVC, P0.0五、 实验步骤1、 连接串行通信电缆和电源线;2、 根据图1-1实验线路进行电路连接;3、 将C51单片机核心板上的三个开关分别
3、拨到“独立”、“运行”“单片机”;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 R
4、6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、 思考题1、 利用其他I/O口实现LED加1点亮功能;2、 利用P1端口实现流水灯(左移或右移)功能;3、 实现LED其他点亮功能。附录:一、 Keil C51编程软件使用说明Keil C51编程软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、C51语言,界面友好,易学易用。1、启动Keil C51编程软件,出现编辑界面;2、建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中New uVision Project选项。3、然后选择保存路径,输入工程文件名,点击“保存”;4、
5、弹出单片机选择框,选择对应的单片机型号,并点“OK”;5、完成后,屏幕出现编辑环境;6、点击“File”菜单,在下拉菜单中点击“New”选项;7、在“Text1”中编写实验程序,完成后保存文件,要保存在所建的工程文件夹中。在“文件名”栏中输入欲使用的文件名,同时必须输入正确的扩展名。注意:如果使用C语言编写程序,则扩展名为.C;如果用汇编语言编写程序,则扩展名为.ASM;8、回到编辑界面,单击“Target 1”前面“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单;9、单击“Add File to Froup Source Group 1”选择实验程序“SY1.ASM”
6、,然后单击“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”下载软件,界面如下;2、选择单片机型号,在
7、单片机型号的下拉按钮上单击,选择一致的单片机型号,如:STC89C52RC;3、选择串口,在串口选择时,根据设备所接的串口号进行选择,如:COM1、COM2、USB Serial Port(COM3);4、单击“打开程序文件”,找到所见项目文件夹,选中后缀为.HEX的文件,并单击打开;5、单击“下载/编程”按钮,将.HEX文件下载到单片机的ROM中,注意,在单击“下载/编程”按钮后,需要将单片机进行一次冷启动(即:将实验箱电源关掉,稍等片刻再打开),程序才能下载成功;6、下载成功后,程序则在单片机内运行,观察实验箱上的实验结果。实验二 端口I/O输入输出实验一、 实验目的1. 掌握51单片机输
8、入/输出端口的使用方法;2. 学习蜂鸣器和继电器的控制电路设计3. 掌握51单片机I/O使用的编程方法二、 实验内容选择单片机的某个I/O端口,连接实验设备上的按键、蜂鸣器、继电器,编写程序实现按键控制继电器和蜂鸣器。三、 接线方案单片机P0.0接继电器控制端;单片机P0.1接蜂鸣器控制端;P2.6接按键1(单脉冲输出端1);P2.7接按键2(单脉冲输出端2)。(注:连接蜂鸣器电路不要选用P2和P3口,声音偏小、不响)图2-1实验线路图2-2 继电器电路和蜂鸣器电路四、 实验步骤1、 连接串行通信电缆盒电源线;2、 根据图2-1实验线路进行电路连接;3、 将C51单片机核心板上的三个开关分别拨
9、到“独立”、”运行”“单片机”;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:JNB KEY1,M2M1:CLR JDQ ;按键1松开,继电器吸合LJMP M3M2:SETB JDQ
10、;按键1按下,继电器断开M3:JNB KEY2,M4CLR SPK ;按键2松开,蜂鸣器响LJMP MAINM4:SETB SPK ;按键2按下,蜂鸣器停 LJMP MAIN;循环扫描按键END六、 思考题1、 利用其他I/O口实现控制功能;2、 利用按键实现以下功能,要求:按键1作为蜂鸣器和继电器的启动按钮;按键2作为蜂鸣器和继电器的停止按钮。蜂鸣器和继电器启动后自动工作,每隔1秒启动一次(延时方式实现)。3、 实现其他创新功能。实验三 外部中断实验一、 实验目的1. 掌握51单片机外部中断的使用方法。二、 实验内容1. 实验电路如图3-1所示,通过用手动逐个向单片机的输入单脉冲,申请中断。
11、每中断一次,使8051单片机的P1口的数值加1。2. 接线方案P1.0P1.7/C51单片机 接 L0L7/LED显示;INT0/C51单片机 接 单脉冲。图3-1 实验线路三、 实验原理当单片机的外部中断口(INT0)有电平变化时,单片机程序会进入中断服务程序,执行中断服务功能,对P1口数值进行加1,实现手动对P1口数值控制。四、 参考程序流程图图3-2程序流程图五、 实验步骤1、 连接串行通信电缆盒电源线;2、 根据图3-1实验线路进行电路连接;3、 将C51单片机核心板上的三个开关分别拨到“独立”、”运行”“单片机”;4、 打开实验箱上的电源开关。5、 利用Keil C51创建实验程序,
12、并进行编译生产后缀为.HEX的文件;6、 利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、 观察实验现象,并记录。若实验现象有误请重复第5、6步。六、 参考程序ORG 0000HLJMP MAINORG 0003H;中断入口LJMP INTORG 0200HMAIN:MOV P1,#00HSETB EA;首先开启总中断SETB EX0 ;开启外部中断 0,即P32引脚SETB IT0;设置成 下降沿触发方式M1:SJMP M1;主程序只等待中断INT:INC P1 ;外部中断 0 中断响应,将P1口内容加1LCALL DELAYRETI ;中断结束返回DELAY:MOV
13、R5,#255;延时子程序D1:MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND七、 思考题1、 利用外部中断1实现本实验的中断功能;2、 两个外部中断的同时应用(外部中断0实现LED流水灯按键控制左移;外部中断1实现LED流水灯按键控制右移)。实验四 定时器实验一、 实验目的1. 掌握51单片机内部定时器的使用方法。2. 学习单片机控制蜂鸣器电路设计方法。二、 实验内容1. 实验电路如图4-1所示,用51单片机内部定时器T0定时,控制蜂鸣器发声,使之发声1秒钟,停止1秒钟,重复循环。2. 接线方案P1.0/51单片机 接蜂鸣器图4-1 实验线路三、 实验原理当P1.0
14、输出高电平时,三极管导通蜂鸣器发声,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中断服务程序LJMP TINTORG 0030HMAIN:MOV TMOD,#01H ;设置定时器0,方式1MOV DPTR,#15536 ;送T0计数初值15536MOV TH0,DPHMOV TL0,DPLSETB EA