C8051F系列单片机的初始化
操作指南
U-EC5操作指南简介C8051F单片机的低价位开发套件是为您提供快速开发应用系统的工具。
该套件包含了开发所需的软件和硬件,性能优于传统的仿真器。
U-EC5具有:完全的USB2.0接口、免安装驱动程序、硬件加强型保护功能(减少使用不当造成的硬件损坏率)。
该工具可实现单步、连续单步、断点、停止/运行,支持寄存器/存储器的观察和修改,下载程序到Flash存储器等功能。
另一特点为可使用专用软件(U-EC5中文编程软件)快速将程序代码烧录到C8051F MCU中。
一、U-EC5调试适配器操作说明1. 说明: 1.1 U-EC5调试适配器适用于C8051FXXX系列的所有芯片。
1.2 软件运行环境:Microsoft Winodows 98/2000/NT/XP。
2. 硬件安装操作2.1 按图1进行硬件连接(PC机会自动识别,用户继续下一步操作)。
图13. 使用操作*若用户在IDE中使用U-EC5,则按以下步骤操作:3.1 打开集成开发环境“Silicon Laboratories IDE.exe”3.2 在菜单栏中点击“Options”选项,在其下拉子菜单中点击“Connection Options …”选项,出现如图2的对话框,进行如下设置:3.2.1 在“Serial Adapter”栏选择“USB Debug Adatper”。
3.2.2 在“Debug Interface”栏中选择调试接口类型。
●当MCU为:C8051F00X/01X/02X/04X/06X/12X/2XX系列时,选择JTAG;●当MCU为C8051F3XX系列时,选择C2。
图24、在菜单栏中点击“Debug”选项,在其下拉子菜单中点击“Connect”选项,进行连接。
成功则会激活“Debug”菜单下的其它操作,如图3。
图35、点击工程栏中的“New Project”选项,再点击鼠标右键,在出现的对话框中点击“Save ProjectNew_Project”选项,在出现的“Save Workspace”对话框中为要建的工程起个新名并保存起来,工程栏中会出现新的工程名,例新的工程名为Project1,如图4。
C8051F单片机常见问题及解决方案
C8051F单片机常见问题及解决方案1000字C8051F单片机常见问题及解决方案C8051F系列单片机是一款常用的32位微型控制器。
在使用中,常常会遇到各种问题,以下列出了一些常见问题及解决方案,供大家参考。
1.如何选择晶振?C8051F单片机的内部时钟频率有两种选择:内部振荡器(24MHz)和外部晶振(最高可达25MHz,具体要看选用的晶振规格)。
选择晶振时,可以考虑系统时钟的需求量,以及对系统稳定性的要求。
2.如何处理硬件复位?硬件复位是指在单片机系统上电时,自动执行初始化操作的过程。
C8051F单片机实现硬件复位的方法有两种:使用复位电路(RST#复位)、通过预编程的复位向量(从C2寄存器获取程序计数器初始值)。
通常情况下,我们可以使用预编程的复位向量,以方便地重新启动程序。
3.如何处理软件复位?软件复位是指通过程序代码实现的复位。
在C8051F单片机中,软件复位可以通过配置系统管理单元(SMU)来实现。
这个过程通常包括设置复位源、配置访问时间窗口、启用复位源、复位等操作。
在进行软件复位之前,我们需要仔细查看数据手册中的相关章节,并根据实际需求进行配置。
4.如何配置GPIO口?GPIO(通用输入输出)口是单片机系统中的基本输入输出接口,用于实现I/O操作和外设控制等功能。
在C8051F单片机中,GPIO口的配置可以通过专用寄存器(P0、P1、P2、P3等)来实现。
具体的配置包括:指定口线方向、设置上下拉电阻、确定端口中断引脚等。
5.如何编写中断服务程序?中断服务程序是用于响应中断请求、处理相应事件的程序代码实现。
在C8051F单片机中,编写中断服务程序包括两个步骤,一是将中断请求源打开(或禁止),二是编写相应的中断处理程序。
具体的实现方法会有一些细微的差别,需要仔细查看数据手册中的相关章节。
6.如何使用定时器?定时器是单片机中常用的计时器件,用于实现时间处理、调度和控制等功能。
在C8051F单片机中,使用定时器需要涉及一些内容,包括:设置定时器的工作模式、配置计数器时钟源和初始化计数器等。
C8051F与80C51系列单片机的不同初始化
C8051F系列单片机是Cygnal公司出品的高速单片机,它与80C51系列单片机指令集兼容,但比后者增加了许多资源,从而为嵌入式系统的开发提供了极大的方便。
文中介绍了这两者在结构上的差异以及编程时应注意的问题,并给出了它们较完整的初始化程序。
1引言近30年来,世界各主要电子元器件生产厂商纷纷推出自己各具特色的单片机产品。
而在百花齐放的单片机家族中,80C5l系列一直扮演着重要的角色。
该单片机在教学、科研等领域已经成为入门单片机并成为单片机应用的首选,该产品以其易读性好、扩展能力强而著称,从而成为广大从事单片机开发者最熟悉、最具代表的机型。
但人们往往在熟悉80C51单片机之后又选择别的系列单片机开发产品,这是因为80C51具有运算速度慢、功耗大、内部资源少等不足,所以限制了其使用范围。
Cygnal公司推出的C805lF系列单片机既弥补了80C51系列的不足,又与MCS—5l指令集兼容。
C805lFxxx系列单片机是完全集成的混合信号系统级芯片,具有与8051指令集完全兼容的CIP-51内核。
它在单片内集成了构成一个单片机数据采集或控制系统所需要的几乎所有模拟和数字外设及其它功能部件。
这些外设或功能部件包括:ADC、可编程增益放大器、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、可编程计数器/定时器阵列(PCA)、内部振荡器、看门狗定时器及电源监视器等。
这些外设部件的高集成度为设计小体积、低功耗、高可靠性、高性能的单片机应用系统提供了很大的方便,同时也可以使整体系统的成本大大降低。
熟悉MCS—51系列单片机的工程技术人员可以很容易地掌握C8051Fxxx的应用技术并进行软件移植。
但不能将8051的程序直接应用于C8051F单片机中,因为这两种系列的单片机内部资源存在较大的差异,因此,完全照搬、移植是行不通的,必须经过“改良”(主要是初始化控制字的改写)才能正确运行。
(word完整版)1 C8051F单片机讲义
1 C8051F340单片机的并行接口一、综述GPIO,通用输入输出接口,是单片机与外部世界交换信息一种最简单的、最便洁、速度较快的一种接口方式,是其它接口方式的基础。
一个单片机的GPIO的数量,反映了这款单片机与外部世界交换信息的能力的大小。
有些单片机的GPIO只有几个,有些可达数十甚至数百个。
C8051F340单片机的GPIO,共有P0、P1、P2、P3、P4五组并行口,每组8个引脚,共占用40个引脚,分别称P0.0、P0。
1、P0。
2、P0。
3、P0.4、P0。
5、P0.6、P0。
7、P1.0……….P4.6、P4.7。
每一个引脚都可以做为输入口,也可以做为输出口。
如果做为输入口,有两种输入模式,分别是数字输入和模拟输入两种模式,如果做为输出口,也有两种输出模式,分别叫推挽输出、漏开输出。
C8051F340单片机,除了以上40个GPIO外,还有电源、调试、复位等8个引脚,合起来共同48个引脚.C8051F340单片机,是48脚的TQFP-48封装,表面贴的,与AT89S51/52、STC89C51/52比,管脚多,但占用的面积要小许多。
二、工作模式数字输入模式,是用来输入开关、按键等具有两个状态的量,只有0V、3。
3V两种合理的输入电压。
当然,稍有点误差,不会引起错误的读入结果。
模拟输入模式,是用来输入诸如表示电压、温度、压力等连续变化的量.输入电压的范围须在0~3。
3V之间,超出这个范围,可能引起芯片永久损坏.这部分内容将在以后的有关章节中介绍。
输出模式,也有两种,分别叫推挽输出、漏开输出。
推挽输出,是用两个MOS管,组成推挽电路,可以输出一个明确的电平.漏开输出,只用一个MOS管的漏极做输出,如果我们在漏极上用一个电阻,接上我们所需的电压,可以实现电压的灵活输出。
三、模式配置3.1 交叉开关如果使用C8051F340单片机的并行口,必须对寄存器XBR1的第六位置“1”,寄存器XBR1,叫交叉开关寄存器1,该寄存器的第六位,称XBARE,为交叉开关使能位。
Configuration Wizard V2.10 详细使用说明
Configuration Wizard V2.10 使用说明说明:本文利用Configuration Wizard对C8051F单片机进行了一些基本配置,希望能起到抛砖引玉的作用。
由于作者水平有限,难免存在不准确的地方,还望能和大家一起学习讨论。
一、Configuration Wizard软件说明:C8051F单片初始化配制软件,以图形选择界面方式帮您配制初化芯片的功能并给出对应的代码,免除您对芯特殊寄存器的记忆,提高您的工作效率。
二、软件下载地址:C8051F的代理新华龙电子有限公司/download.asp?bigdownid=7&bigdownname=调试器三、Configuration Wizard软件的使用:软件打开出现如图1的初始界面,接着选择系统所使用的芯片。
图1 软件打开的初始界面如图2,选择系统使用的芯片,我们以C8051F021为例。
图2 选择系统芯片然后进入如下配置代码显示界面图3 配置代码显示区【File】菜单为常规选项,可根据需要选择。
图4 【File】菜单【Options】可选择生成代码的格式:C/ASM 图5 【Option】菜单【Peripherals】主要是配置单片机外设。
图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两个电压比较器:使能、正负向回差电压设置等) 【V oltage Reference】(ADC0和ADC1电压基准的选择、温度传感器使能、内部电压基准缓冲器使能、ADC/DAC偏压发生器使能等)【Reset Source】(复位源的选择:复位源的选择、看门狗的使能、时间间隔设置等)【Interrupts】(所有中断使能、SPI中断、比较器中断、SMBus中断、ADC转换结束中断、外部中断、UART中断、定时器中断等)五、首先【Port I/O】如图7所示。
c8051f120使用UART与PC通信总结
C8051F120使用UART与PC通信总结
一,开发环境
单片机C8051F120
编程工具:KeilC51
PC机通信工具:SecureCRT或超级终端
二、
1,主程序配置:
如上图所示:
a,关闭看门狗。
b,晶振、GPIO初始化。
c,串口初始化
d,开中断
e,在无限循环中执行串口处理程序(接收以及发送数据)。
2,串口初始化UART0_Init()
如上图所示的初始化程序包括两个部分,第一,使用timer2对串口的波特率进行配置。
第二,配置串口以及开中断.
3,串口处理程序Uart_Handler()
以上程序包括打印接收到的字符串,命令比对,执行相应串口命令处理以及清除命令。
4,串行中断程序
包括接收字符中断处理和发送中断标志清零等。
5,重写putchar,使printf能正常打印到PC端。
C8051F020单片机初始化
C8051F020单片机初始化程序和编译步骤2011-02-15 12:20:06| 分类:默认分类| 标签:|字号大中小订阅C8051F020编程步骤一、编程步骤:1、看门狗设置2、系统初始化3、端口初始化4、对应功能初始化(如:串口,定时器,I2C,SPI,PCA,DAC/ADC,中断等等)5、功能函数或中断函数(如需要)6、包含的头文件7、项目说明二、对应功能初始化要点:1、Uart:(1)串口工作模式由SCON设定(2)定时器工作方式设定TMOD (3)波特率TH载入值设定(4)启动TR1 (5)时钟基准CKCON (6)波特率加倍设定PCON(7)开中断使能TI2、Time:(1)工作方式设定TMOD (2)定时器时钟基准CKCON (3)启动/停止TCON设定TRn3、Interrupt:(1)中断允许IE (2)触发方式设定(上下沿,电平)(3)对应控制位允许设定,如ES串口允许C8051F020单片机初始化程序; $INCLUDE (C8051F020.inc) /C8051F020单片机功能强大,初始化也比较繁杂,为了便于初始化各功能模块,我们编了此程序可看着“说明”初始化。
ORG SYS_INIT;※▲◆●◎★☆△;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆;■-- <1> --电源管理; PCON ; POWER CONTROL;■-- <2> --系统时钟和振荡器; OSCXCN ; EXTERNAL OSCILLATOR CONTROL; OSCICN ; INTERNAL OSCILLA TOR CONTROL;■-- <3> --复位及看门狗管理; RSTSRC ; RESET SOURCE; WDTCN ; WA TCHDOG TIMER CONTROL;■-- <4> --FLASH存储器编程和安全管理; FLSCL ; FLASH MEMORY TIMING PRESCALER; PSCTL ; PROGRAM STORE R/W CONTROL; FLACL ; FLASH ACESS LIMIT;■-- <5> --中断控制; IE ; INTERRUPT ENABLE; EIE1 ; EXTERNAL INTERRUPT ENABLE 1; EIE2 ; EXTERNAL INTERRUPT ENABLE 2; IP ; INTERRUPT PRIORITY; EIP1 ; EXTERNAL INTERRUPT PRIORITY REGISTER 1; EIP2 ; EXTERNAL INTERRUPT PRIORITY REGISTER 2 ; P3IF ; PORT 3 EXTERNAL INTERRUPT FLAGS;■-- <6> --端口IO初始化及交叉开关设置; XBR0 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 0; XBR1 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 1; XBR2 ; DIGITAL CROSSBAR CONFIGURA TION REGISTER 2 ; P0MDOUT ; PORT 0 OUTPUT MODE CONFIGURATION; P1MDOUT ; PORT 1 OUTPUT MODE CONFIGURATION; P2MDOUT ; PORT 2 OUTPUT MODE CONFIGURATION; P3MDOUT ; PORT 3 OUTPUT MODE CONFIGURATION; P74OUT ; PORTS 4 - 7 OUTPUT MODE;■-- <7> --外部RAM和片内XRAM; EMI0CN ; EXTERNAL MEMORY INTERFACE CONTROL; EMI0CF ; EXTERNAL MEMORY INTERFACE (EMIF) CONFIGURA TION; EMI0TC ; EXTERNAL MEMORY;■-- <8> --定时器设置; TMOD ; TIMER MODE; TCON ; TIMER CONTROL; T2CON ; TIMER 2 CONTROL; T4CON ; TIMER 4 CONTROL; TMR3CN ; TIMER 3 CONTROL; TMR3RLL ; TIMER 3 RELOAD REGISTER - LOW BYTE; TMR3RLH ; TIMER 3 RELOAD REGISTER - HIGH BYTE; TMR3L ; TIMER 3 - LOW BYTE; TMR3H ; TIMER 3 - HIGH BYTE;■-- <9> --串行通讯; SCON0 ; SERIAL PORT 0 CONTROL; SCON1 ; SERIAL PORT 1 CONTROL; SBUF1 ; SERAIL PORT 1 DA TA; SADDR1 ; SERAIL PORT 1; PCON ; POWER CONTROL; RCAP2L ; TIMER 2 CAPTURE REGISTER - LOW BYTE; RCAP2H ; TIMER 2 CAPTURE REGISTER - HIGH BYTE; RCAP4L ; TIMER 4 CAPTURE REGISTER - LOW BYTE; RCAP4H ; TIMER 4 CAPTURE REGISTER - HIGH BYTE; SADDR0 ; SERIAL PORT 0 SLAVE ADDRESS;■-- <10> --可编程计数器阵列; PCA0CN ; PCA 0 COUNTER CONTROL; PCA0MD ; PCA 0 COUNTER MODE; PCA0CPM0 ; CONTROL REGISTER FOR PCA 0 MODULE 0; PCA0CPM1 ; CONTROL REGISTER FOR PCA 0 MODULE 1; PCA0CPM2 ; CONTROL REGISTER FOR PCA 0 MODULE 2; PCA0CPM3 ; CONTROL REGISTER FOR PCA 0 MODULE 3; PCA0CPM4 ; CONTROL REGISTER FOR PCA 0 MODULE 4;■-- <11> --SMBus通讯; SMB0CN ; SMBUS 0 CONTROL; SMB0CR ; SMBUS 0 CLOCK RA TE; SMB0STA; SMBUS 0 STA TUS; SMB0DA T ; SMBUS 0 DATA; SMB0ADR ; SMBUS 0 SLAVE ADDRESS;■-- <12> --SPI总线通讯; SPI0CKR ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RA TE CONTROL ; SPI0DAT ; SERIAL PERIPHERAL INTERFACE 0 DA TA ; SPI0CFG ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION ; SPI0CN ; SERIAL PERIPHERAL INTERFACE 0 CONTROL;-- <13> --ADC转换; AMX0CF ; ADC 0 MUX CONFIGURATION; AMX0SL ; ADC 0 MUX CHANNEL SELECTION; ADC0CF ; ADC 0 CONFIGURA TION; ADC0CN ; ADC 0 CONTROL; ADC0L ; ADC 0 DA TA - LOW BYTE; ADC0H ; ADC 0 DATA - HIGH BYTE; ADC1CF ; ADC 1 ANALOG MUX CONFIGURATION; AMX1SL ; ADC 1 ANALOG MUX CHANNEL SELECT; ADC1CN ; ADC 1 CONTROL; ADC0GTL ; ADC 0 GREA TER-THAN REGISTER - LOW BYTE; ADC0GTH ; ADC 0 GREA TER-THAN REGISTER - HIGH BYTE ; ADC0LTL ; ADC 0 LESS-THAN REGISTER - LOW BYTE; ADC0LTH ; ADC 0 LESS-THAN REGISTER - HIGH BYTE; REF0CN ; VOLTAGE REFERENCE 0 CONTROL; ADC1 ; ADC 1 DA TA;■-- <14> --DAC转换; PCA0L ; PCA 0 TIMER - LOW BYTE; PCA0H ; PCA 0 TIMER - HIGH BYTE; DAC0CN ; DAC 0 CONTROL; DAC1L ; DAC 1 REGISTER - LOW BYTE; DAC1H ; DAC 1 REGISTER - HIGH BYTE; DAC1CN ; DAC 1 CONTROL;■-- <15> --比较器设置; CPT0CN ; COMPARA TOR 0 CONTROL; CPT1CN ; COMPARA TOR 1 CONTROL; EMI0TC ; EMIF TIMING CONTROL;■-- <16> --时钟/电压基准设置; CKCON ; CLOCK CONTROL; SADEN1 ; SERIAL PORT 1 SLAVE ADDRESS MASK; SADEN0 ; SERIAL PORT 0 SLAVE ADDRESS MASK; P1MDIN ; PORT 1 INPUT MODE; PSW ; PROGRAM STATUS WORD; B ; B REGISTER; WDTCN ; WA TCHDOG TIMER CONTROL;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆;;==================================================================== ; function: Init_CTS 定时器/计数器,中断和串行通讯初始化子程序; input: -----------------; output: -----------------; usage: -----------------;====================================================================THS0 equ 0a8hTLS0 equ 09ah; THS1 equ 0fah;0feh;0fah;-4800;0f4h; TLS1 equ 0fah;0feh;0fah;-4800;0f4h;; THS2 equ 0ffh;0feh;0fah;-4800;0f4h; TLS2 equ 0b8h;0feh;0fah;-4800;0f4hInit_TCS: ;定时器/计数器,中断和串行通讯初始化子程序;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓; ◆◆◆8051内部控制寄存器◆◆◆;************************************************************************************ ;|名称| 代号| 地址|位寻| B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|电源控制| PCON | 87H | NO |SMOD | -- | -- | -- | GF1 | GF0 | PD | IDL | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|计时控制| TCON | 88H | YE |TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|计时模式| TMOD | 89H | NO |1GATE| 1C/T | 1M1 | 1M0 | 0GA TE| 0C/T | 0M1 | 0M0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|串行控制| SCON | 98H | YE |SM0| SM1 | SM2 | REN | TB8 | RB8 | TI | RI | ;|--------|------|------|----|-----|------|------|------|------|------|------|------|;|中断允许| IE | A8H | YE |EA| -- | ET2 | ES | ET1 | EX1 | ET0 | EX0 | ;|--------|------|------|----|-----|------|------|------|------|------|------|------| ;|中断优先| IP | B8H | YE |-- | -- | PT2 | PS | PT1 | PX1 | PT0 | PX0 | ;************************************************************************************;时钟频率为:11.059200MHz;;机器周期为:12/fosc=1.085069μs;;CT0定时器设定延时为:2000μs;;CT0定时器工作于模式0;;CT0溢出处理采用中断方式;;CT0选择内部时钟;;CT0启动由TR0的0/1决定;;设定波特率为:4800bps;;串口0工作于方式1--T1定时器工作于方式2;;串口1工作于模式3--T2定时器用于波特率发生器4800bpsmov TH0, #THS0mov TL0, #TLS0; mov TH1, #THS1; mov TL1, #TLS1; mov TH2, #THS2; mov TL2, #TLS2;▲■-- <1> --电源管理;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓;87H---PCON-------电源控制寄存器;复位值: 00000000;位7-2:保留。
单片机C8051F020的初始化设置
单片机C8051F020的初始化设置单片机C8051F020的初始化设置在喧闹的世界中,能静下心来研究技术也是很有趣的事情。
好多年没作些具体的技术工作了,幸好领导给分配一个单片机任务。
现在把研究的技术写下来,与朋友们分享。
研究C8051F020编程不能离开初始化设置。
对于简单程序,读技术手册,将用到的I/O口,中断,串口,晶振等正确初试化后,已经成功一半了。
晶振需要初始化,C8051F020有内部晶振,精度不高,一般电路都使用外部晶振。
初始化晶振主要是OSCXCN和OSCICN两个寄存器的设置。
具体初始化代码可由Silicon的配置程序自动生成:void Oscillator_Init(){int i = 0;OSCXCN = 0x67;for (i = 0; i < 3000; i++);while ((OSCXCN & 0x80) == 0);OSCICN = 0x08;}上面程序包括了晶振初始化的全部过程:1、使能外部振荡器:OSCXCN = 0x67;2、等待至少1m钟,等待外部振荡器起稳:for (i = 0; i < 3000; i++);3、查询OSCXCN的第八位XTLVLD是否为1,1表明外部振荡器起稳:while ((OSCXCN & 0x80) == 0);4、关内部晶振,切换到外部晶振 OSCICN = 0x08;而同事们的设置是OSCICN= 0x88;应该是使用外部振荡器,但是内部振荡器也没关,这样MCU耗能高些。
串口0(UART0)也需要配置:void UART0_Init (void){SCON0 = 0x50; // SCON0: 模式1,可接收,8位串口TMOD = 0x20; // TMOD: 定时器1, 模式2, 8位自动重载TH1 = -(SYSCLK/BAUDRATE/16); // 设置定时器1TR1 = 1; // 开始定时CKCON |= 0x10; // 定时器用SYSCLK作基准时间PCON |= 0x80; // 禁止UART0波特率/2}SCON0是UART0控制寄存器,用来选择传输模式。
C8051F040开发系统板使用说明书
第一章 C8051F040开发系统板简介1.1 开发系统的组成Cygnal C8051F040单片机开发系统主要由Cygnal 片上系统单片机开发工具、C8051F040片上系统单片机和系统试验板三部分组成,应用该系统可进行片上系统单片机较典型应用的试验,请参见以下介绍。
1.2 Cygnal C8051F单片机开发工具简介开发工具概述Cygnal 的开发工具实质上就是计算机IDE 调试环境软件及计算机RS-232到C8051F单片机JTAG 口的协议转换器(EC2-N1)的组合。
Cygnal C8051F系列全部的单片机片内均设计有调试电路该调试电路通过边界扫描方式获得单片机片内信息,通过10线的JTAG接口与开发工具连接以便于进行对单片机在片编程调试。
该开发系统板中的核心部分是Cygnal C8051F040单片机。
适配器(EC2-N1)一端与计算机相连,另一端与C8051F单片机的JTAG口相连,应用Cygnal 供应的IDE调试环境就可以进行非侵入式、全速的在系统编程(ISP)和调试。
Cygnal 开发工具支持视察和修改存储器和寄存器支持断点、视察点、堆栈指示器、单步、运行和停止吩咐。
调试时不须要额外的目标RAM、程序存储器、定时器或通信通道,并且全部的模拟和数字外设都正常工作。
开发工具主要技术指标●支持的目标系统:全部C8051Fxxx 系列单片机;●系统时钟:最大可达25MHz;●通过RS232接口与PC机连接;●支持汇编语言和C51源代码级调试;●第三方工具支持Keil C。
IDE 软件运行环境要求PC机能够运行开发工具软件并能与串行适配器通信。
对PC机有如下系统要求:●Windows 95/98/Me/NT/2000/XP 操作系统;●32MB RAM;●40MB 自由硬盘空间;●空闲的COM 口。
开发工具与PC 机硬件连接硬件连接及软件安装:●将JTAG 扁平电缆与串行示配器EC2 连接●将JTAG 扁平电缆的另一端与目标系统连接●将RS232 串行电缆的一端与EC2 连接●连接RS232 串行电缆的另一端到PC●给目标系统上电●插入CD 并运行SETUP.EXE 将IDE 软件安装到您的PC 机●在PC 机的起先菜单的程序项中选择Cygnal IDE 点击Cygnal 图标运行IDE软件。
C8051F单片机入门学习流程
C8051F单片机入门学习流程一. 准备硬件及软件1.C8051F任意一款开发板(以C8051F330ST为例)。
2.EC3仿真器。
3.Keil C51开发软件到下载二. 开发者具备基本知识1.对MCS51架构单片机有基本了解。
2.有基本C语言及汇编语言编程经验。
3.对单片机开发过程有基本了解。
三. 学习过程如下1.安装Keil C51软件。
(1)找到Keil uv3 (版本 V8.02)软件目录,并点击C51v802.exe安装(2)点击Next(3)选I agree…, 点击Next(4)默认目录(千万不要选择其它目录),点击Next(5)填写用户名等,点击Next(6)开始安装,等待….(7)安装完成,点击Finish(8)打开Keil C软件,选择File/License Management…(9)显示如下:(10)打开Keil_lic_v2.exe,并按如下设置,点击Generate(11)拷贝LIC0内的序列号:(12)粘贴序列号到Keil C软件的New License ID Code下,(13)点击Add LIC,添加序列号成功。
如果添加失败,请重启电脑并进入安全模式,重新安装序列号。
Keil C 软件安装完毕2.安装C8051F单片机针对Keil C51驱动程序。
(1)找到Keil C51驱动程序软件目录,并点击SiC8051F_uv3_v2.31.exe安装(如果前面安装的是Keil uv2, V7.02或V7.50,请点击SiC8051F_uv2_v2.31.exe安装驱动)(2)点击Next(3)点击Next(4)点击Next(5)选择I accept…, 点击Next(6)点击Next(7)点击Next(不要更改目录)(8)开始安装(9)点击Finish安装完成!3. EC3仿真器、开发板连接及开发软件Keil C软件配置(1)将EC3仿真器与开发板连接好,按1.2.3.4步连接(2) 将EC3仿真器与电脑连接好, 仿真器指示灯亮(3) 上述连接确认无误,将开发板电源线(USB接口)与电脑连接好,再连接到开发板上(4)打开Keil Vision3软件,新建一工程ML-Test(或者将学习板光盘上的测试程序拷贝到电脑硬盘上,用Keil Vision3打开,注意将文件属性更改为可读写):(5)选择C8051F330作为CPU:(6)选择配置如下图:(7)显示如下图:(8)选择Debug项,配置如下图:(9)选择Settings项,配置如下图:(10)点击确定,完成设置;(11)编译并下载程序即可调试了;4. 用Keil C51打开软件例程,编译下载程序并运行。
C8051F系列SOC单片机原理及应用课程设计
C8051F系列SOC单片机原理及应用课程设计一、引言C8051F系列SOC单片机是由美国Silicon Labs公司推出的一款面向嵌入式应用的单片机。
SOC单片机,即System-on-a-Chip单片机,是指将系统多个部分如中央处理器(CPU)、存储器、输入输出等集成在一个芯片上的单片机。
本文将重点介绍C8051F系列SOC单片机的原理和应用,并提出一种基于C8051F系列SOC单片机的自动喷涂机控制系统设计方案。
此设计方案旨在提高自动喷涂机生产效率和产品质量,降低出错率,减少人工成本。
二、C8051F系列SOC单片机基础知识2.1 单片机基础概念单片机作为一种重要的集成电路,其内部集成了处理器、存储器、输入输出端口等多种功能,可用于控制、计算等多种应用。
常用的单片机包括51、AVR、PIC等。
2.2 C8051F系列SOC单片机特点C8051F系列SOC单片机是由美国Silicon Labs公司推出的一款高性能、低功耗的嵌入式单片机,主要特点如下:•高性能:C8051F系列SOC单片机采用C8051F系列CPU,运行速度高,且具有很强的计算能力;•低功耗:C8051F系列SOC单片机内置了多种节能技术,可有效降低功耗,提高电池续航时间;•丰富的外设:C8051F系列SOC单片机集成了多种输入输出端口,包括ADC、PWM、UART、SPI等,可适用于不同的应用场景;•多种封装:C8051F系列SOC单片机适用于多种封装方式,包括QFN、SSOP、TSSOP等。
2.3 C8051F系列SOC单片机原理C8051F系列SOC单片机由CPU、存储器、输入输出端口等多种功能模块组成。
其中,CPU是单片机的核心部件,主要用于控制程序的执行;存储器分为闪存和RAM两部分,闪存用于存储程序代码和数据,RAM用于存储变量和中间结果;输入输出端口包括GPIO、PWM、ADC等。
C8051F系列SOC单片机的工作流程如下:首先将程序代码烧录到闪存中,然后由CPU控制程序按照指令执行。
C8051F020实验指导书
单片机实验指导书目录第一章:实验设备简介 (1)1.1 系统实验设备的组成 (1)1.2 Silicon Labs C8051F 单片机开发工具简介 (1)1.3 DICE-C8051F嵌入式实验/开发系统简介 (3)第二章集成开发环境KEIL C软件使用指南 (7)2.1 KEIL C软件具体使用说明 (7)第三章实验指导 (19)3.1 C8051F 单片机I/O 口交叉开关设置 (19)3.2 数字I/O端口实验 (21)3.3 定时器实验 (23)3.4 外部中断实验 (25)3.5 键盘显示实验 (27)3.6 六位动态LED数码管显示实验 (29)3.7 RS3232串口通讯实验 (32)3.8 综合设计 (34)使用特别说明:(1) 每次实验前,请仔细阅读实验指导,连线完毕,检查无误后,方可打开电源。
即连线时必须在断电状态下。
(2) 程序运行过程中,不要关闭电源,如果要断电,必须停止运行程序,并且退出程序调试状态,否则会引起KEIL C软件非正常退出,甚至引起DICE-EC5仿真器工作异常。
(3) 如出现上述(2)的的误操作,引起DICE-EC5仿真器工作异常,可对DICE-EC5仿真器进行复位。
(在光盘中找到文件夹“USB Reset”中的“USB Debug Adapter Firmware Reset”文件,双击运行,在弹出的对话框中点击“Update firmware”按钮,在提示成功后,点击“OK”按钮,退出复位程序。
DICE-EC5仿真器即可正常工作。
在下一次调试、下载程序时会提示“Do you want to update serial adapter now? ”,点击“确定”即可。
第一章:实验设备简介1.1 系统实验设备的组成DICE-C8051F嵌入式实验/开发系统由C8051F020 CPU 板、DICE-EC5仿真器和系统实验板三部分组成,应用该设备可进行片上系统单片机较典型应用的实验,请参见以下介绍。
c8051f单片机原理及应用
c8051f单片机原理及应用C8051F单片机是由Silicon Laboratories公司推出的一款高性能、低功耗、集成度高的8位单片机系列,它采用了高速8051内核,具有快速的执行速度和高效的计算能力,适用于各种应用领域。
本文将详细介绍C8051F单片机的原理和应用。
一、C8051F单片机原理1.8051内核C8051F单片机采用了高速的8051内核,它包含了一个中央处理器(CPU)、存储器、输入/输出端口、定时器/计数器、串行接口等模块。
8051内核具有简单易学、易于控制和可靠性高等特点,被广泛应用于各种嵌入式系统中。
2.存储器C8051F单片机的存储器包括闪存、RAM和EEPROM。
其中,闪存用于存储程序代码,RAM用于存储数据,EEPROM用于存储非易失性数据。
C8051F单片机的存储器容量从4KB到128KB不等,可以满足不同应用的需求。
3.输入/输出端口C8051F单片机的输入/输出端口包括数字输入/输出端口和模拟输入/输出端口。
数字输入/输出端口用于连接数字设备,模拟输入/输出端口用于连接模拟设备。
C8051F单片机的输入/输出端口可以通过软件配置,实现各种功能。
4.定时器/计数器C8051F单片机的定时器/计数器包括多个独立的定时器和计数器,它们可以通过软件配置,实现各种计时和计数功能。
5.串行接口C8051F单片机的串行接口包括SPI接口、I2C接口和UART接口。
它们可以用于与外部设备进行通信,实现数据交换和控制。
二、C8051F单片机应用C8051F单片机广泛应用于各种嵌入式系统中,例如:工业控制、智能家居、医疗设备、电子仪器等。
1.工业控制C8051F单片机可以用于各种工业控制系统中,如温度控制、湿度控制、压力控制等。
它具有高速的运算能力和丰富的输入/输出端口,可以实现复杂的控制算法和实时控制。
2.智能家居C8051F单片机可以用于智能家居系统中,如智能灯光控制、智能窗帘控制、智能门锁控制等。
C8051F系列单片机的初始化共5页文档
C8051F系列单片机的初始化Silicon Labs公司出品的C8051F系列单片机是高集成度的混合信号系统级(SoC)芯片,它具有基于增强的CIP-51内核,其指令集与MCS-51完全兼容,采用流水线结构,70%的指令执行时间为1到2个系统时钟周期,是标准8051指令执行速度的12倍,具有大量的中断源(可达22个),集成了丰富的资源和外部设备接口,能够满足绝大部分场合的复杂功能要求,在嵌入式领域的各个场合都得到了广泛的应用。
1、初始化的基本流程C8051F系列单片机系统时钟源多样且控制灵活,采用交叉开关配置方式实现了I/O端口的灵活配置,内部特殊功能寄存器SFR种类数量多且采用分页管理方式,因为这些特点C8051F系列单片机的初始化工作不同于标准8051单片机,其初始化工作流程基本如下:看门狗初始化配置→交叉开关初始化配置→I/O端口初始化配置→系统时钟初始化配置→功能模块初始化配置。
2、初始化的要点2.1 特殊功能寄存器(SFR)C8051F系列单片机具有标准8051中的全部SFR,还增加了一些用于配置和访问专有子系统的SFR,SFR采用分页机制,允许器件将很多SFR映射到0x80-0xFF存储器地址空间,最多可达256页。
在使用相应的特殊功能寄存器时,需先利用页选择寄存器(SFRPAGE)转换到相应的SFR页,再对其进行操作。
当中断发生时,SFR页寄存器会自动切换到引起中断的标志位所在页,这减轻了从中断服务程序切换SFR页的负担,在执行RETI指令时,中断前使用的SFR页会被自动恢复。
SFR结构如图1所示:2.2 可编程数字I/O和交叉开关C8051F系列单片机使用优先权交叉开关译码器实现了I/O端口的灵活配置,允许将内部系统资源映射到P0-P3的端口,用户根据自己的特定应用选择通用端口I/O和所需资源的组合。
优先权交叉开关译码器是通过交叉开关配置寄存器XBR0、XBR1、XBR2 和XBR3(复位后均为0)来进行配置的,当外设对应使能位被置为1时,外设可以通过端口进行访问,反之则不能。
C8051F单片机
13
2、IO口
推挽输出方式
1 0 1 0 1 0 1 DGND VDD
0
1
14
2、IO口
漏极开路输出
0 0 1 0 1 DGND
0
1
高阻
15
2、IO口
数字输入
0 1 1 1
0
16
3、优先权交叉开关配置
1. C8051F单片机有大量的数字资源需要通过4个 低端I/O端口P0、P1、P2和P3才能使用。 2. P0、P1、P2和P3中的每个引脚既可定义为通用 的端口I/O(GPIO)引脚,又可以分配给一个 数字外设或功能(例如:UART0 或/INT1)。 3. 资源分配的灵活性是通过使用优先权交叉开关 译码器实现的。
执行周期数 1 2 2/3 3 3/4 4 4/5 5 8
指令数
26
50
5
16
7
3
1
2
1
8
1、概述 微控制器内核峰值执行速度比较
9
1、概述
3、增加的功能 C8051F31x 系列MCU 在CIP-51 内核和外设方面 有几项关键性的改进,提高了整体性能,更易于在最 终应用中使用。 1)扩展的中断系统 提供14 个中断源(标准8051 只有5个中断源), 允许大量的模拟和数字外设中断微控制器。 一个中断驱动的系统需要较少的MCU 干预,因而 有更高的执行效率。 在设计一个多任务实时系统时,这些增加的中断源 是非常有用的。
22
4、系统时钟源
当外部晶体振荡器稳定运行时,晶体振荡器有效标志 OSCXCN 寄存器中的XTLVLD被硬件置‘1’。 XTLVLD 检测电路要求在使能振荡器工作和检测XTLVLD之 间至少有1 ms的启动时间。 如果需要使用晶体或陶瓷谐振器作为MCU 的外部振荡器源 建议的过程为 1) 通过向端口寄存器的对应位写0 使XTAL1 和XTAL2 引脚 为低电平。 2) 将XTAL1 和XTAL2 配置为模拟输入。 3)使能外部振荡器 4)等待至少1ms 5)查询XTLVLD => ’1’ 6)将系统时钟切换到外部振荡器 23
第十部分C8051F系列SOC单片机教学课件
兆指令/秒,有的型号最高执行速度可达100 兆指令/秒; 4) 增加了流水线结构,70%指令的执行时间为 1~2个系统时钟周期;
5) 与模/数、数字外设有关的SFR移到核外,通 过SFR接口与CPU交换信息;
C8051F单片机大部分系列都有位于片上的核 外数据存储器空间RAM(XRAM),除此还可向 外扩展64KB RAM。存储器接口就是用于控制和 管理片上和片外的数据存储器,需要用MOVX访 问。
5)流水线结构 在CIP-51中采用流水线结构,使多条指令并
行执行,大大提高了单片机的执行速度。
6)中断系统 C8051F系列单片机的中断系统可以满足一般
1、指令运行速度高
由于C8051Fxxx单片机采用流水线结构,废 除了机器周期的概念,指令以时钟周期为运行 单位,由标准的12个系统时钟周期降为 1 个 系统时钟周期,处理能力大大提高。在相同时 钟下,指令运行速度比一般的80C51系列单片 机提高大约10倍。70%指令的执行时间为 1 个或 2 个系统时钟周期,只有4条指令的执行 时间大于4个系统时钟周期。
10.1 C8051F系列单片机简介
10.1.1 C8051F系列单片机的诞生
美国 Silabs 公司推出的C8051F系列单片机, 把 C8051F 系列单片机从微控制器(MCU)时代推 向片上系统( SOC )时代,使其以8051为内核的 单片机上了一个新的台阶。
SOC即 System On Chip 的缩写,即把计算机常 用的一些数字模拟设备全部都做在一块芯片上, 使之成为一个完整的模拟数据采集与控制系统。
C8051F系列单片机的初始化
C8051F系列单片机的初始化C8051F系列单片机是由美国Silicon Laboratories公司研发的一款8位微控制器,它具有强大的功能和灵活的性能,是一种广泛应用于各种电子设备中的微控制器。
在使用C8051F系列单片机之前,需要进行初始化操作,以确保单片机能够正常工作。
下面将介绍C8051F系列单片机的初始化过程。
1. 系统时钟初始化在初始化单片机之前,需要先配置它的系统时钟。
C8051F系列单片机的系统时钟可从外部晶体振荡器或内部RC振荡器提供。
通过设置相关的寄存器,可以选择使用哪一种时钟源,并配置其频率。
2. 系统时钟分频器初始化对于大多数应用程序而言,操作系统时钟的速度往往太快,因此需要对其进行分频,减少操作速度。
C8051F系列单片机提供了一个系统时钟分频器,通过设置相关的寄存器,可以选择分频比例,将操作速度减慢。
3. I/O端口初始化C8051F系列单片机具有多个I/O端口,用于输入和输出数据。
在初始化单片机时,需要设置每个I/O端口的输入和输出模式,以及电平状态和电流限制等参数。
4. 中断初始化C8051F系列单片机支持多种中断模式,可以在程序执行期间随时中断当前任务,处理新的事件。
在初始化单片机时,需要配置中断引脚和中断向量表等参数。
5. 定时器初始化C8051F系列单片机具有多个定时器,用于计时和延时等功能。
在初始化单片机时,需要设置每个定时器的计数模式、频率、触发条件和计时范围等参数。
6. 串口初始化C8051F系列单片机支持串口通信,可以与其他设备进行数据交换。
在初始化单片机时,需要设置串口的通信协议、波特率和数据格式等参数。
7. ADC/DAC初始化C8051F系列单片机具有模拟转换模块,可以对模拟信号进行采样和变换。
在初始化单片机时,需要设置ADC/DAC的采样率、分辨率和参考电压等参数。
通过以上步骤,就可以完成C8051F系列单片机的初始化。
在开发具体应用程序时,还需要根据实际需求对各个模块进行进一步配置和编程。
80c51单片机外部中断初始化步骤
80C51 单片机外部中断初始化的步骤如下:
1. 设置中断优先级:通过设置特殊功能寄存器IP 来确定中断的优先级。
可以设置不同的优先级以确定中断的响应顺序。
2. 允许中断:通过设置特殊功能寄存器IE 来允许相应的中断源。
将对应中断源的使能位设置为1。
3. 设置触发方式:通过设置特殊功能寄存器TCON 来选择外部中断的触发方式。
可以选择低电平触发、下降沿触发或上升沿触发。
4. 配置中断向量:中断向量是指中断服务程序的入口地址。
可以通过设置特殊功能寄存器Interrupt Vector Table(中断向量表)来指定中断服务程序的入口地址。
这些步骤是80C51 单片机外部中断初始化的一般流程。
具体的实现方式可能会因不同的单片机型号和编译器而有所差异。
在实际编程中,还需要根据具体的需求和硬件连接来进行相应的配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C8051F系列单片机的初始化
作者:初宏伟彭林
来源:《数字技术与应用》2011年第09期
摘要: C8051F系列单片机具有增强的CIP-51内核,与MCS-51完全兼容。
本文介绍了C8051F系列单片机编程过程中的基本流程和要点,并给出了较完整的C语言初始化例程。
关键词:初始化特殊功能寄存器交叉开关系统时钟配置
中图分类号: TN79 文献标识码:A 文章编号:1007-9416(2011)09-0160-02
Silicon Labs公司出品的C8051F系列单片机是高集成度的混合信号系统级(SoC)芯片,它具有基于增强的CIP-51内核,其指令集与MCS-51完全兼容,采用流水线结构,70%的指令执行时间为1到2个系统时钟周期,是标准8051指令执行速度的12倍,具有大量的中断源(可达22个),集成了丰富的资源和外部设备接口,能够满足绝大部分场合的复杂功能要求,在嵌入式领域的各个场合都得到了广泛的应用。
1、初始化的基本流程
C8051F系列单片机系统时钟源多样且控制灵活,采用交叉开关配置方式实现了I/O端口的灵活配置,内部特殊功能寄存器SFR种类数量多且采用分页管理方式,因为这些特点
C8051F系列单片机的初始化工作不同于标准8051单片机,其初始化工作流程基本如下:看门狗初始化配置→交叉开关初始化配置→I/O端口初始化配置→系统时钟初始化配置→功能模块初始化配置。
2、初始化的要点
2.1 特殊功能寄存器(SFR)
C8051F系列单片机具有标准8051中的全部SFR,还增加了一些用于配置和访问专有子系统的SFR,SFR采用分页机制,允许器件将很多SFR映射到0x80-0xFF存储器地址空间,最多可达256页。
在使用相应的特殊功能寄存器时,需先利用页选择寄存器(SFRPAGE)转换到相应的SFR页,再对其进行操作。
当中断发生时,SFR页寄存器会自动切换到引起中断的标志位所在页,这减轻了从中断服务程序切换SFR页的负担,在执行RETI指令时,中断前使用的SFR页会被自动恢复。
SFR结构如图1所示:
2.2 可编程数字I/O和交叉开关
C8051F系列单片机使用优先权交叉开关译码器实现了I/O端口的灵活配置,允许将内部系统资源映射到P0-P3的端口,用户根据自己的特定应用选择通用端口I/O和所需资源的组合。
优先权交叉开关译码器是通过交叉开关配置寄存器XBR0、XBR1、XBR2 和XBR3(复位后均为0)来进行配置的,当外设对应使能位被置为1时,外设可以通过端口进行访问,反之则不能。
在分配过程中需要注意:
(1)交叉开关根据各个外设的分配优先权,从P0.0开始顺序分配。
例如,串口UART0和串口UART1同时使用,将UART0EN(XBR0.2)和UART1EN(XBR2.2)置为1。
由于UART0优先高,端口将从P0.0开始先分配给UART0,然后才将端口分配给UART1。
如果只使用UART1,则UART1的端口会变化到P0.0开始。
(2)在进行端口分配时,交叉开关将为外设的所有相关功能同时分配引脚,不能对外设的单一功能进行分配。
例如,不能为UART0 功能只分配TX0引脚而不分配RX0引脚。
(3)通常情况下端口分配是顺序进行的。
如果外部存储器接口被设置在P0-P3,交叉开关将会把P0.5- P0.7管脚直接分配给外部存储器的/WR、/RD和/ALE(如果外部存储器接口使用复用方式)。
如果其余外设的端口已经分配到P0.4,此时将会跳过这三个端口,继续从P1.0开始分配。
同时P2端口也会被外部存储器占用,不再分配给其他外设。
端口引脚的输出方式可以通过端口输出方式寄存器(PnMDOUT,n为端口号)配置为漏极开路或推挽方式。
推挽方式向端口数据寄存器中的相应位清0将使端口引脚被驱动GND,置1将使端口引脚被驱动到VDD。
漏极开路方式,向端口数据寄存器中的相应位清0将使端口引脚被驱动到GND,置1将使端口引脚处于高阻状态。
不管交叉开关是否将一个端口引脚分配给某个数字外设,端口引脚的输出方式都受PnMDOUT寄存器控制。
例外情况是:连接到SDA、SCL、RX0(如果UART0工作于方式0)、RX1(如果UART1工作于方式0)的端口引脚总是被配置为漏极开路输出,而与PnMDOUT 寄存器中的对应位的设置值无关。
交叉开关配置寄存器设置和端口引脚的输出方式设置之后,再将在XBARE(XBR2.4)置1,让P0-P3的输出驱动器保持活动状态,这样可让端口在未配置好之前保持禁止状态,以防止对交叉开关寄存器和其它寄存器写入时在端口引脚上产生冲突。
2.3 系统时钟配置
C8051F系列单片机器件包含一个内部振荡器和一个外部振荡器驱动电路。
可以使用OSCICN和OSCICL寄存器来使能/禁止和校准内部振荡器。
系统时钟可以由外部振荡器电路或内部振荡器提供,通常通过CLKSEL和OSCXN来进行配置。
如图2所示:
3、应用举例
示例中采用外部振荡器,使用串口0、外中断0和外中断1三种外设,P1口采用推挽输出,P2、P3口采用开漏输出。
C语言程序示例如下:
#include
void main(void)
{
unsigned char i;
//初始化开始
EA=0;//关全局中断
WDTCN=0xde;
WDTCN=0xad;//关闭看门狗功能(WDT)
//端口配置,特殊寄存器复位后默认值为0
SFRPAGE=CONFIG_PAGE;//转换到端口配置页面寄存器
XBR0=0x04;//UART0EN有效,TX0:P0.0 RX0:P0.1
XBR1=0x14;//INT0,INT1有效,INT0优先级高于INT1,INT0:P0.2 INT1:P0.3
P1MDOUT=0xff;//P1口开漏输出
XBR2|=0x40;//交叉开关有效
//系统时钟配置
CLKSEL=0x01;//选用外部时钟,不分频
OSCXCN = 0x67;//采用晶体振荡器方式,振荡频率在10MHz
for(i=0; i
while (!(OSCXCN & 0x80));// 等待外部振荡器稳定后继续执行程序
SFRPAGE=LEGACY_PAGE;//转换页面
RSTSRC=0x04;//时钟丢失复位功能使能
//外设初始化
[...]//UART1初始化,由于串口初始化跟晶振和波特率有关系,因此这里忽略具体设置。
//开中断INT0 INT1;
EX0=1;//开外中断0
EX1=1;//开外中断1
EA=1;//开全局中断
//初始化完成
[...]//程序开始
}
参考文献
[1]C8051F040/1/2/3/4/5/6/7 Mixed Signal ISP Flash MCU Family[G].Silicon Labs.
[2]C8051F06X Development KIT USER’S GUIDE[G].Silicon Labs.。