1、 长沙理工大学创新实验室1C8051F020实验指导书电气与信息工程学院电工电子实验中心(2007 年 7 月 5 日)长沙理工大学创新实验室2目录目录- 2前言 -3第一章 训练训练板组成与结构-41.1 训练设备的组成 -41.2 Silicon Labs C8051F 单片机开发工具简-41.2.1 开发工具概述-41.2.2 开发工具主要技术指标-51.2.3 IDE 软件运行环境 -51.2.4 开发工具与 PC 机硬 件连接-51.3 C8051F020 CPU 板简介-51.3.1 C8051F020 CPU 板概述 - 51.3.2 C8051F020 片上系统单片机片内资源
2、-51.4.1 训练资源介绍: -61.4 训练板组成与结构 -61.4.2 训练板原理图: -61.4.3 训练板上 IO 口分布图:-7第 二章 C8051F020 基本训练 -10训练一: 读写片内 4KXRAM -10训练二 IO 口输入输出训练 -10训练三 I/O 口演奏电子音乐 - 11训练四 定时器 T3 训练 - 17训练五 比较器训练 -19训练六 中断 INT6 与中断 INT7 训练 - 21训练七 PCA0 测量方波的周期 -22训练八 PCA1 输出 8 位 PWM- 27训练九 12 位 ADC0 训练 -29训练十 UART0 方式 0 实现同步串行移位通信-3
3、2训练十一 DAC0 输出方波锯齿波正弦波 -34第 三章 C8051F 扩展训练 -37训练十二 RS-232 异步串行通信 -37训练十三 RS-RS-485 异步串行通信 -40 训练十四 SPI 总线- SST25VF16 存储芯片读写 -43实验十五 SMBUS 总线-AT24C02 训练-50训练十六 ZLG7290 键盘显示 -56长沙理工大学创新实验室3训练十七 LCD 显示 -63训练十八 实时时钟 PCF8563 -69训练十九 PS2 键盘 -76训练二十 红外遥控-82前言MCS-51 单片机及其衍生产品在我国乃至世界范围获得了非常广泛的应用,尤其是在我国,大部分大专院
4、校都采用 MCS-51 单片机作为教学机型,大部分单片机系统工程师都熟悉 MCS-51 单片机。随着一些高集成度、高性能的 8 位和 16 位 RISC 单片机的推出,基于标准 8051 内核的单片机正面临着退出市场的境地。因此一些半导体公司开始对传统 8051 内核进行大的改造,主要是提高速度和增加片内模拟和数字外设,以期大幅提高单片机的整体性能。Silicon Labs 集成产品公司推出的 C8051F 单片机的出现令业界人士耳目一新,使广大单片机系统设计人员看到了 51 单片机新的曙光。MCS-51 单片机引入教学已达 10 年之久,大家一直期盼着有更先进的单片机引入教学,C8051F
5、已成为事实上 51 的升级换代产品,那么必然会成为经典单片机教学的方向,做设备可为大专院校教学训练课提供多项训练,使得学生和单片机的初学者建立单片机系统概念,并可完成基础应用的培训,使学生掌握 C8051F 的基本应用。本训练设备充分利用了 C8051F 的片内资源,可做为研究生教学选修课。也可起到为本科生提供了解当前测控领域前沿技术的引导作用。长沙理工大学创新实验室4第一章:训练设备简介1.1 训练设备的组成训练箱由 C8051F020 CPU 板和系统训练板二部分组成,应用该设备可进行片上系统单片机较典型应用的训练,请参见以下介绍。1.2 Silicon Labs C8051F 单片机开发
6、工具简介1.2.1 开发工具概述Silicon Labs 的开发工具实质上就是计算机 IDE 调试环境软件及计算机核心板电源串口跑马灯模块 液晶模块61LV256PCF8563AT24C0225VF16数码管模块ZLG7290IO 口4X5 键盘扬声器PS2长沙理工大学创新实验室5USB 到 C8051F 单片机 JTAG 口的协议转换器(UEC5)的组合(此部分电路已经集成到系统训练板上)。SiliconLabs C8051F 系列所有的单片机片内均设计有调试电路,该调试电路通过边界扫描方式获取单片机片内信息,通过 4 线的JTAG 接口与开发工具连接以便于进行对单片机在片编程调试。训练板中
7、的C8051F020 CPU 板上的单片机为 C8051F 系列中的 F020。适配器(UEC5)一端与计算机相连,另一端与 C8051F 单片机 JTAG 口相连,应用 SiliconLabs 提供的 IDE 调试环境或 Keil 的 uVision2 调试环境就可以进行非侵入式、全速的在系统编程(ISP)和调试。Silicon Labs 开发工具支持观察和修改存储器和寄存器支持断点、观察点、堆栈指示器、单步、运行和停止命令。调试时不需要额外的目标 RAM、程序存储器、定时器或通信通道,并且所有的模拟和数字外设都正常工作。1.2.2 开发工具主要技术指标 支持的目标系统:所有 C8051Fx
8、xx 系列单片机。 系统时钟:最大可达 25Mhz。 通过 USB 接口与 PC 机连接。 支持汇编语言和 C51 源代码级调试。 第三方工具支持(Keil C) 。1.2.3 IDE 软件运行环境 要求 PC 机能够运行开发工具软件并能与串行适配器通信。对 PC 机有如 下系统要求: Windows 95/98/Me/NT/2000/XP 操作系统 32Mb RAM 40Mb 自由硬盘空间 空闲的 USB 口 1.2.4 开发工具与 PC 机硬件连接 将 USB 串行电缆的一端与训练箱的 USB 连接; 连接 USB 串行电缆的另一端到 PC; 给目标系统上电; 插入 CD 并运行“SETU
9、P.EXE” ,将 IDE 软件安装到您的 PC 机; 在 PC 机的开始菜单的 “程序”项中选择 Silicon Labs IDE 点击 Silicon Labs 图标,运行 IDE 软件。1.3 C8051F020 CPU 板简介1.3.1 C8051F020 CPU 板概述C8051F020 CPU 板是为了便于安装而设计的;C8051F020 CPU 板是将C8051F020 的所有引脚(100 个引脚)引到五个单排针 ;该五组单排针可与不同用户设计的应用系统连接,如在该训练系统上将和系统训练板连接。1.3.2 C8051F020 片上系统单片机片内资源、模拟外设长沙理工大学创新实验室
10、6(1) 逐次逼近型 8 路 12 位 ADC0 转换速率最大 100ksps 可编程增益放大器PGA温度传感器(2) 8 路 8 位 ADC1 输入与 P1 口复用转换速率 500ksps 可编程增益放大器PGA(3) 两个 12 位 DAC(4) 两个模拟电压比较器(5) 电压基准内部提供 2.43V 外部基准可输入(6) 精确的 VDD 监视器、高速 8051 微控制器内核流水线式指令结构速度可达 25MIPS22 个矢量中断源、存储器片内 4352 字节数据 RAM64KB Flash 程序存储器可作非易失性存储外部可扩展的 64KB 数据存储器接口、数字外设 8 个 8 位的端口 I
11、/OI2C、SPI、2 个增强型 UART 串口可编程的16 位计数器/定时器阵列(PCA)5 个通用 16 位计数器 /定时器专用的看门狗WDT 更详细资料可参见 Silicon Labs C8051F02x datasheet1.4 训练板组成与结构1.4.1 训练资源介绍:本训练板由电源.串口通信.跑马灯. 红外通信.126X64 的液晶显示.PS/2 键盘.实时时钟.外部存储器扩展.ZLG7290 键盘显示.IIC 总线.SPI 总线.蜂鸣器.AD.DA.以及外部 IO 扩展口等 15 个基本模块组成.训练所用的芯片资料见随本指导书资料.1.4.2 训练板原理图:长沙理工大学创新实验室
12、71.4.3 训练板上 IO 口分布图:长沙理工大学创新实验室8第 二章 C8051F020 基本训练训练一: 读写片内 4KXRAM1 训练目的:(1)学习使用 Silicon Labs 集成开发环境 IDE,包括 IED 安装,菜单功能及 单步调试程序的方法(2)学会配置与片内 XRAM 相关的寄存器,编程读写片内 4K XRAM;(3)学习使用数字交叉开关配置可编程 IO 口的方法。2 训练设备C8051F 开发平台一台,USB 电缆一条 ,在线调试 PC 机一台。3 训练内容(1)学习使用 Silicon Labs 集成开发环境 IDE,包括 IED 安装,菜单功能及单步调试程序的方法
13、(2)熟悉与片上 XRAM 数据存储器配置有关的寄存器:EMIOCF,EMIOTC,EMIOCN;(3)熟悉交叉开关配置(XBR2=0x40 ) ;(4)看懂程序实例;(5)练习查看外部存储器窗口;4 训练步骤长沙理工大学创新实验室9(1)程序对片上数据存储器(4KB)操作,程序运行时先丛片内外部 4KB XRAM 的首地址(0000H)开始依次写入 256 个数据,然后再从片内数据存储器的首地址读出并与写入的 256 个数据比较看是否一致,不一致蜂鸣器响一声。(2)打开 IDE 的 EXTERNAL RAM 窗口,观测片内数据是否正确。5 参考程序:/参考程序 B:/WXRAMB.C 程序对
14、片内数据存储器(4K RAM)实现读/写操作,先在地址/0000-00FFH 写入数据,再读出进行比较是否正确 ,若不正确蜂鸣器响一声#include / SFR declarations#include sbit BUZ = P35 ; / P35 位管理蜂鸣器unsigned char xdata *point;void PORT_Init (void);void sleep_ms(unsigned char count) /延时unsigned char ii,jj;for(ii=0;iicount;ii+)for(jj=0;jj250;jj+)_nop_();void main (vo
15、id) /主程序unsigned char WrData,RdData;unsigned int k;WDTCN = 0xde; /*无效看门狗*/WDTCN = 0xad;PORT_Init(); /*初始化端口*/WrData=0x0; /*写入数据从 0 开始*/point=0x0000; /*地址指针从 0000 开始*/for(k=0;k0x100;k+) /*写 16 个数据*/*point=WrData; /*写数据到片内数据存储器 (4K RAM)*/point+;WrData+;WrData=0x0;point=0x0000;for(k=0;k0x10;k+) /*读出比较*
16、/RdData=*point; /*读数据*/长沙理工大学创新实验室10if(RdData!=WrData) /*是否出错*/BUZ = 0; /*蜂鸣器响*/sleep_ms(250);BUZ = 1; /*蜂鸣器灭*/_nop_();WrData+;point+;_nop_();_nop_();void PORT_Init (void)XBR2 = 0x40; /*使能交叉开关和弱上拉*/EMI0CF |= 0x20; /*只用片内数据存储器,ALE 高/ 低脉宽占 1 个 SYSCLK 周期*/EMI0TC |= 0x6c;/*地址建立/保持时间占 0 个 SYSCLK 周期/WR 和/RD 占 12 个SYSCLK 周期*/P3MDOUT |= 0x20; /*使能 P3.5 推挽输出*/训练二 IO 口输入输出训练1 训练目的学会 C8051F 系列单片机 I/O 口的基本输入输出功能2 训练设备C8051F 开发平台一台,USB 电缆一条 ,在线调试 PC 机一台。3 训练内容(1)学习使用 Silicon Labs 集成开发环境 IDE(2)练习使用并行输入输出口(3)练习查看 I/O 端口窗口4 训练步骤(1)本程序以 P5 口为例子 运行发光二极管观测 LED 依次循环点亮(2)把发光二极管的短路帽接上运行参考程序5 参考程序