当前位置:文档之家› c8051f单片机教程

c8051f单片机教程

c8051f单片机教程
c8051f单片机教程

内容:西安科技大学科技创新实验班C8051F单片机教程之一

作者:苗瑞

日期:2009-12-8

网站:https://www.doczj.com/doc/3b10277313.html,/bbs

一、认识C8051F并与51比较

本节主要是让初学C8051F单片机的学员有个感性的认识,着重强调理论方面的知识,并通过与51单片机的比较,让大家能有更深刻的体会。

1、C8051F单片机简介

C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器内核,与MCS-51 指令集完全兼容。除了具有标准8052 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件

MCU 中的外设或功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/ I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O 端口、电源监视器、看门狗定时器(WDT)和时钟振荡器等。所有器件都有内置的FLASH 程序存储器和256 字节的内部RAM,有些器件内部还有位于外部数据存储器空间的RAM,即XRAM。

C8051Fxxx 单片机采用流水线结构,机器周期由标准的12 个系统时钟周期降为1 个系统时钟周期,处理能力大大提高,峰值性能可达25MIPS。 C8051Fxxx 单片机是真正能独立工作的片上系统(SOC)。每个MCU 都能有效地管理模拟和数字外设,可以关闭单个或全部外设以节省功耗。

FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051 固件。应用程序可以使用MOVC 和MOVX 指令对FLASH 进行读或改写,每次读或写一个字节。这一特性允许将程序存储器用于非易失性数据存储以及在软件控制下更新程序代码。片内 JTAG 调试支持功能允许使用安装在最终应用系统上的产品MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用JTAG 调试时,所有的模拟和数字外设都可全功能运行。每个 MCU 都可在工业温度范围(-45℃到+85℃)内用2.7V-3.6V(F018/019 为2.8V-3.6V)的电压工作。

端口I/O、/RST 和JTAG 引脚都容许5V 的输入信号电压。

1.1、CIP-51内核

C8051Fxxx 系列器件使用Cygnal 的专利CIP-51 微控制器内核。

CIP-51 采用流水线结构,与标准的8051 结构相比指令执行速度有很

大的提高。在一个标准的8051 中,除MUL 和DIV 以外所有指令都

需要12 或24 个系统时钟周期。而对于CIP-51内核,70%的指令的

执行时间为1 或2 个系统时钟周期,只有4 条指令的执行时间大于4

个系统时钟周期。CIP-51 共有111 条指令。CIP-51 工作在最大系统

时钟频率25MHz 时,它的峰值速度达到25MIPS。扩展的中断系统向

CIP-51 提供22(C8051F3xx 为12)个中断源(标准8051 只有7 个

中断源),允许大量的模拟和数字外设中断微控制器。MCU 可有多达

7 个复位源。MCU 内部有一个能独立工作的时钟发生器,在复位后

被默认为系统时钟。

1.2、存储器

CIP-51 有标准8052 的程序和数据地址配置。某些器件中还另有位于外部数据存储器地址空间的 1K- 4K 字节的RAM 块。这个RAM块可以在整个 64k 外部数据存储器地址空间中被寻址。

C8051F02x 中有可用于访问外部数据存储器的外部存储器接口(EMIF)。这个片内外部数据存储器地址空间可以只映射到片内存储器、只映射到片外存储器、或两者的组合(4K 以下的地址指向片内,4K 以上的地址指向EMIF)。EMIF 可以被配置为地址/数据线复用方式或非复用方式。

MCU 的程序存储器为8K- 64K 字节的FLASH。该存储器以512 字节为一个扇区,可以在系统编程,且不需在片外提供编程电压。

1.3、JTAG 调试和边界扫描

C8051Fxxx 具有片内JTAG 和调试电路,通过4 脚JTAG 接口并使用安装在最终应用系统中的器件就可以进行非侵入式、全速的在系统

调试(C8051F3xx 具有片内C2 调试电路,通过2 脚C2 接口并使用安

装在最终应用系统中的器件就可以进行非侵入式、全速的在系统调试)

Cygnal 的调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和单步执行。调试时不需要额外的目标RAM、程序存储器、

定时器或通信通道,并且所有的模拟和数字外设都正常工作。当MCU 单

步执行或遇到断点而停止运行时,所有的外设(ADC除外)都停止运行,以保持同步。

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

每个端口I/O引脚都可以被配置为推挽或漏极开路输出。在标准

8051中固定的“弱上拉”可以被禁止,这为低功耗应用提供了进一步节电的能力。可能最突出的改进是引入了数字交叉开关(C8051F2xx除外)。

这是一个大的数字开关网络,允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的微控制器不同,这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚。这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。

1.5、可编程计数器阵列

除了通用计数器/定时器之外,C8051F00x/01x/02x MCU还有一个片内可编程计数器/定时器阵列(PCA)。PCA包括一个专用的16位计数器/定时器时间基准和5(C8051F3xx为3)个可编程的捕捉/比较模块。时间基准的时钟可以是下面的六个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8(C8051F00x/01x没有后两个时钟源)。每个捕捉/比较模块都有4或6种工作方式:边沿触发捕捉、软件定时器、高速输出、8位脉冲宽度调制器、频率输出、16位脉冲宽度调制器(C8051F00x/01x没有后两种工作方式)。

PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到MCU的端口I/O引脚。

1.6、串行端口

C8051Fxxx系列MCU内部有一个全双工UART、SPI总线和SMBus/I2C总线。每种串行总线都完全用硬件实现,都能向CIP-51产生中断,因此很少需要CPU的干预。这些串行总线不“共享”定时器、中断或端口I/O,所以可以使用任何一个或全部同时使用。C8051F02x系列MCU内部还有第二个UART,这是一个增强型全双工UART,具有硬件地址识别和错误检测功能。

1.7、模数转换器

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

1.8、数模转换器

C8051F00x/01x/02x(F018/19除外)内部有两个12位电压输出DAC,

MCU可以将任何一个DAC置于低功耗关断方式。C8051F02x的DAC有灵活的输出更新机制,允许用软件命令和定时器2、定时器3及定时器4的溢出信号更新DAC输出。DAC在作为比较器的参考电压或为ADC差分输入提供偏移电压时非常有用。

1.9、比较器

大多数 C8051Fxxx MCU 内部都有两个比较器CP0 和CP1 (在F002/007/012/017300/301/302/303中没有第二个比较器CP1),MCU可以将任何一个比较器置于低功耗关断方式。可以用软件设置比较器的回差电压。每个比较器都能在上升沿或下降沿产生中断,或在两个边沿都产生中断,比较器的输出状态可以用软件查询。比较器中断能将MCU从等待方式唤醒。可通过设置交叉开关或端口MUX将比较器的输出接到端口I/O 引脚。

二、c8051f单片机和51单片机的不同之处

1、c8051f单片机没有采用时钟12分频,因此运行速度快了一个数量级;

2、c8051f单片机采用低电平复位,而51采用高电平复位;

3、c8051f单片机内部带有晶振,其中不少的精度高,可以和外部的晶振切换工作;

4、c8051f单片机的看门狗上电复位后已打开(所以通常要关掉),而51

单片机的看门狗上电复位后关闭;

5、c8051f单片机的flash至少可以擦除编程20000次,而且可以当e2prom

数据寄存器使用,而51单片机的flash最多擦除编程1000次;

6、51采用5伏供电,c8051f单片机虽然采用3伏供电,但i/o口可以承受5伏电压;

7、51单片机的一个i/o口最多有两种功能,而c8051f单片机的i/o口可以

达到3种以上的功能,这是通过内部的交叉开关实现的;最后要说的是开发工具不一样。

8、C8051F系列单片机的IO口全部为三态双向口(而传统51单片机P1、

P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏输出和推挽输出(传统51单片机只有开漏输出)

三、C8051F问答

1、问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?

答:不同器件的内部时钟振荡器的精度是不同的(±20%)。随电源电压变化,它

也将发生变化(6.5%/V)。但基本不随温度变化(<1%温度变化范围-40℃~+85℃)。由于不同器件内部振荡器的离散性较大,所以不能用于产生波特率,应该外接标准晶体。而有些器件,如C8051F3xx/f12x/f04x/f06x内部振荡器精度为±2%,可用于产生波特率。

2、问:片内/外振荡器如何配置?

答:正确步骤:

1、允许外部振荡器;

2、等待1ms;

3、查询XTLVLD '0'->'1'

4、切换到外部振荡器。

注意:振荡器频率的选择,即OSCXCN寄存器的配置(外部振荡器频率控制位的设置)。

3、问:C8051F MCU的指令执行速度为多少?

答:C8051F MCU的CIP-51内核采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。标准的8051单片机执行一个单周期指令需要12个系统时钟周期,而C8051F MCU执行一个单周期指令只需要一个系统时钟周期。如果系统时钟频率为25MHz,执行一个单周期指令所需时间为40ns。

4、问:切换外部晶振时应注意哪些问题?

答:首先要允许外部振荡器,但此时的系统时钟源仍应是内部时钟,直到外部振荡器稳定后,才可将系统时钟源切换到外部振荡器上,否则会出现切换不过去,系统死机的情况。

5、问:使用外部晶振应注意哪些问题?

答:(1)、所有的模拟和数字电源引脚都应接电源(2.7~3.6V);

(2)、C8051F3xx系列器件的晶振引脚间应跨接一个10M电阻(在新华龙网站的“主页”—“原理图 /PCB库”中有C8051F系列单片机的典型接线图);

(3)、晶振、电容等相关器件尽量靠近单片机的晶振引脚。

6、问:系统时钟切换到外部时钟后,内部的时钟是否应关闭?

答:可以选择关闭或不关闭,但是从降低功耗的角度来说,应该关闭。

7、问:系统时钟可不可以在程序中随时切换?

答:可以,但是由内部再一次切换到外部时应按照技术问答2所介绍的步骤进行切换。

8、问:使用外部晶振时如何配置芯片的引脚?

答:对于芯片上有固定晶振引脚的设备(例如C8051F02X);相应时钟输入引脚按选择的晶振模式自动分配引脚;对于晶振引脚与GPIO共用的芯片(例如

C8051F30X);晶振引脚要按下述方式进行设置:

(1).外接晶体体时;XTAL1与XTAL2都要配置为模拟输入

(2).外接振荡电路为“RC”或“C”方式时,XTAL2引脚要配置为模拟输入

(3).外接CMOS时钟电路时,XTAL2引脚要配置为数字输入

(4).以上几种方式在引脚的配置中都要使用跳过功能将此引脚跳过

9、问:外接晶振的最高频率是多少?答:外接晶振的最高频率是30MHz;

10、模数转换

问:从上电(或退出掉电模式)到ADC稳定开始转换需要多长时间?

答:模拟建立时间也就是等待参考电平稳定的时间。它取决于接在VREF引脚的电容容量。此电容越大VREF的噪音就越小,ADC转换结果的噪音也就越小。如果用4.7μF电容,则稳定时间大约为2ms,如果无旁路电容(不推荐),稳定时间大约为10μS。注意:在开始转化之前,需要一个1.5μS的跟踪时间,这也就决定了ADC多路转换开关(MUX)的切换速度。

11、问:ADC的最大输入电压及输入阻抗?

答:ADC的最大输入电压为VREF,它的输入电压范围是0V-A V+/VDD。输入电容为10pF;输入阻抗等价于一个5kΩ电阻和一个10pF电容的串联。请参考应用笔记AN019“计算开关电容ADC的建立时间”。

12、问:ADC可编程窗口检测器有什么用途?

答:ADC可编程窗口检测器在很多应用中非常有用。它不停地将ADC输出与用户编程的限制量进行比较,并在检查到越限条件时通知系统控制器,这在中断驱动的系统中尤其有效,既可以节省代码空间和CPU带宽又能提供快速响应的时间。

13、问:为了使ADC或DAC具有更好的性能,是否应在VREF 引脚接电容?答:推荐在VREF引脚接一个0.1μF的陶瓷电容器与一个大的电容(典型为4.7μF钽电容)。在VREF引脚加电容是为了降低VREF的噪声。因为VREF的噪声越小,ADC或DAC转换结果的噪声也就越小。且这两个电容在PCB板上应尽可能离VREF引脚近。

14、问:内部参考电平是否可以用于外部电路的参考?

答:可以,你可以用VREF信号作为输出驱动其它电路(像放大器的偏置电压等)。注意,VREF引脚只能提供源电流,也就是说,要有负载接地使电流流出C8051器件。例如,如果你将VREF连到OP运放的(+)节点,你要加一个下拉电阻对地(24K左右)将电流限制在100μA。

15、问:如果测试的模拟输入电压范围是0-5V怎么办?

答:因为模拟输入(AINx)引脚不能承受5V电压,任何引脚在任何情况下(不

管ADC或PGA的设置如何)必须使其输入电压保持在AGND和A V+之间,这是为了避免沉(或源)电流通过ESD保护装置。为了测试0-5V范围的信号,必须使信号衰减(衰减到A V+以下)才能进入到ADC输入。当使用外部VREF 时,要求VREF的最大值比A V+小300mV。

16、问:F02x器件内部有PGA(可编程增益放大器)可以对输入模拟信号进行放大。其中的一个放大倍数为0.5 倍。是否意味着我可以外接+6V的模拟输入电压,经过0.5倍的放大变成3V输入到AINx呢?

答:请注意:任何模拟引脚(数据IO口和VDD引脚除外)的最大输入电压为-0.3V 到 VDD+0.3V。如果超出此范围可能造成器件永久损坏。

在单端输入方式,有两个限制因素如下:

(1)、AIN输入电压必须在AGND和A V+之间以避免吸/源电流流过ESD保护器件。

(2)、AIN电压必须在AGND和(VREF / GAIN) 之间。假设一个12位的ADC,AINx 引脚的输入电压小于AGND,结果将是0x000;如果输入电压大于(VREF / GAIN) ,结果将是0xFFF。

例如,使用外部1.25V参考,PGA增益为0.5,允许的电压输入范围是0V到(1.25V / 0.5 = 2.5V)。

17、问:如何提高系统的ADC的性能?

答:第一、将模拟电源和数字电源分开,可以使用比较简单的方法,如在模拟电源和数字电源之间加简单的滤波。

第二、将模拟地和数字地分开,并在电源附近通过磁珠连接。

第三、制板时,大面积覆铜。

第四、未使用到的模拟引脚要接地。

第五、为了确保参考电压的稳定,参考电压引脚一定要接去耦电容。

第六、模拟信号的输入电压范围是0-VDD,如果模拟输入的外围有可能侵入高电压(超过芯片的极限允许范围),就要采取保护措施(如加两个肖特级二极管)。如果模拟输入会有瞬间过电流,也要加限流保护。

18、问:如果使用内部参考源,C8051F020/F021的参考电压引脚如何连接?答:C8051F020/F022共有4个参考电压引脚,VREF,VREF0,VRFE1和VREFD。允许ADC和DAC使用一个外部电压基准或片内电压基准。通过配置VREF0CF 基准电压控制寄存器,ADC0还可以使用DAC0的输出作为内部基准,ADC1也可以使用模拟电源作为电压基准。内部基准电压必须通过VREF引脚连接到芯片内部。所以当您的系统中使用到内部基准电压时,必须确保VREF与VREF0,VREF1,VREFD(全部或部分)引脚的连接。

C8051F021/F023共有两个参考电压引脚,VREFA和VREF。如果ADC0和ADC1使用内部参考源,必须将VREFA与VREF引脚连接。

注意:如果使用ADC或DAC,则不管电压基准取自片内还是片外,REF0CN寄存器中的BIASE位必须被置为逻辑1。

19、问:为什么在进行A/D转换时测得的数据跳变很大?

答:当输入信号有干扰脉冲、ADC的转换时间太短、在通道切换后通道还没有稳定就开始转换等原因都会导致转换后的数据跳变大,请仔细检查以上三点并做相应的处理就可以解决此类问题。

20、问:在进行A/D转换时所测得的数据与计算所得的数据相差很大,但跳变不大,为什么?

答:(1)、计算时所用的基准电压是多少,如果用的是内部基准,把内部基准电压通过交叉开关分配到芯片引脚上,再进行测量;

(2)、换别的通道转换看是否正常。

21、问:ADC的单端输入与差分输入的区别?

答:在单端方式工作时;ADC转换的是单输入引脚对地的电压值;在增益为1时,测量的值就是输入的电压值;范围是0V到VREF;当增益增加时,输入的范围要相应的减小;在差分方式工作时;ADC转换的是AIN+与AIN-两个引脚的差值;在增益为1时,测量的值等于(AIN+)-(AIN-),范围是-VREF到+VREF;当增益增加时,输入的范围要相应的减小。

注意:在差分方式时所提的负压是指AIN-引脚的电压大于AIN+引脚的电压,实际输入到两个引脚的电压对地都必需是正的;例如:如果AIN+引脚输入的电压为0V,AIN-引脚的输入电压为1/2VREF时,差分的输入电压为(0V-1/2VREF) = -1/2VREF。

端口

22、问:器件IO口的吸收(sink)电流和源(source)电流是多少?

答:IO口的沉电流和拉电流的极限参数为100mA(但是此时已经不能保证端口的正常逻辑关系了)。具体的参数请参考datasheet的端口IO部分的“端口I/O 直流电气特性”。

23、问:端口是否要加保护?

答:在端口电流瞬间跳变的情况下,建议加限流电阻进行保护。另外如果端口可能有超过极限电压范围的瞬变电平侵入,也要加瞬态保护。(瞬态保护的通常方式为接入TVS器件)

24、问:C8051F系列单片机电源电压全部为2.7-3.6V,那么是否有与5V系统接口的比较简单的解决方案?

答:所有IO口允许5V(极限值为5.8V)输入,但是输出高电平为VDD。如果与5V系统接口,最简单的方法是开漏输出并在输出端加接5V上拉,关键是上拉电阻的选择。具体参考应用笔记AN011“在5V系统中使用 C8051Fxxx”。

建议:如果可能,请尽量选用供电电压兼容的芯片,这是一种最理想的选择。25、问:模拟引脚能否简单地用于数字I/O?

答:如果模拟引脚是独立的是不可以的。但是如果模拟引脚和数字IO是复用的,是可以通过SFR的设置来完成配置。

26、问:C8051F020/022的p4-p7口和p0-p3口有什么不同?

答:P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功能。而P4-P7口是通用口,另外P4-P7寄存器不能位寻址。27、问:如果通过Crossbar寄存器使能并分配为P0.0和P0.1引脚,那么,我还可以用这两个引脚为通用I/O吗?

答:①如果你通过Crossbar使能一个外设,如UART,那么这个外设将控制这些引脚的输出状态(逻辑高/逻辑低)。

②你可以在任何时刻读引脚的状态,与Crossbar控制与否无关。

③当被禁止时,大部分外设的输出引脚被置为高阻态(UART口是一个很好的例子)。因为UART收发器无明确的禁止态,你可将相应的引脚置成开漏输出模式,也可以达到相同的结果,因为UART收发器在空闲时引脚为逻辑1。

总的来说,Crossbar置配后在末使用时的外设引脚可以用于数据输入,但不能作为数据输出。其它器件,如F3xx系列,口引脚可通过Crossbar“重新声明”且用于GPIO引脚对器件管脚无影响,因为这些器件具有“引脚跳过”(PIN SKIP)特性。

28、问:IO口的开漏和推挽输出如何使用?

答:将端口引脚置成推挽输出方式,这将使能端口引脚驱动器。总体上来讲,数据输入端口引脚置成开漏方式、数据输出端口引脚置成推挽方式。当引脚用于输出连接上拉电阻(也就是说当与5V系统接口时)时配置成开漏输出。

29、问:引脚P1.4~P1.7中断如何使用?

答:如果外部中断(EX4-EX7)使能且相应的引脚P1.4~P1.7变低(可以是外部输入信号、写输出端口锁存或是Crossbar定义的外设启动的事件)。那么中断标志(PRT1IF.n)将置位,如果全局中断使能,将产生一个中断。中断逻辑检测本身的逻辑状态,与产生逻辑状态变化的原因无关。

30、问:是不是所有的C8051F系列单片机的I/O口都是5V兼容?

答:不是,例如C8051F060只有P0口是5V兼容,具体的要参照相关型号的数据手册。

31、问:P4口的某些引脚已用为外部存储器的控制信号,剩下的口线能否作为普通I/O使用?

答:可以,但不能直接给此端口送数,应通过“与”或者“或”的方式来对此端口进行操作。

32、问:为什么端口的数据寄存器置为0时,其引脚上的电平还是为高电平?答:交叉开关使能位没有置位。

33、问:端口在停机(STOP)模式下是什么状态?

答:端口在停机模式下将保持进入停机模式前的状态。

C8051F021单片机实验指导

提要:实验项目 1、单片机的IO编程 实验1 IO开关量输入实验 实验2 IO输出驱动继电器(或光电隔离器)实验 实验3 IO输入/输出------半导体温度传感器DS18B20实验2、单片机的中断系统 实验1 外部外部中断----脉冲计数实验 3、单片机的定时器/计数器 实验1 计数器实验 实验2 秒时钟发生器实验 4、单片机的串口特点和编程 实验1 P C机串口通讯实验 实验2 R S485通讯实验 5、存储器 实验1 RAM存储器读写实验 6、PWM发生器 实验1 PWM发生器(模拟)实验 实验1 PWM发生器(内部)实验 7、WDG看门狗 实验1 外扩WDG(MAX813)实验 实验2 WDG(内部)实验

8、SPI总线 实验1 SPI(模拟)实验-----TLC2543 AD转换实验 实验2 SPI(模拟)实验-----TLV5616 DA转换实验 9、I2C总线 实验1 I2C(模拟)实验-----AT24C01读写实验 实验2 I2C(内部)实验-----AT24C01读写实验 10、综合实验 实验1 HD7279LED数码管显示实验 实验2 HD7279键盘实验 实验3 外部中断---电机转速显示实验 11、步进电机正反转实验 12、TFT液晶显示彩色条纹实验 13、16X16LED点阵显示汉字实验 一、单片机的IO编程 实验1 IO开关量输入实验 目的:学习单片机读取IO引脚状态的的方法。 内容:编程读取IO引脚状态。 设备:EL-EMCU-I试验箱、EXP-C8051F021 CPU板。 编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状态。 步骤: 1、将CPU板正确安放在CPU接口插座上, 2、连线:用导线将试验箱上MCU部分的IO1--- IO8分别连接到SWITCH 的8个拨码开关的K1---K8的输出端子K1---K8上,连接好仿真器。

STC15W系列单片机初学者教程

目录 因为网站限制原因,其他链接都不予显示,还有联系方式都不予显示,带来不便非常抱歉 1.开始学习了 2.15W4K32S4单片机简介资料 3.单片机可以用来做什么呢? 4.单片机示例!写一个串口通讯程序,您也可以直接先从这 步开始学习 5.相关资料链接(数据手册,其他进阶例子,开拓眼界) 6.售后持续支持 7.所有下载链接汇总 一. 开始学习了 这个宝贝包含的硬件,也就是给您发货的内容包含以下东西:

1.15W4K32S4最小系统板 1块 2.转串口下载器一个2303转串口 1块用来下载程序和串口 通讯 3.白色面包板一个 1块适合搭建各种电路 4.一个霍尔传感器,制作一个霍尔电路做一个磁控开关 5.若干杜邦针;连接电路 6.彩灯3 颗若干电阻学习彩色灯控制彩色灯 7.三极管若干个电位计 1个灯亮度控制 8.提供上面所有元器件手把手教程手把手教程

这篇教程能够让您学会什么呢? 1.怎么使用 4软件编写的程序,并且使用下载程序到单片机 上面; 2.串口通讯程序,另外在电脑端使用软件进行图形化显示 程序; 如果您有兴趣的话,希望下面对您学习工作有帮助,资料有点多,但是还是值得花一些时间实际操作演示,只有自己动手了,才能体会到更多的内容。

二. 15W4K32S4单片机简介 15W4K32S4单片机是一款非常优秀的51系列单片机,很适合用来作为初学者入门单片机世界。当然单片机的世界没有最强大,只有最适合的单片机。如果你有了解过什么是51单片机和一点C语言。就可以尝试进入这款单片机。边玩边搭建更多的电路,在玩中学习。 继续往下看,将会一步一步演示给您看具体怎么是使用这款单片机。请有耐心的看下去哦,不过如果一次看不完的话,可以分多几天来操作,关键是要坚持! 那么单片机可以用来做什么呢? 目前单片机渗透到我们生活的各个领域,小到电话,玩具,手机,刷卡机,电脑键盘,彩电,冰箱,空调,电磁炉,大到汽车,工业自动控制,机器人,导弹导航装置,甚至是美国的火星车,这些设备里面都含有一个或者多个单片机。单片机的数量不仅远超过机,甚至比人类的数量还要多。可见数量之庞大,用途之广泛啊。 三. 我们掌握单片机有什么用呢?

单片机学习感悟

这个我从别处贴来百度文库的。写的非常的好。我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱!!! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。 。“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有

限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字“从单片机初学者

C8051Fxx单片机开发工具及调试技术

关于开发工具及调试的技术问答 1、问:C8051FXX系列单片机的开发工具是不是串行适配器(PC机串口和JTAG协议转换适配)相同而目标版不同? 答:开发套件中串行适配器(核心部件)是通用的,只是目标版不同。只要您购买一套开发套件,就可以开发全系列单片机,只要将集成开发环境软件升级就可以了。为了加快您的开发进程,您只要购买带有相关型号单片机的目标板就可以了。 2、问:C8051F单片机是怎样调试用户系统的? 答:C8051F单片机是用开发套件来调试用户系统的。单片机开发套件包括开发软件IDE(集成开发环境),ML-EC3至PC机USB口和单片机JTAG接口的协议转换模块和一个目标板(板上有 C8051FMCU)。IDE中集成编译器,汇编器和连接器,支持汇编语言和C语言(第三方支持);ML-EC3是从USB口到JTAG协议的转换模块。 目标板上带有一块相应的C8051FMCU和一些简单的外围电路构成一个最小单片机系统,并将所有引脚连接到插座。C8051F单片机内集成了一个以JTAG协议为基础的调试电路,这样在调试您的系统时,不需要专用仿真芯片、目标仿真头及目标RAM等。您在IDE上编译生成程序代码后,通过ML-EC3(连接到计算机USB口和JTAG接口)将代码下载到用户系统板的C8051FMCU的Flash存储器中,然后您就可以调试您的目标系了。 3、问:可以用KeiluVision2IDE调试全系列C8051F单片机应用系统吗?

答:可以。但必须安装动态链接库。该驱动程序可以在我公司的网站上下载。 4、问:如何将绝对目标代码转换成hex格式文件? 答:第一,可以使用KEILC,在编译时直接生成。 第二,使用OH51(DOS命令)将目标文件转换成hex格式的文件。 Oh5Linputfile〔hexfile〕 第三,在IDE环境中生成HEX文件 ﹙1﹚.在TOOL菜单中选择ADDREMOVEUSERTOOL ﹙2﹚.点击ADD按钮,增加一个MENUTEXT(名称可以任何输入) ﹙3﹚.在TOOLS里选择OH51.EXE文件(此文件在KEIL的BIN目录中有,必须将此文件放在项目所在目录) ﹙4﹚.在ARGUMENTS里输入文件名或项目名 ﹙5﹚.在DIROF里输入HEX文件的保存目录 5、问:Silabs IDE中带有4K代码限制版的KeilC51,那么如何将无限制版的KeilC51嵌入到Silabs IDE中呢? 答:先将您完全版的KeilC51安装到您的PC机中;然后进入Silabs IDE界面,选择Project-﹥TOOLChainIntegration弹出对话框,单击Browse按钮,更换A51.EXE和BL51.EXE的路径(换成“Keil安装目录”/c51/bin)即可。 6、问:程序代码加密后,IDE不能与目标系统连接怎么办?

单片机初学者必看

单片机初学者必看 51、A VR、430、ARM(包括嵌入操作系统)、FPGA当前单片机系统如此丰富,对于新手到底该如何选择呢?我认为最大的误区,在于新手普遍的追时髦心理,急功近利心理,妄想短时间之内学会ARM,学会嵌入操作系统。网上资料、厂家宣传、培训机构广告也对初学者产生误导,使之误认为ARM很容易学。但是没有51单片机知识作为基础,其他一切都是空中楼阁。必不能达到预期效果。51单片机作为入门级产品,现在更多的体现在教学意义上了。虽然大部分的产品,已经淘汰51,使用高级芯片或者增强型51芯片,但是奉劝初学者,还是要从底层、基础、即51开始单片机的学习。学好、学会、精通51单片机再学习其他单片机也能很快入门。 第二个问题,学习单片机,需要有哪些基础,入门都学哪些东西。 很多初学者经常问,我能学单片机吗?难吗?我现在什么也不会啊?这里想说几句,要想学习单片机开发,需要有以下几方面基础,但要求并不是很高,可以在以后的学习过程中慢慢学。 1、电路基础:一些数字电路、模拟电路基础。毕竟以后要自己设计电路,这些知识是很有用的。 2、C语言基础:我个人比较喜欢C语言开发,相比汇编最大的优点就是移植性要好。学习51单片机,C语言编程当然需要有些基础。 3、一些单片机的基础知识:虽然是初学者,但是一些基础理论知识还是应该知道的。 4、一些焊接等动手能力,这个要求就不是那么严格了。呵呵。不过能搭一手漂亮的电路还是挺好的。 怎么样算入门? 1、学会使用编译器软件:就是在编译器下建立一个项目,编写一点点代码,生成一个程序文件。当你熟悉这个流程以后,就变得非常容易了。不过第一次还是很难实现的,最好有一个比较详细点的教程。 2、学会使用下载工具和软件:把程序烧录到单片机里,运行起来,需要动手去操作。 3、学会使用调试工具:如有条件,可以学习硬件仿真调试。 4、以上可以在学习板上实现,不过以后你要学会自己设计并制作电路。所以还要学会PRTEL软件使用。 第三个问题,学过一段51单片机了,入门也会了。以后怎么办啊? 很多初学者,学了一款51学习板,基础东西也都会了,下一步怎么发展却不知道了。下面的一些理论是我的一点不成熟想法,有这样困惑的朋友可以参考参考。 1、单片机的平面发展理论:不断学习同一个层次、不同结构、不同品牌的单片机。 学会了一个系列、一个公司单片机,比如51(AT89S51),了解的它的全部内部资源。下一步学习,仍然可以围绕51进行。可以扩展到其它公司的51单片机,比如stc、pic因为他们有很多增强型51单片机。功能比普通AT89S51强很多。如果可以,接触更多的同系列的51单片机。最终能够在做产品时,选择最正确的单片机,对每一种51单片机的优劣有清晰的判断。 2、单片机的纵向发展理论:不断学习高级别的单片机。 在学会一个系列的单片机,继续学习高级的单片机,比如从51到A VR、到ARM。可以学习到更多的单片机,接触到更多的知识。 3、单片机的外围发展理论:不断学习单片机的外围功能模块。 学会一个系列的单片机以后,转而研究外围电路。不论是输入、输出、通讯、逻辑和计算。单片机外围电路千变万化,其功能模块也千奇百怪。这样的模块学的越多,对你做产品的好处越大。毕竟所有功能模块都是用在单片机上的,不论是51还是ARM都需要有外围电路才能实现功能。

单片机应用技术课程整体教学设计

《单片机应用技术》整体教学设计 (2015~2016学年第2学期) 课程名称:单片机应用技术 所属系部:信息与智能工程系 制定人:郭志勇巩雪洁 合作人:李自成张留忠 制定时间:2016.1.16 安徽电子信息职业技术学院

一、课程基本信息 一、课程定位 本课程主要是以智能控制、智能电子产品、智能机器人工程项目为主线,采用企业真实工作任务,通过“项目驱动”教学模式,对国内外广泛应用的MCS-51系列单片机的AT89S52单片机工作原理、应用系统的剖析,使学生获得有关单片机硬件、 软件的基本概念、基本知识和单片机应用系统的设计编程入门知识以及用C 语言进行程序设计、运行、调试等基本技能,培养学生分析问题和解决问题的能力。 1. 岗位分析: 本课程主要培养具有智能电子产品和智能控制设计、分析、调试和制作能力的技术技能型人才,可以从事智能电子产品和智能控制设计开发、生产、销售与服务等相关工作,如图1所示。 图1 课程与岗位

2. 课程分析: 本课程是计算机控制技术、物联网应用技术等相关专业的职业能力必修课程,是计算机控制技术专业核心课程。在计算机控制技术专业课程体系中,基于单片机应用技术的课程结构如图2所示。 图2 基于单片机应用技术的课程结构 位于最底层的是本课程的先修课程,也是专业基础课程;本课程是专业核心课程;位于最上层的是本课程的后续课程,既专业课程。基于单片机应用技术的课程结构实现了无缝对接,同时也是我们学校其它相关专业的骨干课程,如嵌入式技术、电子信息工程技术、机电一体化、电气自动化、数控技术等专业都开设本课程。 二、课程目标设计 总体目标: 学通过本课程的学习,学生能熟练使用Proteus仿真软件、C语言编程,能完成简单的智能电子产品和智能控制设计开发;能根据智能电子产品和智能控制设计要求进行元器件焊接组装、软硬件调试;培养学生具有一定的创新思维能力,科学的工作方法和良好的职业道德意识,为提高学生职业技能奠定良好基础。 能力目标: (1)会运用keil集成开发环境,能用C语言编写控制程序、下载调试、查

从单片机初学者迈向单片机工程师_完整.doc

目录: KEY篇第一章----按键程序编写的基础 KEY篇第二章----基于状态转移的独立按键程序设计 LED篇第三章—模块化编程初识 LED篇第四章----渐明渐暗的灯 LED篇第五章----多任务环境下的数码管编程设计 我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱! !! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。 期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来, 看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏。卖弄”也好,吹嘘”也罢,我只是想认真的写写我这一路 走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。如果有啥好的想法和建议一定要说出来。 一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是 LED,液晶, 而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字从单片机初学者迈向单片机工程师”。名字挺大挺响亮,给我的 压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX 的人,希望能够给我们这些初学者更多的一些指点哈?@_@ 我们首先来看第一章节

51单片机C语言入门教程详细解说

单片机c语言入门 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

单片机初学者必须掌握的几个概念

单片机初学者必须掌握的几个概念 一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。 在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能用,分配地址当也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。 二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是串‘0‘和‘1‘组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。 2方式字或控制字(如MOV TMOD,#3),3即是控制字。 3常数(如MOV TH0,#10H)10H即定时常数。 4实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执兄令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来行了。 三、P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有个切换的过程,或者说要有一条指令,事实,各端口的第二功能完全是自动,不需要指令来转换。如、分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从 P3. 或送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用‘也并不是‘不能而是(使用者)‘不会‘将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB 的指令,并且当单片机执行到这条指令时,也会使变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。 四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000‘单元开始执行,也就是说:在系统的ROM中一定要存在‘0000‘个单元,并且在‘0000‘单元中存放的一定是一条指令。

c8051f系列单片机选型表

C8051F单片机选型表 Number MIPS (peak) Flash Memory (bytes) RAM (bytes) Ext Mem I/F Digital Port I/O Pins Serial Buses Timers (16- bit) PCA Chnls Internal Osc ADC1 ADC2 D C8051F005 25 32KB 2304 - 32 UART, SMBus, SPI 4 5 ±20%12-bit, 8ch., 100ksps - 1 2 C8051F015 25 32KB 2304 - 32 UART, SMBus, SPI 4 5 ±20%10-bit, 8ch., 100ksps - 1 2 C8051F020 25 64KB 4352 Y 64 2 UARTs, SMBus, SPI 5 5 ±20% 12-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F021 25 64KB 4352 Y 32 2 UARTs, SMBus, SPI 5 5 ±20% 12-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F022 25 64KB 4352 Y 64 2 UARTs, SMBus, SPI 5 5 ±20% 10-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F023 25 64KB 4352 Y 32 2 UARTs, SMBus, SPI 5 5 ±20% 10-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F040 25 64KB 4352 Y 64 CAN2.0B, 2 UARTs, SMBus, SPI 5 6 ±2% 12-bit, 13ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F060 25 64KB 4352 Y 59 CAN2.0B, 2 UARTs, SMBus, SPI 5 6 ±2% 16-bit, 2ch., 1Msps 10-bit, 8ch., 200ksps 1 2 C8051F064 25 64KB 4352 Y 59 2 UARTs, SMBus, SPI 5 6 ±2% 16-bit, 2ch., 1Msps - - C8051F120 100 128KB 8448 Y 64 2 UARTs, SMBus, SPI 5 6 ±2% 12-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F124 50 128KB 8448 Y 64 2 UARTs, SMBus, SPI 5 6 ±2% 12-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F126 50 128KB 8448 Y 64 2 UARTs, SMBus, SPI 5 6 ±2% 10-bit, 8ch., 100ksps 8-bit, 8ch., 500ksps 1 2 C8051F130 100 128KB 8448 Y 64 2 UARTs, SMBus, SPI 5 6 ±2% 10-bit, 8ch., 100ksps - - C8051F206 25 8KB 1280 - 32 UART, SPI 3 - ±20%12-bit, 32ch., 100ksps - - C8051F230 25 8KB 256 - 32 UART, SPI 3 - ±20%- - -C8051F236 25 8KB 1280 - 32 UART, SPI 3 - ±20%- - - C8051F300 25 8KB 256 - 8 UART, SMBus 3 3 ±2%8-bit, 8ch., 500ksps - - C8051F304 25 4KB 256 - 8 UART, SMBus 3 3 ±20%- - -C8051F305 25 2KB 256 - 8 UART, SMBus 3 3 ±20%- - - C8051F310 25 16KB 1280 - 29 UART, SMBus, SPI 4 5 ±2%10-bit, 21ch., 200ksps - - C8051F314 25 8KB 1280 - 29 UART, SMBus, SPI 4 5 ±2%- -C8051F315 25 8KB 1280 - 25 UART, SMBus, SPI 4 5 ±2%- - C8051F320 25 16KB 2304 - 25 USB 2.0, UART, SMBus, SPI 4 5 ±1.5% 10-bit, 17ch., 200ksps - - C8051F326 25 16KB 1536 - 15 USB 2.0, UART, SMBus, SPI 2 - ±1.5%- - - C8051F327 25 16KB 1536 - 15 USB 2.0, UART, SMBus, SPI 2 - ±1.5%- - - C8051F330 25 8KB 768 - 17 UART, SMBus, SPI 4 3 ±2%10-bit, 16ch., 200ksps - 1 1

单片机学习心得10篇

《单片机学习心得》 单片机学习心得(一): 单片机学习心得体会 我从大二起,就去实验室去学习。在那里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。 我是从学习单片机开始我的嵌入式学习的。 我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不明白改怎样学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器透过编写程序,我慢慢的弄懂了它们,此刻回头看去,原先它还是很简单的。 用哪种编程语言最适合我们。 我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,十分难懂。我认为刚开始学习单片机没有必要必须要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。 我的单片机学习心得。 很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。 单片机的学习实践。 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是十分重要的。如何学习好硬件,动手实践是必不可少的。我们能够透过自己动手做一个自己的电子制作,透过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就能够多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。 这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。

C8051F系列单片机的发展和应用

C8051F系列单片机的发展和应用 摘要:C8051F系列单片机的推出,使单片机进入SoC ( System on Chip )时代。C8051F系列单片机功能强大,能够作为嵌入式系统的主控制器,具有上手快(全兼容8051指令集)、研发快(开发工具易用,可缩短研发周期)和见效快(调试手段灵活)等特点,使得C8051F系列单片机得到广泛的应用。本文首先对C8051F 系列单片机做了大概的介绍,之后详细分析说明了它的原理机制,介绍了C8051F 系列单片机的特点,阐述了它的发展和应用。 关键词:C8051F SoC 发展应用 前言 在嵌入式系统低端的单片机领域, 80C51系列一直扮演着一个重要角色,近年来,由于80C51的速度低(每一条指令至少需要12个时钟周期) ,功耗高(几毫安到几十毫安) ,功能少(不能直接处理模拟信号)等等, 80C51系列单片机似乎已经走道了尽头,然而当前CYGNAL公司推出的C8051F系列单片机又将80C51兼容单片机推上了8位机的先进行列,使80C51系列从MCU时代进入到了SoC ( System on Chip )时代。 SoC是随着半导体生产技术的不断发展而产生的新概念,它是集成度越来越高和对嵌入式控制技术可靠性越来越高的产物[1]。SoC是指片上系统或系统级芯片, SoC的完整定义为:在同一个芯片上集成了控制部件(微处理器,存储器)和执行部件( I/O接口,微型开关,微机械) ,能够自成体系,独立工作的芯片。因此, C8051F系列单片机功能强大,能够作为嵌入式系统的主控制器。本文主要介绍了C8051F系列单片机的特点,以及它的发展和应用。 一 C8051F系列单片机简介 C8051F系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的CIP-51微控制器内核,采用流水线结构,单周期指令运

云龙电子-51单片机视频教程简介

小王老师51单片机视频教程简介本视频教程是针对YL-51单片机开发板讲的配套DVD视频教程目录: 讲次内容细节 第一课如何学好单片机单片机能做什么,学习单片机需要什么,如何学好单片机技术。 第二课预备知识点亮一个发光管认识单片机由来及内部结构,单片机最小工作单元组成;单片机开发软件操作:KEIL软件开发环境认识、单片机烧录软件使用。 第三课预备知识 C51基础知识及流水灯设计简单延时程序、子程序调用、、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用。 第四课数码管显示的原理,数码管的静态显示共阳、共阴数码管显示原理、带参数子程序设计。 第五课中断和定时器原理定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、定时器中断应用 第六课数码管的动态显示原理及应用实现动态扫描概念及定时器、中断加深 第七课按键学习:独立按键和矩阵按键键盘检测、消抖、键盘编码、带返回值函数写法及应用 第八课数模转换(DA)工作原理及应用数字电压与模拟电压的关系、如何使用DAC0832的实成DA转换 第九课模数转换(AD)工作原理及应用模拟电压与数字电压的关系,如何使用ADC0804的实成AD转换 第十课1602液晶显示原理及实现最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作 第十一课串口原理及应用串口通讯工作方式、重点讲述最常用的10位数据通讯、波特率概念及如何根据波特率计算定时器初值 第十二课IIC总线原理和模块化编程方法 IIC总线工作原理、目前非常通用的一种通信机制; 项目开发模块化编程方法。 第十三课红外通信原理及应用红外通信是目前应用最为广泛的通信和遥控手段。在本课程中以红外遥控为代表,具体讲解红外通信的具体过程。

c8051f单片机教程

内容:西安科技大学科技创新实验班C8051F单片机教程之一 作者:苗瑞 日期:2009-12-8 网站:https://www.doczj.com/doc/3b10277313.html,/bbs 一、认识C8051F并与51比较 本节主要是让初学C8051F单片机的学员有个感性的认识,着重强调理论方面的知识,并通过与51单片机的比较,让大家能有更深刻的体会。 1、C8051F单片机简介 C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器内核,与MCS-51 指令集完全兼容。除了具有标准8052 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件 MCU 中的外设或功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/ I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O 端口、电源监视器、看门狗定时器(WDT)和时钟振荡器等。所有器件都有内置的FLASH 程序存储器和256 字节的内部RAM,有些器件内部还有位于外部数据存储器空间的RAM,即XRAM。 C8051Fxxx 单片机采用流水线结构,机器周期由标准的12 个系统时钟周期降为1 个系统时钟周期,处理能力大大提高,峰值性能可达25MIPS。 C8051Fxxx 单片机是真正能独立工作的片上系统(SOC)。每个MCU 都能有效地管理模拟和数字外设,可以关闭单个或全部外设以节省功耗。 FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051 固件。应用程序可以使用MOVC 和MOVX 指令对FLASH 进行读或改写,每次读或写一个字节。这一特性允许将程序存储器用于非易失性数据存储以及在软件控制下更新程序代码。片内 JTAG 调试支持功能允许使用安装在最终应用系统上的产品MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用JTAG 调试时,所有的模拟和数字外设都可全功能运行。每个 MCU 都可在工业温度范围(-45℃到+85℃)内用2.7V-3.6V(F018/019 为2.8V-3.6V)的电压工作。 端口I/O、/RST 和JTAG 引脚都容许5V 的输入信号电压。 1.1、CIP-51内核

单片机程序设计方法

第十六课单片机程序设计方法 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即 目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片 机的程序设计语言 一程序设计语言 这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计语言基本上有三类 1 完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我 们必须想办法用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1比如刚才的MOV A 40H 就是汇编语言指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编汇编工作现在都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的道听途说我也没经历过呵呵

初学者怎么学习单片机

初学者怎么学习单片机 学习单片机的方法 1)鹦鹉学舌 刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊“妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了,孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。 大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单片机使用C语言的编程方法,初学者可能都没有见过,脑子里全无概念。没关系,有些概念和方法你不理解也没有关系,甚至不需要你去理解,你只需要跟着我去鹦鹉学舌式的学习,第一遍学习某一节课的内容时,对于程序,大家就可以完全跟着抄下来,甚至抄两三遍,过一段你会发现,好多东西你也认识了,好多概念你也慢慢的理解清楚了,你也能大概看懂别人的小程序了,切忌觉得自己看会了,而简单复制粘贴。 2)照葫芦画瓢 很多同学学习的时候喜欢看,看我做的视频,看我写的程序,甚至看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,感觉就是老鼠啃天,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”的毛病,所以第二步的内容就非常重要了。 我的要求是,每一位同学,在学完了当前课的内容,把第一步顺利完成以后,然后关掉视频教程,关掉源代码,自己通过看电路图和查找非源代码的其他任何资料,把当节课我写的程序代码重新默写出来,边写边多少理解那么一点点,不是纯粹的背诵,应该说是背诵加理解的结合体。甚至学过几节课以后,可以回头把前边曾经

这样实现过的课程,再按照这种方法做一遍。千万不要认为这一步 没必要,这一步是你能否真正学会单片机的一个关键,在学完本教 程之前,每一课内容都要这样做,如果每一个程序你都能够完美的 完成,那么可以说,当节课的内容,百分之七八十你已经掌握了。 3)他山之石,可以攻玉 单片机技术的最大特点就是可以通过修改程序来实现不同的功能,因此举一反三的能力就必不可少了。每一节课的例程后边,我一般 都会布置几个作业,大家尽量去独立完成这个作业。在完成这个作 业的过程中,都可以参考我的程序思路,在这个基础上通过动脑思 考去构建你自己的程序框架,最终将程序完成。 在我们工程师实际产品研发的时候,很多种情况下也是如此。比如一个产品,我们如果从零起步的话,可能会走很多弯路,遭遇很 多前人已曾遭遇过的挫折,所以我们通常的做法是寻找购买几款同 类产品,然后先研究他们的各自优缺点,学习他们的长处,然后在 同类产品基础上再来设计我们自己的产品,这就是“他山之石,可 以攻玉”。 初学者在学习的时候,往往遇到的问题很多,你应该想到,你遇到的问题,可能前辈们早就遇到过了,所以遇到问题后,不要慌张,首先利用谷歌或者百度这些搜索引擎在网上搜一下,要做什么新东西,先去网上找相关资料了解一下,不管是编程还是硬件设计,多 多参考别人的东西,只要把别人的东西分析明白了,自己用起来了,也就成为自己的知识了。 4)理论实践结合,温故知新 当大家把所有的课程都按照前边三步完成后,这个时候不妨再把书打开,再看看书,经过了自己的实战经历,再看书的时候,对很 多知识点会有一种恍然大悟的感觉。甚至视频教程、书籍都可以反 复看几遍,可能有的知识点当时学习的时候不明白,过了一段时间,回过头来再学习的时候,一下就明白了。 单片机C语言优化技巧

相关主题
文本预览
相关文档 最新文档