《单片机原理与应用》实验指导05.docx
- 文档编号:12163361
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:94
- 大小:1.01MB
《单片机原理与应用》实验指导05.docx
《《单片机原理与应用》实验指导05.docx》由会员分享,可在线阅读,更多相关《《单片机原理与应用》实验指导05.docx(94页珍藏版)》请在冰点文库上搜索。
《单片机原理与应用》实验指导05
单片机原理与应用
实验指导
生物医学工程教研室
编写:
范能胜
2012-05
目录
第一章模块化单片机实验仪的结构1
1·1主板结构1
1·2主板扩展电路接口的组成2
1·3主板外接电路的总线简介5
1·4主板外接的功能扩展实验板简介9
第二章TMD-1软件介绍10
2·1软件运行的3种方式10
2·2在系统编程软件(FlashMagic)的使用10
2·3端口监视软件(PortSpy)的使用13
2·4汇编语言程序编辑软件(Keil)的使用16
第三章TMD-1主板基本实验22
实验一单片机I/O口输入输出实验22
3·1·1P1口输出实验22
3·1·2P2口输入实验25
实验二单片机输出数据至显示设备实验27
实验三单片机内部定时器实验30
实验四单片机外部中断和串口通信实验33
实验五数码管动态显示接口电路实验38
实验六矩阵键盘接口电路实验44
实验七串行A/D转换和串口发送实验52
第四章单片机课程设计58
4.1单片机课程设计题目58
4.1.1数字时钟的设计(采用LED显示器件)58
4.1.2数字电压表的设计:
58
4.1.3基于单片机的正弦波信号发生器设计:
58
4.1.4波形采集和并口传送:
59
4.1.5频率可调方波发生器;59
4.1.66位数显方波频率计数器:
59
4.1.7999秒马表设计60
4.1.8基于单片机的自动交通灯控制系统60
4.1.9基于DS18B20的数字温度计的设计60
4.1.10基于单片机的电子密码锁的设计60
第一章模块化单片机实验仪的结构
1·1主板结构
TMD-1模块化单片机实验仪主板由单片机基本系统和多样化的扩展总线与接口电路组成。
主板的组成:
CPU:
AT89C51(或89C51RD2HXX)工作频率:
6MHz
RAM:
62256(32KX8)地址范围:
0000H~7FFFH
I/O口输入输出设备:
8个拨动开关,8个LED灯
数据显示设备:
1个共阴极数码管,1个两行16字符的液晶显示器
逻辑笔
输出时钟频率(YCLK):
1MHz
系统电源:
+5V/2A,+12V/0.5A,-12V/0.5A
主板结构框图如下:
图1-1TMD-1模块化单片机实验仪主板示意图
1·2主板扩展电路接口的组成
图1-2器件片选地址分配图
表1-1主板接口与片选地址列表
片选
地址
接口
片选
地址
接口
/Y0
8000H
未用
/Y8
8800H
未用
/Y1
8100H
8位并行输出口
/Y9
8900H
未用
/Y2
8200H
打印机
/Y10
8A00H
未用
/Y3
8300H
读SW0~SW3,PULSE的端口
/Y11
8B00H
未用
/Y4
8400H
BUSY+红外输入信号
(HD0~HD3)
/Y12
8C00H
未用
/Y5
8500H
LCD
/Y13
8D00H
未用
/Y6
8600H
8位并行输入口
/Y14
8E00H
/Y7
8700H
锁存1位数码管的字形码的端口
/Y15
8F00H
表1-2主板上的扩展接口与资源列表
序号
总线与接口的名称及说明
片选地址/CS
接插槽或接线
1
8位并行输入接口(74LS373)
8600H(/Y6)
J2(10芯插座)
2
8位并行输出接口(74LS374)
8100H(/Y1)
J3(10芯插座)
3
并行打印机接口(74LS374)
8200H(/Y2)
J7(26芯插座)
4
LCD显示接口(74LS374)
8500H(/Y5)
L1(16芯插座)
5
读入BUSY(打印机)
及红外遥控器输入信号(HD0~HD3)
8400H(/Y4)
6
一位数码管
8700H(/Y7)
7
1-Wire接口(用P1.2模拟单线接口)
J12(3芯插座)
8
I2C总线接口
(用P1.3,P1.4模拟I2C总线)
J10(4芯插座)
9
3-Wire总线接口
(用P1.5,P1.6,P1.7模拟3-WIRE总线)
J11(5芯插座)
10
SPI总线接口
(用P1.1,P1.0,TXD,RXD模拟SPI总线)
J6(6芯插座)
11
UART(RXD,TXD)+I/O(P1.0~P1.7)
J4(16芯插座)
12
红外遥控器
J13(2芯插座)
13
RS232C接口(RXD,TXD)
J5(9芯插座)
14
单片机总线扩展槽(34芯)
J1(34芯插座)
15
单片机总线扩展槽(34芯)
J8(34芯插座)
16
8255数据接口
8000H(/Y0)
J9(16芯插座)
17
8个按键(SW0~SW7)
18
8个LED灯(LD0~LD7)
19
步进电机接口
J17(5芯插座)
20
直流电机接口
J14(3芯插座)
21
继电器接口
J15(3芯插座)
22
电子音响(喇叭)接口
J16(3芯插座)
23
逻辑笔
P1
24
输出时钟(1MHz)
YCLK
25
单脉冲(触发/INT0)
KPUS
表1-334芯插座(J1,J8)信号线分配表
1
2
3
4
5
6
7
8
9
10
11
RST
/RST
YALE
YCLK
/YWR
/YRD
D7
D6
D5
D4
D3
12
13
14
15
16
17
18
19
20
21
22
D2
D1
D0
YA3
YA2
YA1
YA0
/Y15
/Y14
/Y13
/Y12
23
24
25
26
27
28
29
30
31
32
33
34
/Y11
/Y10
/Y9
T0
T1
/INT0
/INT1
+12V
-12V
+5V
GND
GND
表1-4打印机接口插座(J7)信号线分配表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/STB
VCC
O0
NC
O1
VCC
O2
VCC
O3
GND
O4
GND
O5
GND
15
16
17
18
19
20
21
22
23
24
25
26
O6
GND
O7
GND
NC
GND
BUSY
GND
GND
GND
NC
VCC
表1-5液晶显示器接口插座(L1)信号线分配表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GND
VCC
A1
A0
E
D0
D1
D2
D3
D4
D5
D6
D7
NC
NC
表1-6外扩接口插座(J9)信号线分配表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
VCC
D0
D1
D2
D3
D4
D5
D6
D7
/YRD
/YWR
/YA0
/YA1
RST
/Y0
GND
表1-7UART接口插座(J4)信号线分配表
1
2
3
4
5
6
7
8
+5V
+5V
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
9
10
11
12
13
14
15
16
P1.1
P1.0
RXD
TXD
GND
GND
-12V
+12V
表1-88位并行输出接口插座(J3)信号线分配表
1
2
3
4
5
6
7
8
9
10
VCC
OD0
OD1
OD2
OD3
OD4
OD5
OD6
OD7
GND
表1-98位并口输入接口插座(J2)信号线分配表
1
2
3
4
5
6
7
8
9
10
VCC
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
GND
表1-101-WIRE插座(J12)信号线分配表
1
2
3
GND
P1.2(DQ)
VCC
表1-11I2C插座(J10)信号线分配表
1
2
3
4
GND
P1.3(SDA)
P1.4(SCL)
VCC
表1-123-WIRE插座(J11)信号线分配表
1
2
3
4
5
GND
P1.5(DQ)
P1.6(CLK)
P1.7(/RST)
VCC
表1-13SPI插座(J6)信号线分配表
1
2
3
4
5
6
GND
RXD(MOSI)
TXD(CLK)
P1.0(MISO)
P1.1(CS)
VCC
1·3主板外接电路的总线简介
A·并行总线:
总线(BUS)是计算机系统中CPU与器件之间传送信息的一组公共信号线。
单片机并口扩展采用三总线结构,即地址总线(ADDRESSBUS),数据总线(DATABUS)和控制总线(CONTROLBUS)。
单片机的三总线分别与外围扩展芯片对应的引脚相连接,通过软件编程才能实现数据传输。
B·串行总线:
串行扩展总线与串行扩展接口的区别在于外围器件的选通方式。
采用串行扩展总线的器件都有自己的器件地址编号。
单片机通过软件来选通指定地址编号的器件,不需要片选信号。
挂在串行扩展接口线上的外围器件,都有自己的片选信号输入端,单片机通过I/O线选通。
串行数据传送与并行数据传送的不同点在于并行传送是以字节(Byte)为单元,一次传送一个或者多个字节(8位,16位,或32位)。
而串行传送一次只传送一位(Bit)。
因此,数据线只要一根或二根。
串行传送接线少,硬件结构简单,系统容易扩展,简化了系统的结构。
以A/D,D/A转换器为例,位数越多,精度越高。
若采用并行接口方式,只有增加管脚才能扩展位数。
采用串行传送方式,无须增加管脚就可以提高器件精度,增加器件的功能。
目前串行扩展总线技术已深入到仪器、仪表行业,已给单片机应用带来新的生命力,成为当今集成电路器件发展的一大方向。
目前世界广泛采用的串行扩展总线和串行扩展接口有:
I2C(InterIntegratedCircuitBus)串行扩展总线(PHILIPS);
SPI(SerialPeripheralInterface)串行扩展接口(MOTOROLA);
MicroWire串行扩展接口(NATIONALSEMICONDOCTOR);
1-Wire串行扩展接口,2-Wire串行扩展总线,3-Wire串行扩展接口(DALLAS);
MCS-51系列的UART方式0串行扩展接口。
使用串行器件时,要注意到二个问题:
一是速度,串行传送比并行传送速度慢,二是串行传送要有一定的通信协议,包括设备的选通,数据的格式,数据传送的启动和停止等。
串行传送速率一般可从400Kb/秒到1Mb/秒。
在传送速度要求不是特别高的场合,串行传送速度并不影响使用。
串行通信接口是设备与设备之间的接口,包括RS232C接口,USB接口。
串行扩展接口是指设备内部芯片之间的接口。
AT89C51自身不带串行扩展总线。
要实现串行扩展,可用I/O线模拟。
模拟串行扩展接口与总线的电路如图1-4到图1-7。
图中包含模拟的1-Wire接口,2-Wire总线,3-Wire接口和SPI接口。
其中2-WIRE总线和I2C总线兼容。
图中虚线上面的部分电路在主板上,下面的部分在实验板上,二者之间用外接电缆连接。
图中,接插件J1分散在各个实验板上。
与J1对接的接插件在主板上。
图1-3模拟1-WIRE接口接线图
图1-4模拟I2C总线接线图
图1-5模拟3-WIRE接口接线图
图1-6模拟SPI接口的接线图
上述各图中,虚线上面部分地区线路在主板上,虚线下面部分在实验板上。
1·4主板外接的功能扩展实验板简介
1号板:
8255做并口扩展,控制4X4小键盘输入,4位数码管显示数据。
2号板:
3-Wire总线的测温芯片DS1620测得当前环境温度,I2C总线的SAA1064驱动4
位共阳极的数码管显示。
3号板:
1-Wire总线的测温芯片DS18B20测得当前环境温度,4位共阴极数码管显示。
4号板:
PCF8591串行模数转换、SAA1064驱动4位共阳极的数码管显示及AT24C02EEPROM存储实验。
5号板:
PCF8583电子时钟日历、2片SAA1064驱动8位共阳极的数码管显示。
6号板:
ISD4002语音芯片实现语音的‘录音’、‘放音’。
7号板:
ADC0809、DAC0832完成模数转换及8253定时器综合实验。
ADC0809和DAC0832联合实现的录音、放音。
8号板:
利用红外发送、接收原理向主板发送0-8数据,主板接收后送数码管显示。
9号板:
UART方式0加上扩展移位寄存器将数据串行变并行,再将并行变串行。
第二章TMD-1软件介绍
2·1软件运行的3种方式
注意:
请先安装Keil软件,见2·4节。
编程器固化程序法:
必须先断掉电源,然后再把单片机芯片从TMD-1上拔出,插到编程器上,把程序固化到单片机中,最后把单片机重新插入TMD-1上,确定下载开关拨到“运行”,再打开电源,程序便可以运行了。
仿真器调试法:
详细说明请见仿真器的使用说明。
在系统编程法:
详细说明请见本章的2·2节。
2·2在系统编程软件(FlashMagic)的使用
在系统编程简介
进行单片机实验或开发时,通常需要借助编程器将调试好的目标程序写入到单片机内部程序存储器中。
普通的编程器价格从几百元到几千元不等。
另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,也比较麻烦。
随着单片机技术的发展,出现了可以在系统编程(ISP)的单片机。
ISP一般是通过单片机的串行接口对内部的程序存储器进行编程,如PHILIPS公司的P89C51RX+、P89C51RX2单片机;ATMEL公司的AT89S8252单片机;WINBOND公司的W78E516等。
利用在系统编程(ISP)的单片机,单片机的实验和开发不需要编程器,单片机芯片可以直接焊接到电路板上,调试结束即成成品,甚至可以远程在线升级单片机中的程序,使得单片机应用系统的设计、生产、维护、升级等环节都发生着深刻的变革。
实验仪附带有一片PHILIPS公司新推出的高性能8位单片机P89C51RD2HXX,该单片机与MCS-51单片机引脚及指令集完全兼容。
该单片机最大的优点是:
其片内具有64KB闪存程序存储器,1KB的片内数据存储器,且同PC机连机后,可将目标程序直接写入片内程序存储器中,不再需要专用的编程器。
下面就其编程方法作一介绍。
在断电的情况下,将P89C51RD2HXX单片机插入实验仪通用单片机插座并锁紧。
将实验仪与单片机之间的串行通信电缆连接好,通信电缆一端接在PC的串口COM1或COM2,另一端接实验仪串行口J5。
接通跳线DZ4,使串行通信线RXD与RS232电平转换电路相连。
通电,为了让系统能够达到稳定状态,最好等待1-2秒钟,然后将实验仪上的下载开关拨到“下载”位置。
按RESET按钮(确保有效,应至少保持1秒钟)使单片机复位后,即可按下面的说明编程。
在系统编程软件的安装
随试验仪附带的光盘中,包含有PHILIPS单片机的在系统编程软件”FlashMagic”,该软件在使用前需进行安装,安装步骤如下:
1、将光盘上的FlashMagic拷贝到硬盘上。
2、用鼠标双击FlashMagic的图标,根据屏幕提示操作,程序会自动安装到你的机器上。
在系统编程软件的使用
在PC机上运行编程软件FlashMagic,软件运行后屏幕界面如下:
0
图2-1FlashMagic主屏幕
屏幕上方为主菜单,主菜单下方的屏幕被分成了5个区,分别标有1、2、3、4、5。
下面对主菜单及编程方法做一说明。
主菜单
主菜单有4个子菜单,分别是File;isp;options和help。
●File子菜单项:
包括打开和存储一个“HEX”文件,打开和存储一个设计文件和退出FlashMagic操作。
●ISP子菜单项:
包括芯片空白检查;读保密位;读芯片标志字节;显示存储器内容;擦除FLASH等操作。
具体内容在下一节介绍。
●Options子菜单项:
包括复位和高级选项两项操作,这两项操作在我们的实验系统中一般不用,所以这里不做介绍。
●Help子菜单:
包括查看FlashMagic的用户手册;可直接通过网络连接到FlashMagic的主页或连接到Philips半导体公司的主页查看相应信息。
编程操作
在对一片Philips的89C51RD2HXX进行编程时,一般按屏幕提示进行5步操作:
第一步:
通讯设置(屏幕1区)
●设置通讯口:
可以通过下拉菜单在COM1—COM4中进行选择,也可以在输入框中直接输入所连接的通讯口。
●波特率设置:
可以通过下拉菜单进行选择,建议先从较低的波特率选起,进行通讯实验,试通以后再选用较高的波特率,在我们的单片机实验系统中,建议选2400或4800波特率。
●振荡频率设置:
在我们的实验系统中应输入6.000MHz。
●器件选择:
可以通过下拉菜单进行选择。
该实验系统随机配送一片P89C51RD2HXX,在选择芯片时先仔细看清楚芯片型号是89C51RD2XX还是89C51RD2HXX,两者是不同的,请不要选错。
第二步:
擦除
在屏幕的2区列出了所选器件的各个Flash块,用鼠标选中你要擦除的Flash块。
在执行擦除操作或编程操作时,就会将所选的Flash块擦除。
注意:
当擦除整个Flash时芯片的自举指针(BootVector)和状态字节(Statusbyte)将被设置成初始值。
除89C51RX+系列芯片以外,在擦除整个Flash时保密位也将被擦除。
第三步:
选择HEX文件(屏幕3区)
选择和打开一个HEX文件可以有三种方法;①在文本框中键入你所需要的HEX文件的路径和文件名。
②点击Browse(浏览)按扭,寻找你所需要的HEX文件。
③在主菜单的File子菜单下用Open打开一个HEX文件。
第四步:
操作选项(屏幕4区)
屏幕4区是编程时的一些选项
●编程后校验:
这项功能一般是需要的。
●填充用不到的Flash区:
这项功能是在选择了一个HEX文件后,将该HEX文件用不到的存储区用00H填满。
●产生校验和:
这项功能是在选择了一个HEX文件后,FlashMagic在这个HEX文件所用到的每一块Flash块的最高地址写入一个值,这个值使这个Flash块的校验和为55H。
●执行:
如果选择该项功能后,将在编程完成后自动执行固化好的程序。
注意:
在我们的系统中由于使用硬件复位操作,这项功能将不起作用。
●保密位:
在你的程序尚未完全调试好以前,所有保密位不要选。
第五步:
编程(屏幕5区)
在屏幕的第五区只有一个按扭——“Start”,按下这个按扭将根据你的选择顺序执行如下操作:
●擦除FLASH块
●对HEX文件编程
●校验
●填充没有用到的FLASH
●产生校验和的值
●写时钟位
●写保密位
●执行固化好的程序
操作完成后,将显示出“Finished……”并显示出对HEX文件编程所用的时间。
附加ISP功能介绍
●芯片空白检查:
在ISP菜单下选择了空白检查后,将对所选芯片的所有FLASH块进行空检查,并显示出每一块空还是不空的信息。
●读保密位:
该项功能将对选择的芯片的保密位的状态读出并显示在屏幕上,如果保密位中某一位已经设置,将用高亮度显示出来。
●读芯片署名:
芯片署名包括3个字节,第一个字节是制造厂标志。
例如:
15H就是PHILIPS半导体的标志,另外两个是芯片标志。
●修改自举指针和状态字节:
状态字节指出的是芯片复位以后程序运行的初始地址,如果该字节值为00H且PSEN引脚没有接低电平(非编程状态),那么芯片复位以后,将从0000H地址运行用户的应用程序.自举指针指的是芯片内部自举程序所在的页地址,8051系列单片机该指针的默认值为FCH,相对应自举程序的起始地址为FC00H。
注意:
用户编程时一定不要修改自举指针的值,一旦该指针被改为非FCH的其它值,自举程序将无法运行,在线编程功能将不再作用,这时只有用并行编程器将该芯片擦除才能恢复。
●显示FLASH存储器:
在ISP子菜单下选择显示FLASH存储器功能后,将显示出FLASH存储器的内容,每行显示16个字节。
●擦除FLASH:
有两种方法可以擦除FLASH,一种方法是在前面讲到的编程操作的5个步骤中,另一种方法是在ISP子菜单下选择擦除FLASH。
其它一些功能在该实验系统中不会用到所以这里不做介绍。
2·3端口监视软件(PortSpy)的使用
端口监视软件简介
本程序主要是针对电脑串口(COM)和并口(LPT)的调试与监测。
是一款综合型调试软件。
串口调试:
跟市面上大多数软件一样,可以对串口的波特率,数据位,停止位,校验位等设置,可对串口进行读写数据。
串口监试:
可以不占用串口资源对串口的数据(发送和接收)进行捕获。
并口操作:
可以对并口进行读写数据,捕获数据。
端口监视软件的安装
随实验仪附带的光盘中,包含有端口监视软件“PortSpy”,该软件在使用前不需要安装,只需按如下操作即可:
将光盘上的PortSpy文件夹拷贝到硬盘上。
打开文件夹,用鼠标双击PortSpy的图标,即可打开如图2-2的画面。
端口监视软件的使用。
如上图,屏幕上方为横向重叠式的主菜单,主菜单共分5大项,从左至右依次为:
串口调试(COMdebug)、串口监视(COMmonitor)、并口操作(LPTPort)、辅助工具(Tool)和关于帮助(Help)。
下面对各主菜单及串口调试方法逐一说明。
●串口参数设置ComSetting,从上至下依次为:
串口:
可选择通讯使用的COM口。
此软件自动检测当前机器可使用的COM口。
波特率:
可选择通讯使用的波特率。
可选范围为110~25
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理与应用 单片机 原理 应用 实验 指导 05