c8051f高速单片机及其在测控系统中的应用--毕业论文_第1页
c8051f高速单片机及其在测控系统中的应用--毕业论文_第2页
c8051f高速单片机及其在测控系统中的应用--毕业论文_第3页
c8051f高速单片机及其在测控系统中的应用--毕业论文_第4页
c8051f高速单片机及其在测控系统中的应用--毕业论文_第5页
已阅读5页,还剩58页未读 继续免费阅读

c8051f高速单片机及其在测控系统中的应用--毕业论文.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)用纸1C8051F高速单片机及其在测控系统中的应用高速单片机及其在测控系统中的应用高速单片机及其在测控系统中的应用高速单片机及其在测控系统中的应用目目目目录录录录中文摘要英文摘要1绪论111C8051F高速单片机的特征112本设计的目的212本论文的构成概要22C8051F系列单片机设计理论基础321嵌入式系统概述3211什么是嵌入式系统3212嵌入式系统的种类3213嵌入式系统的应用及其发展前途422单片机的技术发展历史8221单片机的发展阶段8222单片机的发展方向923单片机的应用系统10231单片机应用系统的结构10232单片机的种类10233单片机的应用模式1124C8051F高速SOC单片机12241CIP51内核12毕业设计(论文)用纸2242存储器14243JTAG调试和边界扫描14244可编程数字I/O和交叉开关15245可编程计数器阵列15246串行端口16247模/数转换器16248数/模转换器17249比较器173C8051F系列单片机的基本功能1931开发环境1932C8051F221电路系统测试19321设计说明19322电路系统测试程序流程图21323程序段示例及说明2133定时器计数器23331特殊功能寄存器25332设计说明30333程序流程图3234中断系统32341前言32342问题的提出33343程序流程图34344程序段示例34毕业设计(论文)用纸3345程序段说明3635UART39351基本概念39352设计的提出40353程序流程图41354程序段示例42355程序段说明4436集成开发环境介绍474C8051F单片机在磁性长线传感器系统中的应用5041磁性长线传感器系统概述50411前言50412系统构成5042C8051F206单片机在传感器系统中的应用52421C8051F206与PC机之间的通信52422C8051F206与CPLD之间的通信52423C8051F206与传感器系统之间的通信5643单片机C51程序的实现56431C8051F206与PC机之间通信的程序实现56432C8051F206与CPLD之间通信的程序实现59433C8051F206与传感器系统之间通信的程序实现6144系统存在的问题和改进的方法64441前言64442系统改进思路分析65毕业设计(论文)用纸4443程序流程图67444程序段示例68443程序段说明7145一种调试方法及其程序开发74451编程原理75452程序段示例75453程序段说明775结论7951C8051F高速单片机7952测控系统7953设计所达到的目的79参考文献80致谢81毕业设计(论文)用纸5摘要80C51从早期INTEL公司的MCS51到PHILIPS、ATMEL等公司发展的80C51系列MCU,再到CYGNAL公司最新推出的C8051F,表明了单片机的典型发展过程。CYGNAL的C8051带SOC色彩,集成了嵌入式系统的许多先进技术。这些先进技术对8位MCU的发展会有推进作用。本次设计,不仅学习了C8051FXXX单片机的基本原理和CX51的编程方法,还亲自动手,结合硬件系统开发C8051FXXX单片机的一系列基本功能,更重要的是将基本功能开发所获得的知识和经验运用的实际工程当中,即测控系统磁性长线传感器系统当中。关键词SOCC8051FXXX单片机CX51测控系统磁性长线传感器系统毕业设计(论文)用纸6ABSTRACTTHETYPICALDEVELOPINGPROCESSOFSINGLECHIPCANBEINDICATEDBYTHEEARLY80C51OFINTELLTDCOMPANYSMCS51,THEMCUDEVELOPEDBYPHILIPSANDATMELLTDCOMPANIESANDTHENEWLYMARKETEDC8051FBYCYGNALLTDCOMPANYTHEC8051FOFCYGNALLTDCOMPANYISIMBUEDWITHTHECHARACTERISTICSOFSOCANDINTEGRATEDWITHMANYNEWTECHNOLOGIESOFEMBEDDEDSYSTEMSTHESENEWTECHNOLOGIESWILLDEFINITELYPROMOTETHEDEVELOPMENTOF8BITMCUINTHISGRADUATIONDESIGN,INOTONLYLEARNEDTHEFUNDAMENTALSANDPROGRAMMINGMETHODSOFTHESINGLECHIPC8051FXXX,BUTALSODEVELOPEDSOMEOFITSBASICFUNCTIONS,INTEGRATINGWITHTHECHARACTERSOFTHESINGLECHIPMOREIMPORTANTLY,IAPPLIEDTHEKNOWLEDGEANDEXPERIENCEIGAINEDINTHEPROCESSOFBASICEXPLOITATIONOFC8051FXXXTOAPRACTICALPROJECT,THESURVEYINGANDCONTROLLINGSYSTEMMAGNETICLONGTHREADSENSORSYSTEMKEYWORDSSOCC8051FXXXSINGLECHIPCX51SURVEYINGANDCONTROLLINGSYSTEMMAGNETICLONGTHREADSENSORSYSTEM毕业设计(论文)用纸7第一章绪论11C8051F高速单片机的特征在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的机器周期概念,指令以时钟为运行单位,创建了CIP51的CPU模式,以流水线方式处理指令,70的指令在12个时钟周期完成,大大提升了运行速度,使C8051F进入了8位高速单片机行列。中断源增加至20几个,使设计者更加灵活方便的利用其资源,方便了软件的设计。毕业设计(论文)用纸8I/O口由固定方式改为交叉开关配置,设计者可更加灵活方便安排选择I/O。与51指令兼容,有KEILC支持,通过JTAG口进行非侵入式全速在系统(ISP)和在应用(IAP)编程调试。最小功耗的最佳支持3V供电标准降低了系统的功耗,但I/O口仍然允许5V输入,经上拉后也可驱动5V逻辑器件。完善的时钟系统可使系统平均时钟频率最低,众多的复位源可灵活的实现零功耗的系统的设计。12本设计的目的通过本次设计,不仅要学习C8051F单片机的基本原理和C51的编程方法,还要亲自动手,结合硬件系统开发C8051F单片机的一系列基本功能,更重要的是将基本功能开发所获得的知识和经验运用的实际工程当中,即设计题目所规定的测控系统当中。13本论文的构成概要本论文包含五章内容。第一章绪论。本章最简要地介绍了C8051F单片机的特征,介绍了本设计的目的和论文的构成概要。第二章C8051F系列单片机设计的理论基础。本章对嵌入式系统的概念以及其发展方向做了简单的介绍。对单片机特别是C8051FXXX系列单片机的理论原理和特征做了较详细的描述。第三章C8051F单片机的基本功能开发。本章对设计过程中开发C8051F221单片机基本功能所得的成果和原理做了详细的讲述。第四章C8051F206在磁性长线传感器系统中的应用。本章是基本功能开发的实践应用和检验,也是设计的重中之重。对C8051F206单片机在磁性长线传感器系统中的位置、作用以及开发过程做了详细的介绍。第五章总结。对全文的两大模块进行总括性的描述。毕业设计(论文)用纸9第二章C8051F系列单片机设计的理论基础21嵌入式系统概述211什么是嵌入式系统通常将满足海量高速数值计算的计算机称为通用计算机系统;而把面向工控领域对象,嵌入到工控应用系统中,实现嵌入式应用的计算机称为嵌入式计算机系统,简称嵌入式系统。212嵌入式系统的种类嵌入式系统得种类可分为以下四种工控机。将通用计算机经机械后加固和电气加固改造后构成,其特点是软件丰富、体积大。通用CPU模块。用CPU构成各种形式的主机板系统,一般用在大量数据处理的场合,体积较小。213嵌入式系统的应用及其发展前途嵌入式系统的应用伴随着二十一世纪的曙光,人类迎来了一个充满希望的新时代。而作为二十世纪人类社会最伟大的发明之一,计算机也迈入了其另一个充满机遇的阶段后PC时代。信息电器领域信息电器是指所有能提供信息服务或通过网络系统交互信息的消费类电子产品。毕业设计(论文)用纸10移动计算设备领域网络设备领域工控、仿真、医疗仪器等领域美好的未来随着信息技术的发展,数字化产品空前繁荣。嵌入式软件已经成为数字化产品设计创新和软件增值的关键因素,表212000年中国软件市场销售额2000年中国软件市场销售额单位亿元应用软件147639中间件9240系统软件738321软件总产值23010022单片机的技术发展历史221单片机的发展阶段单片机的发展可分为以下四个阶段毕业设计(论文)用纸1112第二代单片机完善阶段。表现在面对对象,突出控制功能,专用CPU满足嵌入功能;寻址范围为16位或8位;规范的总线结构,有8位数据线,16位地址线及多功能异步串行口(UART);特殊功能寄存器(SFR)的集中管理模式;海量位地址空间,提供位寻址及位操作功能;指令系统突出控制功能。3第三代微控制器形成阶段。这一阶段已形成系列产品以8051系列为代表,如8031、8032、8051和8052等。4第四代微控制器百花齐放。表现在电气商、半导体商广泛假如;满足最低电子技术的应用(玩具、小家电);大力发展专用型单片机;致力于提高单片机的综合品质。222单片机的发展方向未来单片机技术的发展趋势可归结为以下10个方面1主流型机发展趋势。8位单片机为主流,少量32位机,16位几可能被淘汰。2全盘CMOS化趋势。指在HCMOS基础上的CMOS化,CMOS速度慢、功耗小,而HCMOS具有低功耗管理技术等忐忑点。3RISC体系结构的发展。早期CISC指令较复杂,指令代码周期数不同意,难以实现流水线(单周期指令仅为1MIPS)。采用RISC体系结构可以精简指令系统,使其绝大部分为单周期指令,很容易实现流水线作业(单周期指令毕业设计(论文)用纸12速度可达12MPIS)4大力发展专用单片机。5OTPROM、FLASHROM成为主流供应状态。6ISP及基于ISP的开发环境。FLASHROM的应用推动了ISP(系统可编程技术)的发展,这样就可实现目标程序的串行下载,PC机可通过串行电缆对远程目标高度仿真、更新软件等。7单片机的软件嵌入。目前的单片机只提供程序空间,没有驻机软件。ROM空间足够大后,可装入如平台软件、虚拟外设软件和用于系统诊断管理的软件等,以提高开发效率。8实现全面共好管理。如采用ID、PD模式、高速时钟/低速时钟模式和低电压节能技术。9推行串行扩展总线。如FC总线等。10ASMIC技术的发展。如以MCU为核心的专用集成电路(ASIC)。23单片机应用系统231单片机应用系统的结构单片机应用系统的结构分为三个层次1单片机通常指应用系统主处理机,即所选择的单片机器件。2单片机系统指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统,如时钟电路、复位电路和扩展存储器等与单片机构成了单片机系统。3单片机的应用系统指能满足嵌入对象要求的全部电路系统。在单片机系统的基础上加上面向对象的接口电路,如前向通道、后向通道、人机交互通道(键盘、显示器、打印机等)和串行通信口(RS232)以及应用程序等。单片机应用系统三个层次的关系如图21所示。毕业设计(论文)用纸13单片机应用系统单片机系统单片机应用系统向后通道向前通道人机交互通道串行通信口图21单片机应用系统三个层次的关系232单片机的种类单片机可按应用领域、通用性、总线结构分类。1按应用领域可分为家电类、工控类、通行类、个人信息终端等。2按通用性可分为通用型和转用型(如计费率电表、电子计事薄)。3按总线结构可分为总线型和非总线型。如89C51为总线型,有数据总线、地址总线及相应的控制线(WR、RD、EA、ALE等);89C2051等为非总线型,其外部引脚少,可使成本下降。233单片机的应用模式单片机应用模式的分类如图22所示。各应用模式的结构如图23、图24、图25和图16所示。毕业设计(论文)用纸14通用单片机总线型时钟复位8DB16ABNCBI/ON并行扩展串行扩展I/O口非总线单片机时钟复位I/ON串行扩展I/O口图22总线型的总线应用模式图23非总线型的应用模式通用单片机总线型时钟复位8DB16ABNCBI/O串行扩展I/O口专用单片机时钟复位专用外围设备I/O口图24总线型的非总线应用模式图25专用型的应用模式24C8051F高速SOC单片机C8051FXXX系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,241CIPC51内核C8051FXXX系列器件使用CYGNAL的专利CIP51微控制器内核。CIP51与MCS51指令集完全兼容,可以使用标准803X/805X的汇编器和编译器进行软件开发。CIPC51共有111条指令。表22列出了指令条数与执行时间所需的系统时钟周期的关系。毕业设计(论文)用纸15表22指令数与系统时钟周期数的关系执行周期数122/333/444/558指令数265051673121工作在最大系统时钟频率为25MHZ时,它的峰值速度达到25。图26给出了几种8位微控制器内核工作在最大系统时钟频率时峰值速度的比较关系。5100152025CYGNALCIP5125MHZCLKMICROCHIPPIC17C75X33MHZCLKPHILPS80C5133MHZCLKADUC812805116MHZCLKMIPS图268位MCU峰值执行速度比较242存储器243JTAG调试和边界扫描244可编程数字I/O和交叉开关毕业设计(论文)用纸16245可编程计数器阵列246串行端口247摸/数转换器248数/摸转换器249比较器毕业设计(论文)用纸17第三章C8051F单片机的基本功能开发为了熟悉C8051应用系统的基本功能,充分利用C8051F221_COM_V1电路板、串行通信电缆以及段式LCD电路板LCD_820A_UNIT_V1等资源(太原理工大学“晓明研究室”提供),设计程序对该应用系统的I/0端口、UART、SPI等基本功能进行开发。31开发环境编程、调试软件CYGNALIDEV181;操作系统MICROSOFTWINDOWS98/2000/NT;编译环境KEILC51。32C8051F221电路系统测试321设计说明C8051F2XX芯片是高集成度的混合信号系统级MCU芯片,片内集成了一个多通道ADC(C8051F230/231/236中没有ADC)、两个电压比较器、3个通用的16位定时器、UART、SPI总线接口、内部振荡器、32个或22个通用I/O引脚、8KB的FLASH程序存储器和与8051兼容的高速微控制器内核。C8051F221有22个通用I/O引脚,其端口I/O原理框图见图31。毕业设计(论文)用纸18图31C8051F221端口I/O原理框图322电路系统测试程序流程图毕业设计(论文)用纸19STARTYNSHINEKB0按下KB1按下KB2按下KB3按下KB4按下KB5按下KB6按下KB7按下LIGHTHORSEHALFDISLODGEFLOWGRADLIGHTGRADCUTMEET有按键按下哪个按键按下初始化图32电路系统测试程序流程图323程序段示例及说明程序段示例点亮所有LEDVOIDLIGHTVOID延时程序VOIDDELAYUINTX毕业设计(论文)用纸20主程序VOIDMAIN说明点亮所有的8个发光二极管。这是我实验所做的第一个子程序,命令只有两行,意思也非常简单明了。延时程序实际是空操作的嵌套,入口参数的大小控制延时时间的长短。由于电路板上提供有8个按键,33定时器/计数器表31定时器的工作方式T0和T1T2T3T413位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器16位计数器/定时器带捕捉的16位计数器/定时器带捕捉的16位计数器/定时器自动重装载的8位计数器/定时器UART(0)的波特率发生器UART1的波特率发生器毕业设计(论文)用纸21两个8位计数器/定时器(仅限于T0)当工作于定时器方式时,计数器/定时器寄存器在每个时钟嘀嗒加1。时钟嘀嗒为系统时钟除以1或者系统时钟除以12,由CKCON中的定时器时钟选择位(T4M、T2M或T0M)指定。图33所示为时钟控制寄存器。R/WR/WR/WR/WR/WR/WR/WR/WT4MT2MT1MT0M保留保留保留位7位6位5位4位3位2位1位0位7未用TNM定时器N时钟选择(T4M只存在于C8051F02X系列MCU中)1定时器N使用系统时钟0定时器N使用系统时钟的12分频位20保留。读000B,必须写入000图33CKCON时钟控制寄存器331特殊功能寄存器图34图39对与定时器0和定时器1工作相关的特殊功能寄存器作出了详细说明。毕业设计(论文)用纸22R/WR/WR/WR/WR/WR/WR/WR/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(如果IT11)。当IT10时,该标志是/INT1输入信号的逻辑电平取反位2中断1类型选择。该位/INT1信号是检测下降沿中断,还是检测低电平有效中断0/INT1为电平触发1/INT1为边沿触发位1外部中断0。当检测到一个由IT1定义的边沿/电平时,该标志由硬件置位。该位可以用软件清0,但当CPU转向定时器0中断服务程序时,毕业设计(论文)用纸23图34TCON定时器控制寄存器该位被自动清0(如果IT11)。当IT00时,该标志是/INT0输入信号的逻辑电平取反位0中断0类型选择。该位/INT0信号是检测下降沿中断,还是检测低电平有效中断0/INT0为电平触发1/INT0为边沿触发图34TCON定时器控制寄存器(续)R/WR/WR/WR/WR/WR/WR/WR/WGATE1C/T1T1M1T1M0GATE0C/T0T0M1T0M0位7位6位5位4位3位2位1位0位7定时器1门控位0当TR11时,定时器1工作,与/INT1的逻辑电平无关1只有TR11且/INT1为逻辑1时,定时器1工作位6定时器/计数器1选择0定时器功能定时器1由T1M位(CKCON4)定义的时钟加11计数器功能定时器1由外部输入引脚(T1)的负跳变加1位54定时器1方式选择。这些位选择定时器1的工作方式图35TMODE定时器方式寄存器毕业设计(论文)用纸24R/WR/WR/WR/WR/WR/WR/WR/W位7位6位5位4位3位2位1位0位70定时器0低字节,TL0寄存器是16位定时器0的低字节图36TL0定时器0低字节R/WR/WR/WR/WR/WR/WR/WR/W位7位6位5位4位3位2位1位0位70定时器1低字节,TL1寄存器是16位定时器1的低字节图37TL1定时器1低字节332设计说明实验过程中的一个重要的发现C8051FXXXMCU有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都能产生系统时钟。但本人在实验的过程中发现,内部振荡器的频率设定是一个典型频率,对于相同型号MCU的不同芯片,其频率在这个典型频率附近,但却不完全相同,且各不相同;几个公式的推导和分析设振荡器频率为F(MHZ),系统时钟的分频系数为N1,定时器的分频系数为N2,需要定时的时间为T(US),则定时器需计数的次数(即计数初值)C可用下面的公式(I)表示CTF/(N1N2)(I)毕业设计(论文)用纸25记N1N2N,则公式(I)可简化为公式(II)CTF/N(II)由上公式可分析得在T,N不变的情况下,C与F成正比;在T,F不变的情况下,C与N成反比;在F,N不变的情况下,C与T成正比;同理得公式(III)、(IV)和(V)如下TCN/F(III)FCN/T(IV)NTF/C(V)问题的提出C8051F221_COM_V1电路板的外部晶体振荡器振荡频率为110592MHZ,系统时钟的分频系数为2,定时器的分频系数为12,计数最大值为21665535,则可由公式(III)计算得在该频率振荡器下,定时器的最大定时时间为TMAX142220(US)14222(MS)014222(S)因此,解决方法使定时器0工作在定时器方式1,定时100MS,定时时间到后P21反相,即P21端输出周期200MS的方波脉冲。示意简图如图310。毕业设计(论文)用纸26200MS1SP20P21图310定时器/计数器复合定时示意简图F110592(MHZ),N21224,T100000(US),由公式(II)可得C46080。333程序流程图毕业设计(论文)用纸27A主程序流程图BC/T0ISR流程图CC/T1ISR流程图图311定时器实验程序流程图34中断系统341前言CIP51包含一个扩展的中断系统,支持22个中断源,每个中断源有两个优先级。342问题的提出外部中断源/INT0和/INT1可被配置为低电平触发和下降沿触发输入,设计题目利用C8051F221_COM_V1电路板上焊接的键盘输入模块和LED显示模块等资源,依据外部中断原理,毕业设计(论文)用纸28343程序流程图START端口初始化中断初始化是否发生中断FLAG1查询中断类型设置中断标志FLAG1存取状态STATUSP1LED7闪烁LED6闪烁清除中断标志FLAG0INT1INT0YNINT0入口中断返回INT1入口中断返回图1主程序流程图图2INT0中断服务程序流程图图3INT1中断服务程序流程图设置中断标志FLAG1存取状态STATUSP1图312中断实验程序流程图344程序段示例INT0中断服务程序VOIDSERVICE_INT0INTERRUPT0USING1INT1中断服务程序VOIDSERVICE_INT1INTERRUPT2USING2毕业设计(论文)用纸29端口初始化程序VOIDPORT_INITVOID主程序VOIDMAINVOID345程序段说明中断响应和寄存器组切换CPU在响应中断请求时,由硬件自动形成转向该中断源对应的服务程序入口地址。这是硬件向量中断法。各中断源的中断服务程序入口地址如下表32常用中断源的中断服务入口地址编号中断源入口地址0外部中断00003H1定时器/计数器0000BH2外部中断10013H3定时器/计数器1001BH4串行口中断0023H当一个特定的任务正在执行时,可能有更紧急的事须引起CPU的注意。毕业设计(论文)用纸30INT1中断服务程序,原理同上。为了选择系统设计所需要的数字功能,PRT0MX寄存器详细说明如图313所示。R/WR/WR/WR/WR/WR/WR/WR/WT2EXET2ET1ET0EINT1EINT0EUARTEN位7位6位5位4位3位2位1位0位7T2EX使能位0T2EX不连到端口引脚1T2EX连到端口引脚P07位6T2使能位0T2不连到端口引脚1T2连到端口引脚P06图313PRT0MX端口I/OMUX寄存器035UART351基本概念表33概述了这4种工作方式。表33UART工作方式毕业设计(论文)用纸31方式同步性波特率时钟数据位起始/停止位0同步SYSCLK/128无1异步定时器1或定时器2溢出8一个起始位,一个停止位2异步SYSCLK/32或SYSCLK/649一个起始位,一个停止位3异步定时器1或定时器2/4溢出9一个起始位,一个停止位352设计的提出P00/TXDP01/RXDC8051F221图314UART测试示意简图毕业设计(论文)用纸32图315串行通信系统连接图353程序流程图START定义传输的数据串口初始化发送数据接收数据显示数据START串口初始化串口中断初始化LED7闪烁中断入口将接收到的数据发送出去中断返回接收微机发来的数据图316UART测试程序流程图图317串行通信程序流程图354程序段示例接收子程序UCHARRS_RCVVOID毕业设计(论文)用纸33发送子程序VOIDRS_SENUCHARX/入口参数为XUART测试实验主程序VOIDMAIN接收子程序发送子程序程序段所示为发送一个字符5,其二进制代码为00110101,即35H,故端口寄存器P1的状态应为35H。(如图318)毕业设计(论文)用纸34图318UART测试实验CYGNALIDE运行结果单片机与PC机串行通信实验主程序利用“串口调试程序”(PC机一侧软件)通过RS232通信电缆向单片机UART发送数据(包括汉字),单片机接收到后立刻发送到PC机,在PC机一侧观察收发数据是否一致。(如图319)毕业设计(论文)用纸35图319单片机与PC机串行通信实验串口调试软件运行结果方式1的波特率发生程序公式的提出和分析参见图33。波特率的设定表34常用波特率与TH1的对应表波特率(BPS)TH1(十六进制)96000XEE48000XDC24000XB8毕业设计(论文)用纸3612000X7036集成开发环境简介在系统编程和调试环境如图320所示。图320集成开发环境示意图CYGNALIDE的主界面如图321所示。毕业设计(论文)用纸37项目窗口编辑窗口输出窗口寄存器窗口存储器窗口图321CYGNALIDE主界面毕业设计(论文)用纸38第四章C8051F单片机在磁性长线传感器系统中的应用41磁性长线传感器系统概述411前言本章是C8051F单片机的基本原理在实践工程中的应用。磁性长线传感器系统(山西省自然科学基金、山西省回国留学人员科研项目)是太原理工大学“晓明研究室”的一项研究课题,研究中涉及C8051F单片机的部分内容由本人协助设计完成。编程、调试软件CYGNALIDEV181;操作系统MICROSOFTWINDOWS98/2000/NT;编译环境KEILC51。412系统构成系统构成简述LSS传感器系统C8051F206系统RS232TOPC02VCPLD模拟电压M图41系统构成简图如图41所示,系统主要由LSS传感器系统、步进电机M、C8051F206高速单片机、CPLD以及PC机等模块构成。图42所示为实验台整体设计图。毕业设计(论文)用纸39实验平台小车传动线滑轮传感器底座传感器支架磁环传感器杆小车轨道滑轮支架传感器尾部支架图42实验台整体设计图C8051F206高速单片机与CPLD被焊接在LSS_C8051F206_V1电路板上。LSS_C8051F206_V1电路板照片如图43所示。图43LSS_C8051F206_V1电路板照片C8051F206单片机在系统中的位置由图41可以看出,C8051F206单片机处于LSS传感器系统、CPLD以及PC机三者之间。它将三者联系起来,起到了桥梁和纽带的作用。传感器系统的通讯过程毕业设计(论文)用纸40其中,通讯系统设计包含以下两个方面42C8051F206单片机在传感器系统中的应用421C8051F206与PC机之间的通信C8051F206与PC机之间的通信是串行通信,其基本原理参见第三章35节。单片机与PC机通过RS232通信电缆连接。422C8051F206与CPLD之间的通信C8051F206和CPLD系统的通讯协议C8051F206和CPLD系统的通讯协议的格式如图44所示命令字段数据段8BIT命令后续子节数8BIT数据段8BIT图44C8051F206和CPLD系统的通讯协议的格式毕业设计(论文)用纸41命令子段数据段8BIT8BIT方向参数DIR001100010000000000000001DIR0当DIR1当00110001MSBLSBMSBLSB命令子段数据段8BIT8BIT速度参数SPEED010000010000000000000001SPEED0当SPEED1当01000001MSBLSBMSBLSB命令子段数据段8BIT8BIT启动参数STA010100010000000000000001STA0当STA1当01010001MSBLSBMSBLSB图45CPLD和C8051F206系统的通讯协议的具体格式命令子段数据段8BIT8BIT复位参数STP011000010000000000000001STP0当STP1当01100001MSBLSBMSBLSB命令子段数据段8BIT8BIT步进量参数STEP0111001000000000STEP1当00001111STEP4095当01110010MSBLSBMSBLSB数据段8BIT0000000111111111MSBLSB图45CPLD和C8051F206系统的通讯协议的具体格式(续)毕业设计(论文)用纸42如图46所示。C8051F206系统RS232TOPCCPLD二进制数ASCII码ASCII码图46通讯过程中的数制转换过程虽然在C8051F206系统中也可以将ASCII码转换成二进制数,但是由于此处需要传送的参数不多,因此,采用这种预先设置特定数值得方法更加简便、有效。在LSS系统通讯过程中,所用参数的ASCII码和二进制对应关系如图47所示。通讯系统中的参数方向参数DIR速度参数SPEED步进量参数PACE启动参数STA复位参数STP二进制表示命令子段0011000101000001010100010110000101110010ASCII表示命令子段1AQAR图47所用参数的ASCII码和二进制对应关系例如对于“启动参数STA”,PC机给C8051F206系统发送字母“Q”,则C8051F206系统将字母“Q”对应的二进制数“01010001”直接传送给CPLD即可。C8051F206系统向CPLD写数据的过程毕业设计(论文)用纸43CPLDC8051F206系统WRDATA8图48C8051F206系统向CPLD写数据的过程/WR写信号,低电平有效。该信号由C8051F206系统发出,表示其要向CPLD中传输数据。DATA数据传输线,共有8条,用于C8051F206系统向CPLD传输数据。423C8051F206与传感器系统之间的通信传感器系统将模拟量数据传送给C8051F206单片机,单片机利用片内的12位A/D转换器将其转换位12位数字量,并传送到PC机进行数据分析。传输过程中涉及到的数制问题,将在43节详细描述。43单片机C51程序的实现431C8051F206与PC机之间通信的程序实现程序段示例二进制(字节)到ASCII码的转换程序UCHARTRANSHUCHARH/转换字节高4位毕业设计(论文)用纸44UCHARTRANSLUCHARL/转换低4位A/D转换并将12位数字量(二进制)转换位ASCII码程序段说明二进制(字节)到ASCII码的转换程序程序设计的关键在于寻找00H0FH与其对应的ASCII码的联系,如表41所示。仔细观察表41我们会发现表4100H0FH与其对应的ASCII码十六进制二进制ASCII码十六进制二进制ASCII码0000000000001100000900001001001110010100000001001100010A00001010010000010200000010001100100B00001011010000100300000011001100110C00001100010000110400000100001101000D00001101010001000500000101001101010E00001110010001010600000110001101100F0000111101000110070000011100110111080000100000111000A/D转换并将12位数字量(二进制)转换位ASCII码毕业设计(论文)用纸45432C8051F206与CPLD之间通信的程序实现程序段示例SWITCHBUF/分析命令BREAK程序段说明这段程序主要由一个SWITCH语句构成,即分支程序的设计思路。如果接受到PC机发来的数据是Z,433C8051F206与传感器系统之间通信的程序实现程序段示例A/D转换初始化程序段VOIDADC_INITVOID启动AD转换VOIDSTART_ADCVOID毕业设计(论文)用纸46程序段说明A/D转换初始化程序段LADC0CN是ADC控制寄存器,如图49所示。R/WR/WR/WR/WR/WR/WR/WR/WADCENADCTMADCINTADBUSYADSTM1ADSTM0ADWINTADLJST位7位6位5位4位3位2位1位0位7ADC允许位1ADC允许。ADC处于活动状态,并准备转换数据0ADC禁止。ADC处于低耗停止状态位6ADC跟踪方式位1由ADSTM10定义跟踪方式0当ADC被使能时,除了转换间之外一直处于跟踪方式位5ADC转换结束中断标志。该标志必须用软件清01ADC完成了一次数据转换0从最后一次将该位清0后,ADC还没有完成一次数据转换位4ADC忙标志位读1ADC正在进行转换毕业设计(论文)用纸470ADC转换结束或复位以来没有有效的数据转换。ADCINT在ADBUSY下降沿被置1图49ADC0CNADC控制寄存器写1若ADSTM1000B,则启动ADC转换0无作用位32ADC转换启动方式选择位ADSTM10ADC转换启动方式00向ADBUSY写1启动ADC转换01(C8051F2XXX没有该方式)10(C8051F2XXX没有该方式)11定时器2溢出启动ADC转换位1ADC窗口比较中断标志1发生ADC窗口比较匹配0未发生ADC窗口比较匹配位0ADC数据左对齐控制位1ADC0HADC0L寄存器数据左对齐0ADC0HADC0L寄存器数据右对齐图49ADC0CNADC控制寄存器(续)毕业设计(论文)用纸48L电压基准REF0CN102VDDVREF外部去ADCREF图410电压基准电路框图电压基准控制寄存器如图411所示。R/WR/WR/WR/WR/WR/WR/WR/WREFSL1REFSL0位7位6位5位4位3位2位1位0位72未用位10电压基准选择。这些位用于选择所用的电压基准00选择外部VREF源01保留10保留11选择VDD作为VREF源图411REF0CN电压基准控制寄存器44系统存在的问题和改进的方法441前言毕业设计(论文)用纸49尽管使用如43节所介绍的方法基本上实现了直线传感器系统所要求的功能,但经过研究室成员的进一步分析,图412传感器系统调试场景(左起本论文作者、研究生李媛媛和姚世选)442系统改进思路分析LSS传感器系统协议分析LSS系统通讯协议的格式设计,如图413所示。开始传输标志位Z命令后续字节数命令命令段数据后续字节数数据数据段8BIT8BIT28BIT8BIT98BITZ图413LSS系统通讯协议的格式毕业设计(论文)用纸50说明如下几点单片机实现方法的简单分析上述LSS传感器系统协议是着眼于系统的可扩展性和可移植性,由研究生李媛媛提出,并经研究室成员分析而确定的。需要注意的是,443程序流程图A主程序流程图B串行中断服务程序流程图图414C8051F206单片机在LSS传感器系统中的通信程序流程图444程序段示例毕业设计(论文)用纸51串行中断服务程序VOIDSERVICE_INT1INTERRUPT4USING0与CPLD系统的通信程序VOIDSEN_CPLDUCHARB445程序段说明串行中断服务程序说明串行中断的原理和一般中断相同,当中断标志被硬件置位时发生中断,执行中断服务程序。这段串行中断服务程序用来将接收到来自PC机或传感器的数据,按照协议进行分析,并且做出相应得处理。从程序段的SWITCH语句不难看出,与CPLD系统的通信程序说明L系统协议改进的目的之一是提高可扩展性。由于43节所示的通信协议最大只能处理16位数据,表42KEILCX51的数据类型数据类型长度/BIT长度/BYTE值域BIT10,1UNSIGNEDCHAR810255SIGNEDCHAR81128127UNSIGNEDINT162065535毕业设计(论文)用纸52SIGNEDINT1623276832767UNSIGNEDLONG32404294967295SIGNEDLONG3242147836482147483647FLOAT3241176E38340E38(6位数字)DOUBLE6481176E38340E38(10位数字)一般指针243存储空间065535由表42可知,L系统可扩展性另一个方面在于解决这个问题的实质是本设计中的全局变量定义如下45一种调试方法及其程序开发图415硬件编程调试照片毕业设计(论文)用纸53451编程原理该段式LCD显示模块为5位显示,即可以显示5位BCD码。图416所示为LCD显示模块的示意简图,图417所示为LCD与CPLD端口连接图。为了使LCD能显示正确的数码(BCD码),单片机系统送往LCD每一位的数字不能是AHFH,即不可以大于9;如果是AHFH,则应当转换为BCD码,然后再进行显示。ABCDEFG1DP图416LCD显示模块示意简图PHDP1DP3DP2DP4PAPBPCPD1LD2LD3LD5LD4LDPAPBPCPDDP1DP3DP2DP41LD2LD3LD5LD4LDPHVCCGNDGNDVCC123456789101112131415161718192021222324252627282930HD31LCDPORTPH图417LCD与CPLD端口连接图452程序段示例5LCD的初始化VOIDINIT_LCDVOID毕业设计(论文)用纸54P20X005LCD显示VOIDSET_LCDUCHARLCD_DATA,UCHARNUM转换程序UINTBCTRANSUCHARHB,UCHARLB主程序VOIDMAINVOIDWHILE1453程序段说明5LCD的初始化程序说明毕业设计(论文)用纸555LCD显示程序说明转换程序说明转换的数据是12位二进制码,分别存储在两个8位寄存器中。这段程序的目的是将这个12位的二进制码转换为十进制数。主程序说明将转换得到的十进制数分别按照千位、百位、十位和个位的顺序分离出来,并送往LCD的对应显示单元。显示各位的程序是利用人眼的视觉暂留原理,快速更替显示单元并传送不同的数据,以达到4位(12位二进制最大可显示的BCD码是4095)显示单元同时显示数据的目的。详细过程参见程序及其后注释。毕业设计(论文)用纸56第五章结论51C8051FXXX高速单片机采用CIP51内核大力提升CISC结构运行速度I/O从固定方式到交叉开关配置从系统时钟到时钟系统从传统的仿真调试到基于JTAG接口的在系统调试从引脚复位到多源复位最小功耗系统的最佳支持52测控系统作为测控系统之一的磁性长线传感器系统,是太原理工大学“晓明研究室”的重要研究课题之一,也是导师常晓明教授的重要研究课题之一。是山西省回国留学人员科研项目(项目号200223)和山西省自然科学基金(项目编号20031040)。系统测控部分利用C8051F206高速单片机进行了数据传输及其过程中的数据分析和处理。53设计所达到的目的通过本次毕业设计,我学习了C8051FXXX系列单片机的基本原理,并亲自动手进行了C8051F221和C8051F206的基本功能的C51程序开发,在开发的过程中学习了PROTEL99SE和CORELDRAW10等软件的应用。最重要的是参加了磁性长线传感器系统的单片机部分的设计与开发工作,运用C8051F206的A/D转换、UART串行通信以及单片机C51语言等基本原理,顺利达到了将PC机系统、CPLD系统以及传感器系统“联系”起来的目的。采集所得的数据,为传感器系统的更加深入的科学研究提供了事实依据。毕业设计(论文)用纸57参考文献1C8051FXXX高速单片机原理及应用,潘琢金、施国君编著,北京航空航天大学出版社。2C8051FXXX单片机应用解析,美CYGNALINTEGRATEDPRODUCTS,INC编著,潘琢金、孙德龙、夏秀峰译,北京航空航天大学出版社。38051单片机基础教程,陈明荧编著,科学出版社。4单片机的C语言应用程序设计,马忠梅、籍顺心、张凯、马岩等编著,北京航空航天大学出版社。5THECPROGRAMMINGLANGUAGE,BRIANWKERNIGHANDENNISMRIRCHIE编著,机械工业出版社。6THEPRACTICEOFPROGRAMMING,BRIANWKERNIGHANBOBPIKE编著,清华大学出版社。751系列单片机设计实例,楼然苗、李光飞编著,北京航空航天大学出版社。8微型计算机技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论