实验指导书.docx
- 文档编号:23661979
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:47
- 大小:2.40MB
实验指导书.docx
《实验指导书.docx》由会员分享,可在线阅读,更多相关《实验指导书.docx(47页珍藏版)》请在冰豆网上搜索。
实验指导书
宁波大红鹰学院
单片机原理及应用
实验指导书
电气工程及其自动化教研室编
目录
实验指导1
实验一发光二极管控制1
实验二继电器控制3
实验三数码管静态显示5
实验四数码管动态显示7
实验五键盘接口8
实验六工件计数10
实验七数字时钟11
实验八单片机间串行通信13
实验九TLC1549串行A/D转换15
实验十TLC561510位D/A串行转换17
实验十一步进电机控制19
实验十二I2C总线21
实验十三红外线通信26
实验十四温度测量28
实验十五数控电流源30
实验十六基于DS18B20的智能温度测量32
实验十七DS1302实时时钟35
附录37
Keil软件的使用37
主要电路模块43
实验指导
实验一发光二极管控制
一、目的
1、理解单片机端口的结构
2、掌握单片机端口作为一般I/O接口的数据输出方法
3、掌握延时子程序的编写
4、掌握程序的基本结构
5、熟悉单片机最小系统
6、软件的使用
二、内容
1、点亮一个发光二极管
2、使一个发光二极管闪烁
3、使8个发光二极管右循环点亮,实现流水灯效果
4、将八个发光二极管分为两组,LED1、3、5、7为一组,LED2、4、6、8为一组,使两组发光二极管分别轮流点亮(选做)
5、软件的使用
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、将J2的1、2脚短接(短接片放在“开”的位置)
3、编写程序,下载调试
可先在EDA软件中进行仿真。
四、设计思路
1、硬件电路
2、软件设计
五、思考
1、改变内容1和3的延时时间,观察有什么不同
2、改变内容3,实现左循环
实验二继电器控制
一、目的
1、理解继电器工作原理
2、了解功率驱动的概念
3、掌握弱电控制强电的方法
4、掌握继电器的隔离作用
5、掌握单片机I/O口的使用
6、掌握独立式按键的工作原理
二、内容
用独立式按键控制继电器的吸合和释放,当按键按下时吸合,按键松开时继电器释放,观察继电器动作。
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、编写程序,下载调试
3、观察继电器动作,或用万用表测量常开、常闭触点吸合前后的状态
四、设计思路
单片机是一个弱电器件,一般工作在低电压(5V或更低)小电流(mA级)的条件下,不能直接驱动大电压,大电流器件,比如电动机、照明电路等,就要加上一个中间环节来衔接,这个环节就是“功率驱动”。
继电器就是一个简单的功率驱动环节,对单片机来说,它是一个功率器件,对外又可以驱动其它大功率负载。
继电器就是单片机和其它大功率负载的接口。
同时,继电器可将直流和交流、弱电和强电隔离开来,起到隔离作用。
其工作原理很简单,当线圈得电的时候,常开触点闭合,常闭触点打开。
因为继电器对单片机来说也是一个功率器件,因此电路中要加一个起开关作用的三极管。
可以考虑一下二极管的作用。
1、硬件电路(参考继电器和蜂鸣器控制电路)
2、软件设计思路
当K1按下时,继电器的吸合,否则释放。
五、思考
1、二极管的作用?
2、为什么要加三极管,直接用单片机的管脚去驱动行不行?
(MCS51单片机)
实验三数码管静态显示
一、目的
1、掌握数码管静态显示原理
2、掌握数码管显示方法
3、掌握独立式按键的检测方法
二、内容
1、采用静态显示的方法,在数码管上分别循环显示0、1、2….一直到F,然后在从0开始,每隔一秒显示一个数据。
2、给4个独立式按键编号,当有按键按下时,将对应的按键编号显示在数码管上,当没有按键按下或有多个按键按下时,显示0。
3、按键计数:
开始时,数码管上显示数字0,K1每按一次,数码管上显示的数字就加1,直到F,然后在从0开始。
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、J2的2、3脚短接(短接片放在“关”的位置)
3、J3的1、2脚短接(短接片放在“开”的位置)
4、编写程序,下载调试
四、设计思路
1、硬件电路
电路中共有8位显示数码管,选择一位作为静态显示用;四个独立式按键K1、K2、K3、K4分别编号为1、2、3、4。
2、软件设计思路
采用查表的方式得到段码。
五、思考
静态显示有什么优缺点?
实验四数码管动态显示
一、目的
1、掌握数码管动态显示原理
2、掌握数码管动态显示方法
3、掌握独立式按键的检测方法
二、内容
1、采用动态显示的方法,在4位数码管上分别显示0、1、2、3
2、按键计数:
开始时,4位数码管上都显示十进制数字0,按键K1每按一次,4位数码管上显示的数字就加1,直到9999,然后在从0开始,注意显示的是十进制数。
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、J2的2、3脚短接(短接片放在“关”的位置)
3、J3的1、2脚短接(短接片放在“开”的位置)
4、编写程序,下载调试
四、设计思路
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
1、硬件电路(参考数码管静态显示电路)
电路中共有8位显示数码管,选择4位作为动态显示用。
2、软件设计思路
4位数码管轮流显示。
五、思考
动态显示有什么优缺点?
实验五键盘接口
一、目的
1、掌握独立键盘的检测原理
2、掌握矩阵键盘的检测原理
二、内容
按矩阵键盘上面的S1---S16,在第一个数码管上分别显示1-16
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、编写程序,下载调试
四、设计思路
独立键盘
如果系统只需几个按键,可直接采用I/O线构成单个按键电路,各个按键之间相互独立,一根线上的按键状态不会影响其他输入线上的工作状态,又称独立式键盘接口电路。
检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的按键处理。
编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时,检测松手时就不用加了。
矩阵式
键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。
当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。
这一点是识别矩阵按键是否被按下的关键。
然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。
扫描方式是利用CPU完成其他工作的空余调用键盘扫描子程序来响应键盘输入的要求。
在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。
键盘扫描程序一般应包括以下内容:
(1)判别有无键按下。
(2)键盘扫描取得闭合键的行、列值。
(3)用计算法或查表法得到键值。
(4)判断闭合键是否释放,如没释放则继续等待。
(5)将闭合键键号保存,同时转去执行该闭合键的功能。
1、硬件电路
2、软件设计思路
按检测、判断过程编写。
五、思考
按键消抖有哪些方法?
为什么要进行按键消抖?
实验六工件计数
一、目的
1、掌握LED数码管动态显示原理与应用方法
2、掌握外部中断的原理与使用方法
3、熟悉红外光电传感器的使用方法。
二、内容
在流水线产品数量自动记录系统中,物品经过红外线检测器时,挡住红外线,接受电路产生单片机中断触发信号,送给单片机的中断,在中断服务程序中计数,并实时显示计数结果(采用独立式按键K4模拟,产生中断信号)。
三、步骤
1、将J1的2、3脚短接,选择12MHz晶振(短接片放在“开”的位置)
2、J14的1、2脚短接(短接片放在“关”的位置)
3、J11的1、2脚短接(短接片放在“开”的位置)
4、编写程序,下载调试
四、设计思路
1、硬件电路(参考数码管静态显示电路)
采用4位数码管显示,使用K4作为外部中断1输入信号。
2、软件设计思路
主程序中显示,中断程序中计数。
实验七数字时钟
一、目的
1、掌握LED数码管显示原理与应用方法
2、掌握单片机定时/计数器的应用
3、熟悉键盘的设计方法
4、熟悉单片机中断的使用方法
二、内容
1、单片机上电开机时,数码管显示00:
00并开始以一秒的时间走动
2、第一个按键为功能键:
(1)按第一下时,时钟暂停
(2)按第二下时,时钟停止,当前秒操作为有效(数码管后两位)
(3)按第三下时,时钟停止,当前分操作为有效(数码管前两位)
(4)按第四下时,时钟开始走动,显示当前时间
3、第二个键为操作键:
(1)在功能键按下二次时,按操作键一次,秒加1
(2)在功能键按下三次时,按操作键一次,分加1
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、J2的2、3脚短接(短接片放在“关”的位置)
3、J3的1、2脚短接(短接片放在“开”的位置)
4、编写程序,下载调试
四、设计思路
1、硬件电路(参考数码管静态显示电路)
2、软件设计思路
实验八单片机串行通信
一、目的
1、了解串行通信的基本概念
2、理解串行通信的专业术语
3、掌握单片机串行通信原理
4、掌握单片机双机通信的软硬件设计
二、内容
使用下载软件中的串口助手完成下列功能:
1、单片机向串口助手发送一个字符(或按键值),同时将发送的字符(或按键值)在数码管上显示出来
2、单片机接收串口助手发来的单个字符并显示
3、单片机向口助手发送多个字符(或按键值),同时将发送的字符(或按键值)在数码管上显示出来
4、单片机接收串口助手发来的多个字符并显示
5、两个单片机相互通信(选做)
三、步骤
1、选择11.0592MHz晶振(短接片放在“开”的位置)
2、J2的2、3脚短接(短接片放在“关”的位置)
3、J3的1、2脚短接(短接片放在“开”的位置)
4、编写程序,下载
5、打开下载软件的串口助手,设置号通信参数,如下图所示
6、点打开串口按钮,按钮旁指示灯变绿,发送或接收数据
四、设计思路
1、硬件电路
通过下载线通信。
2、软件设计思路
注意通信协议。
五、思考
如果选择12MHz晶振进行通信,可能会存在什么问题?
实验九AD转换器实验
一、目的
1、了解单片机自带AD转换器的工作原理
2、掌握单片机自带AD转换器的控制方法
3、掌握模拟量和数字量的转换关系
二、内容
利用单片机自带A/D转换器,通过系统板上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过数码管显示出来。
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、J2的2、3脚短接(短接片放在“关”的位置)
3、J3的1、2脚短接(短接片放在“开”的位置)
4、将拔码开关SJ2的第二个开关拔到ON,其它的拔到OFF
5、编写程序,下载调试
四、设计思路
1、硬件电路
2、软件设计思路
单片机的自带资源一般都是通过寄存器控制的,熟悉相关寄存器。
五、思考
若输入的模拟电压为3v,则输出的数字量是多少?
写出计算过程。
实验十TLC561510位D/A串行转换
一、目的
1、了解TLC561510位串行D/A转换器的工作原理。
2、掌握TLC561510位串行D/A转换器在单片机系统中的连接与编程。
二、内容
利用TLC5615输出一个从0V开始逐渐升至5V再降至0V的可变电压,并用来驱动发光二极管,观察发光二极管的亮度变化。
三、步骤
1、选择12MHz晶振(短接片放在“开”的位置)
2、J91的2、3脚短接
3、将拔码开关SJ4的开关拔到ON
4、编写程序,下载调试
5、观察发光二极管的亮度变化
6、将拔码开关SJ4的开关拔到OFF
四、设计思路
TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。
带有上电复位功能,即把DAC寄存器复位至全零。
性能比早期电流型输出的DAC要好。
只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机)接口,适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。
(1)TLC5615器件的引脚图及各引脚功能。
DIN:
串行数据输入端;
SCLK:
串行时钟输入端;
/CS:
芯片选用通端,低电平有效;
DOUT:
用于级联时的串行数据输出端;
AGND:
模拟地;
REFIN:
基准电压输入端,2V~(VDD-2);
OUT:
DAC模拟电压输出端;
VDD:
正电源端,4.5~5.5V,通常取5V。
(2)TLC5615的工作时序
TLC5615工作时序如上图所示。
可以看出,只有当片选CS为低电平时,串行输入数据才能被移入16位移位寄存器。
当CS为低电平时,在每一个SCLK时钟的上升沿将DIN的一位数据移入16位移寄存器。
注意,二进制最高有效位被导前移入。
接着,CS的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供DAC电路进行转换;当片选CS为高电平时,串行输入数据不能被移入16位移位寄存器。
注意,CS的上升和下降都必须发生在SCLK为低电平期间。
1、硬件电路
2、软件设计思路
按照时序要求,编写控制程序
五、思考
若单片机送出的数字量是360,则DA输出模拟电压为多少?
写出计算过程。
实验十一步进电机控制
一、目的
1、了解步进电机的结构与功能;
2、熟悉步进电机控制与驱动电路;
3、熟悉步进电机控制程序的编写。
二、内容
1、设计对应的软件系统,实现步进电机的正反转、转速增/减等可控功能
2、在现有系统基础上增加数码显示圈数/转速、启动/暂停/停止、预设转动圈数等功能
三、步骤
1、将步进电机对应连接到X5端子
2、编写程序,下载调试
四、设计思路
步进电也称为脉冲电机,它可以直接接收来自计算机的数字脉冲,使电机旋转过相应的角度。
步进电机在要求快速启停,精确定位的场合做为执行部件,得到了广泛采用。
四相步进电机的工作方式:
*单相四拍工作方式,其电机控制绕组A、B、C、D相的正转通电顺序为:
A->B->C->D->A;反转通电顺序为:
A->D->C->B->A。
*四相八拍工作方式,正转的绕组通电顺序为:
AB->B->BC->C->CD->D
->DA->A;反向的通电顺序为:
A->AD->D->DC->C->CB->B->BA->A。
*双四拍工作方式,正转的绕组通电顺序为:
AB->BC->CD->DA->AB;反向的通电顺序为:
AB->AD->DC->CB->BA。
步进电机有如下特点:
给步进脉冲电机就转,不给步进脉冲电机就不转;步进脉冲的频率越高,步进电机转得越快;改变各相的通电方式,可以改变电机的运行方式;改变通电顺序,可以控制电机的正、反转。
1、硬件电路
参考步进电机电路、按键电路。
2、软件设计思路
基本流程图如图所示,在此基础上,可自行增加启动/停止/暂停,预设转动圈数,运行时间显示等其他功能。
实验十二I2C总线
一、目标
1、理解I2C协议
2、掌握EEPROM的读写方法
二、内容
向EEPROM中写入1、2、3、4,然后读出来送数码管显示。
三、说明
1、串行EEPROM(24C02)接口方法
在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。
串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。
串行器件不仅占用很少的资源和I/O线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,资料不宜丢失和支持在线编程等特点。
目前,各式各样的串行接口器件层出不穷,如:
串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。
串行EEPROM是在各种串行器件应用中使用较频繁的器件,和并行EEPROM相比,串行EEPROM的资料传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。
所以,它特别适合于需要存放非挥发资料,要求速度不高,引脚少的单片机的应用。
2、串行EEPROM及其工作原理
串行EEPROM中,较为典型的有ATMEL公司的AT24CXX系列以及该公司生产的AT93CXX系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM产品。
AT24CXX系列的串行电可改写及可编程只读存储器EEPROM有10种型号,其中典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量分别是1024/2048/4096/8192/16384位,也就是128/256/512/1024/2048字节。
这个系列一般用于低电压,低功耗的工业和商业用途,并且可以组成优化的系统。
信息存取采用2线串行接口。
这里我们就24C02的结构特点,其它系列比较类似。
3、结构原理及引脚
AT24C02有地址线A0~A2,串行资料引脚SDA,串行时钟输入引脚SCL,写保护引脚WP等引脚。
很明显,其引脚较少,对组成的应用系统可以减少布线,提高可靠性。
各引脚的功能和意义如下:
①VCC引脚,电源+5V。
②GND引脚,地线。
③SCL引脚,串行时钟输入端。
在时钟的正跳沿即上升沿时把资料写入EEPROM;在时钟的负跳沿即下降沿时把资料从EEPROM中读出来。
④SDA引脚,串行资料I/O端,用于输入和输出串行资料。
这个引脚是漏极开路的埠,故可以组成“线或”结构。
⑤A0,A1,A2引脚,是芯片地址引脚。
在型号不同时意义有些不同,但都要接固定电平。
⑥WP引脚,写保护端。
这个端提供了硬件数据保护。
当把WP接地时,允许芯片执行一般读写操作;当把WP接VCC时,则对芯片实施写保护。
4、内存的组织及运行
内存的组织:
对于不同的型号,内存的组织不一样,其关键原因在于内存容量存在差异。
对于AT24CXX系列的EEPROM,其典型型号的内存组织如下。
AT24C01A:
内部含有128个字节,故需要7位地址对其内部字节进行寻址
AT24C02:
内部含有256个字节,故需要8位地址对其内部字节进行读写。
5、运行方式
起始状态:
当SCL为高电平时,SDA由高电平变到低电平则处于起始状态。
起始状态应处于任何其它命令之前。
停止状态:
当SCL处于高电平时,SDA从低电平变到高电平则处于停止状态。
在执行完读序列信号之后,停止命令将把EEPROM置于低功耗的备用方式(StandbyMode).
应答信号:
应答信号是由接受资料的器件发出的。
当EEPROM接受完一个写入资料之后,会在SDA上发一个”0”应答信号。
反之,当单片机接受完来自EEPROM的资料后,单片机也应向SDA发ACK信号。
ACK信号在第9个时钟周期时出现。
备用方式(StandbyMode):
AT24C01A/02/04/08/16都具有备用方式,以保证在没有读写操作时芯片处于低功耗状态。
在下面两种情况中,EEPROM都会进入备用方式:
第一,芯片通电的时候;第二,在接到停止位和完成了任何内部操作之后。
AT24C01等5种典型的EEPROM在进入起始状态之后,需要一个8位的“器件地址字”去启动内存进行读或写操作。
在写操作中,它们有“字节写”,“页面写”两种不同的写入方法。
在读操作中,有“现行地址读”,随机读和“顺序读”种各具特点的读出方法。
下面分别介绍器件寻址,写操作和读操作。
①器件寻址:
所谓器件寻址(DeviceAddressing)就是用一个8位的器件地址字(DeviceAddressWord)去选择内存芯片。
在逻辑电路中的AT24CXX系列的5种芯片种,即AT24C01A/02/04/08/16中,如果和器件地址字相比较结果一致,则读芯片被选中。
下面对器件寻址的过程和意义加以说明。
②芯片的操作地址
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
0
A2
A1
A0
R/W
用于内存EEPROM芯片寻址的器件地址字如图所示。
它有4种方式,分别对应于1K/2K,4K,8K和16K位的EEPROM芯片。
从图中看出:
器件地址字含有3个部分。
第一部分是高4位,它们称为EEPROMAT24C01A/02/04/08/16的标识第二部分称为硬布线地址,它们是标识后的3位。
第三部分是最低位,它是读/写操作选择位。
第一部分:
器件标识,器件地址字的最高4位。
这4位的内容恒为”1010”,用于标识EEPROM器件AT24C01A/02/04/08/16。
第二部分:
硬布线地址,是与器件地址字的最高4位相接的低3位。
硬布线地址的3位有2种符号:
Ai(i=0~2),Pj(j=0~2)其中Ai表示外部硬布线地址位。
对于AT24C10A/02这两种1K/2K位的EEPROM芯片,硬布线地址为“A2,A1,A0”。
在应用时,“A2,A1,A0”的内容必须和EEPROM芯片的A2,A1,A0的硬布线情况,即逻辑连接情况相比较,如果一样,则芯片被选中;否则,不选中。
AT24C01/02:
真正地址=字地址。
第三部分:
读/写选择位,器件地址字的最低位,并用R/W表示。
当R/W=1时,执行读操作;当R/W=0时,执行写操作。
当EEPROM芯片被选中时,则输出“0”;如果EEPROM芯片没有被选中,则它回到备用方式。
被选中的芯片。
其以后的输入,输出情况视写入和读出的内容而定。
③写操作:
AT24C01A/02/04/08/16这5种EEPROM芯片的写操作有2种:
一种是字节写,另一种是页面写。
字节写:
这种写方式只执行1个字节的写入。
字节写的过程如图所示,其写入过程分外部写和内部写两部分,分别说明如下。
在起始状态中,首先写入8位的器件地址。
则EEPROM芯片会产生一个“0”信号ACK输出作为应答;接着,写入8位的字地址,在接受了字地址之后,EEPROM芯片又产生一个“0”应答信号ACK;随后,写入8位资料,在接受了资料之后,芯片又产生一个“0”信号ACK作为应答。
到此为止,完成了一个字节写过程,故应在SDA端产生一个停止状态,这是外部写过程。
在这个过程中,控制EEPROM的单片机应在EEPROM的SCL,SDA端送入恰当的信号。
当然在一个字节写过程结束时,单片机应以停止状态结束写过程。
在这时,EEPROM进入内部定时的写周期,以便把接受的数据写入到存储单元中。
在EEPROM的内部写周期中,其所有输入被屏蔽,同时不响应外部信号直到写周期完成。
这是内部写过程。
内部写过程大约需要10ms时间。
内部写过程处于停止状态与下一次起始状态之间。
页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 指导书