1838.C8051F高速单片机及其在测控系统中的应用毕业论文.doc
-
资源ID:1266158
资源大小:8.15MB
全文页数:58页
- 资源格式: DOC
下载积分:10金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
1838.C8051F高速单片机及其在测控系统中的应用毕业论文.doc
毕业设计(论文)用纸C8051F高速单片机及其在测控系统中的应用目 录中文摘要 英文摘要 1. 绪论 11.1 C8051F高速单片机的特征 11.2 本设计的目的21.2 本论文的构成概要22. C8051F系列单片机设计理论基础 32.1 嵌入式系统概述 32.1.1 什么是嵌入式系统32.1.2 嵌入式系统的种类32.1.3 嵌入式系统的应用及其发展前途42.2 单片机的技术发展历史82.2.1 单片机的发展阶段82.2.2 单片机的发展方向92.3 单片机的应用系统 102.3.1 单片机应用系统的结构 102.3.2 单片机的种类102.3.3 单片机的应用模式112.4C8051F高速SOC单片机 122.4.1 CIP-51内核 122.4.2 存储器 142.4.3 JTAG调试和边界扫描142.4.4 可编程数字I/O和交叉开关152.4.5 可编程计数器阵列152.4.6 串行端口162.4.7 模/数转换器162.4.8 数/模转换器172.4.9 比较器173. C8051F系列单片机的基本功能 193.1 开发环境 193.2 C8051F221 电路系统测试193.2.1 设计说明 193.2.2 电路系统测试程序流程图213.2.3 程序段示例及说明213.3 定时器计数器 233.3.1 特殊功能寄存器253.3.2 设计说明 303.3.3 程序流程图 323.4 中断系统 323.4.1 前言323.4.2 问题的提出333.4.3 程序流程图343.4.4 程序段示例343.4.5 程序段说明363.5 UART393.5.1 基本概念393.5.2 设计的提出403.5.3 程序流程图413.5.4 程序段示例423.5.5 程序段说明443.6 集成开发环境介绍474 C8051F单片机在磁性长线传感器系统中的应用 504.1 磁性长线传感器系统概述504.1.1 前言504.1.2 系统构成504.2 C8051F206单片机在传感器系统中的应用 524.2.1 C8051F206与PC机之间的通信524.2.2 C8051F206与CPLD之间的通信524.2.3 C8051F206与传感器系统之间的通信564.3 单片机C51程序的实现 564.3.1 C8051F206与PC机之间通信的程序实现564.3.2 C8051F206与CPLD之间通信的程序实现594.3.3 C8051F206与传感器系统之间通信的程序实现614.4 系统存在的问题和改进的方法644.4.1 前言644.4.2 系统改进思路分析654.4.3 程序流程图674.4.4 程序段示例684.4.3 程序段说明714.5 一种调试方法及其程序开发744.5.1 编程原理754.5.2 程序段示例754.5.3 程序段说明775 结论 795.1 C8051F高速单片机795.2 测控系统795.3 设计所达到的目的79参考文献80致 谢81摘 要80C51从早期Intel公司的MCS-51到PHILIPS、ATMEL等公司发展的80C51系列MCU,再到Cygnal公司最新推出的C8051F,表明了单片机的典型发展过程。Cygnal的C8051带SoC色彩,集成了嵌入式系统的许多先进技术。这些先进技术对8位MCU的发展会有推进作用。本次设计,不仅学习了C8051Fxxx单片机的基本原理和Cx51的编程方法,还亲自动手,结合硬件系统开发C8051Fxxx单片机的一系列基本功能,更重要的是将基本功能开发所获得的知识和经验运用的实际工程当中,即测控系统磁性长线传感器系统当中。关键词: SoC C8051Fxxx单片机 Cx51 测控系统 磁性长线传感器系统AbstractThe typical developing process of singlechip can be indicated by the early 80C51 of Intel Ltd. Companys MCS-51, the MCU developed by PHILIPS and ATMEL Ltd. Companies and the newly marketed C8051F by Cygnal Ltd. Company. The C8051F of Cygnal Ltd. Company is imbued with the characteristics of SoC and integrated with many new technologies of embedded systems. These new technologies will definitely promote the development of 8-bit MCU.In this graduation design, I not only learned the fundamentals and programming methods of the singlechip C8051Fxxx, but also developed some of its basic functions, integrating with the characters of the singlechip. More importantly, I applied the knowledge and experience I gained in the process of basic exploitation of C8051Fxxx to a practical project, the surveying and controlling system - magnetic long thread sensor system.Keywords: SoC C8051Fxxx Singlechip Cx51Surveying and Controlling System Magnetic Long Thread Sensor System第一章 绪论1.1 C8051F高速单片机的特征在8位单片机中,51系列单片机一直是一道最为亮丽的风景线,历史最长,长盛不衰,众星捧月,不断更新,形成了既具有经典性,又不乏生命力的一个单片机系列。而CYGNAL公司推出的C8051F系列单片机则更是将51系列从MCU推向SOC时代的一次飞跃。其特征如下: 一个芯片内高度集成了数据采集与控制系统所需要的几乎所有的模拟与数字外设:ADC、可编程增益放大器、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、CAN、SPI、PCA(带比较/捕捉模块PCA,可实现捕捉、软件定时、高速输出、PWM)、Flash存储器、非易失性存储器、SRAM、WDT、VDD监视器等。 彻底的改造了原51系列单片机的复位源,从单引脚复位到多源复位(提供上电、掉电、外部引脚、软件、时钟检测,比较器0、WDT、引脚配置计8个复位源),众多的复位源为保障系统的安全操作提供了灵活性,为低功耗设计带来了极大的好处。 建立了完善、先进的时钟系统,片内设置有一个可编程的时钟振荡器,可设置不同的时钟频率;片外振荡器可选择四种方式(晶体、RC、C和时钟源)并可内外时钟动态切换。 废除了原51的机器周期概念,指令以时钟为运行单位,创建了CIP-51的CPU模式,以流水线方式处理指令,70%的指令在1-2个时钟周期完成,大大提升了运行速度,使C8051F进入了8位高速单片机行列。 中断源增加至20几个,使设计者更加灵活方便的利用其资源,方便了软件的设计。 I/O口由固定方式改为交叉开关配置,设计者可更加灵活方便安排选择I/O。 与51指令兼容,有KeilC支持,通过JTAG口进行非侵入式全速在系统(ISP)和在应用(IAP)编程调试。 最小功耗的最佳支持:3V供电标准降低了系统的功耗,但I/O口仍然允许5V输入,经上拉后也可驱动5V逻辑器件。完善的时钟系统可使系统平均时钟频率最低,众多的复位源可灵活的实现零功耗的系统的设计。1.2 本设计的目的 通过本次设计,不仅要学习C8051F单片机的基本原理和C51的编程方法,还要亲自动手,结合硬件系统开发C8051F单片机的一系列基本功能,更重要的是将基本功能开发所获得的知识和经验运用的实际工程当中,即设计题目所规定的测控系统当中。1.3 本论文的构成概要本论文包含五章内容。第一章:绪论。本章最简要地介绍了C8051F单片机的特征,介绍了本设计的目的和论文的构成概要。第二章:C8051F系列单片机设计的理论基础。本章对嵌入式系统的概念以及其发展方向做了简单的介绍。对单片机特别是C8051Fxxx系列单片机的理论原理和特征做了较详细的描述。第三章:C8051F单片机的基本功能开发。本章对设计过程中开发C8051F221单片机基本功能所得的成果和原理做了详细的讲述。第四章:C8051F206在磁性长线传感器系统中的应用。本章是基本功能开发的实践应用和检验,也是设计的重中之重。对C8051F206单片机在磁性长线传感器系统中的位置、作用以及开发过程做了详细的介绍。第五章:总结。对全文的两大模块进行总括性的描述。第二章 C8051F系列单片机设计的理论基础2.1 嵌入式系统概述2.1.1 什么是嵌入式系统通常将满足海量高速数值计算的计算机称为通用计算机系统;而把面向工控领域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称为嵌入式计算机系统,简称嵌入式系统。2.1.2 嵌入式系统的种类嵌入式系统得种类可分为以下四种: 工控机。将通用计算机经机械后加固和电气加固改造后构成,其特点是软件丰富、体积大。 通用CPU模块。用CPU构成各种形式的主机板系统,一般用在大量数据处理的场合,体积较小。 2.1.3 嵌入式系统的应用及其发展前途 嵌入式系统的应用伴随着二十一世纪的曙光,人类迎来了一个充满希望的新时代。而作为二十世纪人类社会最伟大的发明之一,计算机也迈入了其另一个充满机遇的阶段后PC时代。 信息电器领域信息电器是指所有能提供信息服务或通过网络系统交互信息的消费类电子产品。 移动计算设备领域 网络设备领域 工控、仿真、医疗仪器等领域 美好的未来随着信息技术的发展,数字化产品空前繁荣。嵌入式软件已经成为数字化产品设计创新和软件增值的关键因素,表2.1 2000年中国软件市场销售额2000年中国软件市场销售额(单位:亿元)应用软件14763.9%中间件9.24.0%系统软件73.832.1%软件总产值230100%2.2 单片机的技术发展历史2.2.1 单片机的发展阶段单片机的发展可分为以下四个阶段:(1) (2) 第二代:单片机完善阶段。表现在: 面对对象,突出控制功能,专用CPU满足嵌入功能; 寻址范围为16位或8位; 规范的总线结构,有8位数据线,16位地址线及多功能异步串行口(UART); 特殊功能寄存器(SFR)的集中管理模式; 海量位地址空间,提供位寻址及位操作功能; 指令系统突出控制功能。(3) 第三代:微控制器形成阶段。这一阶段已形成系列产品:以8051系列为代表,如8031、8032、8051和8052等。(4) 第四代:微控制器百花齐放。表现在: 电气商、半导体商广泛假如; 满足最低电子技术的应用(玩具、小家电); 大力发展专用型单片机; 致力于提高单片机的综合品质。2.2.2 单片机的发展方向未来单片机技术的发展趋势可归结为以下10个方面:(1) 主流型机发展趋势。8位单片机为主流,少量32位机,16位几可能被淘汰。(2) 全盘CMOS化趋势。指在HCMOS基础上的CMOS化,CMOS速度慢、功耗小,而HCMOS具有低功耗管理技术等忐忑点。(3) RISC体系结构的发展。早期CISC指令较复杂,指令代码周期数不同意,难以实现流水线(单周期指令仅为1MIPS)。采用RISC体系结构可以精简指令系统,使其绝大部分为单周期指令,很容易实现流水线作业(单周期指令速度可达12MPIS)(4) 大力发展专用单片机。(5)OTPROM、flashROM成为主流供应状态。(6) ISP及基于ISP的开发环境。FlashROM的应用推动了ISP(系统可编程技术)的发展,这样就可实现目标程序的串行下载,PC机可通过串行电缆对远程目标高度仿真、更新软件等。(7) 单片机的软件嵌入。目前的单片机只提供程序空间,没有驻机软件。ROM空间足够大后,可装入如平台软件、虚拟外设软件和用于系统诊断管理的软件等,以提高开发效率。(8) 实现全面共好管理。如采用:ID、PD模式、高速时钟/低速时钟模式和低电压节能技术。(9) 推行串行扩展总线。如FC总线等。(10) ASMIC技术的发展。如以MCU为核心的专用集成电路(ASIC)。2.3 单片机应用系统2.3.1 单片机应用系统的结构单片机应用系统的结构分为三个层次(1) 单片机:通常指应用系统主处理机,即所选择的单片机器件。(2) 单片机系统:指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统,如时钟电路、复位电路和扩展存储器等与单片机构成了单片机系统。(3) 单片机的应用系统:指能满足嵌入对象要求的全部电路系统。在单片机系统的基础上加上面向对象的接口电路,如前向通道、后向通道、人机交互通道(键盘、显示器、打印机等)和串行通信口(RS232)以及应用程序等。单片机应用系统三个层次的关系如图2.1所示。图2.1 单片机应用系统三个层次的关系2.3.2 单片机的种类单片机可按应用领域、通用性、总线结构分类。(1) 按应用领域可分为:家电类、工控类、通行类、个人信息终端等。(2) 按通用性可分为:通用型和转用型(如计费率电表、电子计事薄)。(3) 按总线结构可分为 :总线型和非总线型。如89C51为总线型,有数据总线、地址总线及相应的控制线(WR、RD、EA、ALE等);89C2051等为非总线型,其外部引脚少,可使成本下降。2.3.3 单片机的应用模式单片机应用模式的分类如图2.2所示。各应用模式的结构如图2.3、图2.4、图2.5和图1.6所示。 图2.2 总线型的总线应用模式 图2.3 非总线型的应用模式 图2.4 总线型的非总线应用模式 图2.5 专用型的应用模式2.4 C8051F高速SOC单片机C8051Fxxx系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,2.4.1 CIP-C51内核C8051Fxxx系列器件使用Cygnal的专利CIP-51微控制器内核。CIP-51与MCS-51指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-C51共有111条指令。表2.2列出了指令条数与执行时间所需的系统时钟周期的关系。 表2.2 指令数与系统时钟周期数的关系执行周期数122/333/444/558指令数265051673121工作在最大系统时钟频率为25MHz时,它的峰值速度达到25 。图2.6给出了几种8位微控制器内核工作在最大系统时钟频率时峰值速度的比较关系。图2.6 8位MCU峰值执行速度比较2.4.2 存储器2.4.3 JTAG调试和边界扫描2.4.4 可编程数字I/O和交叉开关 2.4.5 可编程计数器阵列 2.4.6 串行端口2.4.7 摸/数转换器 2.4.8 数/摸转换器2.4.9 比较器第三章 C8051F单片机的基本功能开发为了熟悉C8051应用系统的基本功能,充分利用C8051F221_COM_V1电路板、串行通信电缆以及段式LCD电路板LCD_820A_UNIT_V1等资源(太原理工大学“晓明研究室”提供),设计程序对该应用系统的I/0端口、UART、SPI等基本功能进行开发。3.1 开发环境编程、调试软件:Cygnal IDE v1.81 ;操作系统:Microsoft Windows 98/2000/NT;编译环境:Keil C51。3.2 C8051F221电路系统测试3.2.1 设计说明C8051F2xx芯片是高集成度的混合信号系统级MCU芯片,片内集成了一个多通道ADC(C8051F230/231/236中没有ADC)、两个电压比较器、3个通用的16位定时器、UART、SPI总线接口、内部振荡器、32个或22个通用I/O引脚、8KB的FLASH程序存储器和与8051兼容的高速微控制器内核。C8051F221有22个通用I/O引脚,其端口I/O原理框图见图3.1。图3.1 C8051F221端口I/O原理框图3.2.2 电路系统测试程序流程图图3.2 电路系统测试程序流程图3.2.3 程序段示例及说明 程序段示例 点亮所有LEDvoid light(void) 延时程序void delay(uint x) 主程序void main() 说明 点亮所有的8个发光二极管。这是我实验所做的第一个子程序,命令只有两行,意思也非常简单明了。 延时程序实际是空操作的嵌套,入口参数的大小控制延时时间的长短。 由于电路板上提供有8个按键,3.3 定时器/计数器表3.1 定时器的工作方式T0 和T1 T2T3 T413位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器16位计数器/定时器带捕捉的16位计数器/定时器带捕捉的16位计数器/定时器自动重装载的8位计数器/定时器UART(0)的波特率发生器UART1的波特率发生器两个8位计数器/定时器(仅限于T0)当工作于定时器方式时,计数器/定时器寄存器在每个时钟嘀嗒加1。时钟嘀嗒为系统时钟除以1或者系统时钟除以12,由CKCON中的定时器时钟选择位(T4M、T2M或T0M)指定。图3.3所示为时钟控制寄存器。R/W R/W R/W R/W R/W R/W R/W R/WT4MT2MT1MT0M保留保留保留位7 位6 位5 位4 位3 位2 位1 位0位7: 未用TnM: 定时器n时钟选择(T4M只存在于C8051F02x系列MCU中)1:定时器n使用系统时钟0:定时器n使用系统时钟的12分频位2-0: 保留。读=000B,必须写入000图3.3 CKCON:时钟控制寄存器3.3.1 特殊功能寄存器图3.4图3.9对与定时器0和定时器1工作相关的特殊功能寄存器作出了详细说明。R/W R/W R/W R/W R/W R/W R/W R/WTF1TR1TF0TR0IE1IT1IE0IT0位7 位6 位5 位4 位3 位2 位1 位0位7:定时器1溢出标志。当定时器1溢出时由硬件置位。该位可以用件清零,但当CPU转向定时器1中断服务程序时,该位被自动清0位6:定时器1运行控制0:定时器1禁止1:定时器1允许位5:定时器0溢出标志。当定时器0溢出时由硬件置位。该位可以用软件清零,但当CPU转向定时器0中断服务程序时,该位被自动清0位4:定时器0运行控制0:定时器0禁止1:定时器0允许位3:外部中断1。当检测到一个由IT1定义的边沿/电平时,该标志由硬件置位。该位可以用软件清0,但当CPU转向定时器0中断服务程序时,该位被自动清0(如果IT1=1)。当IT1=0时,该标志是/INT1输入信号的逻辑电平取反位2:中断1类型选择。该位/INT1信号是检测下降沿中断,还是检测低电平有效中断0:/INT1为电平触发1:/INT1为边沿触发位1:外部中断0。当检测到一个由IT1定义的边沿/电平时,该标志由硬件置位。该位可以用软件清0,但当CPU转向定时器0中断服务程序时,图3.4 TCON:定时器控制寄存器该位被自动清0(如果IT1=1)。当IT0=0时,该标志是/INT0输入信号的逻辑电平取反位0:中断0类型选择。该位/INT0信号是检测下降沿中断,还是检测低电平有效中断 0:/INT0为电平触发1:/INT0为边沿触发图3.4 TCON:定时器控制寄存器(续)R/W R/W R/W R/W R/W R/W R/W R/WGATE1C/T1T1M1T1M0GATE0C/T0T0M1T0M0位7 位6 位5 位4 位3 位2 位1 位0位7:定时器1门控位0:当TR1=1时,定时器1工作,与/INT1的逻辑电平无关1:只有 TR1=1且/INT1为逻辑1时,定时器1工作位6:定时器/计数器1选择0:定时器功能:定时器1由T1M位(CKCON.4)定义的时钟加11:计数器功能:定时器1由外部输入引脚(T1)的负跳变加1位54:定时器1方式选择。这些位选择定时器1的工作方式 图3.5 TMODE:定时器方式寄存器R/W R/W R/W R/W R/W R/W R/W R/W位7 位6 位5 位4 位3 位2 位1 位0位70:定时器0低字节,TL0寄存器是16位定时器0的低字节图3.6 TL0:定时器0低字节R/W R/W R/W R/W R/W R/W R/W R/W位7 位6 位5 位4 位3 位2 位1 位0位70:定时器1低字节,TL1寄存器是16位定时器1的低字节图3.7 TL1:定时器1低字节3.3.2 设计说明 实验过程中的一个重要的发现C8051Fxxx MCU有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都能产生系统时钟。但本人在实验的过程中发现,内部振荡器的频率设定是一个典型频率,对于相同型号MCU的不同芯片,其频率在这个典型频率附近,但却不完全相同,且各不相同; 几个公式的推导和分析 设振荡器频率为F(MHz),系统时钟的分频系数为n1,定时器的分频系数为n2,需要定时的时间为T(us),则定时器需计数的次数(即计数初值)C可用下面的公式(I)表示:C ( T * F ) /(n1 * n2) (I) 记 n1*n2 N,则公式(I)可简化为公式(II):C ( T * F ) / N (II) 由上公式可分析得: 在T,N不变的情况下,C与F成正比; 在T,F不变的情况下,C与N成反比; 在F,N不变的情况下,C与T成正比;同理得公式(III)、(IV)和(V)如下:T (C * N) / F (III)F (C * N) / T (IV)N (T * F ) / C (V) 问题的提出C8051F221_COM_V1电路板的外部晶体振荡器振荡频率为11.0592MHz,系统时钟的分频系数为2,定时器的分频系数为12,计数最大值为216 =65535,则可由公式(III)计算得在该频率振荡器下,定时器的最大定时时间为: Tmax = 142220(us)= 142.22(ms)= 0.14222(s)因此, 解决方法使定时器0工作在定时器方式1,定时100ms,定时时间到后P2.1反相,即P2.1端输出周期200ms的方波脉冲。示意简图如图3.10。图3.10 定时器/计数器复合定时示意简图 F = 11.0592(MHz),N = 2 * 12 = 24,T = 100 000(us), 由公式(II)可得:C = 46080。3.3.3 程序流程图 a 主程序流程图 b C/T0 ISR 流程图 c C/T1 ISR流程图图3.11 定时器实验程序流程图3.4 中断系统3.4.1 前言CIP-51包含一个扩展的中断系统,支持22个中断源,每个中断源有两个优先级。3.4.2 问题的提出 外部中断源/INT0和/INT1可被配置为低电平触发和下降沿触发输入, 设计题目:利用C8051F221_COM_V1电路板上焊接的键盘输入模块和LED显示模块等资源,依据外部中断原理,3.4.3 程序流程图图3.12 中断实验程序流程图3.4.4 程序段示例 INT0中断服务程序void service_int0() interrupt 0 using 1 INT1中断服务程序void service_int1() interrupt 2 using 2 端口初始化程序void Port_Init(void) 主程序void main(void)3.4.5 程序段说明 中断响应和寄存器组切换 CPU在响应中断请求时,由硬件自动形成转向该中断源对应的服务程序入口地址。这是硬件向量中断法。各中断源的中断服务程序入口地址如下:表3.2 常用中断源的中断服务入口地址编号中断源入口地址0外部中断00003H1定时器/计数器0000BH2外部中断10013H3定时器/计数器1001BH4串行口中断0023H 当一个特定的任务正在执行时,可能有更紧急的事须引起CPU的注意。 INT1中断服务程序,原理同上。 为了选择系统设计所需要的数字功能,PRT0MX寄存器详细说明如图3.13所示。R/W R/W R/W R/W R/W R/W R/W R/WT2EXET2ET1ET0EINT1EINT0EUARTEN位7 位6 位5 位4 位3 位2 位1 位0位7: T2EX使能位0:T2EX不连到端口引脚1:T2EX连到端口引脚P0.7位6: T2使能位0:T2不连到端口引脚1:T2连到端口引脚P0.6图3.13 PRT0MX:端口I/O MUX 寄存器03.5 UART3.5.1 基本概念表3.3概述了这4种工作方式。表3.3 UART工作方式方式同步性波特率时钟数据位起始/停止位0同步SYSCLK/128无1异步定时器1或定时器2溢出8一个起始位,一个停止位2异步SYSCLK/32或SYSCLK/649一个起始位,一个停止位3异步定时器1或定时器2/4溢出9一个起始位,一个停止位3.5.2 设计的提出 图3.14 UART测试示意简图 图3.15 串行通信系统连接图3.5.3 程序流程图 图3.16 UART测试程序流程图 图3.17 串行通信程序流程图3.5.4 程序段示例 接收子程序uchar RS_RCV(void) 发送子程序void RS_SEN(uchar x) / 入口参数为x UART测试实验主程序void main() 接收子程序 发送子程序程序段所示为发送一个字符5,其二进制代码为00110101,即35H,故端口寄存器P1的状态应为35H。(如图3.18)图3.18 UART测试实验Cygnal IDE运行结果 单片机与PC机串行通信实验主程序利用“串口调试程序”(PC机一侧软件)通过RS-232通信电缆向单片机UART发送数据(包括汉字),单片机接收到后立刻发送到PC机,在PC机一侧观察收发数据是否一致。(如图3.19)图3.19 单片机与PC机串行通信实验串口调试软件运行结果 方式1的波特率发生程序 公式的提出和分析参见图3.3。 波特率