文档库 最新最全的文档下载
当前位置:文档库 › C8051F系列

C8051F系列

C8051F系列
C8051F系列

C8051F系列

[编辑本段]

C8051F系列

CygnalC8051F(已被Silicon Lab收购)系列单片机是真正能独立工作的片上系统SOCCPU有效地管理模拟和数字外设可以关闭单个或全部外设以节省功耗FLASH存储器还具有在系线重新编程的能力即可用作程序存储器又可用作于非易失性数据存储应用程序可以使用MOVC和MOVX指令对FLASH进行读或改写。

一.Cygnal C8051F系列单片机特点

1.片内资源

8~12位多通道ADC

1~2路12位DAC

1~2路电压比较器

内部或外部电压基准

内置温度传感器±3

16位可编程定时/计数器阵列PCA可用于PWM等

3~5个通用16位定时器

8~64个通用I/O口

带有I2C/SMBusSPI1~2个UART多类型串行总线

8~64K Flash存贮器

256~4K数据存贮器RAM

片内时钟源内置电源监测看门狗定时器

2.主要特点

高速的20MIPS~25MIPS与8051全兼容的CIP51内核

内部Flash存贮器可实现在系统编程即可作程序存贮器也可作非易失性数据存贮

工作电压为2.7V~3.6V典型值为3VI/ORSTJTAG引脚均允许5V电压输入

全系列均为工业级芯片-45℃~+85℃

片内JTAG仿真电路提供全速的电路内仿真不占用片内用户资源支持断点单步观察点运行和停止等调试命令支持存贮器和寄存器校验和修改

二.有关C8051F系列CPU

1.与标准8051完全兼容

Cygnal C8051F系列单片机采用CIP51内核Cygnal专利与MCS51指令系统全兼容可用标准的ASM51Keil C高级语言开发编译C8051F系列单片机的程序

2.高速指令处理能力

标准的8051一个机器周期要占用12个系统时钟周期执行一条指令最少要一个机器周期CygnalC8051F系列单片机指令处理采用流水线结构机器周期由标准的12个系统时钟周期降为1个系统时钟周期指令处理能力比MCS51大大提高CIP-51内核70% 的指令执行是在一个或两个系统时钟周期内完成只有四条指令的执行需4个以上时钟周期

CIP-51指令与MCS51指令系统全兼容共有111条指令

3.增加了中断源

标准的8051只有7个中断源Cygnal C8051F系列单片机扩展了中断处理这对于时实多任务系统的处理是很重要的扩展的中断系统向CIP-51提供22个中断源允许大量的模拟和数字外设中断一个中断处理需要较少的CPU干预却有更高的执行效率

4.增加了复位源

标准的8051只有外部引脚复位Cygnal C8051F系列单片机增加了7种复位源使系统的可靠性大大提高每个复位源都可以由用户用软件禁止

1 片内电源监视

2 WDT看门狗定时器

3 时钟丢失检测器

4 比较器0输出电平检测

5 软件强制复位

6 CNVSTRAD转换启动

7 外部引脚RST复位可双向复位

8 提供内部时钟源

标准的8051只有外部时钟Cygnal C8051F系列单片机有内部独立的时钟源C8 051F300/F302提供的内部时钟误差在2%以内在系统复位时默认内部时钟如果需要可接外部时钟并可在程序运行时实现内外部时钟的切换外部时钟可以是晶体RCC或外部时钟以上的功能在低功耗应用系统中非常有用。

三.Cygnal C8051F存储器

1.数据存贮器

CIP-51具有标准8051的程序和数据地址配置它包括256字节的RAM其中高1 28字节用户只能用直接寻址访问的SFR地址空间低128字节用户可用直接或间接寻址方式访问前32个字节为4个通用工作寄存器区接下来的16字节既可以按字节寻址也可以按位寻址。

另外C8051F02X系列除了内部有扩展4K数据RAM外片外还可扩展至64K数据RAM

2.程序存贮器

C8051F系列单片机程序存储器为8K- 64K字节的Flash存贮器该存贮器可按5 12字节为一扇区编程可以在线编程且不需在片外提供编程电压该程序存贮器未用到的扇区均可由用户按扇区作为非易失性数据存贮器使用。

四.可编程数字I/O和交叉开关

1.Cygnal C8051F 系列单片机具有标准的8051 I/O口除P0P1P2P3之外还有更多的扩展的8位I/O口每个端口I/O引脚都可以设置为推挽或漏极开路输出这为低功耗应用提供了进一步节电的能力。

2.最为独特的是增加了C8051F2XX除外Digtalcrossbar”数字交叉开关它可将内部数字系统资源定向到P0P1和P2端口I/O引脚并可将定时器串行。总线外部中断源AD输入转换比较器输出都可通过设置Crossbar开关控制寄存器定向到P0P1P2的I/O口这就允许用户根据自己的特定应用选择通用I/O端口和所需数字资源的组合

五.可编程计数器阵列

除了通用计数器/定时器之外C8051F00x/01x/02xMCU还有一个片内可编程计数器/定时器阵列PCAPCA包括一个专用的16位计数器/定时器5个可编程的捕捉/比较模块时间基准可以是下面的六个时钟源之一系统时钟/12系统时钟/4定时器0溢出外部时钟输入ECI系统时钟和外部振荡源频率/8C8051F00x/01x没有后两个时钟源每个捕捉/比较模块都有4或6种工作方式边沿触发捕捉软件定时器高速输出8位脉冲宽度调制器频率输出16位脉冲宽度调制器C8051F00x/01x没有后两种工作方式PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到I/O端口引脚

六.多类型串行总线端口

C8051F系列内部有一个全双工UARTSPI总线和SMBus/I2C总线每种串行总线都完全用硬件实现都能向CIP-51产生中断这些串行总线不共享定时器中断或I/O端口所以可以使用任何一个或全部同时使用。

C8051F02x系列MCU内部还有第二个UART这是一个增强型全双工UART具有硬件地址识别和错误检测功能。

七.模数/数模转换器

1.模数转换器

C8051F系列内部都有一个ADC子系统除C8051F230/1/6之外由逐次逼近型A DC多通道模拟输入选择器和可编程增益放大器组成ADC工作在100ksps的最大采样速率时可提供真正的8位10位或12位精度ADC完全由CIP-51通过特殊功能寄存器控制系统控制器还可以关断ADC以节省功耗。

C8051F00x/01x/02x还有一个15ppm的基准电压和内部温度传感器并且8个外部输入通道都可被配置为两个单端输入或一个差分输入。

可编程增益放大器增益可以用软件设置从0.5到16以2的整数次幂递增当不同ADC输入电压信号范围差距较大或需要放大一个具有较大直流偏移的信号时可编程增益放大器是非常有用的。

A/D转换可以有4种启动方式软件命令定时器2溢出定时器3溢出或外部信号输入允许用软件事件硬件信号触发转换或进行连续转换一次转换完成后产生一个中断

或者用软件查询来判断转换结束在转换完成后数据字被锁存到特殊功能寄存器中对

于10位或12位ADC可以用软件控制数据字为左对齐或右对齐格式。

除了12位的ADC子系统ADC0之外C8051F02x还有一个8位ADC子系统即ADC1它有一个8通道输入多路选择器和可编程增益放大器该ADC工作在500ksps 的最大采样速率时可提供真正的8位精度ADC1的基准电压可以在模拟电源电压AV +和外部REF引脚之间选择用户可以用软件将ADC1置于关断状态以节省功耗ADC1的可编程增益放大器的增益可以被编程为0.512或4ADC1也有灵活的转换控制机制允许用软件命令定时器溢出或外部信号输入启动ADC1转换用软件可以使ADC1与A DC0同步转换。

2.数模转换器

C8051F系列内有两路12位DAC2个电压比较器CPU通过SFRS控制数模转换和比较器CPU可以将任何一个DAC置于低功耗关断方式DAC为电压输出模式与ADC共用参考电平允许用软件命令和定时器2定时器3及定时器4的溢出信号更新DAC输出。

八.全速的在线调试

CygnalC8051F系列单片机设计有片内调试电路与JTAG口可以实现非侵入式在片”调试。Cygnal提供基于Windows集成的在线开发调试环境,包括IDE软件与串口适配器EC2、调试目标板,可实现存贮器和寄存器校验和修改;设置断点、观察点、堆栈;程序可单步运行、全速运行、停止等。在调试时的所有的数字和模拟外设都能正常工作,实时反映真实情况。IDE调试环境可做Keil C源程序级别的调试。

对于开发和调试嵌入式应用来说,与用传统的专用仿真芯片、目标电缆及仿真头的仿真器相比,更具优越性能,更能真实“在片”仿真实时信息。Cygnal的调试环境既便于使用又能保证精确模拟外设的性能。

Cygnal C8051F系列单片机开发工具即突破了昂贵开发系统旧模式,又创立了低价位仿真新思路。为应用技术的开发提供了极大的方便。

c8051f020端口配置说明

C8051F的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3 的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。必须在访问这些外设的I/O之前配置和允许交叉开关。 注意的问题: 1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。 2.没有被分配到的引脚作为一般的数字通用I/O口。 口还可以用作ADC1的模拟输入。 ~P3MDOUT用于控制I/O端口每一位的输出状态。 (外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN 选择和管理端口实现数据的传输。 6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。 7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。 8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。外部锁存器由ALE(地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。 9.在总线复用时,需要把地址数据复用端口配置为漏极开路。 高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK 周期,EMIF工作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。如: void PORT_Init (void) { XBR2 = 0x40; /*使能交叉开关和弱上拉*/ P74OUT |= 0xff; /*使能P4~P7推挽输出*/

C8051F020与80C51单片机的异同点

C8051F020与80C51单片机的异同点 1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要就是提高速度与增加片内模拟与数字外设,以期大幅度提高单片机的整体性能。其中美国Cygnal公司推出的C8051F系列单片机把80C51系列单片机从MCU时代推向SoC时代,使得以8051为内核的单片机上了一个新的台阶。 C8051F系列单片机就是完全集成的混合信号系统级芯片,具有与8051兼容的CIP-51微控制器内核,采用流水线结构,单周期指令运行速度就是8051的12倍,全指令集运行速度就是原来的9、5倍。熟悉NCS-51系列单片机的工程技术人员可以很容易地掌握C8051F的应用技术并能进行软件的移植。但就是不能将8051的程序完全照搬的应用于C8051F单片机中,这就是因为两者的内部资源存在较大的差异,必须经过加工才能予以使用。其中C8051F020以其功能较全面,应用较广泛的特点成为C8051F的代表性产品,其性能价格比在目前应用领域也极具竞争力。C8051F020的内部电路包括CIP-51微控制器内核及RAM、ROM、I/O口、定时/计数器、ADC、DAC、PCA、SPI与SMBus等部件,即把计算机的基本组成单元以及模拟与数字外设集成在一个芯片上,构成一个完整的片上系统(SoC)。本文将介绍C8051F020单片机与80C51的异同点(主要就是不同之处)及初学者编程时应该注意的问题,并给出经过Cygnal开发工具IDE调试环境软件验证的源程序。 2 相同点 C8051F020单片机与80C51系列单片机的指令系统完全一样。掌握80C51单片机的人员可以很容易地接受C8051F020的应用技术并能完成相应软件的移植。 3 主要硬件不同点 3、1 运行速度 C8051F020的指令运行速度就是一般80C51系列单片机的10倍以上。因为其CIP-51中采用了流水线处理结构,已经没有了机器周期时序,指令执行的最小时序单位为系统时钟,大部分指令只要1~2个系统周期即可完成。又由于其时钟系统比80C51的更加完善,有多个时钟源,且时钟源可编程,时钟频率范围为0~25 MHz,当CIP-5l工作在最大系统时钟频率25 MHz时,它的峰值速度可以达到25 MI/s,C8051F020已进入了8位高速单片机行列。 3、2 I/O端口的配置方式 C8051F020拥有8个8位的I/O端口,大量减少了外部连线与器件扩展,有利于提高可靠性与抗干扰能力。其中低4个I/O端口除可作为一般的通用I/O端口外,还可作为其她功能模块的输入或输出引脚,它就是通过交叉开关配置寄存器XBR0、XBR1、XBR2(各位名称及格式如表1所示)选择并控制的,它们控制优先权译码选择开关电路如图1所示,可将片内的计数器/定时器、串行总线、硬件中断、比较器输出及其它的数字信号配置为在端口I/O引脚出现,这样用户可以根据自己的特定需要选择所需的数字资源与通用I/O口。数字交叉开关就是一个比较大的数字开关网路,这在所有80C51系列单片机上就是一个空白。另外P1MDIN用于选择P1的输入方式就是模拟输入还就是数字输入,复位值为11111111B,即默认为数字输入方式。而80C51单片机的I/O引脚就是固定分配的,即占用引脚多,配置又不够灵活。

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串口通讯实验 (31) 3.8 综合设计 (33)

使用特别说明: (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仿真器和系统实验板三部分组成,应用该设备可进行片上系统单片机较典型应用的实验,请参见以下介绍。 1.2 Silicon Labs C8051F 单片机开发工具简介 1.2.1 开发工具概述 Silicon Labs 的开发工具实质上就是计算机IDE 调试环境软件及计算机USB 到C8051F 单片机JTAG 口的协议转换器(DICE-EC5)的组合。Silicon Labs C8051F 系列所有的单片机片内均设计有调试电路,该调试电路通过边界扫描方式获取单片机片内信息,通过4 线的JTAG接口与开发工具连接以便于进行对单片机在片编程调试。DICE-C8051F嵌入式实验/开发系统中的C8051F020 CPU 板上的单片机为C8051F 系列中的F020。 仿真器(DICE-EC5)一端与计算机相连,另一端与C8051F 单片机JTAG 口相连,应用Keil 的uVision2 调试环境就可以进行非侵入式、全速的在系统

C8051F020实验

目 录 说明 (3) MT020学习开发板/MT-UDA仿真器说明 (4) 一 C8051F020/120单片机学习开发板(MT020)简介 (5) 1.1 MT020单片机学习开发板特色 (5) 1.2 MT020与国内同类产品比较 (5) 1.3 MT020与同类产品实物图比较 (7) 二 电路原理图 (8) 2.1 MT020电路原理图 (8) 2.2 MT020学习开发板TopLayer图 (13) 三 快速运行第一个程序 (15) 3.1 Keil C51 的安装 (15) 3.1.1 系统要求 (15) 3.1.2 软件的安装 (15) 3.2 MT-UDA调试仿真器驱动程序的安装 (17) 3.3 μVision2 集成开发环境 (18) 3.3.1 μVision2 集成工具 (18) 3.3.2 菜单栏命令、工具栏和快捷方式 (18) 3.4 Keil C51使用及与仿真器连调 (23) 3.4.1 创建第一个Keil C51 应用程序 (23) 3.4.2 程序文件的编译、链接 (29) 3.4.3 程序调试 (32) 四 MT020学习开发板基础实验 (37) 4.1 I/O口控制实验(蜂鸣器驱动实验) (37) 4.2 精确延时程序实现 (38) 4.3 数码管显示实验 (39) 4.4 键盘扫描实验 (40) 4.5 中断按键实验 (41) 4.6 软件模拟I2C总线实验(EEPROM AT24C01) (42) 4.7 利用SMBUS实现基于I2C器件操作实验(读写EEPROM AT24C01) (43) 4.8 字符型液晶1602显示实验 (44) 4.9 图型液晶12864显示实验 (45) 4.10 串口通信实验 (46) 4.11 数字温度传感器DS18B20实验 (47) 4.12 ADC0片上温度采集实验 (48) 4.13 ADC0电压采集实验 (49) 4.14 DAC0输出正弦实验 (50) 4.15 DAC0输出DTMF信号实验 (51) 4.16 比较器(CP)实验 (52) 4.17 硬件SPI接口控制跑马灯实验 (53) 4.18 用PCA硬件单元实现PWM实验 (54)

c8051f020中文资料

关于C8051F020系统概述 C8051F020 器件是完全集成的混合信号系统级 MCU 芯片,具有 64 个数字I/O 引脚(C8051F020)。下面列出了一些主要特性;有关某一产品的具体特性参见表 1.1; 1. 高速、流水线结构的 8051 兼容的 CIP-51 内核(可达 25MIPS) 2. 全速、非侵入式的在系统调试接口(片内) 3. 真正 12 位(C8051F020)、 100 ksps 的8 通道 ADC,带 PGA和模拟多路开关 4. 真正 8 位 500 ksps的 ADC,带 PGA和 8 通道模拟多路开关 5. 两个 12 位 DAC,具有可编程数据更新方式 6. 64K字节可在系统编程的 FLASH存储器 7. 4352(4096+256)字节的片内 RAM 8. 可寻址 64K字节地址空间的外部数据存储器接口 9. 硬件实现的 SPI、SMBus/ I2C 和两个 UART 串行接口 10. 5 个通用的 16 位定时器 11. 具有 5 个捕捉/比较模块的可编程计数器/定时器阵列 12. 片内看门狗定时器、VDD监视器和温度传感器 具有片内 VDD 监视器、看门狗定时器和时钟振荡器的 C8051F020是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。 片内 JTAG调试电路允许使用安装在最终应用系统上的产品 MCU进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用 JTAG调试时,所有的模拟和数字外设都可全功能运行。 每个 MCU都可在工业温度范围(-45℃到+85℃)内用 2.7V-3.6V的电压工作。端口 I/O、/RST 和 JTAG 引脚都容许 5V 的输入信号电压。C8051F020 为100 脚 TQFP 封装见图 1.1)。

C8051F020端口配置

C8051F020的端口配置 C8051F系列单片机有4~8个输入输出端口,每个端口有8个引脚,这些端口有如下特点: 1、这些引脚都可以用作通用I/O端口 2、它的P0~P3口的每个管脚都通过独立编程还能作为特殊功能的输入或输出,即同一个引脚可以作为片上不同外围功能模块的信号输入输出端口。 3、端口可以通过软件设置改变引脚的输入输出状态配置。如:弱上拉输入、推拉输出、开漏输出等。 根据端口特点,端口配置过程分为以下几步: 1、配置交叉开关(功能选择开关) 交叉开关寄存器共有四个分别是XBAR0、XBAR1、XBAR2、XBAR3。通过对这四个寄存器进行配置,使IO引脚同单片机的数字和模拟片上外围设备进行连接。 2、配置外部存储器接口 外部存储器接口(External Memory Interface,EMIF)用于CPU与片上和片外XRAM之间的数据传输通道,通过寄存器EMIOCF和EMIOCN选择和管理端口P0~P3或端口P4~P7实现数据传播。 配置这两个寄存器用以选择端口是否为复用方式(数据与地址线复用)、寄存器工作模式选择及外部存储器页选择。 3、配置IO端口的输入输出模式 输入模式分为模拟量输入和数字量输入。用寄存器PnMDIN配置n=0、1、2、3。 输出模式分为推拉(推挽)式和漏极开路式。用寄存器PnMDOUT配置 4、禁止模拟输入引脚的输出驱动 配置模拟输入时P口并没有把输出驱动电路完全关闭,所以不管是哪种输入,推荐的做法是:将相应的输入口的输出模式配置成开漏,并将其输出寄存器置“1”,使其为高阻态,以减少串扰。 5、启动交叉开关 单片机刚上电时,因为XBAR2的复位值为0,因而端口P0~P3的输出驱动器被禁止,在XBARE(XBAR2.6)位被设置为逻辑“1”之前,可防止对交叉开关(功能选择)寄存器和其他寄存器写入时,在端口引脚上产生争用。 正确配置交叉开关后,通过将XBARE设置为逻辑“1”,使功能选择开关有效。 至此配置完成 C8051f020 I/O配置小结 020的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。必须在访问这些外设的I/O之前配置和允许交叉开关。 注意的问题: 1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。 2.没有被分配到的引脚作为一般的数字通用I/O口。 3.P1口还可以用作ADC1的模拟输入。 4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。

C8051F020单片机说明

C8051F020开发板 说明书 V1.0.0 2012年3月22日

目录 第一章 概述 (1) 第二章 开发板简介 (2) 2.1 开发板原理框图 (2) 2.2 开发板实物图 (2) 2.2.1 本开发板的外扩展资源和扩展接口 (2) 2.2.2 本开发板的平面图 (3) 第三章 开发板硬件电路说明 (4) 3.1 硬件电路简介 (4) 3.2 电源电路 (4) 3.3单片机复位电路 (4) 3.4 ZLG7289电路原理图 (5) 3.5 LED电路原理图 (6) 3.6 LCD接口电路 (7) 第四章 开发板注意事项 (8) 4.1注意事项 (8) 4.2开发板跳线使用方法 (8)

第一章 概述 本说明书是C8051F020开发板的硬件使用说明书,详细描述了020开发板的硬件构成、原理,以及它的使用方法。 开发板用USB JTAG对C8051F020芯片进行编程,C8051F020有64个I/O而我们开发板通过排针引出了其中的44个I/O口,板上有标识(也可查看原理图或PCB图)。引出来的I/O口可以供用户配置。

第二章 开发板简介 2.1 开发板原理框图 本开发板主要用到了C8051F020芯片(内置A/D D/A和比较器等)和周立功的ZLG7289芯片,020芯片通过SPI方式和ZLG7289完成数据传递,ZLG7289控制按键和数码管显示。原理框图如下: 图2-1 开发板原理框图 2.2 开发板实物图 2.2.1 本开发板的外扩展资源和扩展接口 部分接口说明: JTAG接口:本板卡和USB Debug Adaptor仿真器连接,通过本 接口用户可实现在线仿真。 LCD接口: 本板液晶用MzL05-12864 AD/DA接口:本板的AD/DA接口都来自020内置的AD/DA 另外的外扩资源和接口如下图所示:

自己写的C8051F020程序

#include "c8051f020.h" #include "delay.h" #include "config.h" #include "ADC1DAC0.h" #include "ctypedef.h" #include "lcd_chinese.h" #include "7279.h" #include "ADC0.h" #include #include unsigned char KeyCode; bit Key_flag; /**********************键盘中断***********************************/ void keyint_fun(void) interrupt 19 { P3IF &= 0x3f; KeyCode = read_display(); Key_flag = 1; } void main(void) { unsigned int temp = 0; WDTCN = 0xde; //关看门狗 WDTCN = 0xad; //在上一个写入后四个系统周期内写入有效SYSCLK_Init(); //初始化系统时钟 PORT_Init(); //初始化IO口 lcd_Init(); DAC0_Init(); ADC0_Init(); ADC1_Init(); AMX1SL = 0x00; P1MDIN = 0xfe; while(1) { temp = ADC1_read(); temp<<=4; // display_int(temp,0,0); // Delay1us(10); DAC0(temp); } }

C8051F020例程

/***************************************************************************** 本测试程序用来测试板上所以I/O连接状况外接LED共阳数码管实验时将跳线帽接至+3V *****************************************************************************/ #include #define uchar unsigned char #define uint unsigned int uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void PORT_Init (void) { XBR2 = 0x40; /*使能交叉开关*/ P0MDOUT =0xff; P1MDOUT =0xff; P2MDOUT =0xff; P3MDOUT =0xff; P74OUT =0xff; } /*******************************/ void delay(uint z) { uint x,y; for(x=0;x

单片机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); // 设置定时器1 TR1 = 1; // 开始定时 CKCON |= 0x10; // 定时器用SYSCLK作基准时间 PCON |= 0x80; // 禁止UART0波特率/2 } SCON0是UART0控制寄存器,用来选择传输模式。第7位SM00和第6位SM10用来配置UART0的工作坊式,SCON0=0x50即选择模式1,8位UART可变波特率异步传输。 PCON是电源控制寄存器:PCON的第7位SMOD0,0表示使能UART0的波特率

C8051F020单片机

Cygnal出的一种混合信号系统级单片机。片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。其中的C8051F020单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与以前的51系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高。 C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器 内核,与MCS-51 指令集完全兼容。除了具有标准8052 的数字外设部件之外,片内还集成了 数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。参见表1.1 的产品选择 指南可快速查看每个MCU 的特性。 表1.1 C8051Fxxx 产品选择指南 MIPS(峰值) FLASH 存储器(字节) RAM(字节) 外部存储器接口 SMBus/12C SPI UART 定时器(16 位) 可编程计数器阵列 内部振荡器精度(±%) 数字端口I/O ADC 分辨率(位) ADC 最大速度(ksps) ADC 输入 电压基准 温度传感器 DAC 分辨率(位) DAC 输出(位) 电压比较器 备注:C8051F02X 系列单片机片内还集成有一个8 位,500ksps,8 输入(与P1 口复用)ADC。 — 2 — MCU 中的外设或功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电

C8051F020 AD程序

单片机为C8051F020,AD采用单片机内部集成12位AD (ADC0)100ksps 实际测量结果与直流电源输出电压相差几个mV #include "C8051F020.h" //包含C8051F020硬件信息的头文件 #define VREF0 2.450 //内部基准电压为2.4V (2.450)为误差修正可修改float dout; float voltage; void delay_ms(unsigned int n); void ADC0_read(); void ADC0_Init(); //--------------------------------------------------- void main() { WDTCN = 0xde; WDTCN = 0xad; Init_Device(); ADC0_Init(); while(1) { ADC0_read(); delay_ms(50); } } //---------------------------------------------------- void delay_ms(unsigned int n) { unsigned i,j; for(i=n;i>0;i--) for(j=100;j>0;j--); } //----------------------------------------------------- void ADC0_Init(void) //初始化函数 { REF0CN = 0x03; //内部电压基准提供从VREF脚输出,ADC0电压基准取自VREF0 ADC0CN = 0xc0; //ADC0使能 ADC使能,由ADSTM1-0定义跟踪方式AMX0CF = 0x01; //输入口为AINT0 双端 0x00为单端输入输入口为AINT0与 AMX0SL = 0x00; AINT1 ADC0CF = 0x50; //转换周期和增益为1 //-----------------------------------------------------

C8051F020程序库

240128的程序 #include #include #include // // sfr16 DP = 0x82; // data pointer sfr16 TMR3RL = 0x92; // Timer3 reload value sfr16 TMR3 = 0x94; // Timer3 counter sfr16 ADC0 = 0xbe; // ADC0 data sfr16 ADC0GT = 0xc4; // ADC0 greater than window sfr16 ADC0LT = 0xc6; // ADC0 less than window sfr16 RCAP2 = 0xca; // Timer2 capture/reload sfr16 T2 = 0xcc; // Timer2 sfr16 RCAP4 = 0xe4; // Timer4 capture/reload sfr16 T4 = 0xf4; // Timer4 sfr16 DAC0 = 0xd2; // DAC0 data sfr16 DAC1 = 0xd5; // DAC1 data // unsigned int ad_temp,dis_y=0; unsigned char ad_i=0; char tabc; unsigned char dis_i,dis_k=0; // unsigned char t_count,t_i; unsigned int t_timecount; bit t_flag; unsigned long t_y=0; // void SYSCLK_Init (void) { unsigned int i; // delay counter OSCXCN = 0x67; // start external oscillator with for (i=0; i < 3000; i++) ; // Wait for osc. to start up while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle OSCICN = 0x88; } //----------------------------------------------------------------------------- //函数名称: PORT_Init ()

c8051f020端口配置说明

部数字系统资源映射到PO、P1、P2和P3的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输岀以及微控制器内部的其他数字信号配置为岀现在端口I/O引脚。必须在访问这些外设的I/O之前配置和允许交叉开关。 注意的问题: 1. 低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。 2. 没有被分配到的引脚作为一般的数字通用I/O 口。 口还可以用作ADC1的模拟输入。 ?P3MDOUT用于控制I/O端口每一位的输岀状态。 (外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN 选择和管理端口实现数据的传输。 6. 为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。 7. 如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSE位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。 8. 复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0?AD7)。在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。外部锁存器由ALE地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。 9. 在总线复用时,需要把地址数据复用端口配置为漏极开路。 高/低脉宽占1个SYSCL周期,地址建立/保持时间占0个SYSCL周期,/WR和/RD占12个SYSCLK 周期,EMIF工作在地址/数据复用方式,即:EMIOCF |= 0x2c;EMI0TC |= 0x2c配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输岀方式。女口: void PORT_I nit (void) {

C8051F020学习笔记-ADC0

三, 关于ADC0 (ADC在PIC里面总算是完整的弄过一次了,但是基础还是很薄弱,尤其是转换时间的控制,而面对F020的ADC0,相关寄存器较多,所以做一个专题) C8051F020/1 的ADC0 子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器型ADC,(F020的ADC0只有一个逐次逼近的ADC,它能实现9路输入是因为它有一个9通道的多路选择器(AMUX0)))。片上的特殊功能寄存器(简称SFR)有11个与ADC0的控制相关,它们是:AMUX0SL-AMUX0通道选择寄存器;AMX0CF-AMUX0配置寄存器; ADC0CF-ADC0配置寄存器;ADC0CN-ADC0控制寄存器; ADC0H-ADC0数据字MSB寄存器;ADC0L-ADC0数据字LSB寄存器; ADC0GTH-ADC0下限数据高字节寄存器;ADC0GTL-ADC0下限数据低字节寄存器; ADC0LTH-ADC0上限数据高字节寄存器;ADC0LTL-ADC0上限数据低字节寄存器; REF0CN-基准电压控制寄存器。 3.1 ADC0工作方式 ADC0 的最高转换速度为100ksps,其转换时钟来源于系统时钟分频,分频值保存在寄存器ADC0CF 的ADCSC 位。 3.1.1 启动转换 有4 种转换启动方式,由ADC0CN 中的ADC0 启动转换方式位(AD0CM1, AD0CM0)的状态决定。转换触发源有: 1.向ADC0CN 的AD0BUSY 位写1; 2.定时器3 溢出(即定时的连续转换); 3.外部ADC 转换启动信号的上升沿,CNVSTR; 4.定时器2 溢出(即定时的连续转换)。 备注:(关于ADC0的开始转换,1,可以在软件里面设置,直接给AD0BUSY写1,然后直接输出转换结果。这种方式需要不断的扫描,不断的输出结果,似乎有点费劲。如果采用第三种方式,即用一个开关来控制ADC的启动,那样,在没有按键的情况下,ADC不需要扫描,或许可以用第二种或者第四种方式,我用一个按键来启动定时器的开始计数,技术满之后再启动ADC的转换。总之,除非处理芯片的主要目的就是为了AD转换,要不采用第一种方法只会显得有点笨。)

基于C8051F020的12864液晶显示

/*--------------文件信息-------------------------------------------------------------------------------- **文件名: 12864屏.C **修改人: Helong ---------------------------------------------------------------------------------------------------------*/ #include #include #include typedef unsigned char uchar; typedef unsigned int uint; uint count=0; uchar sgewei='0'; uchar sshiwei='0'; uchar mgewei='0'; uchar shuzi1='0'; uchar shuzi2='0'; uchar shuzi3='0'; //函数声明 void config (void); void LCD_data(unsigned char data_data); void LCD_command(unsigned char com_data); void LCD_Init(void); void Delay1us(unsigned int us); void Delay1ms(unsigned int us); void LCD_BUSY(void); void LCD_shijian(unsigned char out_addr,unsigned char shuzi1,unsigned char shuzi2,unsigned char shuzi3); sbit lcdRW=P3^2; //5引脚 sbit lcdE=P3^3;// E或EP 6引脚 sbit lcdRS=P3^1; //D/I 4引脚 sbit lcdRST=P3^0;//lcd复位17引脚 sbit lcdPSB=P3^4; //15引脚 uchar code table1[]="液晶显示测试"; uchar counter= 0; // 记录时间-秒 /***********************************************************************/ /* 初始化配置*/ /***********************************************************************/ void config (void) { //OVERTIME 2-0bit=111 WDTCN = 0xde; //看门狗禁止

C8051F020 学习笔记——基本概念

C8051F020 学习笔记——基本概念 C8051F020 是完全集成的混合信号系统级芯片,具有64个数字I/O引脚。下面列出了一些主要特性: 1. 高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS) 2. 全速、非侵入式的在线系统调试接口(片内) 3. 真正12位(C8051F020)100ksps的8通道ADC,带PGA和模拟多路开关。 4. 真正8位500ksps的ADC,带PGA和8通道模拟多路开关 5. 两个12位DAC,具有可编程数据更新方式 6. 64K字节可在系统编程的FLASH存储器 7. 4352(4096+256)字节的片内RAM 8. 硬件实现的SPI、SMBus/IIC和两个UART串行接口 9. 5个通用的16位定时器 10. 具有5个捕捉/比较模块的可编程计数器/定时器阵列 11. 片内看门狗定时器、VDD监视器和温度传感器 每个MCU都可在工业温度范围(-45C到+85C)内用2.7V-3.6V的电压工作.端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。C8051F020/2为100脚TQFP 封装。 C8051F020系列器件使用Silicon Labs的专利CIP微控制器内核。 CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O端口。 速度提高: CIP-51采用流水线结构,70%的指令的执行时间为1个或两个系统 时钟周期,只有4条指令的执行时间大于4个系统时钟周期。CIP-51 工作在最大系统时钟频率25MHz,它的峰值性能达到25MIPS。 增加的功能: C8051F020系列MCU对CIP-51内核和外设有几项关键性的改进: 扩展的中断系统向CIP-51提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU 干预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。 MCU可有达7个复位源:一个片内VDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个有比较器0提供的电压检测器、一个软件强制复位、CNVSTR 引脚及/RST引脚。/RST引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/RST引脚。除了VDD监视器和复位输入引脚以外,每个复位源都

相关文档