Keil C51模块实验指导书.docx
- 文档编号:9294836
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:163
- 大小:6.15MB
Keil C51模块实验指导书.docx
《Keil C51模块实验指导书.docx》由会员分享,可在线阅读,更多相关《Keil C51模块实验指导书.docx(163页珍藏版)》请在冰点文库上搜索。
KeilC51模块实验指导书
EXP-89S51/52/53E-LAB
模块实验指导书
(第一版)
第一章软件操作使用1
一、EL-EMCU-I硬件资源说明1
二、系统硬件资源3
第二章通讯类模块部分5
实验一无线收发模块实验5
实验二蓝牙实验10
实验三GSM通讯实验22
实验四光纤通讯实验30
实验五ZigBee模块实验32
实验六WIFI模块实验42
第三章传感器类模块部分87
实验一温度传感器(AD590)实验87
实验二人体红外传感器实验89
实验三红外对管传感器实验92
实验四可燃气体传感器实验95
实验五霍尔电流传感器实验99
实验六压力传感器实验103
实验七湿敏电阻传感器实验107
实验八超声波实验109
第四章对象模块113
实验一八路继电器模块实验113
实验二12路光耦隔离电路实验116
实验三点阵式LCD模块实验119
实验四二相四拍步进电机模块实验123
实验五三相六拍步进电机模块实验125
实验六温度PWM控制实验131
实验七微型打印机扩展模块实验134
实验八语音录放实验141
实验九指纹识别实验147
第一章软件操作使用
一、EL-EMCU-I硬件资源说明
EL-EMCU-I型教学实验系统是属于一种综合的教学实验系统,该系统支持8位的8051/C8051F021等型号、16位的MSP430系列/AVR系列以及基于EXP-89S51/52/53开发板单片机内核的32位群星系列ARM处理器,实现了多模块的应用实验。
它是集学习、应用编程、开发研究于一体多功能创新平台。
用户可根据自己的需求选用不同类型的CPU适配板,同时,实验系统上的EXP总线能够拓展较为丰富的实验接口板。
用户在了解EXP标准后,更能研发出满足自身需求的实验接口板。
除此之外,在实验板上有丰富的外围扩展资源(如:
拨动键盘与LED显示、HD7279、TFT真彩液晶、16X16LED汉字点阵、12位串行AD和DA、光耦/继电器、通信模块、IC卡模块、E-LAB模块以及电机控制模块等),可以完成基于CPU硬件资源的基础性实验、多种串行总线类实验以及CAN总线实验等等。
实验箱底板的平面框图如下图1-17所示:
图1-17EL-EMCU_I系统的底板资源平面图
EL-EMCU-I实验箱(即:
《多功能创新平台》)是集EDA/CPLD/FPGA和MCU的开发为一体的综合性实验箱,它不仅可以独立完成各种EDA/CPLD/FPGA设计,也可以完成多种MCU开发。
MCU部分支持的CPU板卡有:
EXP-LM3S615/2948/3749/6952/9B90、EXP-C8051F021、EXP-MSP430F149/155/5419、EXP-Atmega128等等(我公司的全系列EXP接口类开发板)。
EDA部分支持的CPU板类有:
EXP-EPM3128&3256、EXP-EP1K30、EXP-EP3C5&EP3C10等等(我公司的全系列EXP接口类开发板)。
二、系统硬件资源
一、该EL-EMCU-I实验系统的硬件资源主要包括:
☆EXP系列MCU板接口单元
☆EXP系列EDA/CPLD/FPGA板接口单元
☆E_LAB模块接口单元
☆外扩看门狗(MAX705)单元
☆接触式IC卡单元
☆蜂鸣器驱动单元
☆光电耦合器与继电器单元
☆单脉冲产生单元
☆单总线(DS18B20数字温度传感器)单元
☆12位串行AD(TLC2543)单元
☆12位串行DA(TLV5616)单元
☆数字输入输出(12个拨动开关及12个LED发光管)单元
☆电机(直流电机与步进电机)控制单元
☆键盘显示(芯片HD7279A,2×4键盘,带4位LED数码管)单元
☆TFT真彩液晶(AM176220TFT彩色液晶屏,176×220分辨率)显示单元
☆16X16LED点阵显示单元
☆RS232、RS485总线通信接口单元
☆CAN总线多机通信接口单元(部分芯片具有)
☆USB主从设备接口单元(部分芯片具有,硬件在CPU板上)
☆以太网接口单元(部分芯片具有,硬件在CPU板上)
二、E-LAB模块资源:
通过E_LAB接口,可扩展我公司的E_LAB扩展模块,该模块的电源和地由总线接口提供。
信号定义如下图所示:
E-LAB接口定义
接口的外形如下图所示:
图1-5E_LAB接口外形
第二章通讯类模块部分
实验一无线收发模块实验
一、实验目的
1、掌握无线收发模块由SC2262/2272编、解码电路的工作原理。
二、实验设备
EL-EMCU-I实验箱、EXP-89S51/52/53开发板、无线收发模块E_LAB_WIRELESS模块、51仿真芯片。
开发软件工具:
KeiluVision2
三、实验原理
无线收发模块由SC2262/2272编、解码电路和315M高频收发电路两部分组成。
模块右侧4脚的为发射电路,8脚的为接收电路。
在室内无直接障碍物的条件下,将拉竿天线拉出,其发射接收距离为5~10米。
SC2262/2272编解码电路可在发射和接收之间建立一一对应关系。
1.SC2262/2272原理介绍
SC2262/2272是一种CMOS工艺制造的低功耗低价位通用编解码电路,最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441种地址码,SC2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从第17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时数据脚也输出相应的高、低电平。
SC2262的14脚TE为低电平时,启动17脚的编码输出。
当17脚为高电平期间315MHz的高频发射电路起振,并发射出等幅的高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全受控于SC2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
SC2262引脚如下图所示:
A0~A11:
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空);
D0~D5:
数据输入端,有一个为“1”即有编码发出,内部下拉;
VCC:
电源正端(+);
VSS:
电源负端(-);
TE:
编码启动端,用于多数据的编码发射,低电平有效;
OSC1:
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2:
振荡电阻振荡器输出端;
Dout:
编码输出端(正常时为低电平);
在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
推荐值:
2262/4.7M/2272/820K,2262/3.3M/2272/680K,2262/1.2M/2272/200K。
SC2272的引脚如下图所示:
AO~A11:
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码;
D0~D5:
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换;
VCC:
电源正端(+);
VSS:
电源负端(-);
OSC1:
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2:
振荡电阻振荡器输出端;
VT:
解码有效确认输出端(常低),解码有效变成高电平(瞬态);
DIN:
数据信号输入端,来自接收模块输出端;
SC2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。
M表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。
后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。
本模块中采用的是L4。
2.电路及应用说明
在本电路中,我们采用8位地址码和4位数据码,这时编码电路SC2262和解码SC2272的第1~8脚为地址设定脚,分别对应于模块上的跳线SA0~SA7和RA0~RA7,有三种状态可供选择:
悬空、接正电源、接地三种状态。
3的8次方为6561,所以地址编码不重复度为6561组,只有发射端SC2262和接收端SC2272的地址编码完全相同,才能配对使用。
插孔SD0~SD3对应于SC2262的数据端D0~D3,SEND插孔对应于TE。
SR0~SR3对应于SC2272的数据输出端D0~D3取反,RECE对应与VT,/RECE为VT取反。
RD0~RD3的数据通过74LS244接入数据总线的低4位D0~D3,JP1跳线排选择74LS244的地址,244CS插孔也起同样的作用。
但244CS接线时JP1必须悬空,同理用JP1选择时244CS必须悬空,以避免地址冲突。
通过PIO接口来进行信号操作和读取。
四、实验步骤
模块上电前,必须将SD0~SD3和SEND插孔悬空,否则SC2262芯片会发热,以致烧毁。
上电后,将发射跳线(SA0~SA7)和接收跳线(RA0~RA7)置于相同的位置。
将SD0~SD3接拨码开关K1---K4,并且将模块的片选跳线全部去掉,如CS0,CS1,CS2,CS3。
实验接线:
1、将无限收发模块正确安装在实验箱的E-LAB模块上。
2、用导线将MCU的IO1---IO4分别连接到无线收发模块的RD0---RD3;SDA、SCL分别连接到RECE、SEND。
并将开发板的跳线帽JP2短接在下侧。
3、用导线将试验箱的拨码开关K1----K4分别连接到无线收发模块的SD0---SD。
编译、下载运行程序,按照注释设置断点,改变开关的状态,观察变量value值的变化。
注:
若value值不变,多运行到断点几次,在观察value值
实验文件:
KeilC51单片机E-LAB模块实验:
通讯类模块实验/无线收发模块/wireless
实验二蓝牙实验
一、实验目的
掌握蓝牙的工作原理及控制方法。
二、实验设备
EL-EMCU-I实验箱两个、EXP-89S51/52/53开发板、两块蓝牙模块、51烧录芯片、51的ISP电缆。
开发软件工具:
KeiluVision2
三、基本原理
蓝牙模块由通用异步收发器16C450电路和内嵌蓝牙模块电路两部分组成。
蓝牙模块的通讯距离<10m,当两个蓝牙模块通讯时,相当于用一条串口线彼此连接。
16C450原理介绍
16C450为通用异步收发器(UART)芯片,DIP40封装,其引脚如下图所示:
A0、A1、A2:
地址输入端,用于选择不同的寄存器,见以下寄存器说明。
/ADS:
地址控制输入端,为低电平时,内部地址及片选控制逻辑有效;否则为无效。
CS0、CS1、/CS2:
片选输入端,当CS0,CS1均为高且CS2为低时选中芯片。
CSOUT:
片选输出端。
输出高电平表示芯片被选中,低电平表示未被选中。
D0~D7:
三态数据总线,用于芯片和CPU之间进行数据交换。
DDIS:
驱动禁止输出端。
当芯片不处在读状态时,该引脚输出高电平。
/CTS:
Modem状态输入端,表示清除发送。
/DCD:
Modem状态输入端,表示载波检测。
/DSR:
Modem状态输入端,表示Modem数据已准备就绪。
/DTR:
芯片状态输出端,表示芯片已准备就绪,可与Modem建立连接。
/RI:
Modem状态输入端,表示铃音检测。
/RTS:
芯片状态输出端,表示芯片请求发送数据。
/OUT1、/OUT2:
通过改变Modem控制寄存器的值,可使其输出不同的电平。
MR:
主复位输入端,为高电平时使芯片内所有寄存器复位。
INTRPT:
中断输出端,高电平有效。
DOSTR,/DOSTR:
写控制输入端,任一信号有效都允许CPU写芯片寄存器。
DISTR,/DISTR:
读控制输入端,任一信号有效都允许CPU读芯片寄存器。
VCC、VSS:
电源输入端。
SIN:
芯片串行输入端。
SOUT:
芯片串行输出端。
XTAL1、XTAL2:
外部振荡输入、输出端。
/BAUDOUT:
振荡信号分频输出端,输出为波特率。
RCLK:
时钟输入端,用于控制输入波特率。
16C450的寄存器如下表所示:
1、波特率除数锁存器(LSB、MSB)
在通讯之前要进行一些参数初始化,波特率是首先应该考虑的一项。
该寄存器是一个16位的寄存器,分为低8位(LSB)和高8位(MSB)寄存器。
当LCR.7=1,且A2A1A0=000/001时,单片机访问的是波特率除数锁存器LSB/MSB。
GM16C450推荐的工作频率是1.8432MHz。
这个频率除以16就是波特率的时钟频率,用于控制发送和接收数据的速度。
下面给出波特率除数锁存器值的计算公式:
波特率除数锁存器值=工作频率/(16×期望波特率)
=1843200/(16×期望波特率)
下表给出了常用波特率与波特率除数锁存器值:
2、接收缓冲寄存器和发送保持寄存器(transmitandreceiveholdingregister)
当LCR.7=0,且A2A1A0=000时,读操作单片机访问接收缓冲寄存器(RHR),写操作单片机访问发送保持寄存器(THR)。
3、中断允许寄存器(interruptenableregister)
当LCR.7=0,且A2A1A0=001时,单片机访问中断允许寄存器(IER)。
IER.0=1,允许接收器数据就绪中断。
IER.1=1,允许发送保持寄存器为空时中断。
即当从发送保持寄存器把一个字节移到移位寄存器时,产生一个中断,使发送保持寄存器能接收下一个字节。
IER.2=1,表示允许接收有错信息或间断条件中断。
IER.3=1,MODEM状态变化中断。
IER.4~7,没有使用,设置为零。
4、中断状态寄存器(interruptstatusregister)
前面介绍了几种中断,它们在各自的条件下产生中断,UART都会输出一个高电平的中断请求信号,触发同一个中断请求。
为了具体判断是哪一种中断,还应该检测ISR,如下表所列。
ISR.0=1,表示没有中断产生。
ISR.4~5没有使用。
ISR.6~7,当采用FIFO的接收和发送模式时,这两位设置为1;反之,设置为0。
5、线路控制寄存器(linecontrolregister)
LCR.0~1,表示发送和接收时的字节长度,如下表所列。
LCR.2,这一位与LCR.0~1共同定义了停止位的长度,如下表所列。
LCR.3=1,进行奇偶校验。
LCR.4=0,进行奇校验;LCR.4=1,进行偶校验。
LCR.5=1,奇偶校验位恒为1或0。
LCR.6=1,表示允许间断,即允许发送器寄存器保持一个完整帧时间以上的空号状态。
LCR.7,用于区分访问除数锁存器还是访问接收缓冲/发送保持和中断允许寄存器。
6、线路状态寄存器(linestatusregister)
LSR.0:
当接收移位寄存器接收到的字节完全移到接收缓冲寄存器时,该位置1。
如果读该寄存器,那么这一位被清零。
LSR.1:
出现超越错时,这一位被置1。
读该寄存器,这一位被清零。
LSR.2:
出现奇偶校验错时,这一位被置1。
读该寄存器,这一位被清零。
LSR.3:
出现停止位不完整、丢失、空号时,这一位被置1。
读该寄存器,这一位被清零。
LSR.4:
当接收寄存器检测到空号状态已持续一个完整帧传输时间时,这一位被置1。
读该寄存器,这一位被清零。
LSR.5:
当发送的字节从发送保持寄存器移到发送移位寄存器时,该位置1。
LSR.6:
当发送保持寄存器和发送移位寄存器都没用字节时,该位置1。
LSR.7:
当奇偶校验错、帧格式错、空号错有一个出现时,该位置1。
另外,FIFO控制寄存器只在16C550中使用,Modem控制寄存器、Modem状态寄存器、临时数据寄存器在本模块中不使用,此处不作介绍。
本模块中,CS450插孔和JP1均为16C450的片选信号,可通过连线或跳线来选择。
RST插孔为16C450的外加复位信号。
INT和/INT插孔为16C450的中断输出(一正一负)。
(2)内嵌蓝牙模块介绍
蓝牙内嵌模块可以应用于各种家电、仪器(如医疗设备)等电子信息产品。
作为一种线缆取代方案,它可以直接与单片机或处理器相连,采用即插即用的方式透明的实现设备间的无线数据传输。
蓝牙内嵌模块有主从之分,一个主设备与一个从设备配套使用。
当蓝牙内嵌模块硬件电路连接正确,并且加电启动之后,主从设备会自动建立连接,并且识别与记忆对方设备,之后,用户的设备就可以像使用一条串口线一样的使用蓝牙内嵌模块。
蓝牙内嵌模块除了一对配套使用之外,也可以独立使用。
如用户的设备连接一个从设备的蓝牙内嵌模块,这样,其它的蓝牙设备如蓝牙PDA可以搜索到此内嵌模块,并且发现其提供的服务,通过此服务可以与其建立连接并进行通讯。
对于用户设备的通讯,仍然像使用串口线一样的使用此模块。
蓝牙内嵌模块提供了安全认证功能,当用户设置使用安全认证时,连接的设备必须要进行鉴权,只有通过鉴权的用户才能与其进行通讯,如果是一对蓝牙内嵌模块,这些过程都将自动完成(默认密码:
1234)。
本蓝牙模块实现蓝牙串行协议(BluetoothSerialPortProfile),具有如下特点:
1、内置天线
2、有效距离10M
3、工作温度:
-25℃~85℃
4、标准UART接口
5、支持多种波特率(如1.2k、2.4、4.8、9.6k、19.2k、38.4k、57.6k、115.2k等),最大可达到1.384Mbps
6、自动节能模式
7、支持低功耗工作模式/高速工作模式
8、安全认证、数据加密
(3)蓝牙模块使用说明
在内嵌模块上有两个指示灯,LINK灯(绿灯)和POWER(红灯),LINK灯用来指示内嵌模块的状态,POWER灯用来指示内嵌模块工作是否正常。
可以通过AT指令可以修改指示灯引脚,详见《内嵌模块AT指令说明》。
POWER灯(红色):
如果POWER灯每隔几秒闪烁一次,则表示内嵌模块工作正常。
可以通过POWER灯闪烁的间隔时间判断该设备为主设备还是从设备,如果每2秒闪烁一次,则为从设备;如果每5秒闪烁一次,则为主设备。
LINK灯(绿色):
如果LINK灯熄灭,则表示已经与其它蓝牙设备建立连接;如果闪烁,则表示没有建立连接。
当没有建立连接时,可以通过LINK灯闪烁的速度判断是否记忆地址(即判断是否与其它蓝牙设备匹配),如果快速闪烁(每秒2次),则表示已经记忆地址;如果慢速闪烁(每秒1次),则表示没有记忆地址。
对于主设备,查询时每2秒闪烁一次。
配对时快速闪烁每秒四次,连接时每秒闪烁一次,连接后灯熄灭。
当内嵌模块进入睡眠状态,或工作在参数设置状态,两个指示灯全部熄灭。
Sleep键:
Sleep键为一个复用键,既作为睡眠键,又作为清地址键。
通过按键时间区别:
短按键(大于10毫秒,小于2秒)睡眠/唤醒。
长按键(大于2秒)清除地址。
清除地址后,从设备可以重新被搜索(绑定地址的情况),主设备重新开始搜索。
进入睡眠模式后指示灯LINK和POWER全部熄灭,在这个模式下内嵌模块功耗很低,但不能进行蓝牙设备之间的查询、连接、传输数据等工作,但能接收AT指令。
进入睡眠模式后,当用户希望唤醒模块时,再按一下Sleep键,内嵌模块就被唤醒并开始工作。
Cmd/Data开关:
CmdData开关拨到Cmd一侧时(1脚输入低电平),内嵌模块的指示灯全部熄灭,此时内嵌模块工作在参数设置状态。
在参数设置状态,内嵌模块停止工作,此时只能设置内嵌模块的参数,同时Sleep键失效。
当CmdData开关拨到Data一侧(1脚输入高电平),内嵌模块退出参数设置状态,并开始工作(搜索,匹配,连接,传数据等),Sleep键有效,但不能设置内嵌模块参数。
如果用户需要设置参数,请将CmdData开关拨到Cmd一侧,否则请将CmdData开关拨到Data一侧。
蓝牙内嵌模块的引脚如下图所示:
原理图
蓝牙模块接口图:
本蓝牙模块有两种控制方式,一种是上位机通过RS232串口控制,一种是DSP通过16C450控制。
模块下方的跳线S1、S2用于选择控制方式。
S1、S2均接至PC端时,表示用上位机控制;当S1、S2均接至MCU端时,表示用DSP控制。
为简单起见,蓝牙模块的参数设置采用上位机控制,其过程如下:
1、设置蓝牙模块(做主设备-实验箱扩展的E-LAB)
(1)用交叉的串口电缆连接PC机COM1口和模块1的串口,然后将模块上的S1、S2跳线均接PC端,开关K1拨至CMD端。
(2)运行设置工具目录下的Setparam30程序,通讯口选择COM1,数据流控制选择硬件,单击“连接”按钮,此时窗口中显示蓝牙模块的初始设置。
输入类别码为“000000”,波特率选择“9600”,主设备选项打勾,其余选项均不改变。
单击“设置”按钮完成模块设置,然后可关闭窗口。
此时完成了蓝牙模块的设置,将其设置为主设备。
2、设置蓝牙模块(做从设备-E_LAB)
重复步骤1的操作,唯一的区别是主设备选项不打勾,此时将其设置为从设备。
注:
主、从设备的类别码、波特率必须相同。
但如果主设备类别码为“000000”,则从设备类别码可以是任意6位数。
设置完成后,将两模块的K1开关均拨至“DATA”端,此时可见两模块上的绿灯闪烁,表示正在进行匹配。
几秒钟后,两绿灯熄灭表示匹配成功。
若匹配不成功,则绿灯一直闪烁。
四、实验步骤
1、正确将蓝牙模块(从设备)插接到从实验箱的E_LAB总线上;蓝牙模块(主设备)插接到主实验箱扩展的E_LAB总线上;
2、正确设置蓝牙模块:
(1)蓝牙模块1(主设备-扩展的E_LAB)的S2/S1跳到PC端,选择上位机软件控制,K1拨到DATA端,用交叉串口将蓝牙模块1的J1和计算机的COM1口相连,JP1的片选不配置;
(2)蓝牙模块2(从设备-E_LAB)的S2/S1跳到PC端,选择MCU控制,K1拨到DATA端,用直连串口(针对针)连接蓝牙模块2的J1和实验箱后面的DB9串口;
正确建立蓝牙模块的超级终端:
实验箱还要接线为:
用导线将MCU的TXD、RXD连接到RS232的TXD和RXD,并将CPU板上的跳线帽JP1短接在下侧。
编译生成.Hex文件,然后将该文件用ISP电缆烧录到主实验箱上的89S51单片机中。
打开开始菜单/程序/附件/通讯/超级终端。
在出现的对话框中输入新建的超级终端的名称,如下图所示:
点击确定,进入如下界面,进行如下设置:
点击确定,进入如下界面,进行如下设置:
点击确定,进入如下界面,点击属性图标,选择设置,点击“ASCII设置”按钮,进行如下设置:
PC机上的超级终端,选择COM1口、波特率9600、数据位8,奇偶校验无、停止位1、数据流控制:
硬件,进入界面。
点击工具栏中的属性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil C51模块实验指导书 C51 模块 实验 指导书