C8051F040开发系统板使用说明书.docx
- 文档编号:10813016
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:22
- 大小:229.50KB
C8051F040开发系统板使用说明书.docx
《C8051F040开发系统板使用说明书.docx》由会员分享,可在线阅读,更多相关《C8051F040开发系统板使用说明书.docx(22页珍藏版)》请在冰豆网上搜索。
C8051F040开发系统板使用说明书
第一章C8051F040开发系统板简介
1.1开发系统的组成
CygnalC8051F040单片机开发系统主要由Cygnal片上系统单片机开发工具、C8051F040片上系统单片机和系统实验板三部分组成,应用该系统可进行片上系统单片机较典型应用的实验,请参见以下介绍。
1.2CygnalC8051F单片机开发工具简介
1.2.1开发工具概述
Cygnal的开发工具实质上就是计算机IDE调试环境软件及计算机RS-232到C8051F单片机JTAG口的协议转换器(EC2-N1)的组合。
CygnalC8051F系列所有的单片机片内均设计有调试电路该调试电路通过边界扫描方式获取单片机片内信息,通过10线的JTAG接口与开发工具连接以便于进行对单片机在片编程调试。
该开发系统板中的核心部分是CygnalC8051F040单片机。
适配器(EC2-N1)一端与计算机相连,另一端与C8051F单片机的JTAG口相连,应用Cygnal提供的IDE调试环境就可以进行非侵入式、全速的在系统编程(ISP)和调试。
Cygnal开发工具支持观察和修改存储器和寄存器支持断点、观察点、堆栈指示器、单步、运行和停止命令。
调试时不需要额外的目标RAM、程序存储器、定时器或通信通道,并且所有的模拟和数字外设都正常工作。
1.2.2开发工具主要技术指标
●支持的目标系统:
所有C8051Fxxx系列单片机;
●系统时钟:
最大可达25MHz;
●通过RS232接口与PC机连接;
●支持汇编语言和C51源代码级调试;
●第三方工具支持KeilC。
1.2.3IDE软件运行环境
要求PC机能够运行开发工具软件并能与串行适配器通信。
对PC机有如下系统要求:
●Windows95/98/Me/NT/2000/XP操作系统;
●32MBRAM;
●40MB自由硬盘空间;
●空闲的COM口。
1.2.4开发工具与PC机硬件连接
硬件连接及软件安装:
●将JTAG扁平电缆与串行示配器EC2连接
●将JTAG扁平电缆的另一端与目标系统连接
●将RS232串行电缆的一端与EC2连接
●连接RS232串行电缆的另一端到PC
●给目标系统上电
●插入CD并运行SETUP.EXE将IDE软件安装到您的PC机
●在PC机的开始菜单的程序项中选择CygnalIDE点击Cygnal图标运行IDE软件。
1.3C8051F040片上系统单片机片内资源简介
1、模拟外设
1)12位ADC;
◆1LSBINL保证单调;
◆可编程转换速率最大100ksps;
◆12个外部输入可编程为单端输入或差分输入;
◆可编程放大器增益1684210.5;
◆数据相关窗口中断发生器;
◆内置温度传感器3。
2)高压差分放大器
◆60V普通模式输入范围;
◆偏置调节为–60V~+60V;
◆16种增益设置从0.05至16。
3)8位ADC
◆可编程转换速率,最大500ksps;
◆8个外部输入;可编程为单端输入或差分输入;
◆可编程放大器增益:
4、2、1、0.5。
4)两个12位DAC
5)三个模拟比较器
6)内部电压基准
7)精确的VDD监视器和降压检测器
2、片内JTAG调试和边界扫描
◆片内JTAG调试电路提供全速非侵入式的在系统调试(无需仿真器);
◆支持断点单步观察点堆栈监视器程序跟踪存储器;
◆支持观察/修改存储器和寄存器;
◆性能优于使用ICE芯片、目标仿真头和仿真插座的仿真系统;
◆完全符合IEEE1149.1边界扫描标准。
3、高速8051微控制器内核
◆流水线指令结构;70%指令的执行时间为1个或2个系统时钟周期;
◆在时钟频率为25MHz时,速度可达25MIPS;
◆扩展的中断系统。
4、存储器
◆4352字节内部数据RAM(256+4k);
◆64k字节在系统可编程FLASH程序存储器;
◆外部64k字节数据存储器接口。
5、CAN总线2.0B
◆32个信息目标;
◆邮箱可根据需要仅中断CPU。
6、数字外设
◆64个I/O口线;所有口线均耐5V电压;
◆可同时使用的硬件SMBus(I²C兼容)、SPI及两个UART串口;
◆可编程的16位计数器/定时器阵列(PCA),有6个捕捉/比较模块;
◆5个通用16位计数器/定时器
◆专用的开门狗定时器;双向复位。
更详细资料可参见CygnalC8051F04xdatasheet。
1.4开发系统板
C8051F040开发系统板硬件逻辑结构如图1,电路图和PCB图参见附录3、4。
图1开发系统板硬件结构图
C8051F040开发系统板可按教学需要与C8051F040单片机组成目标系统;也可以外接电路通过一些线与系统板连接构成目标系统以满足教学的需要。
然后由C8051F040单片机,JTAG口相连接的Cygnal开发工具在系统实现开发调试。
第2章C8051F040开发系统板使用注意事项
由于CygnalC8051F单片机是3.3V低功耗、高速单片机,与大家过去应用传统的5V供电低速单片机在应用中会有一些区别;这块开发系统板在使用时注意如下几个方面:
2.1电源的处理
由于这块系统板是3.3V和5V的混合系统(既可产生3.3V电源,又可以产生5V电源),不过只有5V的电源引出到系统外面,用以满足用户的需要,这是为了给C8051F040单片机的最小系统单独供电。
如果用户在外面扩展电路的功率要求比较高时,可以直接在板上外接5V电源,可以通过跳线(即通过J1选择“EX”,J1的默认状态是指向没有任何标志的两个针上)来解决。
在这块板,由于在市场上没有找到想要的7805封装形式,所以在用这块板时,用户如果用到RS-232串口、CAN/RS-485、DAC输出以及LED显示时必须外接5V电源,J1的初始状态设置在“EX”上,请用户不要改变。
在电路板有两个LED指示灯分别指示3.3V和5V(其中“红灯”代表3.3V,“黄灯”代表5V)。
注意:
5V电源不要接错,标有“+”接稳压电源的正极;用户最好先接9V电源接口,然后再打开5V电源。
虽然3.3V和5V已经隔离,但是为了保护C8051F040单片机才采用这种措施的。
2.2单片机的最小系统部分
C8051F040单片机的最小系统是工作在3.3V的电压下,不允许工作电压高于3.6V。
在应用时,只要注意J1和J9两个跳线的接法:
J1是控制VREF分别VREFD、VREF0和VREF2相连(其中,VREF与VREFD连接代表的是进行D/A转换、VREF与VREF0连接代表的是进行12位A/D转换以及VREF与VREF2连接代表的是进行8位A/D转换);J9是控制引脚MONEN的状态,其中与VDD相连时,允许内部VDD监测器工作,当VDD<2.7V时强制系统复位;与DGND相连时,则内部VDD监测器被禁止。
2.3RS232接口部分
这部分是工作在5V电压的环境下,它包括RS232接口和带驱动能力(拉电流为-15mA,灌电流为24mA)的四个口线输出,并带4个LED显示(都是绿色的)。
在应用时特别要注意跳线J7和J8的作用,并且J7、J8都是通过选通三态门的使能端来控制的;其中,J7是控制RS232串行通讯的,它是由口线P0.0、P0.1、P7.0和P7.1来进行通讯的;J8是控制带驱动能力的四个口线输出(P7.4~P7.7),并带4个LED显示(D5,D6,D7,D8相应由P7.7,P7.6,P7.5,P7.4来控制)。
P7.4~P7.7置低电平时LED亮。
注意:
在进行RS232通讯时,一定要接上J7,不用时,别忘了拔出跳线J7;要LED显示(或P7.4~P7.7输出)时,不要忘了接J8,否则LED不显示。
2.4CAN/RS485部分
这部分也是工作在5V电压的环境下,它包括RS485和CAN两部分。
在进行CAN和RS485通讯时,要分别连接跳线J16、J17、J18、J19、J20和J24至相应的地方。
J20是连接P7.2与其它芯片管脚的,当在做CAN通讯时的作用是控制TJA1040收发器的引脚8,即是用于控制收发器的工作模式,这个引脚在TJA1040上的助记符是STB,是指待机模式;在系统复位时,该管脚是高电平,即处在待机模式;当进行CAN通讯时,必须要在程序中设置P7.2为低电平使TJA1040处在唤醒状态,方可进行CAN通讯。
在进行RS485通讯(是由P0.4和P0.5实现通讯的)时,其主要是控制75176上的发送和接收控制端(DE和
)的,在系统复位时,口线处于高电平,经过一个反相器之后,即
有效,485总线输出处于接收的状态。
否则,当系统复位时,75176的DE端电位为“1”,那么485总线输出将会处于发送状态,即占用了通信总线,这样其它的分机就无法与主机进行通信。
这种情况尤其表现在某个分机出现异常情况下(死机),会使整个系统通信崩溃。
在这其它的跳线就不一一介绍了。
注意:
在进行CAN/RS485通讯时,要保证跳线J16、J17、J18、J19、J20和J24都要接上,一个都不能少且一个都不能接错。
2.5其余的部分
P7.3按键用的时候别忘了接上跳线J23,不用时别忘了拔掉,否则,当用到P7.3口时会给P7.3加上负载。
还有,2×47插孔和8个口线(P0~7)带5V电源和地(8×10),用于连接外部扩展电路(或外部电路板)时,注意输入的电压值;其中,端口I/O(P0~P7)、/RST和JTAG引脚都容许5V的输入信号电压,除了这些管脚之外,其他的管脚只能能受3.3V电压。
就2×47插孔的每个孔的定义如表1所示:
表12×47插孔的每个孔的定义
名称
孔的类型
说明
AV5+
5V模拟电压源
AGND
模拟地
DAC0
模拟输出
数模转换器0的电压输出(并带跟随器)
DAC1
模拟输出
数模转换器1的电压输出(并带跟随器)
AIN0.0~3
模拟输入
ADC0输入通道0~3(并带跟随器)
HVCAP
模拟I/O
高压差分放大电容
HVREF
模拟输入
高压差分放大参考
HVAIN+
模拟输入
高压差分放大器正信号输入
HVAIN-
模拟输入
高压差分放大器负信号输入
VREF
模拟I/O
带隙电压基准输出(所有器件);DAC电压基准输入(只限于F041/3)
VREFD
模拟输入
DAC的电压基准输入
VREF0
模拟输入
ADC0的电压基准输入
VREF2
模拟输入
ADC2的电压基准输入
CANRX
数字输入
CAN接收输入
CANTX
数字输出
CAN发送输出
P4.0~4
数字I/O
P4.0~4:
详见端口输入/输出部分
P4.5
数字I/O
外部存取器地址总线ALE选通(复用方式)
P4.5:
详见端口输入/输出部分
P4.6
数字I/O
外部存取器地址总线/RD选通
P4.6:
详见端口输入/输出部分
P4.7
数字I/O
外部存取器地址总线/WR选通
P4.7:
详见端口输入/输出部分
P5.0~7
数字I/O
外部存取器地址总线位8~15(非复用方式)
P5.0~7:
详见端口输入/输出部分
P6.0~7
数字I/O
外部存取器地址总线位8~15(复用方式)
外部存取器地址总线位0~7(非复用方式)
P6.0~7:
详见端口输入/输出部分
P7.0~3
数字I/O
外部存取器地址/数据总线位0~7(复用方式)
外部存取器数据总线位0~7(非复用方式)
P7.0~4:
详见端口输入/输出部分
P0.0~4
数字I/O
P0.0~4:
详见端口输入/输出部分
P0.5
数字I/O
外部存取器地址总线ALE选通(复用方式)
P0.5:
详见端口输入/输出部分
P0.6
数字I/O
外部存取器地址总线/RD选通
P0.6:
详见端口输入/输出部分
P0.7
数字I/O
外部存取器地址总线/WR选通
P0.7:
详见端口输入/输出部分
P3.0~7
数字I/O
外部存取器地址/数据总线位0~7(复用方式)
外部存取器数据总线位0~7(非复用方式)
P3.0~7:
详见端口输入/输出部分
P2.0~7
数字I/O
外部存取器地址总线位8~15(复用方式)
外部存取器地址总线位0~7(非复用方式)
P2.0~7:
详见端口输入/输出部分
P1.0~7
模拟输入
数字I/O
ADC2输入通道0~7(详见ADC2说明)
外部存取器地址总线位8~15(非复用方式)
P1.0~7:
详见端口输入/输出部分
P7.4*~7*
数字输出
带驱动能力(拉电流为-15mA,灌电流为24mA)的口线输出
VDD5
5V数字电压源
DGND
数字地
+5V
5V经过光隔隔离后的电压源
GND
隔离后的地
XTAL1
模拟输入
晶体输入。
该引脚为晶体或陶瓷谐振器的内部振荡器电路的反馈输入。
为了得到精确的内部时钟,可以在XTAL1和XTAL2之间接上一个晶体或陶瓷谐振器。
如果被一个外部CMOS时钟驱动,则该引脚提供系统时钟。
RST
数字I/O
器件复位。
内部VDD监测器的漏极开路输出,当VDD<2.7V且MONEN为高时被驱动为低电平。
外部源可以通过该引脚置为低电平启动一次系统复位。
CLK、IN1
数字输入
与非门的两个输入端
OUT2
数字输出
与非门的输出端
IN2、IN3
数字输入
或非门的两个输入端
OUT2
数字输出
或非门的输出端
注:
C8051F040的管脚定义更详细的部分请参见CygnalC8051F04xdatasheet。
第三章CygnalC8051F040单片机实验
3.1C8051F040单片机I/O口交叉开关设置
3.1.1优先权交叉开关译码器
优先权交叉开关译码器,或称为“交叉开关”,按优先权顺序将端口0~3的引脚分配给器件上的数字外设(UART、SMBus、PCA、定时器等)。
端口引脚的分配顺序是从P0.0开始。
为数字外设分配端口引脚的优先权顺序列于表2中。
表2优先权交叉开关译码表
3.1.2交叉开关引脚分配
当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应允许位被设置为逻辑“1”时,交叉开关将端口引脚分配给外设,相关的特殊功能寄存器的定义见CygnalC8051F04xdatasheet。
给I/O口分配数据外设的方法有两种:
第一按照“优先权交叉开关译码表”并参考相关特殊功能寄存器的值来定义(参考下面的例子)。
另一种方法是用配置向导,在CygnalIDE中,选择Tools->CygnalConfigurationWizard,进入配置向导界面进行I/O口配置。
交叉开关引脚分配示例
在本例中,将配置交叉开关,为UART0、SMBus、UART1、/INT0和/INT1分配端口引脚(共8个引脚)。
另外,将外部存储器接口配置为复用方式并使用低端口。
接着,将P1.2、P1.3和P1.4配置为模拟输入以便用ADC2测量加在这些引脚上的电压。
配置步骤如下:
1.按UART0EN=1、SMB0EN=1、INT0E=1、INT1E=1和EMIFLE=1设置XBR0、XBR1和XBR2,则有XBR0=0x05,XBR1=0x14,XBR2=0x02。
2.将外部存储器接口配置为复用方式并使用低端口,有:
PRTSEL=0EMD2=0。
3.将作为模拟输入的端口1引脚配置为模拟输入方式:
设置P1MDIN为0xE3(P1.4、P1.3和P1.2为模拟输入,所以它们的对应P1MDIN被设置为逻辑0)。
4.设置XBARE=1以允许交叉开关:
XBR2=0x42。
ØUART0有最高优先权,所以P0.0被分配给TX0,P0.1被分配给RX0。
ØSMBus的优先权次之,所以P0.2被分配给SDA,P0.3被分配给SCL。
Ø接下来是UART1,所以P0.4被分配给TX1。
由于外部存储器接口选在低端口(EMIFLE=1),所以交叉开关跳过P0.6(/RD)和P0.7(/WR)。
又因为外部存储器接口被配置为复用方式,所以交叉开关也跳过P0.5(ALE)。
下一个未被跳过的引脚P1.0被分配给RX1。
Ø接下来是/INT0,被分配到引脚P1.1。
Ø将P1MDIN设置为0xE3,使P1.2、P1.3和P1.4被配置为模拟输入,导致交叉开关跳过这些引脚。
Ø下面优先权高的是/INT1,所以下一个未跳过的引脚P1.5被分配给/INT1。
Ø在执行对片外操作的MOVX指令期间外部存储器接口将驱动端口2和端口3。
5.将UART0的TX引脚(TX0,P0.0)、UART1的TX引脚(TX1,P0.4)、ALE、/RD、/WR(P0.[7:
3])的输出设置为推挽方式,通过设置P0MDOUT=0xF1来实现。
6.通过设置P2MDOUT=0xFF和P3MDOUT=0xFF将EMIF端口(P2、P3)的输出方式配置为推挽方式。
7.通过设置P1MDOUT=0x00(配置输出为漏极开路)和P1=0xFF(逻辑“1”选择高阻态)禁止3个模拟输入引脚的输出驱动器。
3.2在C8051F020单片机上的初级软件实验(汇编语言)
3.2.1无符号数、十进制加法实验
1、实验目的
掌握汇编语言设计和调试方法,熟悉在CYGNALIDE环境下,观察内部RAM的方法。
2、实验内容
编写并调试一个双字节无符号十进制数加法程序,其功能为将被加数写入30H、31H单元,加数写入41H、40H单元,运行程序结果写入42H、41H、40H单元中,则加法程序功能为:
(31H)(30H)+(41H)(42H)=(42H)(41H)(40H)。
3、实验参考程序:
DATA0EQU12H
DATA1EQU34H
DATA2EQU56H
DATA3EQU78H
ORG0000H
AJMP0100H
ORG0100H
MOV30H,#DATA0
MOV31H,#DATA1;被加数送31H,30H
MOV40H,#DATA2
MOV41H,#DATA3;加数送41H,40H
MOVA,30H
ADDA,40H;(30H)+(40H)
A
DAA
MOV40H,A;保存结果
MOVA,31H
ADDCA,41H;(31H)+(41H)+CY
A
DAA
MOV41H,A;保存结果
MOV42H,#0
MOVA,#0
ADDCA,42H
MOV42H,A;进位42H
LOOP0:
AJMPLOOP0
END
4、调试方法
按前面介绍的方法建立一个新的项目文件,将参考程序加到这个项目文件中,编译连接后,将程序下载到C8051F040中。
打开RAM观察窗口,运行程序。
运行程序时,可单步执行或在送数指令后加断点观察RAM存储单元的变化,观察加法结果是否正确。
3.2.2数据传送实验
1、实验目的
掌握对C8051F040内部RAM及外部RAM的数据操作,掌握C8051F040片内的外扩RAM的操作方法。
2、实验内容
本例程将内部RAM70H~7FH的16个数据送到外部RAM7000H~700FH。
3实验参考程序:
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVR7,#16
MOVR1,#70H;内部RAM地址70H送R1
MOVDPTR,#7000H;DPTR指向XRAM地址7000H
LOOP:
MOVA,@R1;内部RAM内容送累加器A
MOVX@DPTR,A;将累加器A的值送到XRAM
INCDPTR
INCR1
DJNZR7,LOOP;判断数据是否送完
HERE:
AJMPHERE
END
4、调试方法
(1)可单步执行可设断点执行程序。
(2)打开RAM及EXTERRANLMEMORY窗口,观察相对应的数据区的数据是否一致。
3.2.3数据排序实验
1、实验目的
熟悉MCS-51指令系统,并掌握排序程序的设计方法。
2、实验内容
本例程是采用交换排序法将内部RAM中的50~59H单元中的10个单字节无符号二进制数按从小到大的次序排列,并将这一列排序后的数据从小到大依次存贮到外部RAM1000H开始处。
3、参考程序
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVR0,#50H
MOV@R0,#5FH
INCR0
MOV@R0,#56H
INCR0
MOV@R0,#5AH
INCR0
MOV@R0,#5EH
INCR0
MOV@R0,#51H
INCR0
MOV@R0,#5BH
INCR0
MOV@R0,#53H
INCR0
MOV@R0,#58H
INCR0
MOV@R0,#57H
INCR0
MOV@R0,#55H;将10个随机数送入内部RAM的50H~59H单元
NOP;可在此处设置断点
ACALLQUE;调用排序子程序
OUT:
MOVR0,#50H
MOVDPTR,#1000H
MOVR7,#10
OUT1:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR7,OUT1
HERE:
AJMPHERE
QUE:
CLR00H;清交换标志
MOVR1,#50H
MOVR6,#09H
I3:
MOVA,R6
MOVR7,A
MOVA,R1
MOVR0,A
MOVA,@R0
I2:
INCR0
MOVR2,A
SUBBA,@R0
MOVA,R2
JCI1
SETB00H
XCHA,@R0
I1:
DJNZR7,I2
NOP;可在此处设置断点观察每次排序结果
JNB00H,STOP
MOV@R1,A
INCR1
DJNZR6,I3
STOP:
RET
END
4、调试方法
(1)可在程序中的指令NOP处设置断点,在第一个断点处可观察50~59H单元内容是否为10个任意排列原始数据。
(2)在第二个断点处可观察每次排序的结果。
(3)可单步执行程序观察排序过程。
3.3RS232串行口实验(C语言)
1、实验目的
掌握C8051F040单片机的串行通信的工作原理,并用串行口与PC机进行串行通信,掌握通信程序的编制方法。
2、实验内容
本实验是将片内温度传感器采集的温度值传到PC机并在PC机的屏幕上显示。
通讯协议采用:
波特率:
1152001个起始位,8个数据位,1个停止位。
PC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C8051F040 开发 系统 使用 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)