首页 单片机毕业论文

单片机毕业论文

举报
开通vip

单片机毕业论文单片机毕业论文 武汉工程大学邮电与信息工程学院 毕业设计(论文) 基于单片机的串行通信发射机的 设计与实现 Design and Implementation based on Serial Communication Transmitter 学生姓名 学 号 专业班级 指导教师 2012年5月 武汉工程大学邮电与信息工程学院(论文) 作者声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学...

单片机毕业论文
单片机 毕业论文 毕业论文答辩ppt模板下载毕业论文ppt模板下载毕业论文ppt下载关于药学专业毕业论文临床本科毕业论文下载 武汉工程大学邮电与信息工程学院 毕业设计 机械毕业设计下载球磨机的毕业设计下载关于网络爬虫的毕业设计下载关于网络爬虫的毕业设计下载河南城建学院毕业设计论文下载 (论文) 基于单片机的串行通信发射机的 设计与实现 Design and Implementation based on Serial Communication Transmitter 学生姓名 学 号 专业班级 指导教师 2012年5月 武汉工程大学邮电与信息工程学院(论文) 作者声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。 毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。 特此声明。 作者专业: 作者学号: 作者签名: ____年___月___日 武汉工程大学邮电与信息工程学院(论文) 摘 要 在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网 络化和微机分级分布式应用系统的发展,通信的功能越来越重要。因此串行发射应用愈来愈广泛。串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在设备间交换信息,但传输速度较低。故串行通信在低速率、长距离通信上非常适用。而串行通信发射机是串行通信中极为重要的基础。 本设计中ADC0809将采集到的模拟信号转换成数字信号后传送至单片机, -8(8位循环冗余码校验)校验码以加强数据在单片机通过编程方式来增加CRC 可靠性,最后单片机再把采集到的数据和校验码通过一个无线发送器以串行通信的方式发送出去。 本论文共分为六个章节。第1章简要阐述了课题的研究背景及意义,并对串行通信发射机做了相关介绍;第2章介绍了系统的任务分析和设计方案;第3章主要介绍了系统的电路设计及所需设备及芯片;第4章对串行通信发射机的软件部分做了详细论述,并给出软件设计流程;第5章分析了系统测试过程及结果;第6章 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 了全文并对课题的发展前景做了展望。 关键词:单片机;CRC-8;串行通信 武汉工程大学邮电与信息工程学院(论文) Abstract In the communications field, there are two data communication method: parallel communication and serial communication. With the computer network Network of distributed applications and computer grading system, the communications function is increasingly important. Therefore, the serial transmit more and more widely. Serial communication using a data cable, data a one followed by transfer every data occupy a fixed length of time. It only takes a few a few lines you can exchange information between devices, but the low transmission speed. Serial communication is ideal for low-rate, long-distance communication. Serial communications transmitter is an extremely important foundation of the serial communication. ADC0809 analog signal acquisition to convert the digital signal sent to the microcontroller, the microcontroller programmatically to increase CRC-8 (8-bit cyclic redundancy check) checksum to enhance data reliability, the final microcontroller then collectedthe data and check code serial communication sent through a wireless transmitter. This thesis is divided into six chapters. Chapter 1 briefly described the research background and significance, and serial communication transmitters do; Chapter 2 describes the task analysis and design of the system; Chapter 3 introduces the circuit design of the system and required equipment and chips; Chapter 4, the software portion of the serial communication transmitter in detail, and gives the software design process; Chapter 5 analyzes the system test process and results; Chapter 6 summarizes the full text and design during the harvest the sentiment. : ;;Single chip microcomputer CRC-8 Serial programming Key Words 武汉工程大学邮电与信息工程学院(论文) 目录 第1章 选题背景和意义 ............................................................................................. 1 第2章 任务分析与方案设计 ..................................................................................... 2 第3章 电路设计 ........................................................................................................ 3 3.1电路连接仿真图 ............................................................................................ 3 3.2 MCS-51单片机 .............................................................................................. 3 3.3 A/D转换器 ..................................................................................................... 5 3.4无线发射电路设计 ......................................................................................... 6 第4章 软件设计 ........................................................................................................ 8 4.1 ADC0809工作地址 ........................................................................................ 8 4.2 A/D转换 ........................................................................................................ 9 4.3 CRC-8编码 .................................................................................................. 10 4.3 MCS-51 单片机串行口结构与数据发送 ..................................................... 11 4.4仿真代码 ...................................................................................................... 14 第5章 系统调试 ...................................................................................................... 18 5.1 系统软件调试 .............................................................................................. 18 5.2 系统仿真调试 .............................................................................................. 19 5.3 数据测试与误差分析 .................................................................................. 20 第6章 总结 .............................................................................................................. 23 致 谢 .......................................................................................................................... 24 参考文献 .................................................................................................................... 25 1 武汉工程大学邮电与信息工程学院(论文) 第1章 选题背景和意义 目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强,应用也会更广泛。 单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。 在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网 络化和微机分级分布式应用系统的发展,通信的功能越来越重要。串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算 长距离传送时成机、计算机与外设之间的远距离通信。其特点如下:传输线少、 本低、传输速率低.。因此串行发射应用愈来愈广泛。而串行通信发射机是串行通信中极为重要的基础。 此次设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。 1 武汉工程大学邮电与信息工程学院(论文) 第2章 任务分析与方案设计 基于单片机的串行通信发射机系统的主要功能就是以单片机为控制芯片,把采集到的数据通过串行通信的方式进行传送。本设计中数据采集器采用的是一个8通道8位线性模-数编码器ADC0809,给数据加CRC-8校验码则是采用编程的方式来实现的,发送方式采用了以无线传输的方式来传送串行数据的方法,故还需要设计一个无线发送电路。 这个系统有如下两个部分:硬件电路部分有A/D转换器及接口电路、单片机的接口电路及A/D转换器与单片机的数据线、无线数据发射电路。软件部分是 A/D转换器的数据采集部分,用软件对A/D0809转换成的数据进行CRC-8编码,然后将采集到的八位数据和转换好的CRC-8编码作为一帧通过无线发送模块发送出去。 为了方便电路、程序的实时修改在本设计中全部采用仿真设计软件。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件Proteus是唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 在本设计中采用Proteus来进行电路设计,采用Keil进来软件编写以及编译,最后将Keil编译出的程序文件跟Proteus进行联合仿真。 2 武汉工程大学邮电与信息工程学院(论文) 第3章 电路设计 3.1电路连接仿真图 ADC0809跟MCS-51之间的数据交换采用并行传输方式,用MCS-51的P0口读ADC0809的数据,故只需用8条连线将P0.0,P0.7口分别与OUT1,OUT8连接即可,另外由于Proteus中没有MICRF102元件库,在本设计中就采用示波器来表示。综合各芯片的引脚分布及功能特点,具体的电路连接图如图3.1所示。 图3.1 电路连接仿真图 3.2 MCS-51单片机 本系统采用MCS-51单片机,MCS是Intel公司单片机系列的符号。Intel公司推出有MCS-48、MCS-51、MCS-96系列单片机。其中MCS-51系列单片机典型机型包括51和52两个子系列。 在51子系列中,主要有8031、8051、875l三种机型,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器有所不同。 MCS-51单片机的引脚图如图3.2所示。 3 武汉工程大学邮电与信息工程学院(论文) 图3.2 单片机引脚图 各引脚功能如下: (1) P0.0,P0.7:P0口是一个8位双向 I/O 口 。在访问外部存储器 (RAM 、ROM)和扩展的I/O口时分时进行工作。在指令的前半周期,P0口作为地址总线的低8位,在指令的后半周期为8位的数据总线。 (2) P1.0,P1.7:P1口是一个带有上拉电阻的8位双向I/O口。 (3) P2.0,P2.7:P2口是一个带有上拉电阻的8位双向I/O口。在访问外部存储器(RAM 、 ROM)和扩展的 I/O 口时,送出地址总线的高8位 。 (4)P3.0 ,P3.7:P3口是一个带有上拉电阻的8位双向I/O口在MCS-51单片机中, P3口是一个双功能口,其第一功能是作为通用 I/O 口,第二功能是作为特殊信号线使用。 (5) ALE(地址锁存控制信号):在系统扩展时,ALE用于控制把P0口输出的低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。此外由于ALE是以晶振 1/6的固定频率输出的正脉冲, 因此可作为外部时钟或外部定时脉冲使用。 PSENPSEN(6) (外部程序存储器读选通信号):在读外部程序空间时有效 (低电平),以实现外部程序空间单元的读操作。 EAEA(7) (访问内外程序存储器控制信号):当信号为低电平时, 对 ROM EA的读操作限定在外部程序存储器;而当信号为高电平时, 则对 ROM 的读操作是从内部程序存储器开始, 并可延至外部程序存储器 。 4 武汉工程大学邮电与信息工程学院(论文) (8) RST复位信号:当输入的复位信号延续 2 个机器周期以上高电平时即为有效, 用以完成单片机的初始化复位操作。 (9) XTAL1和XTAL2(外接晶体引线端):当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 (10) Vss:地线。 (11) Vcc:正5V电源 。 3.3 A/D转换器 本系统采用ADC0809进行模数转换,ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。 用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。 ADC0809引脚如图3.3所示。 图3.3 ADC0809引脚图 各引脚的功能如下: IN0,IN7:8个通道的模拟量输入端。可输入0,5V待转换的模拟电压。 D0,D7:8位转换结果输出端。三态输出,D7是最高位,D0是最低位。 A、B、C:通道选择端。当CBA=000时,IN0输入;当CBA=111时,IN7 5 武汉工程大学邮电与信息工程学院(论文) 输入。 ALE:地址锁存信号输入端。该信号在上升沿处把A、B、C的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。 START:启动转换信号输入端。从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。脉冲宽度应不小于100,200ns。 EOC:转换结束信号输出端。启动A/D转换时它自动变为低电平。 OE:输出允许端。 CLK:时钟输入端。ADC0809的典型时钟频率为640kHz,转换时间约为100μs。 REF(-)、REF(+):参考电压输入端。ADC0809的参考电压为,5V。 VCC、GND:供电电源端。ADC0809使用,5V单一电源供电。 当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平。在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束。OE为低电平时,D0,D7为高阻状态,OE为高电平时,允许转换结果输出。 3.4无线发射电路设计 无线发射电路如图3.4所示,电路以MICRF102为核心。MICRF102芯片内包含有:由基准振荡器、相位检波器、分频器、带通滤波器、压控振荡器构成的合成器,发射偏置控制,RF功率放大器,天线调谐控制和变容二极管等电路,是一个真正的"数据输入,无线输出"的单片无线发射器件。UHF合成器产生载频和正交信号输出。输入相位信号(I)用来驱动RF功率放大器。天线调谐正交信号(Q)用来比较天线信号相位。天线调谐控制部分 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 天线通道中发射信号的相位和控制变容二极管的电容,以调谐天线,实现天线自动调谐。功率放大器输出受发射偏置控制单元控制。ASK/OOK调制,提供低功耗模式,数据传输速率为20kb/s。 6 武汉工程大学邮电与信息工程学院(论文) 图3.4 无线发射电路 这个无线发射电路是基于MICRF102芯片设计的,在使用此芯片时要注意以下问题: (1)REFOSC(引脚4)是基准振荡端,连接晶振到地,或采用AC耦合方式输入峰-峰值为0.5 V的时钟脉冲。发射频率是基准振荡器频率的32倍:基准振荡频率×32=发射频率。如果使用外接时钟信号,须采用AC耦合方式,输入信号幅度峰-峰值为200~500 mV。 (2)MICRF102使用差分输出去驱动天线负载。功率放大器输出级包含有一个变容二极管,它自动与天线的电感调谐,以保证谐振在发射频率上。典型的PCB导线天线的电感与回路的尺寸、天线导线的宽度、PCB铜泊的厚度和接地板的位置有关。设计时一般选择变容二极管的电容值为6.5pF。天线电感L由公式L=1/(4π2f2C)计算。 (3)功率放大器的输出功率与PC端(引脚1)上的电压有关。正常工作时,该引脚端上的电压被设置在0.2~0.4V之间。PC端上的电压上升,输出功率加大;但是,如果PC端上的电压超过0.4V,功率放大器被限流,输出功率不再增加。减少PC端的电压可降低电源功率消耗,同时也会减少RF输出功率。 (4)STBY端(引脚5)是待机模式控制。接VDD为发射方式,接VSS为待机模式。 (5)MICRF102芯片对电源纹波敏感,正确地电源旁路是必需的,一般使用4.7μF、0.1μF、100pF3个电容并联在VDD和VSS之间。 7 武汉工程大学邮电与信息工程学院(论文) 第4章 软件设计 4.1 ADC0809工作地址 ADC0809与MCS-51单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本论文中选用中断接口方式。 由于ADC0809无片内时钟,时钟信号可直接由外部时钟信号源给出。由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A、B、C相连。通道基本地址为0000H,0007H。其对应关系如表4.1所示。 表4.1 ADC0809地址码与对应输入通道 地址码 输入通道 C B A 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 在本系统中,由于只采用ADC0809的一个采样信道,故可直接将ADC0809的A、B、C三个接口接0电平。 控制信号:将P2.0作为片选信号,在启动A/D转换时,由单片机的写信号和P2.0控制ADC的地址锁存和启动转换。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。ADC0809工作时序图如图4.1所示。 8 武汉工程大学邮电与信息工程学院(论文) 图4.1 ADC0809工作时序图 RD在读取转换结果时,用单片机的读信号和P2.0引脚经或非门后,产生正脉冲作为OE信号,用一打开三态输出锁存器。 START信号和OE信号的逻辑表达式为 START= (4.1) WRP,2.0 OE= (4.2) RDP,2.0 当MCS-51通过对0000H,0007H(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的A,D转换;当转换结束后,ADC0809的EOC端向MCS-51发出中断申请信号;MCS-51通过对0000H,0007H中的某个口地址进行一次读操作,即可得到转换结果。通过电路图的电路连接方式可以算出,ADC0809的一个工作地址是FEF8H。 4.2 A/D转换 中断方式使用EOC信号作为向MCS-51的中断申请。在主程序中,向ADC发出首次启动转换信号后,并计数管理转换通道数。当检测到EOC的请求后,转去执行中断服务程序,读取转换结果,并启动下一次转换,后继续执行。 A/D转换程序流程图如图4.2所示。 9 武汉工程大学邮电与信息工程学院(论文) 开始 开中断 将ADC0809所对应 的地址送入DPTR 启动A/D转换 N转换好了吗, Y 转换结果存入A中 结束 图4.2 A/D转换程序流程图 4.3 CRC-8编码 为保证单片机系统串行通信的可靠性 ,除了需采取硬件措施确保通信接口电平匹配、时序匹配消除波特率误差外,还需通过软件对通信数据的准确度进行校验。MCS-51单片机的UART技术为应用系统实现串行通信奠定了基础。MCS-51单片机串行通信系统中,主要采用奇偶校验方法,例如,设置MCS-51单片机 为方式2(11位:起始位0、数据位D0,D7、奇偶校验位、停止位1),通过检测接收数据的奇偶性来判断其传翰的数据是否畸变。奇偶校验法简单、快速,但它只能进行数据的奇偶性畸变检测,对于双位畸变则无能为力,可靠度较差 。 常见的校验方法还有多重校验、海明校验和CRC校验等。多重校验采用多个校验位检测校验每一组数据中的每一位,具有相当高的可靠性,但由于检验位占据太多的数据流位置 ,因而通信设备利用率很低。海明校验是奇偶校验与多重校验的折中,通过在数据流中插人一定数量的校验位,通过采取编码、译码与纠错等措施保证通信可靠性,这种方法实现过程复杂,且不能保证实现高可靠性通信。CRC(Cyclic Redundancy Check) 循环冗余校验技术可为MCS-51单片机系统实施高可靠通信设计提供技术支持。CRC转换子程序流程图如图4.3所示。 10 武汉工程大学邮电与信息工程学院(论文) CRC开始 CRC余数赋初值 余数低字节异或进一字节新数据 CRC余数右移1位,最左位添0 移出位=1, Y CRC余数同反序多项式模减 N N 移位够8次, Y N所有数据处理完, Y 得到CRC校验值 图4.3 CRC转换子程序流程图 4.3 MCS-51 单片机串行口结构与数据发送 MCS-51 单片机的串行口是一个全双工串行口,在结构上它由两个物理上独 立的接收和发送缓冲器 SBUF( 共用一个逻辑地址99H)、一个串行口控制寄存器 ( SCON)、由定时器TI构成的波特率发生器 、移位寄存器等部件组成的通用异 步收发器 (UART),如图4.4所示。 11 武汉工程大学邮电与信息工程学院(论文) TXD 发送缓冲器(99H) 门 SCON 串发生控制器 行 口TI 波特率发A 串行口 控>=1 生器T1 中断 制 RI 寄 存接收控制器 器 接收缓冲器(99H) 移位寄存器 RXD 图4.4 单片机串行口结构图 串行口控制寄存器的主要功能是选择串行口的通信方式、发送和接收控制及 串行口通信状态的指示。SCON作为特殊功能寄存器之一,它占用内部98H地址, 可以进行位寻址。该寄存器各位意义如表4.2所示。 表4.2 寄存器各位意义 SCON 9FH 9DH 9CH 9BH 9AH 99H 98H 98H SM0/FE SM1 SM2 REN TB B TR B RI 1.串行工作方式选择位 (SM0、SM1 ) SCON 寄存器中的 SM0和 SM1位的不同编码决定串行口的不同工作方 式,如表4.3所示。 表4.3 SM0和SM1串口工作方式 SM0 SM1 工作方式 功能 波特率 fosc/12 0 0 方式0 8位移位寄存器方式 0 1 方式1 10位UART 可变 ffoscosc/64、/32 1 0 方式2 11位UART 1 1 方式3 11位UART 可变 12 武汉工程大学邮电与信息工程学院(论文) (1) 方式0为8位移位寄存器方式。该方式用于I/O口扩展。在这种方式下, foscRXD 端可以作为串行数据的输出和输入端,TXD按/12的速率输出同步移位脉冲。在同步移位脉冲作用下驱动外接的移位寄存器,可以将该串行口扩展为并行输出口或并行输入口。该方式以 8 位数据为一帧,没有起始位和停止位。这种串行口扩展I/O口方式,可节省单片机本身的I/O口资源。 (2 ) 方式 1为10位UART方式。在这种方式下,串行口按串行通信字符格式在发送的8位数据前嵌入一个起始位,在8位数据后嵌入一个停止位,10位作 接收方以同样方式和波特率接收数据。 为一帧发送。波特率可按要求设定。 (3) 方式2为11位UART方式。在这种方式下,TB8作为发送的第9位数据,8位数据和第9位TB8 与起始位和停止位,共11位构成一帧。发送的第9位数据 TB 8 是发送8 位( D0,D7 )数据的附加信息位, 在双机通信时它可以代表数据的奇偶性,在多机通信时它可以表明所发的8位数据(D0,D7)是地址信息还是数据信息。第 9 位作为附加信息位与 SM 2 ( 多机通信控制位 ) 配合, 完成多个分机的寻址。第九位数据 TB8在发送前由程序设定。 (4) 方式3与方式2类似。它们之间的区别在于方式3波特率可变, 更适用于要求以某一波特率进行多机通信的场合。 2.允许接收控制位REN 通信的双方在通信前由软件将该位置 1,允许接收。该位清零时禁止接收。 3.发送第9位TB8 该位是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位或清零。在主从式多机通信时,该位作为标志位,标志所发数据是地址帧(TB 8 , ,0),而由分机进行识别接收。在双机通信时,该位也可当1)还是数据帧(TB 8 做附加奇偶校验位。 4. 接收第9位 RB 8 该位是方式 2 和方式 3 时接收到的第 9 位数据。在方式 1 中,如果接收方 SM 2 ,0,则 RB 8 是接收到的停止位。方式 0,不使用 RB 8。 5(发送完毕标志位TI 该位是发送完毕标志。在方式0,发送完第8位后,该位由硬件自动置1。在其他方式时,该位在串行发送有效停止位时置1。该位是由硬件自动置位,由软 13 武汉工程大学邮电与信息工程学院(论文) 件清零。该位置位后作为发送完毕申请串行口中断标志, 也可作为软件查询标志。 6(接收完毕标志位RI 该位是接收完毕标志。在方式0中,接收方接收完第9位数据后由硬件将RI置位;在其他方式中,接收方在接收到有效停止位时将该位置位,由软件清零。该位置位后作为接收完毕申请串行口中断标志。也可作为软件查询标志。SCON 所有位在复位时被清零。 对应的发送子程序流程图如图4.5所示。 开始发送数据 A/D转换数据送至P1口,点亮LED 以串行方式将A/D转换数据发送出去 N发送完了吗, Y 清除TI中断标志,发送CRC-8编码 N发送完了吗, Y 一帧数据发送完成 图4.5 子程序流程图 4.4仿真代码 由数据采集、CRC编码、发送三个子程序构成本系统的全部程序,总程序流程图如图4.6所示。 14 武汉工程大学邮电与信息工程学院(论文) 程序初始化 采集数据 N采集好了吗, Y 调用CRC-8编码子 程序 NCRC-8校验码 编好了吗, Y 调用发送子程序 N 发送完了吗, Y 结束 图4.6 总程序流程图 根据流程图,编写了相应的代码如下。 ORG 0000H ;初始化程序 SJMP START ORG 0013H AJMP INTR1 START: SETB IT1 ;INT1设置为边沿触发 SETB EA ;CPU开中断 SETB EX1 ;开外部中断1 MOV DPTR,#0FEF8H ;指向0809的IN0通道 MOVX DPTR,A ;启动A/D转换 WAIT:SJMP WAIT ;等待中断 INTR1:MOVX A, DPTR ;将转换结果存入A中 15 武汉工程大学邮电与信息工程学院(论文) MOV 42H,A ACALL CRC8 MOV A,B MOV 43H,A ACALL SEND MOVX DPTR,A ;启动A/D转换 RETI ;中断返回 CRC8: PUSH 00H PUSH ACC MOV R0,#08 ; 设置CRC-8校验码的位数 XRL B,A ; 将A与B异或,结果存入B中 LP1: CLR C ; C清零,用于最高位置0 MOV A,B RRC A ;将A的内容带进位循环右移一位 MOV B,A JNC LP2 ; 如果C不为0,则跳至LP2 XRL B,#8CH ; 将B中内容与CRC多项式异或 LP2: DJNZ R0,LP1 ; 循环八次 POP ACC POP 00H RET SEND: MOV SCON,#00H ;设置串行口工作方式为方式0 MOV A,42H ;发送A/D转换数据 MOV P1,A MOV SBUF,A WAIT2: JNB TI,WAIT2 CLR TI MOV A,43H ;发送A/D转换数据的CRC-8校验码 MOV P1,A 16 武汉工程大学邮电与信息工程学院(论文) MOV SBUF,A WAIT1: JNB TI,WAIT1 CLR TI RETI END 17 武汉工程大学邮电与信息工程学院(论文) 第5章 系统调试 5.1 系统软件调试 在本设计中,采用的是汇编语言进行编程,所以在Keil uVision2软件环境中进行程序调试。在这个过程中需要解决的问题是找出程序中的错误和生成.hex 文件。用Keil uVision2进行编译的步骤如下: 首先,打开Keil uVision2软件,在该编译环境中新建一个sheji.ASM文件,输入程序并保存:然后,新建一个工程文件,命名为sheji.uv2后单击确定,在紧接这会出现如图5.1 的界面。选择我们用到得Intel中的80C51后单击确认。 图5.1 新建一个工程文件 最后就是加载源程序sheji.ASM,加载后进行编译,编译的主要作用是查找程序中的错误,把错误修改好的程序再次进行编译生成.hex文件,具体操作如下。 左击界面上的Target,选择“options for target”后会出现图5.2的界面,在出现的对话框中选择Output,选择Create HEX Fi项,这样就会生成一个sheji.hex文件,这样就完成的系统的软件调试。 18 武汉工程大学邮电与信息工程学院(论文) 图5.2 选择target选项 5.2 系统仿真调试 设计要求用Proteus软件进行了系统仿真。Proteus嵌入式系统仿真与开发平台由英国Labcenter公司开发,是目前世界上最先进最完整的嵌入式系统设计与仿真平台。Proteus软件可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等全部功能。 按照设计在Proteus ISIS中放置连线完毕后,编译元器件单片机将软件调试生成的sheji.hex文件选为单片机MCS-51的Program File,如图5.3所示。 19 武汉工程大学邮电与信息工程学院(论文) 图5.3 编辑元件属性 在最初设计程序时,经过调试发现如下几个问题: (1) 数据采集不连续,即采集完一次数据后ADC0809就停止工作了。 (2) 从RXD(P3.0)引脚没有串行数据发送出来。 经过分析发现,数据采集不连续是因为数据送到A后没有再次启动ADC0809,只要在数据处理完后加一条启动指令MOVX DPTR,A再中断返回就解决了问题。串行接口在工作方式0下,发送完8位数据后,由硬件将TI标志置1.再次发送数据之间必须由软件将TI清0,在刚开始编写的程序中,由于没有用软件将TI清0,所以RXD口没有串行数据发送出来,在“MOV SBUF,A”后加一条“CLR TI”指令即可。 5.3 数据测试与误差分析 设置模拟信号输入为0.02V恒定电压时,其对应的编码为00000001B,相对应的CRC-8编码则为00110001B。对于数据码流G(x)0000000100110001,用多项 854xxx,,,1式Q(x)= 除,可除尽,故此CRC-8码是一个正确的编码。此时从 ,串口输出的编码00000001对应的电压为V=10.0196=0.0196V,与系统给定的电 20 武汉工程大学邮电与信息工程学院(论文) 压相差0.0004V。对应波形如图5.4所示。 图5.4 0.02V时输出波形图 设置模拟信号输入为5V恒定电压时,其对应的编码为111111111B,相对应的CRC-8编码则为10101100B。对于数据码流G(x)1111111110101100,用多项式 854xxx,,,1Q(x)= 除,可除尽,故此CRC-8码也是一个正确的编码。 此时从串口输出的编码11111111对应的电压为V=255,0.0196=4.998V,与系统给定的电压相差0.002V。对应波形如图5.5所示。 图5.5 恒定5V时输出波形图 21 武汉工程大学邮电与信息工程学院(论文) 设置模拟信号输入为峰值5V,频率50Hz的正弦信号时,在某一时刻其对应的编码为10110001B,相对应的CRC-8编码则为10001110B。对于数据码流 854xxx,,,1G(x)1011000110001110,用多项式Q(x)= 除,可除尽,故此CRC-8码也是一个正确的编码。 此时从串口输出的编码10110001对应的电压为V=1770.0196=3.4692V,与, 输入串口测出电压3.47V相差0.0008。对应波形如图5.6所示: 图5.6 峰值5V时输出波形图 在这个图中,示波器上显示的数据是10110001,而灯是全亮的,与数据不符,经分析,是由单片机在处理程序的延迟所造成的。在上面两个图中,由于数据是不变的,此时延迟没有影响,故灯与示波器上显示的数据相同。 综上所述,本系统将模拟量所转换成的数字量是存在误差的,这是无可避免的,这是因为数字量只能无限接近模拟量;系统编出的CRC-8码也是正确的,此系统可用于传输对传输质量要求较高的场合;在数据波形和CRC-8波形之间有一段连续高电平,这对传输的正确性没有影响,造成这个现象的缘故是单片机处理程序时的延迟。 22 武汉工程大学邮电与信息工程学院(论文) 第6章 总结 本次设计采用MCS-51单片机和外围电路构成一个系统,该系统能将模拟信号转换成数字信号,并增加CRC-8的校验码来以串行通信的方式进行传输。实现方案是先由Proteus画出电路图,再由Keil软件进行写程序并转换为相应的机器代码,最后由这两个软件一起联合来达到模拟的效果。 通过最后的仿真基本实现了单片机的串行通信,但还存在许多不完善之处:采用的A/D的转换器的位数为8位,模数转换的精度不是很高,但也基本达到要求;产生的PCM数据的格式比较简单,并且采用了同步的传输方式,这对接受端得接收时要求有同步的时钟。 这个设计包含了软件应用和理论知道,理论知识更是涉及到通信原理、单片机、模拟电路和数字电路等,这无疑是对我们所学的专业知识的一次考验。 23 武汉工程大学邮电与信息工程学院(论文) 致 谢 首先,感谢学校能给一个让我们锻炼自己动手能力和论文编写能力的机会。可以说这次毕业设计全靠我一个人是很难甚至无法完成的,在设计过程中,在遇到难题的时候,孙老师给予了我相当大的帮助。在此,向孙老师致谢,还要感谢其他向我提供资料和方法的同学们。 另外,在这次设计过程中我还找了很多资料,大多数是来自于互联网上的,在此也向这些不认识的资料提供者们致谢~ 24 武汉工程大学邮电与信息工程学院(论文) 参考文献 [1] 李朝青. 单片机原理及接口技术[M],北京航天航空大学出版社,2005-10 [2] 求是科技. 单片机典型模块设计实例导航[R],人民邮电出版社,2008-7 [3] 赵建领. 51单片机开发与应用技术详解[M],电子工业出版社,2009-1 [4] 陶亚雄. 现代通信原理[N],电子工业出版社,2009-4 [5] 樊昌信. 通信原理[M],国防工业出版社 2004-09 [6] (瑞典) Tommy Oberg. 调制、检测与编码[R],电子工业出版社,2004-01 [7] CRC-8高效简练的单片机实现方法[J] 陈松岭 2004-2 [8] 循环冗余校验码的软件实现[M] 孟德红著 1999-10 [9] 模拟电子技术基础[M],高等教育出版社,童诗白主编 .2008-7 [10] (美)Simon Haykin ,Michael Moher. Introduction to Analog and Digital Communications[R]. [11] Micrel Inc. QwikRadio TM UHF ASK Transmitter[R] www.micrel.com. 2001-8. [12] Micrel Inc. QwikRadio TM Low Power UHF Receiver[N] www.micrel.com. 2001-8 [13] 薛晓书.单片微机原理及接口技术[M],西安石油大学 2002-3. [14] 黄智伟 朱卫华.单片机与嵌入式系统应用[M],南华大学.2005-3. [15] 付浩. AT89C51单片机高速串行输出口设计[R].淮阴师范学院, 2004-10. 25
本文档为【单片机毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:273KB
软件:Word
页数:31
分类:工学
上传时间:2017-09-30
浏览量:19