目录 第1章 概述 1.1 采用C语言提高编制单片机应用程序的效率 1.2 C语言具有突出的优点 1.3 AvR单片机简介 1.4 AvR单片机的C编译器简介 第2章 学习AVR单片机C程序设计所用的软件及实验器材介绍 2.1 IAR Enlbedded Workbench IDE C语言编译器 2.2 AVR Studio集成开发环境 2.3 PonyProg2000下载软件及SL—ISP下载软件 2.4 AVR DEM0单片机综合实验板 2.5 AvR单片机JTAG仿真器 2.6 并口下载器 2.7 通用型多功能USB编程器 第3章 AvR单片机开发软件的安装及第一个入门程序 3.1 安装IAR for AVR 4.30集成开发环境 3.2 安装AVR Studio集成开发环境 3.3 安装PonyProg2000下载软件 3.4 安装SLISP下载软件 3.5 AvR单片机开发过程 3.6 第一个AVR入门程序 第4章 AVR单片机的主要特性及基本结构 4.1 ATMEGA16(L)单片机的产品特性 4.2 ATMEGA16(L)单片机的基本组成及引脚配置 4.3 AvR单片机的CPU内核 4.4 AvR的存储器 4.5 系统时钟及时钟选项 4.6 电源管理及睡眠模式 4.7 系统控制和复位 4.8 中断 第5章 C语言基础知识 5.1 C语言的标识符与关键字 5.2 数据类型 5.3 AVR单片机的数据存储空间 5.4 常量、变量及存储方式 5.5 数组 5.6 C语言的运算 5.7 流程控制 5.8 函数 5.9 指针 5.10 结构体 5.11 共用体 5.12 中断函数 第6章 ATMEGA16(L)的I/O端口使用 6.1 ATMEGAl6(L)的I/O端口 6.2 ATMEGAl6(L)中4组通用数字I/O端口的应用设置 6.3 ATMEGA16(L)的I/O端口使用注意事项 6.4 ATMEGAl6(L)PB口输出实验 6.5 8位数码管测试 6.6 独立式按键开关的使用 6.7 发光二极管的移动控制(跑马灯实验) 6.8 0~99数字的加减控制 6.9 4×4行列式按键开关的使用 第7章 ATMEGAl6(L)的中断系统使用 7.1 ATMEGA16(L)的中断系统 7.2 相关的中断控制寄存器 7.3 INT1外部中断实验 7.4 INTO/INTl中断计数实验 7.5 INTO/INTl中断嵌套实验 7.6 2路防盗报警器实验 7.7 低功耗睡眠模式下的按键中断 7.8 4×4行列式按键的睡眠模式中断唤醒设计 第8章 ATMEGAl6(L)驱动16×2点阵字符液晶模块 8.1 16×2点阵字符液晶显示器概述 8.2 液晶显示器的突出优点 8.3 16×2字符型液晶显示模块(LCM)特性 8.4 16×2字符型液晶显示模块(LCM)引脚及功能 8.5 16×2字符型液晶显示模块(LCM)的内部结构 8.6 液晶显示控制驱动集成电路HD44780特点 8.7 HD44780工作原理 8.8 LCD控制器指令 8.9 LCM工作时序 8.10 8位数据传送的ATMEGAl6(L)驱动16×2点阵字符液晶模块的子函数 8.11 8位数据传送的16×2 LCM演示程序1 8.12 8位数据传送的16×2 LCM演示程序2 8.13 4位数据传送的ATMEGA16(L)驱动16×2点阵字符液晶模块的子函数 8.14 4位数据传送的16×2 LCM演示程序 第9章 ATMEGA16(L)的定时/计数器 9.1 预分频器和多路选择器 9.2 8位定时/计时器T/C0 9.3 8位定时/计数器0的寄存器 9.4 16位定时/计数器T/C1 9.5 16位定时/计数器1的寄存器 9.6 8位定时/计数器T/C2 9.7 8位T/C2的寄存器 9.8 ICC6.31A C语言编译器安装 9.9 定时/计数器1的计时实验 9.10 定时/计数器0的中断实验 9.11 4位显示秒表实验 9.12 比较匹配中断及定时溢出中断的测试实验 9.13 PWM测试实验 9.14 0~5 V数字电压调整器 9.15 定时器(计数器)0的计数实验 9.16 定时/计数器1的输入捕获实验 ......
上传时间: 2013-07-30
上传用户:yepeng139
随着信息技术的发展,系统级芯片SoC(System on a Chip)成为集成电路发展的主流。SoC技术以其成本低、功耗小、集成度高的优势正广泛地应用于嵌入式系统中。通过对8位增强型CPU内核的研究及其在FPGA(Field Programmable Gate Arrav)上的实现,对SoC设计作了初步研究。 在对Intel MCS-8051的汇编指令集进行了深入地分析的基础上,按照至顶向下的模块化的高层次设计流程,对8位CPU进行了顶层功能和结构的定义与划分,并逐步细化了各个层次的模块设计,建立了具有CPU及定时器,中断,串行等外部接口的模型。 利用5种寻址方式完成了8位CPU的数据通路的设计规划。利用有限状态机及微程序的思想完成了控制通路的各个层次模块的设计规划。利用组合电路与时序电路相结合的思想完成了定时器,中断以及串行接口的规划。采用边沿触发使得一个机器周期对应一个时钟周期,执行效率提高。使用硬件描述语言实现了各个模块的设计。借助EDA工具ISE集成开发环境完成了各个模块的编程、调试和面向FPGA的布局布线;在Synplify pro综合工具中完成了综合;使用Modelsim SE仿真工具对其进行了完整的功能仿真和时序仿真。 设计了一个通用的扩展接口控制器对原有的8位处理器进行扩展,加入高速DI,DO以及SPI接口,增强了8位处理器的功能,可以用于现有单片机进行升级和扩展。 本设计的CPU全面兼容MCS-51汇编指令集全部的111条指令,在时钟频率和指令的执行效率指标上均优于传统的MCS-51内核。本设计以硬件描述语言代码形式存在可与任何综合库、工艺库以及FPGA结合开发出用户需要的固核和硬核,可读性好,易于扩展使用,易于升级,比较有实用价值。本设计通过FPGA验证。
上传时间: 2013-04-24
上传用户:jlyaccounts
单片微型计算机(单片机)是将微处理器CPU、程序存储器、数据存储器、定时/计数器、输入/输出并行接口等集成在一起。由于单片机具有专门为嵌入式系统设计的体系结构与指令系统,所以它最能满足嵌入式系统的应用要求。Intel公司生产的MCS-51系列单片机是我国目前应用最广的单片机之一。 随着可编程逻辑器件设计技术的发展,每个逻辑器件中门电路的数量越来越多,一个逻辑器件就可以完成本来要由很多分立逻辑器件和存储芯片完成的功能。这样做减少了系统的功耗和成本,提高了性能和可靠性。FPGA就是目前最受欢迎的可编程逻辑器件之一。IP核是将一些在数字电路中常用但比较复杂的功能块,设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。 本课题结合FPGA与8051单片机的优点,主要针对以下三个方面研究: (1)FPGA开发平台的硬件实现选用Xilinx公司的XC3S500E-PQ208-4-C作为核心器件,采用Intel公司的EEPROM芯片2816A和SRAM芯片6116作为片内程序存储器,搭建FPGA的硬件开发平台。 (2)用VHDL语言实现8051IP核分析研究8051系列单片机内部各模块结构以及各部分的连接关系,实现了基于FPGA的8051IP核。主要包括如下几个模块:CPU模块、片内数据存储器模块、定时/计数器模块、并行端口模块、串行端口模块、中断处理模块、同步复位模块等。 (3)基于FPGA的8051IP核应用用所设计的8051IP核,实现了对一个4×4键盘的监测扫描、键盘确认、按键识别等应用。
上传时间: 2013-04-24
上传用户:1417818867
作为新能源与汽车工业相结合的产物,燃料电池汽车已经逐渐成为了汽车家族的后起之秀。随着电子控制单元与车载设备的不断增多,传统内燃机汽车的仪表盘已经不能满足以燃料电池为动力的汽车仪表复杂信息显示的要求。本文以燃料电池汽车为研究背景,设计开发了基于嵌入式技术的仪表系统,实现了对燃料电池汽车整车运行状态以及模块数据的实时监测、存储与图形化显示。 本文介绍了燃料电池汽车仪表系统的设计原理,对仪表系统进行了需求分析,确定了系统整体框架与模块划分,提出了基于ARM微处理器、实时操作系统以及图形用户界面的仪表系统解决方案。该方案采用高性能的S3C44BOX作为底层核心处理器,以RTOS和GUI为中间层构建软件系统平台,在此基础上以实时多任务软件设计方法进行仪表系统应用程序的开发。 在上述方案的基础上,进行了仪表系统硬件平台的设计,包括存储器系统、通信总线、人机交互界面等接口电路的设计。根据高速数字电路的设计要求,在双面板上实现了基于ARM的燃料电池汽车仪表系统的PCB布线。编写了系统初始化代码,完成了对硬件平台的调试工作。 根据仪表系统的实际情况,选择了实时多任务操作系统μC/OS-Ⅱ和嵌入式图形用户界面μC/GUI作为本系统的软件平台,完成了两者在仪表系统硬件平台上的移植。针对μC/GUI环境下简体中文汉字的显示问题,给出了一种比较完善的解决方案。μ按照实时多任务软件的开发流程,设计了仪表系统应用程序,包括CAN总线监听任务、数据处理任务、用户界面任务以及历史数据记录任务等,划分了各个任务的优先级,确定了任务之间的通信同步机制,描述了各个任务的主要功能和实现方法,重点论述了基于μC/GUI的用户界面任务设计的思路与过程,最后介绍了在硬件平台上进行系统集成、软硬件联合调试以及系统测试的流程。
上传时间: 2013-06-20
上传用户:2780285129
随着计算机技术、通信技术、集成电路技术和控制技术的发展,传统的工业控制领域正经历着一场前所未有的变革,开始向网络化方向发展。本文即从未来工业控制网络发展的需要出发,设计并实现了以S3C2410微处理器为核心的嵌入式网络控制器。 本文以S3C2410-32 位微处理为核心,设计并实现了具有1路以太网接口、1路 USB Host 接口、1路USB Device 接口、3路RS232串口、1个CAN总线扩展卡、1个RS485扩展卡、1个RS422扩展卡使用、8路A/D、1路D/A、4路 PWM、一个 240×320TFT LCD 显示触摸屏的功能强大的嵌入式网络控制器。并在此基础上,结合嵌入式操作系统Windows CE建立了一个嵌入式软件开发平台。 在深入研究和分析CANopen协议的基础上,实现了基于Windows CE 的嵌入式 CANopen 协议栈,大大提高了嵌入式网络控制器在现场总线上的通信和控制能力,为新型的网络控制算法研究提供了实验平台。在探讨了TCP/IP协议的基础上研究了基于 Windows CE 的嵌入式 TCP/IP 协议栈,掌握了Windows CE 平台的网络 Socket 通信编程,使控制器能够通过以太网接到Intranet或Intemet上。 在完成嵌入式网络控制器硬件与软件设计的基础上,将控制器应用到了网络化的嵌入式数控系统的中央数控单元中,实现数控系统等数控设备小型化、网络化和集成化的需要。并以此为基础,结合计算机控制实验室建设,构建了三层(信息层、控制层和设备层)工业网络实验平台,实现了实验室设备真正的网络互连,为网络控制研究提供了一个高性能的平台。
上传时间: 2013-06-10
上传用户:hzy5825468
嵌入式系统的开发已成为新的行业热点,将嵌入式应用于工业控制类产品中,并开发出优秀的人机交互界面,是嵌入式发展的趋势,拥有广阔的市场前景。近年来的市场需求显示越来越多的嵌入式系统包括PDA、机顶盒、DVD/VCD播放机、WAP手机等均要求提供一个方便简洁的可视化操作界面,而这些都要求有一个高性能稳定可靠的GUI(GraphicalUser Interface)来提供支持。友好的图形人机界面为嵌入式系统的人机交互提供丰富的图形图像信息、直观的表达方式。嵌入式GUI作为人机界面的软件系统,具有简洁、美观、方便好用且更具人性化的特点,采用嵌入式GUI进行人机界面设计能够提高设备开发效率、节省维护成本、丰富人机交互信息,因而,已经被越来越多的领域所采用。 本文研究设计了一种基于ARM微处理器和嵌入式实时操作系统的嵌入式GUI应用平台的方案。以SmartARM2200开发板为硬件平台(基于PHILIP公司的微处理LPC2210),在ADS1.2集成开发环境下,首先对嵌入式实时操作系统μ/OS-Ⅱ的特点、移植条件、性能等方面进行应用研究,重点分析了μ/OS-Ⅱ的移植过程,给出了移植的思路,总结了移植过程中应注意的问题,提出了简洁高效的移植方法;其次详细讲述了如何利用图形用户界面开发工具MiniGUI进行图形用户界面的开发,包括鼠标、键盘、菜单、绘图等功能的实现。该嵌入式GUI应用平台既可以满足用户对应用系统实时性和快速处理的要求,又能够给用户提供生动、直观的图形人机交互界面,具有广泛的应用前景。
上传时间: 2013-07-06
上传用户:zlf19911217
如今IC设计进入了SOC(System-on-chip)设计时代。SOC是指在单一芯片上集成了微控制器、数字信号处理器、存储器、I/O接口等,可以实现信号采集、转换、存储、处理等功能的芯片。SOC设计是基于IP可重用性的设计过程。现在已有不少公司成功地开发了各种SOC总线规范,以便于IP核的可复用性设计。其中,ARM公司开发的AMBA(Advanced Microcontroller Bus Arehitecture)规范已经成为嵌入式应用的行业标准。嵌入式SOC芯片广泛应用于消费电子产品中,近年来随着彩屏手机、PDA等移动终端的普及,液晶电视等平板显示器件的推广,液晶显示器已经逐渐取代CRT成为主流的显示器件。LCD Driver IC作为液晶显示器的重要部件,需求量也日益增大。嵌入式液晶显示系统的设计是当今SOC设计中不可缺少的部分,而基于AMBA总线规范的LCD显示系统更是具备良好的性能和较大的潜力。 本文提出了一种基于AMBA总线规范的彩色TFT-LCD数字图像显示解决方案,硬件设计上包括APB存储接口模块、LCD控制模块,并用VHDL硬件描述语言进行了功能仿真,采用Mentor公司Modelsim5.8完成了系统功能验证;软件设计上完成了基于SAMSUNG公司S6D0110 TFT-LCD驱动芯片的测试程序的编写和系统测试。本设计不需要掌握TFT-LCD内部构造,复杂的内部驱动原理,只需要掌握AMBA总线规范和LCD的MPU并行接口时序,采用本课题设计出的LCD显示控制模块简单实用,便于推广应用。 本课题基于Xilinx公司的VirtexⅡ FF1152 PROTO开发平台完成了软件调试,实现了TFT-LCD图像显示。调试结果表明硬件和软件设计正确且取得了较为满意的结果。
上传时间: 2013-06-02
上传用户:小枫残月
现场可编程门阵列(FPGA)是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,它结合了微电子技术、电路技术和EDA(Electronics Design Automation)技术。随着它的广泛应用和快速发展,使设计电路的规模和集成度不断提高,同时也带来了电子系统设计方法和设计思想的不断推陈出新。 随着数字电子技术的发展,数字信号处理的理论和技术广泛的应用于通讯、语音处理、计算机和多媒体等领域。离散傅立叶变换(DFT)作为数字信号处理中的基本运算,发挥着重要作用。而快速傅里叶变换(FFT)算法的提出,使离散傅里叶变换的运算量减小了几个数量级,使得数字信号处理的实现变得更加容易。FFT已经成为现代数字信号处理的核心技术之一,因此对FFT算法及其实现方法的研究具有很强的理论和现实意义。 本文主要研究如何利用FPGA实现FFT算法,研制具有自主知识产权的FFT信号处理器。该设计采用高效基-16算法实现了一种4096点FFT复数浮点运算处理器,其蝶形处理单元的基-16运算核采用两级改进的基-4算法级联实现,仅用8个实数乘法器就可实现基-16蝶形单元所需的8次复数乘法运算,在保持处理速度的优势下,比传统的基-16算法节省了75%的乘法器逻辑资源。 在重点研究处理器蝶形单元设计的基础上,本文完成了整个FFT处理器电路的FPGA设计。首先基于对处理器功能和特点的分析,研究了FFT算法的选取和优化,并完成了处理器体系结构的设计;在此基础上,以提高处理器处理速度和减小硬件资源消耗为重点研究了具体的实现方案,完成了1.2万行RTL代码编程,并在XILINX公司提供的ISE 9.1i集成开发环境中实现了处理器各个模块的RTL设计:随后,以XILINX Spartan-3系列FPGA芯片xc3S1000为硬件平台,完成了整个FFT处理器的电路设计实现。 经过仿真验证,本文所设计的FFT处理器芯片运行速度达到了100MHz,占用的FPGA门数为552806,电路的信噪比可以达到50dB以上,达到了高速高性能的设计要求。
上传时间: 2013-04-24
上传用户:科学怪人
当前,片上系统(SOC)已成为系统实现的主流技术。流片风险与费用增加、上市时间压力加大、产品功能愈加复杂等因素使得SOC产业逐渐划分为IP提供者、SOC设计服务者和芯片集成者三个层次。SOC设计已走向基于IP集成的平台设计阶段,经过严格验证质量可靠的IP核成为SOC产业中的重要一环。 GPIB控制器芯片是组建自动测试系统的核心,在测试领域应用广泛。本人通过查阅大量的技术资料,分析了集成电路在国内外发展的最新动态,提出了基于FPGA的自主知识产权的GPIB控制器IP核的设计和实现。 本文首先讨论了基于FPGA的GPIB控制器的背景意义,接着对FPGA开发所具备的基本知识作了简要介绍。文中对GPIB总线进行了简单的描述,根据芯片设计的主要思想,重点在于论述怎样用FPGA来实现IEEE-488.2协议,并详细阐述了GPIB控制器的十种接口功能及其状态机的IP核实现。同时,对数据通路也进行了较为细致的说明。在设计的时候采用基于模块化设计思想,用VerilogHDL语言完成各模块功能描述,通过Synplifv软件的综合,用Modelsim对设计进行了前、后仿真。最后利用生成的模块符号采取类似画电路图的方法完成整个系统芯片的lP软核设计,并用EDA工具下载到了FPGA上。 为了更好地验证设计思想,借助EDA工具对GPIB控制器的工作状态进行了软件仿真,给出仿真结果,仿真波形验证了GPIB控制器的工作符合预想。最后,本文对基于FPGA的GPIB控制器的IP核设计过程进行了总结,展望了当前GPIB控制器设计的发展趋势,指出了开展进一步研究需要做的工作。
上传时间: 2013-04-24
上传用户:rockjablew
LAMOST(Large Sky Area Multi-Obiect Fiber Spectroscopy Telescope,大天区面积多目标光纤光谱天文望远镜)需要对焦而上的4 000个光纤定位单元进行精确定位,一个光纤定位单元需要两个步进电机来驱动,即需要对8 000个电机进行驱动控制。如何对这8 000个电机进行有效的控制,是本文主要的研究内容。 本义引入EDA(Electronic Design Automation),技术,以FPGA和CAN总线为硬件载体来进行设计。FPGA相比较于DSP,单片机而言,具有10管脚多,资源丰富,使用灵活等优点,可以存片内集成多个电机的摔制,这样对于提高系统的集成度,节约成本无疑有着很大的帮助。 在电机的控制当中,其失步和过冲会直接影响到系统的精度,所以需要对电机脉冲频率加以控制,对于在平稳状态下能正常工作的电机,失步往往发生在启动停止等脉冲频率突然发生改变的时刻。具体实现方法是通过实验找出一条理想的加减速曲线,再将曲线离散化,并把离散化后的加减速分频系数存储在FPGA片内ROM里而,当电机运行到对应的步数时,取出分频系数来获取对应的运行频率。 在LAMOST观测中,光纤定位单元的零位是个很重要的基准,在每次观测之前,电机都要回零,理论上电气零位和机械零位在同一点上,如果电气检测到达零位则认为已经到达机械零位位置。但是实际中由于装配等一些原因,可能会出现零位短路和零位断路的情况。零位断路是指电机处于机械零位,但是电气不能检测到;零位短路是指电机不在机械零位,但是电气已经检测到处于零位。这两种情况会造成越界和机械零位一直被挤压的后果,有可能会损坏光纤定位单元,为了防止这些情况出现,软件程序中加入了计数器,从而从有效地保护了光纤定位单元,同时将这些状况向上反馈,以便维护和检修。 在本文完成之时,能够控制驱动336个光纤定位单元的小系统已经在北京天文台兴隆观测站实际投入运行,并于2007年5月28日获得首条光谱,取得了不错的效果。
上传时间: 2013-04-24
上传用户:afeiafei309