PIC 单片机C 语言编程简介用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单片机系统设计中已得到越来越广泛的运用。针对PIC 单片机的软件开发,同样可以用C 语言实现。但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本书围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中笔者最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite 入手掌握PIC 单片机的C 语言编程。
上传时间: 2013-11-17
上传用户:15527161163
C8051F040/1/2/3/4/5/6/7混合信号ISP FLASH 微控制器数 据 手 册 C8051F04x 系列器件是完全集成的混合信号片上系统型MCU,具有64 个数字I/O 引脚(C8051F040/2/4/6)或32 个数字I/O 引脚(C8051F041/3/5/7),片内集成了一个CAN2.0B 控制器。下面列出了一些主要特性;有关某一产品的具体特性参见表1.1。 高速、流水线结构的8051 兼容的CIP-51 内核(可达25MIPS) 控制器局域网(CAN2.0B)控制器,具有32 个消息对象,每个消息对象有其自己的标识 全速、非侵入式的在系统调试接口(片内) 真正12 位(C8051F040/1)或10 位(C8051F042/3/4/5/6/7)、100 ksps 的ADC,带PGA 和8 通道模拟多路开关 允许高电压差分放大器输入到12/10 位ADC(60V 峰-峰值),增益可编程 真正8 位500 ksps 的ADC,带PGA 和8 通道模拟多路开关(C8051F040/1/2/3) 两个12 位DAC,具有可编程数据更新方式(C8051F040/1/2/3) 64KB(C8051F040/1/2/3/4/5)或32KB(C8051F046/7)可在系统编程的FLASH 存储器 4352(4K+256)字节的片内RAM 可寻址64KB 地址空间的外部数据存储器接口 硬件实现的SPI、SMBus/ I2C 和两个UART 串行接口 5 个通用的16 位定时器 具有6 个捕捉/比较模块的可编程计数器/定时器阵列 片内看门狗定时器、VDD 监视器和温度传感器具有片内VDD 监视器、看门狗定时器和时钟振荡器的C8051F04x 系列器件是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051 固件。片内JTAG 调试电路允许使用安装在最终应用系统上的产品MCU 进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用JTAG 调试时,所有的模拟和数字外设都可全功能运行。每个MCU 都可在工业温度范围(-45℃到+85℃)工作,工作电压为2.7 ~ 3.6V。端口I/O、/RST和JTAG 引脚都容许5V 的输入信号电压。C8051F040/2/4/6 为100 脚TQFP 封装(见图1.1 和图1.3的框图)。C8051F041/3/5/7 为64 脚TQFP 封装(见图1.2 和图1.4 的框图)。
上传时间: 2013-10-24
上传用户:hwl453472107
C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器内核,与MCS-51 指令集完全兼容。除了具有标准8052 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。参见表1.1 的产品选择指南可快速查看每个MCU 的特性。 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 的输入信号电压。
上传时间: 2013-11-14
上传用户:jiangshandz
德州仪器 (TI) 处理器几乎能满足您所能想到的各种应用需求。我们阵营强大的处理器系列拥有各种价位、性能及功耗的产品可供选择,能满足几乎任何数字电子设计的要求。利用 TI 广博的系统专业知识、针对外设设计的全方位支持以及随时可方便获得的全套软件与配套模拟组件,您能够实现无穷无尽的设计方案。德州仪器 2008 年第二季度 数字信号处理选择指南TI 数字信号处理技术介绍1Ô数字媒体处理器OMAP应用处理器C6000数字信号处理器C5000数字信号处理器C2000数字信号处理器MSP430微控制器音频汽车通信工业医疗安全监控视频无线主要特性完整的定制型视频解决方案低功耗与高性能高性能低功耗与高性能结合高性能与高集成度可实现更环保的工业应用超低功耗达芬奇数字媒体处理器:针对数字视频而精心优化达芬奇 (DaVinci) 技术包括可扩展的可编程信号处理片上系统 (SoC)、加速器与外设,专为满足各种视频终端设备在性价比与特性方面的要求进行了优化。最新的 OMAP™ 应用处理器:最佳的通用多媒体与图形功能TI 高度可扩展的 OMAP 平台能够以任何单芯片组合实现业界通用多媒体与图形处理功能的最佳组合。最新推出的四款 OMAP35x 器件的目标应用非常广泛,其中包括便携式导航设备、因特网设备、便携式媒体播放器以及个人医疗设备等。最高性能:TMS320C6000™ DSP平台C6000™ DSP 平台可提供业界最高性能的定点与浮点 DSP,理想适用于视频、影像、宽带基础局端以及高性能音频等应用领域。低功耗与高性能相结合:TMS320C5000™ DSP 平台C5000™ DSP 平台不仅可提供业界最低的待机功耗,同时还支持高级自动化电源管理,能够充分满足诸如数字音乐播放器、VoIP、免提终端附件、GPS 接收机以及便携式医疗设备等个人及便携式产品的需求。结合类似 MCU 的控制功能与DSP 的高性能:TMS320C2000™数字信号控制器C2000™ 数字信号控制器 (DSC) 平台融合了控制外设的集成功能与微控制器 (MCU) 的易用性,以及 TI 先进DSP 技术的处理能力和 C 语言编程效率。C2000 DSC 理想适用于嵌入式工业应用,如数字马达控制、数字电源以及智能传感器等。MSP430 超低功耗微控制器平台TI MSP430 系列超低功耗 16 位 RISC 混合信号处理器可为电池供电的测量应用提供具有终极性能的解决方案。TI充分发挥自身在混合信号与数字技术领域卓越的领先优势, 推出的MSP430 使系统设计人员不仅能够同时实现与模拟信号、传感器与数字组件的接口相连,而且还能实现无与伦比的低功耗。轻松易用的软件与开发工具对于加速 DSP 产品开发而言,TMS320™ DSP 获得了 eXpressDSP™ 软件与开发工具的支持,其中包括Code Composer Studio™ IDE、DSP/BIOS™内核、TMS320 DSP 算法标准以及众多可重复使用的模块化软件等,均来自业界最大规模开发商网络。配套模拟产品TI 可提供各种配套的数据转换器、电源管理、放大器、接口与逻辑产品,能够充分满足您设计的整体需求。
上传时间: 2013-10-14
上传用户:jasson5678
可编程逻辑器件(PLD)是嵌入式工业设计的关键元器件。在工业设计中,PLD已经从提供简单的胶合逻辑发展到使用FPGA作为协处理器。该技术在通信、电机控制、I/O模块以及图像处理等应用中支持 I/O 扩展,替代基本的微控制器 (MCU) 或者数字信号处理器 (DSP)。 随着系统复杂度的提高,FPGA还能够集成整个芯片系统(SoC),与分立的 MCU、DSP、ASSP,以及 ASIC解决方案相比,大幅度降低了成本。不论是用作协处理器还是SoC,Altera FPGA在您的工业应用中都具有以下优点: 1. 设计集成——使用FPGA作为协处理器或者SoC,在一个器件平台上集成 IP和软件堆栈,从而降低成本。 2. 可重新编程能力——在一个公共开发平台的一片 FPGA中,使工业设计能够适应协议、IP以及新硬件功能的发展变化。 3. 性能调整——通过FPGA中的嵌入式处理器、定制指令和IP模块,增强性能,满足系统要求。 4. 过时保护——较长的 FPGA 产品生命周期,通过 FPGA 新系列的器件移植,延长工业产品的生命周期,保护硬件不会过时。 5. 熟悉的工具——使用熟悉的、功能强大的集成工具,简化设计和软件开发、IP集成以及调试。
上传时间: 2014-12-28
上传用户:rnsfing
以Altera公司的Quartus Ⅱ 7.2作为开发工具,研究了基于FPGA的DDS IP核设计,并给出基于Signal Tap II嵌入式逻辑分析仪的仿真测试结果。将设计的DDS IP核封装成为SOPC Builder自定义的组件,结合32位嵌入式CPU软核Nios II,构成可编程片上系统(SOPC),利用极少的硬件资源实现了可重构信号源。该系统基本功能都在FPGA芯片内完成,利用 SOPC技术,在一片 FPGA 芯片上实现了整个信号源的硬件开发平台,达到既简化电路设计、又提高系统稳定性和可靠性的目的。
上传时间: 2013-11-06
上传用户:songkun
Xilinx 高性能 CPLD、FPGA 和配置 PROM 系列具备在系统可编程性、可靠的引脚锁定以及JTAG 边界扫描测试功能。此强大的功能组合允许设计人员在进行重大更改时,仍能保留原始的器件引脚,从而避免重组 PC 板。通过利用嵌入式控制器从板载 RAM 或 EPROM 对这些CPLD 和 FPGA 编程,设计人员可轻松升级、修改和测试设计,即使在现场也是如此。
上传时间: 2014-08-10
上传用户:sc965382896
摘要:本文简要介绍了Xilinx最新的EDK9.1i和ISE9.1i等工具的设计使用流程,最终在采用65nm工艺级别的Xilinx Virtex-5 开发板ML505 上同时设计实现了支持TCP/IP 协议的10M/100M/1000M 的三态以太网和千兆光以太网的SOPC 系统,并对涉及的关键技术进行了说明。关键词:FPGA;EDK;SOPC;嵌入式开发;EMAC;MicroBlaze 本研究采用业界最新的Xilinx 65ns工艺级别的Virtex-5LXT FPGA 高级开发平台,满足了对于建造具有更高性能、更高密度、更低功耗和更低成本的可编程片上系统的需求。Virtex-5以太网媒体接入控制器(EMAC)模块提供了专用的以太网功能,它和10/100/1000Base-T外部物理层芯片或RocketIOGTP收发器、SelectIO技术相结合,能够分别实现10M/100M/1000M的三态以太网和千兆光以太网的SOPC 系统。
上传时间: 2013-10-14
上传用户:sun_pro12580
第一部分:编程器简介 该系列高性能三星单片机编程器是本人在长期的三星单片机系统开发实践中结合生产应用自行研制而成,已被本站应用于产品烧写达百万片之多,尚无发现任何副作用,请放心使用. StarPlusV2.0可全功能烧写所有三星4位/8位系列MCU和ROM不大于512KBYTES的CalmRisc/ARM系列MCU,包括OTP(可编程一次)和MTP(FLASH可多次编程)芯片,支持最大ROM空间达512Kbytes.
上传时间: 2014-12-30
上传用户:wang5829
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234