admin 管理员组

文章数量: 887629


2023年12月25日发(作者:tostring和destring)

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

Configuration Wizard V2.10 使用说明

说明:本文利用Configuration Wizard对C8051F单片机进行了一些基本配置,希望能起到抛砖引玉的作用。由于作者水平有限,难免存在不准确的地方,还望能和大家一起学习讨论。

一、Configuration Wizard软件说明:

C8051F单片初始化配制软件,以图形选择界面方式帮您配制初化芯片的功能并给出对应的代码,免除您对芯特殊寄存器的记忆,提高您的工作效率。

二、软件下载地址:

C8051F的代理新华龙电子有限公司/?bigdownid=7&bigdownname=调试器

三、Configuration Wizard软件的使用:

软件打开出现如图1的初始界面,接着选择系统所使用的芯片。

Wu Xiang YongE电园电子网 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第1页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图1 软件打开的初始界面

如图2,选择系统使用的芯片,我们以C8051F021为例。

图2 选择系统芯片

然后进入如下配置代码显示界面

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第2页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图3 配置代码显示区

【File】菜单为常规选项,可根据需要选择。

图4 【File】菜单

【Options】可选择生成代码的格式:C/ASM

图5 【Option】菜单

【Peripherals】主要是配置单片机外设。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第3页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图6 【Peripherals】菜单

四、【Peripherals】菜单主要包括以下设置内容:

【Port I/O】(配置I/O口,相当于交叉开关的译码表)

【Oscillators】(单片机系统振荡器的选择配置,包括internal和external(内部和外部振荡器的选择及相关的配置))

【Timers】(单片机定时器(T1-T4)的配置:工作方式、时钟选择、定时器的初始值等)

【PCA】(可编程计数器阵列:运行控制、时基选择、中断配置等)

【UARTs】(包括UART0和UART1:串口工作方式、中断配置等)

【SMBus】(SMBus,兼容I2C:使能、时钟、中断等)

【SPI】(SPI:时钟、工作方式、中断等)

【ADCs】(ADC0和ADC1:转换启动方式选择、内部放大器增益选择、转换时钟等)

【DACs】(DAC:输出更新机制选择、数据格式、电压参考等)

【EMI】(外部存储器接口:连接端口的选择和配置、工作模式、脉冲宽度等)

【Comparactors】(包括Comparactor0和Comparactor1两个电压比较器:使能、正负向回差电压设置等)

【Voltage Reference】(ADC0和ADC1电压基准的选择、温度传感器使能、内部电压基准缓冲器使能、ADC/DAC偏压发生器使能等)

【Reset Source】(复位源的选择:复位源的选择、看门狗的使能、时间间隔设置等)

【Interrupts】(所有中断使能、SPI中断、比较器中断、SMBus中断、ADC转换结束中断、外部中断、UART中断、定时器中断等)

五、首先【Port I/O】如图7所示。具体配置详见[02X中文数据手册Rev 1.4] P145

[Crossbar Priority Decoder Setup] 交叉开关优先权译码器设置。系统使用的外设,就勾选相应的选项。

[Enable Crossbar] 交叉开关使能。

[Disable Weak Pull-up] 弱上拉全局禁止。每个端口引脚都有一个内部弱上拉部件,在引脚与VDD之间提供阻性连接(约100 kΩ),在缺省情况下该上拉器件被使能。弱上拉部件可以被总体禁止,通过向弱上拉禁止位(WEAKPUD,XBR2.7)写‘1’实现。当任何引脚被驱动为逻辑‘0’时,弱上拉自动取消;即输出引脚不能与其自身的上拉部件冲突。对于端口1的引脚,将引脚配置为模拟输入时上拉部件也被禁止。具体详见[02X中文数据手册Rev 1.4] P150。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第4页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

[Enable Low Port EMI] 外部存储器接口低端口使能。设置单片机外接外部存储器时,P0[5-7]的连接方式。

图7 Port I/O

在这里可以设置端口的输入输出方式。

注:每个端口引脚的输出方式都可被配置为漏极开路或推挽方式,系统缺省为漏极开路。端口0-3 引脚的输出方式由PnMDOUT 寄存器中的对应位决定(见图17.11、图17.14、图17.16 和图17.18)。例如,P3MDOUT.7 为逻辑‘1’时将P3.7 配置为推挽方式;P3MDOUT.7为逻辑‘0’时将P3.7 配置为漏极开路方式。

【Port I/O】设置举例如图8所示:

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第5页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

系统使用外设:UART0、SMBus、UART1、T0、/INT0、T1、/INT1

开关配置操作寄存器:XBR0、XBR1、XBR2

图8 I/O口设置举例

注:在分配定时器时,如果没有用到定时器的输入功能,可以不分配I/O。

【Oscillators】菜单如图9所示。具体详见[02X中文数据手册Rev 1.4] P120。

每个MCU都有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都能产生系统时钟。MCU在复位后从内部振荡器启动。内部振荡器可以被使能/禁止。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第6页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图9 【Oscillators】菜单

配置举例如图10所示。系统使用外部晶振。

外部振荡器模式选择

系统时钟源选择

频率控制位

外部频率值

C8051F使用外部晶振,建议如下初始过程:

1. 使能外部振荡器

2. 等待至少1ms

3. 查询XTLVLD => ’1’

4. 将系统时钟切换到外部振荡器

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第7页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

如果外部振荡器稳定之前就切换到外部振荡器可能导致不可预见的结果。

图10 【Oscillators】设置举例

1、系统使用外部晶体振荡器;

2、晶体频率为11.0592MHz

【Timers】菜单如图11所示。具体详见[02X中文数据手册Rev 1.4] P204。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第8页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

T0和T1、T2和T4几乎完全相同;定时器3与定时器2类似,但没有捕捉或波特率发生器方式。

当工作在定时器方式时,计数器/定时器寄存器在每个时钟滴答加1。时钟滴答为系统时钟除以1或系统时钟除以12,由CKCON中的定时器时钟选择位(T4M-T0M)指定,如图22.1所示。每滴答为12个时钟的选项提供了与标准8051系列的兼容性。需要更快速定时器的应用可以使用每滴答1个时钟的选项。

当作为计数器使用时,所选择的引脚上出现负跳变时计数器/定时器寄存器加1。对事件计数的最大频率可达到系统时钟频率的四分之一。输入信号不需要是周期性的,但在一个给定电平上的保持时间至少应为两个完整的系统时钟周期,以保证该电平能够被采样。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第9页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图11 【Timers】菜单

[Timer 0]的选项如图11所示:

定时器工作方式选择

预分频时钟选择

时钟源选择

(注以上两种时钟的区别:T0作为定时功能,可由Prescaled Clock Inputs定义的时钟加1;

T0作为定时功能,可由由外部输入引脚(T0)的负跳变加1。 )

T0的中断设置

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第10页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

T0的运行控制

:T0的运行控制TR0

:T0的门控位,设置/INT0的逻辑电平是否决定T0的允许。

:/INT0的触发方式选择。

T0的初始值

工作在方式2时:TH0为重载值:为了保证第一次计数正确,必须在允许定时器之前将TL0初始化为所希望的计数初值。

[Timer 1]的选项如图12所示:

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第11页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图12 [Timer 1]选项

[Timer 1]选项相比[Timer0]多两个UART波特率设置选项:

UART0波特率设置

UART1波特率设置

定时器1在方式3时停止运行。当定时器0工作于方式3时,可以通过将定时器1切换到方式3使其停止运行。在定时器0工作于方式3时,定时器1可以工作在方式0、1或2,但不能用外部信号作为时钟,也不能设置TF1标志和产生中断。但是定时器1溢出可以用于产生UART0和/或UART1的波特率时钟。

[Timer 2]的选项如图12所示:

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第12页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图12 [Timer 2]选项

T2可以作为UART0工作在方式1或方式3时的波特率发生器。

定时器2溢出可以用于产生独立的发送和/或接收波特率。

可以设置UART0的波特率。此时

Value>将被自动设置。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第13页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

该位控制提供给定时器2的系统时钟的分频数。当定时器工作于波特率发生器方式或计数器方式(即C/T2=1)时该位被忽略。

注意:在波特率发生器方式,定时器2的时基信号为系统时钟/2。

定时器2的波特率发生器方式与自动重装载方式相似。在溢出时,两个捕捉寄存器(RCAP2H,RCAP2L)中的16位计数初值被自动装入到计数器/定时器寄存器。溢出事件用作UART的移位时钟输入。

[Timer 3]的选项如图13所示。

T3没有计数器方式。

图13 [Timer 3]选项

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第14页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

其中[Clock Source]选项中的[External Oscillator/8]可以选择外部振荡器输入的8分频作为定时器3的时钟源。

T3可以作为AD数据转换、SMBus定时。

[Timer 4]的选项如图14所示。

T4和T2的选择基本相同。

图14 [Timer 4]选项

该位控制提供给定时器4的系统时钟的分频数。当定时器工作于波特率发生器方式或计数器方式(即C/T4=1,(T4CON.1))时该位被忽略。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第15页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

注:在波特率发生器方式,定时器4的时基信号为系统时钟/2。

定时器设置举例。

T0工作在方式1:16位定时/计数器;

时钟来自外部T0引脚;

同时设置/INT0为下降沿触发;

/INT0的中断服务程序启动T0和T1;

图15 [Timer 0]的设置

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第16页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

T1工作在方式1:16位定时/计数器;

时钟来自系统时钟的12分频;

同时设置/INT1为低电平触发(因为系统采用的DS3231为低电平保洁有效);

图16 [Timer 1]的设置

T2用来作为UART0的波特率发生器;

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第17页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

波特率为9600bps;

图17 [Timer 2]的设置

注:T2作为波特率发生器,的设置被忽略。T2的时基为系统时钟/2。

在该系统中不使用T3,故T3的设置不在此阐述。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第18页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

T4做为UART1的波特率发生器;

波特率为9600bps;

图18 [Timer 4]的设置

注:T4作为波特率发生器,的设置被忽略。T4的时基为系统时钟/2。

此处UART0和UART1波特率相同(或成倍数关系),也可以考虑用T1来产生两个串口的波特率。

【UARTs】菜单如图19所示。具体详见[02X中文数据手册Rev 1.4] P187。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第19页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图19 【UARTs】菜单

[UART Mode]串口的工作方式

[Receive Enable]串口接收使能

[UART Baud Rate]UART波特率

[Status Indicator Mode]状态指示模式

[Multiprocessor Communications Enable]多机通讯使能

如果SSTAT0 为逻辑‘1’,该位是UART0 的状态指示位,见20.3 节。

如果SSTAT0 为逻辑‘0’,该位的功能取决于串行口的工作方式。

20.3 帧错误和传输错误检测

当寄存器PCON 中的SSTAT0 位被设置为逻辑‘1’时,下列方式具有帧错误检测功能。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第20页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

注意:要访问状态位(FE0、RXOVR0 和TXCOL0)时,SSTAT0 位必须被设置为逻辑‘1’;

访问UART0 方式选择位(SM00、SM10 和SM20)时,SSTAT0 位必须被设置为逻辑‘0’。

具体配置见[02X中文数据手册Rev 1.4] P192。

方式0,该位无作用。

方式1,检查有效停止位。

0:停止位的逻辑电平被忽略。1:只有当停止位的逻辑电平为1时RI0激活。

方式2、3,多机通讯允许。

0:第9位的逻辑电平被忽略。1:只有当第九位为逻辑1 并且接收到的地址与UART0 地址或广播地址匹配时RI0 才被置位并产生中断。

UART设置举例。

UART0工作在模式3,使能串口接收,波特率9600,当第九位为逻辑1 并且接收到的地址与UART0

地址匹配时RI0 才被置位并产生中断。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第21页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图20 [UART0 设置]

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第22页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

模式1,使能接收,波特率9600,停止位的逻辑电平被忽略。

图21 [UART1 设置]

【SMBus】菜单如图22所示。具体设置详见[02X中文数据手册Rev 1.4] P167。

[SMBus Enable]SMBus使能。

[Timeout Detection]超时使能。

[SMBus on the Crossbar]在交叉开关的配置。

[SMBus Clock Rate]时钟速率。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第23页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图22 【SMBus】菜单

SMBus0 超时使能位。

0:无SCL 低电平超时。

1:当SCL 处于低电平的时间超过由定时器3(如果被允许)定义的极限值时发生超时。

SMBus0 空闭定时器使能位。

0:无SCL 高电平超时。

1:当SCL 高电平时间超过由SMB0CR 规定的极限值时发生超时。

【SMBus】设置举例。

SMBus的速率为100KHz;

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第24页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图23 【SMBus】设置

【ADCs】菜单如图24所示。具体设置详见[02X中文数据手册Rev 1.4] P33。

[ADC Enable]ADC0使能。0:禁止,ADC0处于低耗停机状态。

1:ADC0使能,并准备转换数据。

[Track Mode]跟踪方式选择。

[Start of Conversion Mode(AD0CM)]ADC0转换启动方式选择。

[Internal Amplifier Gain]内部放大器增益。

[Reference Control]参考电压设置。

[ADC MUX Selection]ADC0的输入方式设置。

[Programmable Window Detector]可编程窗口检测器(用户编程设置的极限值)。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第25页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图24 【ADCs】菜单

ADC0 SAR转换时钟周期控制位。

(注:ADC0 SAR 时钟应小于或等于2.5MHz)。

数据左对齐选择位。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第26页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

【ADCs】设置举例。

连续跟踪;向AD0BUSY写1立即启动ADC0转换;

内部放大器增益=1;单独输入方式;

数据右对齐;(ADC0H: 位7-4为位3的符号扩展位,位3-0是12位ADC0数据字的高4位。

ADC0L:位7-0 是12 位ADC 数据字的低8 位。)

图25 【ADC0】设置举例

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第27页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

【Voltage Reference】菜单如图26所示。具体设置详见[02X中文数据手册Rev 1.4] P81。

图26 【Voltage Reference】菜单

[ADC0 Voltage Reference]ADC0电压基准设置

[ADC1 Voltage Reference]ADC1电压基准设置

[Internal Analog Bias Generator]内部偏压发生器使能。(注:使用ADC 和DAC 时该位必须为1)

[Internal Reference Buffer]内部电压基准缓冲器使能

[Temperature Sensor]内部温度传感器使能

【Voltage Reference】设置举例。

使用VREFA引脚的电压做为ADC0的参考电压;

使能内部偏压发生器;

使能内部电压基准缓冲器;

使能内部温度传感器;

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第28页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图27 【Voltage Reference】设置举例

【Reset Sources】菜单如图28所示。具体设置详见[02X中文数据手册Rev 1.4] P113。

[CNVSTR]转换启动复位源使能。

[Comparator]比较器复位使能。

[VDD Monitor]强制产生一个上电复位。

[Missing Clock Detector]时钟丢失检测器产生复位。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第29页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

图28 【Reset Sources】菜单

图29 [Watchdog Timer]选项

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第30页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

[Watchdog Timer]选项如图29所示。

[Watchdog Timer Interval]WDT超时时间间隔设置。

禁止WDT

禁止WDT的时序:

CLR EA ; 禁止所有中断

MOV WDTCN, #0DEh ; 禁止软件看门狗定时器

MOV WDTCN, #0ADh

SETB EA ; 重新允许中断

禁止WDT锁定

注:向WDTCN 写入0xFF 将使禁止功能无效。一旦锁定,在下一次复位之前禁止操作将被忽略。写0xFF 并不使能或复位看门狗定时器。如果应用程序想一直使用看门狗,则应在初始化代码中向WDTCN 写入0xFF。

WDT设置举例。

图30 WDT设置

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第31页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

【Interrupts】菜单如图31所示。

图31 【Interrupts】菜单

[Global Interrupt Enable]全局中断使能

[SPI Interrupts]SPI中断使能

[Comparator Interrupts]比较器中断

[SMBus Interrupts]SMBus中断

[ADC Conversion Complete Interrupts]ADC转换完成中断

[UART Interrupts]UART中断

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第32页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

[Timer Interrupts]定时器中断

[PCA Interrupts]PCA中断

[ADC Window Comparison Interrupts]ADC窗口比较器中断

[External Interrupts]外部中断6、外部中断7、外部时钟源有效中断

[Interrupt Priority](中断优先级设置)选项如图32所示。

图32 [Interrupt Priority]选项

每个中断源都可以被独立地编程为两个优先级中的一个:低优先级或高优先级。一个低优先级的中断服务程序可以被高优先级的中断所中断,但高优先级的中断不能被中断。

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第33页

Configuration Wizard V2.10使用说明 Rev1.0(2008.04)

【Interrupts】设置举例。

图33 【Interrupts】设置举例

Wu Xiang YongE电园 SHAWN Wu

Email: wxynet@

MSN: eaglewxy@

第34页


本文标签: 方式 时钟 选择 设置 使能