单片机实验讲义.docx
《单片机实验讲义.docx》由会员分享,可在线阅读,更多相关《单片机实验讲义.docx(14页珍藏版)》请在冰豆网上搜索。
单片机实验讲义
实验1 基于KeilC51集成开发环境的仿真与调试
[实验目的]
熟悉KeilC51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真试验仪的使用.
[实验设备及器件]
PC机一台
DP-51PROC单片机综合仿真试验仪一台
[实验内容]
按照Keil教程进行KeilC51集成开发环境的仿真调试练习.然后按照以下内容建立文件并编译仿真调试.
ORG8000H
LJMPMain
ORG80F0H
Main:
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR7,Loop
CPLP1.0;P1.0取反
CPLP1.1;P1.1取反
CPLP1.2;P1.2取反
CPLP1.3;P1.3取反
CPLP1.4;P1.4取反
CPLP1.5;P1.5取反
CPLP1.6;P1.6取反
CPLP1.7;P1.7取反
SJMPMain
;
END
[实验要求]
熟练掌握结合DP-51PROC单片机综合仿真试验仪和KeilC51集成开发环境进行仿真调试.
[实验步骤]
①使用排线把A2区的J61接口与D1区的J52接口相连,如图1.1所示
图1.1实验1原理图
②使用KeilC51集成开发环境建立工程、编辑与编译实验内容所列的程序.
③仿真调试,即运行debug.可在仿真调试环境下设置断点、单步、全速运行等.在调试过程中,可看见D1区LED的亮灭是由用户程序来控制的.
实验2 单片机I/O口控制实验
[实验目的]
利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口.
[实验设备及器件]
PC机一台
DP-51PROC单片机综合仿真试验仪一台
[实验内容]
1编写一段程序,用P1口作为控制端口,使D1区的LED轮流点亮.
2编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7口接按键,按下时LED亮,不按时LED灭).
[实验要求]
学会使用单片机的P1口作I/O口.
[实验步骤]
①使用排线把A2区的J61接口与D1区的J52接口相连,如图2.1(a)所示
②先编写一个延时程序.
3将LED轮流点亮的程序编写完整并调试运行.
4使用排线把A2区的J61接口的P1.0~P1.6与D1区的J52接口相连,另外A2区的J61接口的P1.7与D1区的J53接口的KEY1相连.原理如图2.1(b)所示.
5编写P1.7控制LED的程序,并调试运行(按下K1健看是否全亮).
6A2区的J61接口的P1.7与D1区的J54接口的SW1相连,然后再运行程序,查看结果.
(a) (b)
图2.1单片机I/O口实验原理图
实验3串转并(或并转串)的I/O口实验
串转并的I/O口实验
一.实验目的
熟悉并掌握串转并的I/O口扩展方法。
二.实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
三.实验内容
1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。
2.验证串并转换数据的正确性。
四.实验要求
熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。
表3.174HC164真值表
五.实验步骤
1.短接A5区JP10接口,将A5区的CLK164、DINA164、DINB164、CLR164
与A2区的P10~P13对应相连(CLK对P10等等)。
如图3.5所示。
图3.5实验7原理图
2.运行编写好的软件程序,完成一次串并转换。
3.使用C2区的逻辑笔或D1区的LED指示灯测试并行输出数据Q0~Q7数据的正确性。
并转串的I/O口实验
一.实验目的
熟悉并掌握并转串的I/O口扩展方法。
二.实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
三.实验内容
1.编写程序,通过单片机的P1口控制74HC165的串行数据输入端口,实现并串转
换。
2.采用8位的拨码开关作为输入数据,验证程序设计的正确性。
四.实验要求
熟悉并串转换芯片的工作原理,学会使用并串转换芯片扩展单片机的I/O口资源。
表3.274HC165真值表
五.实验步骤
1.短接A4区JP11跳线,将A4区的165_PL、165_CLK1、165_CLK2、165_SER、/Q7、Q7与A2区的P10~P15对应相连(/PL对应连接P10等等)。
如图3.7实验原理图。
图3.7实验8原理图
2.将D1区的J54接口连接到A4区J98并行数据输入接口,设置拨码开关
SW1~SW8的状态。
3.打开程序调试软件,下载运行编写好的软件程序,完成一次并串转换操作,把拨码
开关的状态读出来。
4.查看程序运行结果是否正确。
实验4步进电机控制实验
一.实验目的
了解步进电机的工作原理,掌握它的转动控制方式和调速方法。
二.实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
三.实验内容
1.编写程序,通过单片机的P1口控制步进电机的控制端,使其按一定的控制方式进行转动。
2.分别采用双四拍(AB→BC→CD→DA→AB)方式、单四拍(A→B→C→D→A)方式和单双八拍(A→AB→B→BC→C→CD→D→DA→A)方式编程,控制步进电机的转动方向和转速。
3.观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控制方式的优缺点。
四.实验要求
学会步进电机的工作原理和控制方法,掌握一些简单的控制电路和基本的电机基础知识。
五.实验步骤
1.安装C10区JP6接口上的短路帽,将C10区BA、BB、BC、BD与A2区的P10~P13
对应相连。
2.打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。
3.修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。
实验5直流电机实验(或定时器输出PWM实验)
定时器输出PWM实验
一.实验目的
利用定时器控制产生占空比可变的PWM波。
二.实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
示波器一台
三.实验内容
编写一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占
空比的增加和降低。
用示波器查看P1.0口的输出波形。
四.实验要求
学会使用单片机的定时器产生250Hz的PWM波。
五.实验步骤
1.用导线连接A2区的P11与D1区的KEY1。
2.用导线连接A2区的P12与D1区的KEY2。
3.将示波器的探针连接到A2区的P10。
4.用示波器观测P1.0口的PWM波形。
直流电机实验
一.实验目的
利用PWM控制直流电机的转动速度。
二.实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
三.实验内容
学习如何控制直流电机。
PWM功率驱动电路如下:
图3.34直流电机驱动原理图
原理图如图3.34,只要ZDJ_A的电压比ZDJ_B的电压高,电机正转。
如果ZDJ_B的电压比ZDJ_A高,电机反转。
四.实验要求
利用实验六的程序,用D1区的按键KEY1与KEY2改变PWM的占空比来控制直流电机的转速。
五.实验步骤
1.用导线连接A2区的P11与D1区的KEY1。
2.用导线连接A2区的P12与D1区的KEY2。
3.用导线连接A2区的P10与B10区的ZDJ_A。
4.B10区的ZDJ_B连接到C1区的GND。
5.短接B10区JP18的电机电源跳线。
六.实验参考程序
参见定时器输出PWM实验的程序。
实验6串行AD(或者DA)转换实验
串行AD转换
一 实验目的:
熟悉A/D转换的工作原理,学习使用串行A/D转换芯片TLC549进行电压信号的采集和数据处理。
二 实验设备及器件:
PC机一台
DP-51PROC单片机综合仿真实验仪一台
万用表一台
实验电路:
三 实验内容:
1.编写程序,通过单片机的P1口控制TLC549实现模拟电压信号的采集。
2.连接线路,调整TLC549的输入参考电压为5V,运行程序实现A/D转换和电压信号的采集。
四 实验要求:
理解掌握TLC549的A/D转换原理和串行A/D转换器接口的编程方法,学会使用TLC549串行A/D转换器实现电压信号采集的方案设计。
五 实验步骤:
1.安装B8区JP17的短路帽,然后将VCC(+5V电源)与B8区的REF+连接,将B8区的CLK,DAT,CS_N对应连接到A2区的P10,P11,P12针上。
2.使用导线将D2区的10kΩ电位器连接为电压调节模式,使用导线将其电压调整端连接到B8区的ANIN接线柱,作为TLC549的模拟电压信号输入。
3.打开程序调试软件,下载运行编写好的程序,完成一次A/D转换,然后调节电位器输入模拟电压,多次测量并保存测量数据。
4.使用万用表测量输入的模拟电压信号,分析采集到的A/D转换数据是否准确。
六 实验预习要求:
认真预习本节实验内容,按照实验的要求提前做好实验准备工作,认真阅读TLC549的数据手册。
串行D/A转换实验
一 实验目的:
学会使用D/A转换器生成用户所需要的波形。
试验设备及器件:
PC机一台
DP-51PROC单片机综合仿真实验仪一台
双踪示波器一台
二 实验内容:
3.设计软件程序,用单片机的I/O口控制TLC5620实现D/A转换,使其通道1产生一个三角波,而通道2产生一个与通道1周期,幅度均相同的方波。
4.连接线路,调整TLC5620的参考电压为2.6V,运行程序,用双踪示波器观察产生的波形。
三 实验要求:
实验前阅读有关TLC5620的数据手册,了解TLC5620的4种时序图以及产生波形幅度的计算方法。
四 实验步骤:
1.短接B7区的电源供给跳线JP16,调节B7区的电位器W3,使其输出接线柱VREF的电压为2.6V。
2.将A2区P16,P17,T0,T1分别连接到B9区的CLK,DAT,LADAC,LOAD,将B7区VREF连接到B9区REF接线柱,短接B9区电源跳线JP13.
3.运行程序,用双踪示波器的两个探头观察DACA,DACB输出的波形。
五 实验预习要求:
认真预习本节实验内容,按照实验的要求提前做好实验准备工作。
实验7、8RS232串口通信实验
实验目的:
利用单片机的TXD,RXD口,使用户学会单片机串行口的使用。
实验设备及器件:
PC机一台
DP-51PROC单片机综合实验仿真仪一台
实验内容:
1.编写一段程序,利用单片机的串行口向PC机发送0x55.
2.编写一段程序,接收PC机串行口发送的0x55(ASCΠ码为字母U),在单片机接收到0x55时返回一个0x41(ASCΠ码为字母A)。
在PC机一端,接收到0x41表示完成。
实验要求:
深刻理解MAX232芯片的作用,学会使用单片机的串行口。
如果有时间,可进行单片机之间的串行通信实验。
实验步骤:
1.用串口先连接PC机和DP-51PROC单片机综合仿真实验仪。
如图所示:
2.编写一段程序,利用单片机的串行口发送0x55,波特率9600.(该程序不能在DP-51PROC上进行仿真,所以只能下载。
)
3.程序下载运行后,可在PC的接收软件上看见接收到“UUUU...”.
4.编写一段程序,在单片机接收到0x55(U)时返回一个0x41(A)。
在PC机一端,以接收到0x41(A)为完成,波特率为9600.(该程序不能在DP-51PROC上进行仿真,所以只能下载。
)
5.下载程序运行后,先从PC机发送一个0x55(U),这时可在PC的接收软件看到接收到A。
实验预习要求:
因为程序不能在DP-51PROC上进行仿真,只能下载,要先学会怎样脱机运行。
还可先把程序编好,然后在KeilC51环境下进行软件仿真。
还要学会PC机上的串口调试软件的使用(DPFlash也内嵌一个串口调试器)。
实验9、10 I2C总线实验
[实验目的]
加深用户对I2C总线的理解,熟悉I2C器件的使用,提供用户实际开发的能力.
[实验设备及器件]
PC机一台
DP-51PROC单片机综合仿真试验仪一台
[实验内容]
进行I2C总线控制的实时时钟、EEPROM、ZLG7290键盘LED控制器实验.
[实验要求]
熟练掌握I2C总线的控制,灵活运用I2C主控器软件包,深刻理解实时时钟、EEPROM、ZLG7290键盘LED控制的各种功能.
[实验步骤]
1认真阅读PCF8563T,CAT24WC02,ZLG7290的数据手册和模拟I2C软件包使用手册,理解硬件结构.
2使用导线连接D5区的SCL,SDA到A2区的P16、P17(SCL~P16、SDA~P17),连接D5区的RST_L、INT_KEY到A2区的P10、INT0(RST_L~P10、INT_KEY~INT0),端接D5区的JP1跳线.
3把模拟I2C软件包"VIIC_C51.C"文件加入到Keilc51的项目中,程序源文件的开头包含"VIIC_C51.H"文件.修改"VIIC_C51.C"文件中的”sbitSDA=P1^3;sbitSCL=P1^2;”为"sbitSDA=P1^7;sbitSCL=P1^6;".图9.1为RTC原理图.
图9.1RTC原理图
4使用函数ISendStr(ucharsla,ucharsuba,uchar*s,ucharno)对PCF8563T实时时钟进行设置初始时间,再使用IRcvStr(ucharsla,ucharsuba,uchar*s,ucharno)对PCF8563T实时时钟的时间进行读取.
5使用函数ISendStr(ucharsla,ucharsuba,uchar*s,ucharno)对CAT24WC02EEPROM进行写入,再使用IRcvStr(ucharsla,ucharsuba,uchar*s,ucharno)对CAT24WC02EEPROM进行读取.图9.2为EEPROM原理图.
图9.2EEPROM原理图
6对ZLG7290键盘LED控制器的操作也是同理,只是在程序开始的地方增加复位操作和程序中间增加查询是否有键按下.另外,还要增加ZLG7290软件包"ZLG7290.C"文件加入到KeilC51的项目中,程序源文件的开头包含"ZLG7290.H"文件.图9.3是ZLG7290原理图.
图9.3ZLG7290原理图