单片机接口技术实验教程Word格式文档下载.docx
《单片机接口技术实验教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机接口技术实验教程Word格式文档下载.docx(51页珍藏版)》请在冰豆网上搜索。
232串口:
PC机可通过232串口将HEX文件烧写进单片机,还可实现与单片机进行串口通信。
485总线:
实验板与实验板之间可以通过485进行通信。
CAN总线:
ISP下载:
I2C总线:
无线通信:
LCD模块驱动:
步进电机驱动:
8x8LED点阵:
可显示出字母或数字。
138译码器:
通过译码片选各连接芯片。
A/D和D/A:
可进行A/D和D/A转换。
红外对射管:
可判断是否有障碍物存在于对射管之间。
霍尔传感器:
运放电路:
实现比较器和运算放大器。
光电传感器:
蜂鸣器:
实现蜂鸣器发声。
RAM扩展:
可用于扩展单片机的数据存储器。
看门狗:
监控单片机程序运行,一旦单片机程序跑飞,复位单片机。
实时时钟:
用于显示实时时间。
拨码开关:
用于向单片机输入8位2进制数。
继电器:
实现单片机对220v交流电用电器的开关控制作用。
温度传感:
对温度进行测量,并将数据送给单片机。
键盘和显示驱动:
用于键盘扫描和数码显示。
1.3实验整体思路
1)学生自行购买元件(不超过5人一组,电路板所里提供),焊接,并完成相关实验。
2)单片机基于ISP的,因此不提供仿真器,程序通过RS232直接下载程序。
3)实验采用分散与集中完成,主要考虑到计算机的缘故,以后如果有条件可以采用一切在试验室完成,达到实际理想的学习效果。
4)所里提供7段数码管驱动显示,要求一些实验数据通过数码管显示出来;
做某些实验时,提供A/D和D/A驱动程序。
5)实验分为必做和选作实验;
考虑到成本问题,可以不买或者几组合买一些选做实验中价格较贵的芯片。
第二章51单片机汇编及C语言编译环境简介
2.1WAVE6000
Wave6000是一款功能强大的优秀的单片机程序编辑、调试、仿真中文Windows软件。
该软件可以配合硬件进行单片机的硬件仿真,也可以单独进行单片机的软件仿真。
2.1.1WAVE6000仿真器设置
在使用WAVE6000进行程序编译和调试之前,必须对仿真器进行设置,否则编译过程中将会出错。
下面简单介绍设置方法:
首先,在确保电脑安装了完整的WAVE6000之后,打开WAVE6000。
你会看到如图1界面。
在菜单栏中点击仿真器,在其下拉列表中选择仿真器设置,或者如图1所示,直接点击仿真器设置按钮,出现如图2窗口。
打开仿真器面板,如图3,选择E6000L,其他的为默认选项,点击“好”即可完成仿真器设置。
图1
图2
图3
2.1.2WAVE6000汇编语言编程
仿真器设置好之后,就可以开始编程工作了。
WAVE6000默认的是汇编语言编译器,那我们就先用汇编语言编译程序。
点击“文件”,选择“新建文件”,会出现一个文本框。
在里面输入要编译的程序,输入完之后点击图1所示的编译按钮,将会出现如图4所示的提示框,提示对该文件进行保存。
注意命名时,以“.ASM”结尾,比如”text.ASM”,保存类型不需要设置。
图4
保存好之后,再次点击编译按钮。
如果程序没有问题,则如图5,信息栏内表示编译通过,生成的可写进单片机的HEX文件已保存在你所设定的文件夹内。
图5
2.2KeilC
使用汇编语言之后,我们还可以使用我们更为熟悉的C语言给单片机写程序。
下面把较为常用的KeilC软件做简单介绍。
2.2.1源文件的建立
打开KeilC,选择File→New,则出现了一个新的文本输入窗口。
在该文本中输入C语言源程序。
输入完毕后,选择File→Save,出现存储文件对话框,输入文件名并保存。
注意取名字时必须加上扩展名“.c”,例如“text.c”。
2.2.2工程的建立
选择Project→NewProject,出现“创建新的工程”对话框,输入新的工程名并保存,一般与源文件放在同一文件夹内,不必加扩展名,单击“保存”即可。
进入下一步,选择目标单片机。
这里选择ATMEL公司的AT89C52作为目标单片机。
单击ATMEL展开,选择AT89C52,单击“确定”可进入下一步。
工程建好之后,会出现如图6所示对话框,选择“是”则返回主界面,并注意到工程管理器中已出现一个新的工程,并已有一个“STARTUP.A51”文件,这是KeilC的启动代码源程序文件。
图6
2.2.3编译,链接
现在就可以往工程中添加文件了。
在最左侧的工程管理器中,右键点击SourceGroup1,选择AddFilestoGroup,出现加入源程序对话框,选中刚才建立的源程序文件,点击Add,再点击Close。
这时源程序文件已经加进工程里了。
这时候点击工程管理器上侧的Rebuidalltargetfiles按钮进行编译,如果没有错误的话,则如图7所示,信息栏内表示编译通过。
图7
刚装好的KeilC在默认的情况下是不会生成HEX文件的,必须要手动设置。
在工程管理器中右键点击Target1,选择OptionsforTarget,在弹出的对话框中选择Output面板,可以发现CreatHEXfiles没有被选中,选中它,点击“确定”,再对源文件进行编译,就可生成HEX文件了。
2.3STCISP
STCISP是一款将编译器生成的HEX文件借助PC机串口写入51系列单片机的软件,主要针对以STC开头的51单片机。
其基本操作过程简要介绍如下:
首先选择MCU型号,本实验板应选择STC89C52RC。
点击Openfile,打开编译好的HEX文件,选择对应的串口,然后点击Download,就可以将程序写入单片机了。
如果提示给MCU上电,则检查线路及供电是否正常。
下载完成后如下图所示。
图8
第三章实验内容
在做试验之前,有三项准备工作要做:
第一,把实验板的电源供上,我们选择USB电源供电,将J4的跳线选择USBV;
第二,由于此实验板通过串口给单片机写程序,故通信方式先应选择232,将J23和J24的跳线都选择232;
第三,单片机复位选择上电复位,用跳线帽将J15的RST和RC连上。
做完这三项工作,我们就可以进行下面的实验了。
注:
本教程中的程序均采用C语言编写。
由于ch451芯片和ds1302芯片所使用的单片机管脚复用,故做有关数码显示部分的实验时,请将ds1302芯片拔下,以免造成干扰。
3.1必做实验
实验一LED发光二极管实验
1、实验目的掌握MCS-51单片机通用I/O口的输出功能。
2、实验原理利用单片机的位操作功能,直接控制LED发光。
其实验板原理图如下图所示:
图9
如上图,当单片机置P1.5为高电平时,LED熄灭;
清零P1.5时,LED点亮。
若在程序中不断地对P1.5管脚取反,延时,则可以看到LED灯闪烁发光。
3、实验要求将P0口所接的八个LED灯点亮,并延时让其闪烁发光。
4、实验步骤
一、用跳线帽将J6的两端连接上,即P0口所接的8个LED灯的正极通过1K的排阻接到VCC上;
二、由于ULN2003芯片使用了单片机的P0.0-P0.3口,故将它拔下,以免影响LED灯的正常闪烁;
三、写程序,C语言参考程序如下:
#include<
reg52.h>
//包含52头文件
intrins.h>
//要使用“_nop_();
”
#defineuintunsignedint
voiddelay_ms(uchara)//ams延时子函数
{
uinti;
while(a>
0)
{
for(i=100;
i>
0;
i--)
{
_nop_();
}
a--;
}
}
voidmain()
uchari,m=0xff;
while
(1)
for(i=0;
i<
8;
i++)
P0=m;
m&
=0xfe;
m<
<
=1;
delay_ms(100);
//延时100ms
}//P0口的LED灯由左至右依次点亮
m=0xff;
=0x7f;
m>
>
}//P0口的LED灯由右至左依次点亮
}//不断循环
程序执行后会看到P0口的LED灯先由左至右依次点亮,然后熄灭,再由右至左依次点亮,不断循环。
实验二蜂鸣器驱动实验
1、实验目的了解如何用单片机控制蜂鸣器定时发出一段时间的声音。
2、实验原理本实验板采用的是只要有一定大小的电流通过就会发出声音的蜂鸣器,故只要给如左图所示管脚高电平,蜂鸣器就会响,反之,蜂鸣器就不会响。
3、实验要求让P3.5口所接的蜂鸣器发出声音,延时一段时间,再停止。
其实验板上的原理图如下图所示:
图10
一、将J14的跳线帽接上,用于连接单片机与蜂鸣器;
二、编程,参考程序如下:
//包含52头文件
//要使用“_nop_();
sbitbuzzer=P3^5;
//定义口
voiddelay_ms(uchara)//ams延时子函数
Uinti;
buzzer=0;
//蜂鸣器停止发声
buzzer=!
buzzer;
//使蜂鸣器开始(或停止)发声
delay_ms(500);
//延时500ms
程序写入单片机之后,将会听到蜂鸣器一会响,一会不响,不断循环。
实验三I/O管脚按键实验
1、实验目的掌握单片机通用I/O口的输入功能。
图11
2、实验原理如上图所示,当按键按下时,对应管脚被拉成低电平,在程序中使用单片机的位操作功能,不断地使用查询法检测相应管脚是否为低电平,就可判断按键是否被按下。
3、实验要求
①用查询法检测到按键,延时去抖,并点亮相应的发光二极管;
②用外