正文内容
C8051单片机
来源:开心麻花
作者:开心麻花
2025-10-11
1

C8051单片机(精选9篇)

C8051单片机 第1篇

电梯是标志现代物质文明的垂直运输工具、是机电一体化的复杂运输设备。它涉及电子技术、机械工程、电力电子技术、微电脑技术、电力拖动系统和土建工程等多个科学领域。作为高层建筑物上下交通运输的重要设备,越来越多的机电专业将参与电梯技术方面的工作,为了掌握电梯的结构和控制技术就有必要把这庞大的集机械、电气、传感器于一体的产品模拟化,用PLC、单片机、微机、变频器等控制手段去开发多功能应用软件,对提高学生的综合应用程序设计能力也将是非常有益和非常有效的。因此设计了一套完整的电梯模拟控制系统,该系统可以和任何自动控制单元相连接作为下位机,也可以单独使用作为一般主控系统,验证各种电梯调度算法。

1总体设计方案

1.1设计思路

作为小型化的电梯模拟装置,其控制器的设计应遵循简单可靠以及成本低、维护方便等原则。控制器的处理器采用了8位单片机,外围扩展键盘、LED控制、液晶显示、通讯电路以及控制电机的隔离电路。考虑到实用性、可靠性、兼容性、可扩展性能以及开发的难度和成本,采用了与51内核兼容的C 8051F系列8位单片机作为处理器,配合相应的外围即可实现基本的控制功能。电梯模拟器的机械部分采用了丝杠传动加步进电机驱动,距离移动十分精确,再加上零位开关,无运行积累误差。

1.2总体设计框图

总体设计框图如图1所示。

系统可以工作在两种状态下:一种为独立的控制器单独控制一部或者多部电梯,模拟单控或者群控电梯的工作算法;另一种作为下位机,联网受上位机控制协同控制多台电梯或者说多个建筑物内电梯的监控控制。上位机可以是单片机、PC或者是其他控制器,配合相应的通讯协议就可以实现实际环境下多台电梯的群控算法。

当系统单独作为一个独立的控制器时,配合扩展的键盘和显示功能就可以模拟实际的电梯功能。一次键盘扩展64个按键,足够简单的楼层请求。LED阵列控制器可控制64个LED显示发光,可作为楼层的状态指示。

当系统作为下位机使用时,应设计一套相应的通讯协议。硬件接口可以是RS232、CAN总线、RS485或者是USB,上位机遵循相应的通讯规则就可以实现多台电梯或者是多建筑物的联网群控。那样就可以模拟大型的楼宇电梯群控算法,为真正的电梯设计提供了软件上的验证平台,可以大大节省开发初期的研制费用和时间。

2 电路设计

2.1 单片机控制电路

单片机采用了Silicon Laboratories公司出品的C8051F020。这种单片机是完全集成的混合信号系统级芯片(SOC)[1],具有与MCS-51[2]完全兼容的指令内核。该系列单片机采用流水线处理(Pipe Line)技术,不再区分时钟周期和机器周期,能在执行指令期间预处理下一条指令,提高了指令执行效率,而普通的8051单片机则无法实现。所以C8051F单片机的速度要比常规51芯片要快6~10倍左右。

而且大部分C8051F单片机具备控制系统所需的基本模拟和数字外设,包括看门狗、ADC、DAC、电压比较器、电压基准输出、定时器、PWM、定时器捕捉和方波输出、USB控制器等,并具备多种总线接口,包括UART、SPI、SMBUS总线以及CAN总线。C8051系列单片机采用Flash ROM技术,集成JTAG接口,支持在线编程和仿真。现采用的C8051F020可提供64个IO口,其中P0~P3可按位寻址、P4~P7总体寻址,IO口的数量保证了可以扩展相当数量的外设和电机的数量。单片机控制电路结构框图如图2所示。

2.2 LED阵列及键盘控制电路

本控制电路采用一片CH452专用键盘和数码管控制芯片。串行键盘控制芯片CH452是一种专用的数码管显示驱动和键盘扫描控制芯片。它内置时钟振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64键的键盘扫描;CH452通过可以级联的4线串行接口或者2线串行接口与单片机等交换数据;并且可以对单片机提供上电复位信号。如图3所示为芯片与处理器的一种连接方式。

CH452具有硬件实现的高速4线串行接口,包括4个信号线:串行数据输入线DIN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。其中,DIN、DCLK、LOAD是带上拉的输入信号线,默认是高电平;DOUT在未启用键盘扫描功能时作为串行数据输出线,在启用键盘扫描功能后作为键盘中断和数据输出线,默认是高电平。

2.3 步进电机的接口电路

控制器与步进电机的接口使用了专用的电机驱动器,因此连接简单。一般的电机驱动器与外界的连接有电机脉冲、运行方向、电机绕组、共阳共阴、逻辑电源、电机电源等。

2.4 LCD接口电路

为了简化电路设计,适应3.3 V的供电系统,LCD显示采用了3.3 V供电的液晶模块。串行接口使得对处理器的端口要求大大降低,牺牲的仅仅是少量的系统占用时间,但对要求不是很高的场合这种占用可以忽略不计。液晶的接口引脚包括了供电、和处理器的接口以及背光。如图4示为液晶与单片机的接口电路。

图4中的符号CS、SCL、SDA、LEDA分别表示器件选择、时钟信号、数据、背光开关。从图中可以看出,液晶占用了处理器很少的IO口资源,缓解了单片机资源紧张的状况。串口液晶只需4个IO口就可以实现显示功能以及背光的开关,所有的控制时序均由软件模拟产生。

2.5 通讯电路

通讯电路可以包括RS232到TTL的电平转换、CAN总线、485总线或者USB接口等,较为简单的就是单片机到PC机的电平转换。图5表示为常用的一种使用专用转换芯片MAX232A的RS232与TTL电平双向转换的电路结构。

3 软件设计

本系统的软件设计全部使用汇编语言编程[2],以提高系统的快速性和实时性。软件采用模块化设计方法,有利于修改和调试。程序主要为调试控制器的功能以及电机的性能,复杂的电梯算法不在讨论范围之内。为此设计了一个简单的工作流程,假设整个系统只有一部电梯,建筑物有四层。电梯开始工作后处于一层,二层有人按了往上按钮。人进入后又按了上到四层的按钮,电梯到达后又返回一层。

流程中只包括了基本的电梯工作过程,很多安全检测,比如楼层到位后才能开门、开门后的防夹检测、电梯启动后不接受继续开门请求、超重检测等都不列入流程内。整个流程包括了完整的从请求到最后继续等待请求的全过程。具体工作流程如图6所示。

4 电路调试

选择C8051F单片机的一个重要原因就是电路的调试不再需要昂贵的仿真器,只需在电路上设置一个简单的5线接口使用廉价的下载器就可以进行仿真调试和代码的下载。另外电路上的设计缺陷在调试的初期就可以发现,有别于其他的侵入式仿真器掩盖电路驱动能力的弊端。

经过调试,控制器达到了预期的设计要求。控制器对用户的请求响应灵敏,机械装置运行顺畅。通电后第一层的零位开关将控制电梯停止在第一层位置,当按了二层的向上请求后,电梯运行到二层。按过关门后电梯运行至四层,无请求或者超时后电梯又自行运行至一层。运行中的显示包括当前电梯所在楼层(数码管显示)、各个楼层的到达指示(LED指示)、电梯当前状态(液晶显示)。

另外又对系统进行了上位机控制的调试,用PC串口调试软件发送简单的字符命令。控制器内置了几条命令解释流程,可以实现相应的动作响应,总体性能良好。

5 控制器与PC系统的对接调试

基于本控制器的扩展应用,针对具体的调试要求设计了一套简单的通讯协议用来和上位机进行通讯控制[3]。电路上设计了和PC系统的电平转换部分,因此可以进行可靠的通讯。

模拟控制包括了两个部分:上位机的发送指令和接受数据的客户端以及控制器的指令解释执行程序。上位PC机程序由VB编写[4],利用VB的串行通讯控件和常用的界面控件可以写出简单的命令发送和控制器状态显示窗口,界面如图7所示。

面板的左侧为模拟的各个楼层的运行请求,一层只有向上请求,四层只有向下请求,请求按钮的下面为公用的内部开门、关门按钮。面板的右上侧为当前电梯运行到的楼层指示,右下侧为公用的进入电梯后的运行层次请求按钮。

上位机程序的内容包括:楼层请求、开关门、层次数选择等发送指令;接受控制器传送的楼层指示数据并实时显示。下位机的处理包括:接受指令并解释和存储,根据算法作出相应的反应;不断将电梯模拟器的运行状态发送回上位机。经过调试和修改通讯程序,总体运行效果十分理想,模拟器灵敏地执行上位机所发送的指令。

如果要将控制器和其他上位机系统进行通讯,只需改动相应的电平转换电路。本文中设计的控制器使用的是3.3 V电压系统,如果和其他电压系统的处理连接则要做好隔离和转换以免影响双方的电路和工作效率。

6 结论

本文设计了一种实用的模拟电梯控制器,根据实际的需求使用了高性能的C8051F单片机和专用的显示、键盘控制芯片,配合相应的软件实现了对模拟电梯的实时控制。电梯工业是极为重要的基础产业,其控制部分在工业发达国家已实现了高度智能化,因此电梯模拟器的开发显得至关重要。本模拟器能把实物电梯的主要功能集中在一个空间较小的范围内形成一套理想的教学设施,并且据此模拟电梯实验装置还可在电梯控制技术的算法开发中得到应用。

参考文献

[1]童长飞.C8051F系列单片机开发与C语言编程.北京:北京航空航天大学出版社.2005

[2]李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社.1993

[3].陈继文范文利等.电梯控制仿真系统的研究.机电产品开发与创新,2008;21(1):1

C8051单片机 第2篇

摘要:C8051F系列单片机是Cygnal公司出品的高速单片机,它与80C51系列单片机指令集兼容,但比后者增加了许多资源,从而为嵌入式系统的开发提供了极大的方便。文中介绍了这两者在结构上的差异以及编程时应注意的问题,并给出了它们较完整的初始化程序。

关键词:特殊功能寄存器SDR;先权交叉开关译码器;交叉开关控制寄存器

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单片机中,因为这两种系列的单片机内部资源存在较大的差异,因此,完全照搬、移植是行不通的,必须经过“改良”(主要是初始化控制字的改写)才能正确运行。本文以C8051Fxxx系列单片机中资源最丰富、功能最多、运算速度最快(达到100MIPS)的C8051F12X系列为例,介绍其与80C51的主要不同之处以及开发时应注意的问题,同时给出了其完整的、且经过运行验证的源程序。

图1

2 结构差异

C8051F12X单片机与8051单片机在结构上的最大区别有四点:外引脚采用交叉开关配置;系统时钟源多样且控制灵活;内部特殊功能寄存器SFR种类数量增多;具有基于JTAG接口的在系统调试功能。下面主要介绍前三部分内容。

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

可编程数字I/O和交叉开关是一个大的数字开关网络,它允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的微控制器不同,这种结构支持所有的功能组合。可通过设置交叉开关控制寄存器(XBR2、XBR1和XBR0)将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置为在端口I/O引脚出现,这就使用户可以根据自己的特定应用选择通用端口I/O和需数字资源的组合。而不同于8051单片机的引脚基本是固定分配的。C8051F系列通过优先权交叉开关译码器来控制数字开关网络,优先权交叉开关译码器的值由交叉开关控制寄存器(XBR2、XBR1和XBR0)来配置,如图1所示。优先权交叉开关译码器按优先权顺序从P0.0开始,可以一直分配到P3.7,它为数字外设所分配的端口引脚的优先顺序是按系统默认

[1] [2] [3] [4]

★ 怎么学习avr单片机

★ 单片机课程设计心得体会

★ 单片机综合实验报告

★ windows通信端口初始化失败

★ 《爱与喜欢不同》诗歌欣赏

★ 单片机综合实习报告

★ 单片机实训心得体会

★ 单片机实验报告的心得体会

★ 学习单片机的心得体会

C8051单片机 第3篇

关键词:80C51单片机;80C51单片机;异同点

前言

现阶段,市场经济的发展正在带动着单片机的不断发展,在单片机中,人们较为熟悉80C51单片机,因为80C51单片机的使用比较广阔。这些80C51单片机被应用在多媒体教学当中和其他社会通信网络之中。但是在80C51单片机在使用中,能耗较大,且速度较慢,这些存在的问题导致80C51单片机难以跟随时代发展的步伐,在此基础上0C8051F020单片机应运而生,0C8051F020单片机是80C51单片机升级版本,但是80C51单片机与0C8051F020单片机又存在着相同点和不同点,这些相同点和不同点注定两者在使用中的存在的自身独特性质而又具有相似的属性和功能。

1.0C8051F020单片机与80C51单片机的相同之处

C8051F020单片机与80C51单片机在系统指令上存在一定的相同之处,习惯于用80C51单片机的用户也可使用C8051F020单片机,C8051F020单片机是在80C51单片机基础上研发而成的,是80C51单片机在技术上的改良,因此两者在相应的应用技术上还是存在这一定的相同之处。

2.0C8051F020单片机与80C51单片机的不同之处

2.1 C8051F020单片机与80C51单片机在运行速度上存在不同之处

一般来说C8051F020单片机是80C51单片机技术更新的产物,C8051F020单片机是科技进步的体现,因此C8051F020单片机在运行速度上要比80C51单片机的运行速度快,有的甚至快10多倍。C8051F020单片机的CIP-51是处于一种流水线的结构,因此没有机器周期时序的限制,在一般情况下指令只需要传送一个周期起或者两个周期就能完成任务,且时钟频率范围只有0-25MHz,CIP-51工作中最大的系统时钟频率可以达到25MHz而其峰值速度就可以达到25MI/s[1]。而80C51单片机的机器周期时序较长,具有少量的时钟源可编程,始终范围较大,在使用技能上不抵C8051F020单片机,其功效也不如C8051F020单片机。

2.2 C8051F020单片机与80C51单片机在I/O的配置方式上存在不同之处

C8051F020单片机的I/O端口要比80C51单片机的端口要多,在使用属性上降低与外部件的连接,并可以有效的减少期间的大范围的扩展,这样的端口有利于增强其抗干扰能力,并且增加其使用的可靠性能,在C8051F020单片机I/O端口的使用中位于第四个位置的I/O端口可以作为普通的万能I/O端口,与此同时还可以作为其他功能,模块的传输引脚,这些引脚具有控制选择第四I/O端口的交叉开关配置寄存器XBR0/XBR1/XBR2,在控制译码选择开关的电路时将片内的定时器、串线总线等数字信号配置展现在I/O端口上。这样可方便用户进行选择和使用[2]。相应的80C51单片机在这些上却存在着一定的缺失,在I/O端口使用中还是存在着一片空白。

2.3 C8051F020单片机与80C51单片机的存在一定的内部差异

C8051F020内部和80C51单片机的内部存在着较大的差异,C8051F020单片机具有ADC和DAC两种功能,这些功能都是以数据采集为前提,在ADC中具有一个12位逼近型ADC,12位逼近型ADC可以转变转换效率,可通过多通道选择器配置为单端输入或差分输入,具有放大可编程增益放大器PGA信号的功能,以便于提高A/D的转变精准度,在ADC中还有一种就是8位ADC,8位ADC可实现最快编程转换工作的效率,最高情况下可达到500kS/s。但是相对于80C51单片机,却缺少这些程序性ADC,这些ADC可以帮助数字量转化成为电压量,最后产生连续变化的波形,促使两路信号同步输出。

2.4 C8051F020单片机与80C51单片机的外部接口不同

80C51单片机在外设上不存在串行口,不能同时与外界相互联系,而且在SMBus上难以与I2C串行扩展总线进行联系,80C51单片机不能以JTAG接口为基础并且不具备较强的调试功能[3]。而在C8051F020单片机上,C8051F020单片机可与I2C串行扩展总线相互兼容,并通过片内的调试电路实现与JTAG接口的连接,在这样的情况下可促进C8051F020系统的快速和方便的运行。

3.结论

综上所述,80C51单片机与0C8051F020单片机存在着较大的不同之处,两者在使用中有各自的使用特点,都在各自使用领域中扮演着重要的角色。但是在使用过程中0C8051F020單片机和80C51单片机的指令系统中两个又完全的相互兼容,这些单片机在科研领域、教育领域上都占据重要的地位。想要保证对80C51单片机与0C8051F020单片机研发工作的进一步加深,首先要对比两者之间的共同处和非共同处,研究两者的结构和属性,才能更好的对0C8051F020单片机和80C51单片机开发利用,为单片机的发展做出贡献,并不断的促进我国科技的进步和市场经济的发展。

参考文献:

[1]赵不贿,孙立香,刘星桥. C8051F020与80C51单片机的异同点[J]. 国外电子元器件,2012,05:31-35.

[2]叶丽娜. C8051F与80C51系列单片机的不同初始化[J]. 国外电子元器件,2011,03:9-12.

C8051单片机 第4篇

单片机(MCU)是一种集成电路芯片[1],是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。随着计算机技术的高速发展,单片机以其自身的特点,已广泛应用于工业控制、家用电器、智能仪器、电子玩具市场。

本文的最小系统以C8051F320为主控芯片,C8051F320/1系列器件使用Silicon Labs的专利CIP-51微控制器内核。CIP-51内核具有标准8052的所有外设部件,包括4个16位计数器/定时器、一个具有增强波特率配置的全双工UART、一个增强型SPI端口、2304字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及25/21个I/O引脚。C8051F320片内调试电路提供全速、非侵入式的在系统调试(不需仿真器);支持断点、单步、观察/修改存储器和寄存器,比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更优越的性能。

1 最小系统实现方案

单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、1/0、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如电源、A/D、D/A转换器等。要设计合适的接口电路[2,3]。

此最小系统要求:电源,电路中我们可以用外部电源,也可以用自带的充电电池;串口通信,能与计算机之间进行通信;时钟,为CPU提供所需的时钟或日历;外接存储器模块;液晶显示,可以按我们的要求显示汉字、字符、数字及图形。系统框图如图1所示。

1.1 电源电路

系统中所有的芯片都是用的3V的电压,选用的芯片是TPS78930,这是一种低压差稳压器,与传统的低压差稳压器相比,具有超低的静态电流。输入电压为4~10V,输出电压3V。输出电流为100m A。在电源模块中通过4个电容进行电源稳压滤波,为系统提供稳定的电源。另外,我们的系统中带可充电的锂电池,充电芯片采用MAX1501,其输入电压为4.5~6.5V,输出为4.2V电压。电网电压经5V的适配器可以只给电池充电,也可以只给系统供电,或一边给电池充电,一边给系统供电。给电池充电过程中,充电指示灯RLED亮,电池充满后,满电指示灯亮。在电池给系统供电过程中,电池电压经过两个100k的电阻分压后接到单片机的P15口,检测到电池电压低时,电压低的指示灯亮。电源电路如图2所示。

1.2 复位电路

系统的复位模式有三种:上电复位、用户按键复位和软件复位。电路如图3所示,该复位电路的工作原理如下:在系统上电时,通过电阻R1向电容C1、C2充电,当C1、C2两端的电压未达到高电平的门限电压时,REST端输出为低电平,系统处于复位状态;当C1、C2两端的电压达到高电平的门限电压时,REST端输出为高电平,系统进入正常工作状态。当用户按下按钮S时,C1、C2两端的电荷被泄放掉,REST端输出为低电平,系统进人复位状态。软件可以通过向寄存RSTSRC中的PINRSF位写“1”来强制产生一次上电复位。当发生掉电或因电源波动导致VDD降到VRST以下时,电源监视器将/RST引脚驱动为低电平并使CIP-51保持复位状态。当VDD又回到高于VRST的电平时,CIP-51将退出复位状态。在选择VDD监视器作为复位源之前,必须使能VDD监视器。

1.3 时钟电路

C8051F320有一个可编程内部振荡器、一个外部振荡器驱动电路和一个4倍时钟乘法器。系统时钟(SYSCLK)可以来自内部振荡器、外部振荡器电路或4倍时钟乘法器二分频。

如果使用内部振荡器,可以通过对OSCICN和OSCICL寄存器编程来使能/禁止内部振荡器和调节其输出频率。当使用外部振荡器电路时,必须对所用端口引脚进行配置。当外部振荡器电路被配置为晶体/谐振器方式时,端口引脚P0.2和P0.3分别被用作XTAL1和XTAL2。当外部振荡器电路被配置为RC、电容或CMOS时钟方式时,端口引脚P0.3被用作XTAL2。

我们在外部振荡器模式时使用了一个CMOS时钟芯片S3530,它与CPU之间是通过两根线连接,具有两个中断/报警功能。所有的地址和数据通过I2C总线接收。电路如图4所示。

时钟电路产生整个电路的工作时序脉冲,它是系统正常工作的关键,又是单片机系统的主要噪声源。我们采用以下措施来减小噪声[4]:1)时钟脉冲电路要尽量靠近MPU,引线应短而粗;2)用地线包围振荡电路,并将晶体振荡器外壳接地;3)整个系统走线中,大电流信号线,电源变压器要远离晶振走线;4)如果时钟电路为其它芯片提供时钟,应充分做好隔离;5)若是双面印制电路板[5],有导线不可避免地经过时钟电路,走线应该垂直、交叉但不能平行。

1.4 UART串口通信电路

串行通讯只需较少的端口就可以实现单片机和PC机的通信,具有无可比拟的优势。串行通讯有两种方式:异步模式和同步模式。本设计中利用C8051F320的UART模块来实现C8051F320与PC机之间的串行通信。PC机接口是RS-232,RS-232标准采用负逻辑方式,标准逻辑"1"对应-5~-15 V电平,标准逻辑"0"对应+5~+15V电平。C8051F320的接口为TTL电平。显然,和PC机的RS232C电平不兼容,两者间要进行通信必须经过信号电平的转换,所以连接时必须使用电平转换芯片。

本设计选用符合RS-232标准的SP3223驱动芯片进行串行通信。SP3223电源3~5V,这里是3V供电。具有两个发送和接收通道。SP3223的T1IN与C8051F320的TX0(P04)连接,R10U与C8051F320的RX0(P05)连接。串口电路如图5所示。

1.5 存储器模块电路

存储器模块包括Flash存储器和SRAM存储器两个部分。C8051F320内部有16k B可在系统编程的FLASH存储器,2304字节片内RAM。一般来说,应该在片外扩展存储器用来存放用户的程序代码。另外,考虑到系统运行中,MCU往往要做大量的数据处理工作,经常有一些采集到的或生成的数据需要及时进行存储或调用,因此当片上16k B的FLASH存储器不够用时,需要外部扩展Flash存储器,而且即使掉电,程序和数据都不会丢失。我们选用的是Flash存储器AT45DB041B,其电压为2.5~3.6V,适合我们的系统电压3V。存储容量为2048页,每页有264个字节。支持块和页的自动擦除。AT45DB041B芯片通过SPI总线与单片机的连接,接口为MOSI、MISO、SCK。

1.6 液晶显示电路

以往单片机最小系统都是数码显示,电路比较简单,但是只能显示数字不能显示汉字,这里用液晶显示,不但可以显示数字,还可以显示汉字和图形、符号。我们用的液晶是LCM6432ZK,3V电源供电,液晶屏幕为6432,可显示两行,每行可显示4个汉字。低功耗设计可满足产品的省电要求;同时与单片机等微控器的接口界面灵活(三种模式:并行8位/4位,串行3线/2线)。这里为了节省单片的I/O口,我们用串行2线。SID为输入串行数据,SCLK为输入串行脉冲。液晶显示电路如图7所示。

图7液晶显示电路(参见右栏)

考虑到系统的通用性问题,因此还应将单片机的一些必要引脚用接口插座引出,以方便使用。例如:USB主机与设备接口,A/D、D/A与单片机接口,I/O总线扩展接口等。

2 系统软硬件调试

用protel软件绘制电路板图。系统上电前,用万用表仔细检查电源是否有短路,元件是否有虚焊。系统上电后,检查电路板上电压是否正常,复位电路是否工作。

软件是用C语言编程,与以往的汇编语言比较,它的可扩充性、可移植性比汇编语言要好。本系统支持在线调试,调试比用仿真器要更容易,使用更方便。

3 结束语

本文中所设计的最小系统经过调试,上述几部分功能已经实现,系统可靠性好。此最小系统应用在智能小车,成功控制智能小车前进、后退、转弯,显示到达目的地所用时间。

摘要:单片机最小系统,是指用最少的元件组成的可以工作的单片机系统。为了方便设计者自行开发和应用,文章设计了基于一个通用的单片机的最小系统。该系统以C8051F320为主控芯片,设计了电源电路、复位电路、时钟电路、存储器扩展电路、串口通信电路和液晶显示电路,并介绍了各部分的功能。实验证明改最小系统原理正确,工作可靠。可用于科研、电子电路设计等领域。

关键词:单片机,C8051F320,最小系统,电路设计

参考文献

[1]李华,等.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.

[2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2002.

[3]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.

[4]王幸之,王雷,等.单片机应用系统电磁干扰与抗干扰技术[M].北京:北京航空航天大学出版社,2004.

C8051单片机 第5篇

关键词:C8051F 单片机,音乐喷泉,单片机控制

目前在公共场所喷泉一般只是将音乐和喷泉高低简单配合,无法真正体现音乐的旋律、节奏;或者是采用了高成本复杂的控制系统,搭建复杂的外围电路实现功能;并且多数只能在现场观赏,不能进入家庭。本文介绍基于C8051F单片机控制的小型室内移动式音乐喷泉。它使用了较少的外围器件和较为简单的电路设计,成本低、体积小、水型变换多样,实用性强,适合室内观赏。

1 系统设计

本系统采集音乐信号,根据音乐信号的强弱来控制水泵电机的转速以及LED彩灯的亮灭。系统的总体结构如图1所示,由音乐输入部分、音响放大部分、单片机控制部分和输出控制部分组成。C8051F单片机作为系统的主芯片,一方面采集音乐信号,另一方面依据采集到的音乐信号的强弱输出延时不等的矩形波来控制可控硅的导通时间,进而控制水泵电机的转速,从而达到控制喷水高度的目的。彩灯的亮灭也由单片机依据音乐采样值的大小来控制。

2 系统硬件设计

硬件系统由单片机电路、音频电路、水泵控制电路、彩灯控制电路、电源电路等组成。

2.1 单片机电路

单片机要采集音乐信号,并据此调节I/O口的输出来控制水泵和彩灯。主芯片选用C8051F系列单片机中的C8051F310。C8051F系列单片机是集成的混合信号片上系统SoC,它具有与MCS-51内核及指令集完全兼容的微控制器。除了具有标准8051的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器等等。这样不仅可以简化单片机的外围电路,而且处理速度和灵活度都大大增强,并且具有片内调试电路,通过10针的JTAG接口可以进行非侵入式、全速的在系统调试,设计调试周期短。所选的C8051F310内部集成了一个10位ADC,

两个模拟比较器,4个通用16位计数器/定时器,1个可编程精密内部振荡器,32脚LQFP封装,2.7V~3.6V供电电压。

C8051F310的最小系统电路如图2所示。包括复位和晶振,JTAG程序下载和调试端口,AS1117供电芯片,把单片机的I/O口都用插针转接出来以便于设计和调试。

2.2 音频电路

音频电路由音响放大器和音乐预处理电路两部分组成。音响放大电路将音乐外放,包括两级放大和一级功放。音乐预处理电路是将音频信号经由放大滤波输入到单片机供片内AD采集。整个系统采用单电源5V供电,选用可以使用单电源供电的运算放大器LM324。功放由4V~12V供电,功率由可达1.25W的LM386完成,可以推动喇叭达到扬声器的作用。信号经音频电路初步处理后送入单片机内部AD,由定时器控制以8k采样率采集音乐信号。

2.3 水泵控制电路

本系统采用可控硅调相的方法控制喷泉水泵的转速。电路如图3所示,由单片机的I/O口输出矩形波,通过光耦控制可控硅的导通角,进而控制水泵电机的转速,调整喷泉的输出高度。选用单相可控硅BT169控制220V的双向交流电。交流通过二极管1N4007(耐压值1000V)组成的整流桥后变为100Hz脉动的直流,由单片机P0.4依据音乐采样结果输出矩形波,通过光耦控制可控硅的通断,以达到调相的目的。

采用这种方法关键是要保证矩形波与100Hz脉动直流保持同相,由AD采样的结果决定100Hz脉动直流的每一个周期有多长时间是导通的。所以将100Hz脉动直流分压后作为单片机内部比较器的一个输入端,另一个输入端接一个由5V分来的固定电压(本系统使用了0.5V),当比较器的输出结果发生变化时,由定时器定一段时间(本系统定为100Hz脉动直流由0.5V下降到0V的时间),这样就找到了每个周期的起点,然后再根据AD采样的结果决定不等的延时来输出矩形波导通可控硅。AD采样结果大,每个周期的延时短,可控硅导通的时间长,水泵电机转速快,反之亦然。

2.4 彩灯控制电路

彩灯是为了渲染色彩增强节奏感而设计的。电路如图4所示,使用高亮LED,有红绿蓝白黄五种颜色,设计成内外环绕的三圈,每圈六个灯,颜色搭配得当。每圈的灯并联占用一个I/O口,用三极管8050放大提供足够的电流驱动,依据音乐采样值大小决定点亮的灯的圈数。

3 系统软件设计

在硬件上本系统使用了单片机内部的AD、比较器、定时器、中断等资源,故软件编程就包含这几个方面的设置和使用。定时器T0控制AD的采样速率。定时器T1在比较器的下降沿中断中被启动,延时一段时间,找到100Hz脉动直流每个周期的起点。定时器T2在定时器T1的中断中被启动,依据不同的AD采样值延时不等的时间,在T2的中断程序中输出矩形波启动可控硅。单片机的I/O口采用交叉开关配置,用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字,复位后为数字输入方式),用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽,复位后为漏极开路输出方式),被配置为模拟输入的端口要用端口跳过寄存器(PnSKIP)选择为被交叉开关跳过。I/O口初始化程序如下:

4 设计结果

设计的音乐喷泉LED彩灯经过热缩管的绝缘处理后用导线缠绕在塑料软管上,然后再固定在盆内。围绕塑料软管开几个小孔,再安装塑料插头作为喷水装置。可以用电脑或者mp3作为音源,喷泉高低和彩灯随着音乐的启停节奏发生变化。系统的主要控制电路被安装在盒子里放置于旁边,注意绝缘,安全用电。

设计的喷泉控制系统基于C8051F单片机,采用了音频放大,可控硅控制等简洁的外围电路,经过焊接、组装、调试后,可以很好实现控制功能,具有很强的实用性,尤其是具有体积小、易移动、适合家庭和室内使用的特点。本方案也可以在功能上加以扩展,如加上对乐曲的频域分析,结合频域特点控制水泵;还可以制作雾化器来渲染效果等。

参考文献

[1] 张长君,王连涛.单片机控制在音乐喷泉中的应用[J].计算机工程与设计,2006,(5) :1905-1907.

[2] 王连涛.音乐喷泉的单片机控制[J].电子世界,2005,(5) :21-22.

[3] 张均,廖建波.小型音乐喷泉控制系统设计[J].江西农业大学学报,4(21) :619-621.

[4] 马忠梅,籍顺心,张凯,等.单片机的 C 语言应用程序设计[M].北京:北京航空航天大学出版社,1998.

C8051单片机 第6篇

据调查, 国外浊度测量仪做得比较好的公司有美国的HACH公司、奥地利是能公司及德国的E+H公司等等, 其产品测量精度在0~200NTU时为±2%读数, 在200~1000NTU时为±5%读数, 然而这些产品的价格普遍昂贵;目前国内也有一些生产浊度测量仪的厂家, 如上海昕瑞、上海珊科等, 但是这些产品在低浊度段 (200NTU以下) 的测量误差在±5%以上, 明显不如国外的产品。为此, 本文在这里设计了一款高精度、宽量程的浊度测量仪。该测量仪在低浊度时采用散射光测量法, 在高浊度时采用透射光测量法。

1 测量原理

根据ISO7027国际标准, 测量浊度的方法可以分为两种, 一种是散射光测量法, 一种是透射光测量法。

1.1 透射法测量原理

光源射出一束红外光经过待测水样, 红外光线被水样中的浊度物质吸收一部分后照射到水平方向的光敏二极管 (接收波段与光源匹配) 上, 测量电路将光信号转换为电压信号, 并经过计算处理后得到所测的浊度值。

透射光在测量低浊度时响应情况比较差, 透射光式浊度测量法原理简单, 但在测量低浊度水样时, 由于大部分的光都直接透射了, 微小的浊度变化引起的透射光变化是相当小的;变化率很小对光电接收和放大器件的分辨率和稳定性要求非常高, 所以透射光方法不适合测量低浊度, 而水样中浓度较高的杂质和微粒能使透射光信号衰减更加明显, 所以透射光测量法适用于测量高浊度水样。

1.2 散射法测量原理

散射光测量法根据其入射光光束及被接收散射光光束的角度, 可以分为垂直散射 (90°或270°) 、前向散射 (﹥90°) 和后向散射 (﹤90°) 三种。根据ISO7027国际标准, 笔者以90°作为检测角度来测量散射光的强度。

散射光测量法在测量低、中浊度溶液时灵敏度比较高, 而且在0~200NTU之间测得的光电信号与浊度值呈非常好的线性关系, 但是在测量高浊度溶液时线性度就比较差, 而且高浊度的溶液容易发生多次散射, 这种现象会使散射光测量法失去意义。

综合上述原因, 本设计在0~200NTU量程内采用散射光测量法, 在200~1000NTU量程内采用透射光测量法。

2 硬件设计

2.1 系统结构

硬件系统由电源模块、单片机模块、光发射模块、I/V转换及信号放大模块、多路开关选通模块、A/D转换模块、RS-232通讯模块以及键盘和显示模块构成, 如图1所示。

两个光敏二级管同时将电流信号送入前置放大电路, 单片机控制选通开关分别将放大后的两路信号送入A/D采样模块, 采样后的数据被送入单片机处理, 然后实现数据的传送与显示。

2.2 控制电路

C8051F120单片机是完全集成的混合信号片上系统型MCU芯片, 具有32个数字I/O引脚 (64脚TQFP封装) , 其内部含有一个高速、流水线结构的8051兼容的CIP-51内核, 64KB可在系统编程的FLASH存储器, 8448 (8K+256) 字节的片内RAM, 可寻址64KB地址空间的外部数据存储器接口。该单片机运行速度快、外部扩展能力强, 从硬件上提高了测量仪的性能。

C8051F120自带12位或10位、100ksps的ADC, 但是为了提高测量的精度, 本设计在单片机外部扩展了一个A/D转换模块, 使用的芯片为AD7667, 该芯片是16位, 1MSPS的电荷再分配SAR模数转换器。

2.3 测量电路

由于散射光和入射光的信号非常微弱, 大概在纳安级别和微安级别之间, 因此为了减小外界对信号的干扰, 本设计在传感器的头部装置了一块前置放大电路板, 以加强信号的传输能力。电路原理如图2所示。

图中光敏二极管需要+15V供电, 为了保护后级的运放, 本设计在运放的两个输入端分别连接了一个二极管, 当输入电压大于+5V时, 电路直接短路。

光敏二极管输出的是电流信号, 且信号强度微弱, 为了保证信号的可靠性, 必须在电路中加入一个很大的反馈电阻, 然而反馈电阻过大又会影响测量电路的稳定性, 为此本设计在这里应用了T型反馈网络, 应用T型反馈网络不仅可以减小反馈电阻的大小, 还能提高放大倍数。本设计中使用的运放为AD8639, 该运放具有两路放大功能, 其输入偏置电流为1.5p A, 输入失调电流为7p A, 失调电压为3μV, 完全符合测量的需求。

2.4 其他电路

电源部分需要用到±15V、±5、3.3V电压, 主要用于光电元件、运放及单片机的供电;设置了4个独立键盘, 用于完成仪器的校准及参数的设定, 标液标定数据存放于片内Flash中;通讯部分使用芯片MAX232将相关数据传送给外部的串行设备, 如PC机、打印机等。

3 软件设计

软件部分主要包含系统初始化子程序、键盘处理子程序、A/D采样数据处理子程序、浊度标定子程序、串口通信子程序、显示子程序等。软件开发基于美国Keil Software公司出品的集成开发环境Keil u Vision, 编程使用C语言, 设计简单方便, 如图3所示为主程序流程图。

使用福尔马肼 (Formazin) 标准溶液对该设计进行模拟实验, 在实验中分别对浊度值为0、60、120、200、400、600、800、1000NTU的8种标液进行测量, 记录其产生的透射光电压信号和散射光电压信号, 其测量结果如表1所示。

上表中测得的电压信号均为A/D转换后的数值, 经过分析后发现在0~200NTU区间, 散射光电压信号呈线性关系, 在200~1000NTU区间内, 透射光电压信号呈指数关系, 其相关系数均达到0.999以上。如果单独使用散射光或透射光测量法, 全量程范围内的相关系数仅在0.993左右。数据转换时根据测量电压的大小判断浊度的范围, 0~200NTU时利用公式直接将电压值转换成浊度值, 200~1000NTU时利用查表法求得浊度值。

4 结束语

经过实验论证, 采用透射法和散射法相结合的测量方法, 不仅克服了单一测量法存在的缺陷, 同时其测量精度提高到±2%以内。而且该浊度测量仪的传感器为浸入式传感器, 使用时只需将探头投入待测水样即可, 测量快捷方便, 可用于环保领域的水质在线监测系统。

摘要:本文根据ISO7027国际标准设计了一款浊度测量仪, 该测量仪结合了散射法和透射法, 以单片机C8051F120为核心实现了信号的放大、采集、数据的处理、显示、串口通信等功能, 克服了单独使用散射法或透射法时测量范围受限的弊端, 且提高了测量的精度。同时, 本文还设计了一个浸入式浊度传感器, 使得该测量仪适用于环保行业的水质在线监测系统。

关键词:浊度,散射法,透射法,C8051F120

参考文献

[1]ISO 7027 Water quality.International Standard.1990

[2]左辉.浊度的检测原理及方法.中国计量.2012.

[3]王东, 盛强, 何小刚.基于ATmega16散射光式浊度仪的设计.太原理工大学学报.2010.

[4]孔斌, 卢胜利.散射式智能液体浊度仪的研制.宁夏大学学报.1999.

C8051单片机 第7篇

我国现用的抽油机节能电驱动装置[1]有3种:⑴直接启动、运行时带过载和缺相保护,这种方法可防止在缺相和过载时烧坏电动机,但没有软启动功能,电动机的启动电流大,运行时加到电动机上的电压为固定值,功率因数得不到提高。⑵应用变频调速装置,根据负载大小,通过变频来调节抽油机驱动电动机的转速,节能效果较好,但由于变频器成本高,维护工作量大,且调速影响采油效率而没有得到广泛应用。⑶启动时具有软启动、运行时带过载和缺相等保护功能[2],且能按负载大小调压,虽有一定的节能效果,但不能保证电动机的损耗最小。

鉴于此,笔者研制了一种新型抽油机节能控制系统。该节能控制系统以C8051F120单片机为核心,同时给出了系统的工作原理,硬件结构和软件流程。利用就地电容补偿原理,降低了抽油机的总损耗,提高了工作效率和功率因数,具有较好的节能效果。

2 工作原理

由电动机的工作原理可知,当其负载大小发生变化时,负载电流及功率因数会产生相应的变化,所以可以把电动机的负载电流或功率因数作为检测信号,根据它的数值判断负载的情况。通过实验确定出各工作状态之间切换的负载临界值,并计算出相对应的功率因数阈值,则各阈值与电动机运行方式的关系如下:

电机启动时,自动投入0号电容组,经过适当的时间,自动切断0号电容组。启动完毕后,延时一段时间,待电机正常运行后,开始检测负载电流I,当I≥I5,过载,自动停机,延时一段时间后,自动开机;当II3时,开始检测相位差ϕ,当cosϕ1cosϕI3时,即出现重载,当cosϕ4cosϕ

3 硬件设计

本设计中采用了C8051F120单片机作为主控单元。该单片机是低功耗、高性能、采用CMOS工艺的8位单片机,是目前应用最广泛的单片机之一。C8051F120单片机的指令集与传统的MCS-51完全兼容,工作时钟达100MHz,采用流水线指令结构,70%的指令的执行时间为1个或2个系统时钟周期。C8051F120单片机内部包含8 8 4 8 B内部数据R A M,1 2 8 k B可在系统编程的F L A S H程序存储器,通过J T A G接口下载程序。C8051F120单片机的外设相当丰富,包括1个采样速率达1 0 0 k s p s的S A R类型12位A D C,1个采样速率达500ksps的SAR类型8位ADC,2个12位DAC,2个模拟比较器,还有串行口、SMBus接口、电压基准、电源监视、内部PLL、看门狗定时器和JTAG接口等。图1是该控制系统的硬件结构框图,整个工作过程为:对异步电动机的负载电流采样和功率因数角采样后送入单片机,经软件处理后,由汉字液晶显示模块显示抽油机的有功功率、无功功率、功率因数、负载电流及电压,并通过输出控制电路来提高异步电动机的功率因数。

3.1 负载电流检测

当电动机负载发生变化时,将引起电动机的电流变化。为了检测此电流的变化,本系统选用交流互感器作为检测元件,这是由于交流互感器能准确反映主电路中的电流,又能使控制电路与主电路隔开,减少了干扰。由交流互感器检测的电流经桥式整流,电容滤波,电阻分压,可得到0~5V的直流电压信号,TLC1549能以串行方式送给单片机,经A/D转换送入单片机。采用T L C 1 5 4 9是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS低电平有效),输入/输出时钟(I/O CLOCK),数据输出(DATAOUT)。由于TLC1549采用CMOS工艺。内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,而且开关电容设计使在满刻度时总误差最大仅为±1 LSB(4.8 mV)。

3.2 相位差采样

3.2.1 LM567锁相环电路和LM339功能介绍

L M 5 6 7是一片锁相环电路,采用8脚双列直插塑封。其(5)、(6)脚外接的电阻和电容决定了内部压控振荡器的中心频率f2,f2≈1/1.1RC。其(1)、(2)脚通常分别通过一电容器接地,形成输出滤波网络和环路单级低通滤波网络。(2)脚所接电容决定锁相环路的捕捉带宽:电容值越大,环路带宽越窄。(1)脚所接电容的容量应至少是(2)脚电容的2倍。(3)脚是输入端,要求输入信号≥2 5 m V。(8)脚是逻辑输出端,其内部是一个集电极开路的三极管,允许最大灌电流为100mA。LM567的工作电压为4.75~9V,工作频率从直流到500kHz,静态工作电流约8 m A。

LM339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:1)失调电压小,典型值为2mV;2)电源电压范围宽,单电源为2-36V,双电源电压为±1V-±18V;3)对比较信号源的内阻限制较宽;4)共模范围很大,为0~(Ucc-1.5V)Vo;5)差动输入电压范围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用。

3.2.2 相位差采样原理介绍

由交流互感器检测到的电流,外接电阻转换成电压信号经整形电路,与定子电压经变压器和整形电路,均外接锁相环LM567,滤除电源干扰,只允许50HZ的电压通过,再送入过零电压比较器L M 3 3 9后,由异或门74HC86转换成矩形波,经光电隔离4N25后送入单片机,此矩形波的下降沿作为计数器的开始信号,定时器/计数器作为计数器使用,由此测得电流电压滞后的时间差∆t,由,则相位差ϕ=50∆t360o。

3.3 输出控制电路

本系统采用开关量输出的驱动方式,为避免强电和弱电信号之间的直接接触,采用继电器作为输出驱动的第一执行机构,从而实现了从低压直流到高压交流的过渡。同时,为防止单片机在程序执行过程中受强电负载的干扰,在单片机与输入和输出通道间采用光电耦合器进行光电隔离。光电耦合器还具有断相保护功能,当断相时,其输出端电位不按正常规律变化,单片机发出停机信号。其结构框图如图3所示。

4 软件设计

本系统的节能原理为:电机上电,启动完毕后,开始检测负载电流I,当I≥I1(I1为过载电流临界值)时,延时适当时间后,仍为I≥I1,则为过载,自动停机;当I

5 结束语

由于现有抽油机电驱动装置效率和功率因数低、耗能严重的问题,提出抽油机节能控制系统设计方法。该控制系统以C8051F120单片机为核心,应用电容就地补偿技术,不仅提高了功率因数,减小了无功损耗,而且还提高了有功功力,降低功率损耗和电能损失。电容补偿启动时,电机端电压不仅降低,同样可以减少启动电流,并且不减少起动转矩,缩小了起动时间。经过多次试验表明该抽油机节能控制器设计合理,运行可靠,节能率可达25%以上。

参考文献

[1]李宏,王琪,李玉生等.浅谈我国抽油机电控装置的发展[J].电源技术应用,2003,6(11):55-58

[2]史玉升,梁书云。三相异步电动机的节能与安全监控[J].电气传动,2001,31(2):48-5

[3]李宏,邢隆,吴应龙.一种新型抽油机节能控制装置[J].石油机械,2003,33(9):42-46

C8051单片机 第8篇

系统选用CPLD芯片为XILINX公司的xcr3064xl[3]。该CPLD芯片具有64个宏单元,4个功能模块,1 500门可供使用。

1 系统总体设计

系统由C8051F单片机、CPLD芯片、铁电存储器、AD转换器和信号处理5部分组成。系统要实现的功能为:单片机给存储器发送写命令、地址,给CPLD发送采集控制信号,再由CPLD控制串行AD将模拟输入转换为数字信号,同时把信号存储到铁电存储器中。实验结束后,单片机给存储器发送读命令,地址,将数据读取到单片机中,同时单片机通过串口直接传输给上位机,数据的读取是通过单片机与铁电存储器的SPI总线。

2 铁电存储器及系统应用

系统采用了串行铁电存储器FM25H20,其是美国Ramton公司的2 MB串行非易失性的FRAM,与同类铁电存储器相比,其采用先进的130 nm CMOS工艺,8引脚TDFN封装,体积更小,无限次读写和低工作电流,存储容量为256 k8 bits,总线读写速度高达40 MHz,并且包含一个工业标准SPI总线接口[4]。

FM25H20内部结构如图2所示。外部电路通过8个I/O端口分时访问FM25H20的命令寄存器、地址寄存器和数据寄存器,完成对其内部存储器的操作,对于存储器的指令操作和地址操作都是通过SPI总线来实现。

(1)数据写入过程

数据写入的时序如图3所示。首先发送写数据指令WRITE,再发送3个字节的地址位,地址为后面是要写入的数据。对于存储器的写入数据可以写入一个字节数据发送一个地址,也可以只发送一次地址后连续写入数据。后者只需要发送存储的首地址,数据就会依次写入,数据写入速度快。

(2)数据读取过程

数据读取的时序如图4所示。过程为首先发送读数据指令READ,再发送3个字节的地址位,地址为后面是读取的数据。数据读取与数据相同,有两种读取方式。

3 硬件电路接口设计

CPLD控制铁电存储器和AD协调工作的硬件接口如图5所示。系统采用AD转换器是美国模拟公司生产的单通道高速12位模数转换芯片AD7274。

主要控制管脚功能:

SCLK1:FM25H20和AD7274时钟控制信号。

Din1:AD7274输出信号,采集过程中将数字量输入到CPLD判断被测信号的到来,输入到FM25H20存储数据。

CSN1:FM25H20片选信号控制线,采集过程中一直处于低电平。

CSN1_ad:AD7274片选信号控制线。

4 系统软件设计

4.1 单片机程序设计

C8051F020单片机[6,7]的作用是进行逻辑控制和时序协调,完成的主要功能有控制CPLD进行数据的采集存储、通过SPI总线读取铁电存储器数据,并用UART口发送给上位机。主程序流程图如图6所示,采集存储子程序是系统的关键,由CPLD程序完成。

4.2 CPLD程序设计及仿真

CPLD程序在Xilinx ise9.1软件环境下调试,使用VHDL语言编写,主要的功能模块有采集控制模块、比较器模块、负延迟模块[8,9]。

(1)数据采集过程及时序仿真

采集控制模块产生使铁电存储器和AD协调工作的时序和逻辑信号。数据采集过程为:首先单片机通过SPI总线给存储器发写操作命令WRITE,发送数据写入的首地址,存储器和AD的片选和时钟信号就会在CPLD的控制下协调工作,存储器循环存储数据,等待触发。

CPLD控制的FM25H20和AD7274[10]协调工作的接口电路见图5。FM25H20的数据写入过程采用第二种写入方式,写操作命令和写入的首地址发送后,只要有时钟信号就会将数据写入,它的时序控制简单。AD7274时序控制是设计的关键,系统中它工作在16时钟周期的模式,如图7所示。

CPLD产生SCLK1、Din1、CSN1_ad三个关键控制信号来完成数据的采集过程,输入时钟信号CLK由50 M晶振产生,一个采样周期有25个CLK时钟信号。一个转换周期内完成一次12位数据的采集和存储,实现2 M的采样频率,SCLK1、Din1、CSN1_ad时序如图8所示。

(2)比较器模块

比较器模块比较测得信号DIN1与预设值来判断被测信号的到来,被测信号到来时触发负延迟模块,程序实现过程是把被测信号转换为并行信号与预设值进行比较。其VHDL语言描述可分为串并转换和比较两个过程。

串并转换过程VHDL语言描述如下[11]:

比较过程VHDL语言描述如下:

(3)负延迟模块

负延迟模块使得触发后电路采集过程还能持续一定的时间,存储器是循环存储,负延迟的设计保证了被测信号的完整,负延迟模块通过18位计数器来实现。

5 结论

介绍了基于CPLD的C8051F单片机高速数据采集系统的设计方法,详细阐述了CPLD各模块的设计方法,通过时序仿真验证了系统设计的正确性与可行性。该系统在实践中应用于某项目的爆炸压力信号的测量中,实现了数据的采集存储与读取。试验结果证明,该系统能够满足空间狭小的测试环境和高速采集的要求,稳定可靠。

参考文献

[1]万光毅,孙九安,蔡建平.SoC单片机实验、实践与应用设计—基于C8051F020系列[M].北京:北京航空航天大学出版社,2006.

[2]周兴华.手把手教你CPLD/FPGA与单片机联合设计[M].北京:北京航空航天大学出版社,2010.

[3]马佰振,原晓洁,范锦彪.基于CPLD的4通道存储测试系统设计[J].电子测试,2011(8):48-52.

[4]J E Scott.铁电存储器[M].北京:清华大学出版社出版,2004:46-54.

[5]赵振华,赵小庆.串行FRAM FM25H20原理及应用[J].国外电子元器件,2008(10):41-45.

[6]童长飞.C8051F系列单片机开发与C语言编程[M].北京:北京航天航空大学出版社,2005.

[7]张迎新,雷文,姚静波.C8051F系列SOC单片机原理及应用[M].北京:国防工业出版社,2005.

[8]薛小刚,葛毅敏.Xilinx ISE9.X FPGA/CPLD设计指南[M].北京:人民邮电版社,2007.

[9]侯伯亨,刘凯,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,2009.

[10]Analog Device AD7274 Data Sheet 2005[S].

[11]朱仕永,祖静,范锦彪.基于CPLD的弹载加速度存储测试仪[J].探测与控制学报,2009(3):43-46.

C8051单片机 第9篇

关键词:C8051F340单片机,通用串行总线规范2.0版,USB总线,固件,设备驱动程序,客户应用程序

1 背景介绍

传统的数据采集设备与主机的通讯口一般采用RS232、RS422或RS485等标准,当今的设备通讯口大多采用USB标准[1]。作为一种新型的串口通信标准,基于USB接口的产品具有较高的传输速率,可扩展性好,采用总线供电,支持热插拔和即插即用等。特别是近几年来,USB大有完全取代上述标准的趋势。

其共有4种传输模式:控制传输、同步传输、中断传输、批量传输,以适应不同设备的需要。本系统采用中断传输模式。中断传输(interrupt transfer)用于必须在指定时间内传输完的数据上,支持高速/中速/低速的设备,能应用在一般数据的传输上。Windows包含启动设备中断传输的驱动程序,只要设备符合HID(human interface device,人机接口设备)规范,应用程序就可以执行设备的中断传输。需要特别注意的是,中断传输与其他USB传输一样,只发生在主机轮询设备的时候,并不是由设备触发的硬件中断。

随着USB技术的快速发展以及USB外设广泛的应用,支持USB接口技术的芯片也越来越多,而在外部设备设计选型时选用带有USB控制器的MCU,当然是设计开发人员的首选,因为这样不仅可以大大简化硬件电路、减小外设体积,而且还可以提高产品的可靠性[2]。

C8051F340就是顺应这种需求而推出的一种新型USB控制器芯片,其主要特点及优点为:

(1)高速、流水线结构的8051兼容的微控制器内核(可达48 Mb/s)。

(2)全速、非侵入式的在系统调试接口(片内)。

(3)真正10 bit 200 kb/s的单端/差分ADC,带模拟多路器。

(4)片内电压基准和温度传感器。

(5)片内电压比较器(2个)。

(6)精确校准的12 MHz内部振荡器和4倍时钟乘法器。

(7)多达64 KB的片内FLASH存储器。

(8)多达4 352 B片内RAM(256+4 KB)。

(9)USB功能控制器,符合USB规范2.0版,集成时钟恢复电路,无需外部晶体;支持8个端点;1 KB USB缓存;集成收发器,无需外部电阻。

C8051F340的这些特点,使其在设备设计开发中具有极强的竞争力,特别是在USB通讯设计中。本文采用C8051F340设备作为数据采集系统的下位机,上位机使用Delphi7.0编写客户应用程序,使用Silicon公司配套提供的USBXpress[3]设备驱动文件,达到了很好的设计效果。整体上讲,USBXpress是一个库函数,上下位机的程序都是用库的形式来实现[4]。

2 硬件设计

因为C8051F340在USB接口上特有的优势和特点,硬件接口设计变得非常简单,不需要再添加额外的电子元器件,就能实现USB的数据传输与控制。图1是C8051F340的USB硬件接口连接图。通过标准的Mini B型5pin USB接口,实现下位机和上位机硬件连接,完成系统通讯中硬件通路。

3 软件设计

设计中采用USB中断模式。

系统软件设计使用Cygnal/Silicon Laboratories公司的USBXpress软件开发包。该开发包针对C8051F340等器件的USB接口编程设计,提供了完整的上位机与下位机软件解决方案。不需要过多熟悉USB协议和设备驱动的知识,只需掌握客户端和设备端的应用程序接口(Application Program Interface,API),编程就能实现USB通讯控制功能。图2是USBXpress数据流程。USBXpress软件开发包中,固件库文件选则USBX_F34X.LIB,头文件选择USB_API.h;上位机中动态链接库文件(dll)调用Si USBXp.dll;驱动程序使用Si US-BXp.sys,INF驱动安装文件Si USBXp.inf。

设计可分成两大部分:固件设计(下位机软件设计);客户应用程序(上位机软件设计)。下面依次进行设计说明。

3.1 下位机软件设计

选择Keil u Vision3(版本V3.30a)来开发固件,因为C8051F340支持系统调试(ISP),极大地简化了调试与开发流程。

在程序中调用头文件USB_API.h和库文件USBX_F34X.LIB,设备接口函数可满足API应用要求。所用到设备接口函数主要有:

USB_Clock_Start()/*初始化USB时钟*/

USB_Init()/*使能USB接口*/

Block_Write()/*通过USB向主机写入数据*/

Block_Read()/*通过USB从主机读取数据*/

Get_Interrupt_Source()/*得到引发API中断的类型*/

USB_Int_Enable()/*API中断使能*/

USB_Int_Disable()/*API中断禁止*/

USB_Disable()/*USB中断禁止*/

USB_Suspend()/*USB中断暂停*/

USB_Get_Library_Version()/*返回USBXpress固件库版本*/

API工作在中断驱动模式下,所以在下位机中一定要指明所用USB API中断的向量入口地址0x008B(中断17),需要注意的是:在F340中,USB的硬件中断的向量入口地址是0x0043(中断8),USB API中断17是一个虚拟中断,由US-BXpress固件库产生,特定的事件引发。事件的类型由Get_Interrupt_Source()函数得到。

USB API中断函数调用形式如下:

主程序工作流程如下:

3.2 上位机软件设计

上位机软件在Delphi7.0环境下开发,通过主机(上位机)的API函数调用动态链接库文件Si USBXp.dll,启用应用程序与设备驱动程序之间的通信,从而实现上位机与下位机之间的数据通讯[5,6]。

用到的主机API函数主要有:

SI_Get Num Devices()/*返回主机所连接USB设备的个数*/

SI_Get Product String()/*返回所连接USB设备的描述符*/

SI_Open()/*打开USB设备*/

SI_Close()/*关闭USB设备*/

SI_Read()/*读设备*/

SI_Write()/*写设备*/

动态链接库有两种加载方式:静态加载和动态加载。它们有所不同:静态速度快些,动态资源占用更少,甚至有时当动态链接库不在的时候也可以运行程序。建议更多地使用动态加载,程序的可执行性更好。

应用程序工作流程示意图见图3。

具体的API调用过程这里不再赘述。

最终的应用程序界面见图4。

4 结束语

随着USB技术的快速发展以及USB外设在越来越多的场合广泛应用,很多设备和计算机已经不再把RS232等串行接口作为基本配置,有的甚至只有USB接口,所以,熟悉和掌握USB通讯方法已成为单片机工程师必备的一项技能,希望本文能为学习者提供一些借鉴和参考。

参考文献

[1]萧世文,宋延清.USB2.0硬件设计[M].2版.北京:清华大学出版社,2007.

[2]陈连坤.嵌入式系统的设计与开发[M].北京:清华大学出版社,北京交通大学出版社,2005.

[3]Silicon Lab oratories.USBXpress Programmer's Guide[EB/OL].(2007-10-19)[2008-11-4].http://www.xhl.com.cn/AN169_USB-Xpress_Programmers_Guide.pdf

[4]靳超伟,陈连坤.基于USB总线的多路电话录音系统[J].单片机与嵌入式系统应用,2006(11):59-61.

[5]董良,高磊.深入浅出Delphi6[M].北京:清华大学出版社,2002.

相关文章
创新公共服务范文

创新公共服务范文

创新公共服务范文(精选12篇)创新公共服务 第1篇科学技术是第一生产力,科技公共服务平台对国家或区域的技术创新具有巨大的推动作用。科技...

3
2025-10-24
匆匆中学生读后有感

匆匆中学生读后有感

匆匆中学生读后有感(精选9篇)匆匆中学生读后有感 第1篇匆匆读后感500字_读《匆匆》有感当细细地品读完一本名著后,大家心中一定有不少感...

1
2025-10-24
草莓教学范文

草莓教学范文

草莓教学范文(精选17篇)草莓教学 第1篇“风儿轻轻吹,彩蝶翩翩飞,有位小姑娘上山摘草莓,一串串哟红草莓,好像……”优美的歌词,动听...

3
2025-10-24
仓储类课程范文

仓储类课程范文

仓储类课程范文(精选7篇)仓储类课程 第1篇物流产业是复合型产业,发达的物流能加速传统运输、仓储和零售等行业向现代物流服务领域延伸。...

1
2025-10-24
创造性批评:解说与解读

创造性批评:解说与解读

创造性批评:解说与解读(精选8篇)创造性批评:解说与解读 第1篇创造性批评:解说与解读作为诗性文化重要组成部分的审美批评,同文学艺术实践...

2
2025-10-24
初二地理试卷分析

初二地理试卷分析

初二地理试卷分析(精选6篇)初二地理试卷分析 第1篇莲山 课件 w ww.5 YK J.COM 4 初二地理试卷分析二、试题所体现的新课程理念和...

3
2025-10-24
常州市河海中学文明班小结

常州市河海中学文明班小结

常州市河海中学文明班小结(精选2篇)常州市河海中学文明班小结 第1篇常州市河海中学2008~2009学年第一学期 八(1)班创 文 明 班 ...

2
2025-10-24
财务负责人身份证明

财务负责人身份证明

财务负责人身份证明(精选14篇)财务负责人身份证明 第1篇财务负责人身份证明及签字样本兹证明为我公司财务负责人。特此证明。身份证复印...

1
2025-10-24
付费阅读
确认删除?
回到顶部