欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于AVR单片机的通信系统设计.doc

    • 资源ID:17529094       资源大小:642KB        全文页数:59页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于AVR单片机的通信系统设计.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于AVR单片机的通信系统设计.精品文档.基于AVR单片机的通讯系统设计摘 要在当前社会,通信技术已经深入到各行各业中。在本次系统设计中,将通信技术与单片机技术结合,完成了一个电压信号采集及通信过程。系统设计过程中,了解通信技术中的相关通信方式及协议,用AVR单片机完成系统功能,分别完成硬件设计、软件设计及系统测试工作,达到对整个通信系统的控制。本文以ATMEGA8单片机为控制核心,利用直流电压信号模拟输入信号,采集输入信号,将采集到的数据经数字信号处理后传给上位机分析并保存。工作过程:1、单片机初始化所用到的功能模块的控制字,等待上位机的开始采集命令。2、接收到上位机的命令后,从PC0(ADC0)端口采集电压信号,完成模数转换;3、读取转换后的数据,根据A/D转换器的输入/输出关系确定实际的电压信号值;4、将电压信号值保留一位小数,进行BCD编码后,通过异步通信方式发送给上位机;5、上位机通过GUI界面将数据实时显示出来,并可人为的保存采集的结果;关键字:AVR;ATMEGA8;电压采集;通信;MAX232AbstractIn moden time, technology has been penetrated into a large number of industry,under this environment。It is useful to design the system which combine communication-technology with SCM technology to achieve a process of collect voltage and communication。During the period of system designing,what is communication pattern and protocol must be known,on this basis,using AVR SCM to finish the function what we need in this system,which include circuit design、software design and test work。Making ATMEGA8 as center of this control system,DC voltage as input signal,collecting input signal and converting it to fact value of voltage,at last SCM transfer it to PC software,we can save data of value of voltage in PC。Work process:1、SCM initialize inner function which is used in work,then wait for command from PC software;2、After receiving collecting command from PC software,SCM begin to collect voltage from PC0 port and finish A/D convertion;3、reading data which has been converted and calculating fact value of voltage which been collected;4、we only save single decimal with data which has been converted,then BCD coding with every bit,at last send to PC software by asynchronous communication pattern;5、PC software real-time displays the result in GUI,we can artificial save result;Keyword:AVR;ATMEGA8;collect voltage;communication;MAX232目录基于AVR单片机的通讯系统设计1摘 要1ABSTRACT2第一章 绪论51.1 前言51.2 设计本系统的背景51.2.1 单片机的发展61.2.2 通信技术的发展71.3 系统结构71.3.1 系统硬件设计71.3.2 系统软件设计81.4 可行性分析9第二章 系统使用的通信方式及协议介绍102.1 通信方式102.1.1 串行通信与并行通信102.1.2 同步通信与异步通信102.2 RS232协议介绍122.2.1 概述122.2.2 电气特性122.2.3 RS-232C 的接口信号13第三章 系统硬件设计163.1 ATmega8介绍163.1.1概述163.1.2系统时钟及时钟选项173.1.3系统复位183.1.4 ATmega8同步/异步串行接口USART193.1.5 ATmega8通用I/O口263.1.6 ATmega8 A/D转换293.2 MAX232介绍343.2.1 原理343.2.2 引脚说明343.3 DB9接口说明353.3.1 原理介绍353.3.2引脚说明353.4 硬件设计363.4.1 硬件设计内容363.4.2 原理图设计373.4.3 PCB设计38第四章 系统软件设计404.1 系统软件概述404.1.1 上位机404.1.2 单片机内部程序404.2 系统软件结构414.2.1单片机内部程序414.2.2 上位机434.2.3 程序流程图454.3 程序测试及运行结果484.3.1 程序测试484.3.2 运行结果49第五章 技术经济分析50第六章 结论51参考文献52致谢53第一章 绪论1.1 前言随着当前科学技术的发展,通信技术的发展也日新月异,从数据传送方式来说,通信包括并行通信和串行通信,从通信方式来说,通信包括同步方式和异步方式,在实际的应用中,根据不同的条件和要求,我们可选择适当的方式进行PC机与单片机之间、PC机与PC机之间、单片机与单片机之间的通信,每种通信方式在实际的应用中各有各的优缺点。通信按照传统的理解就是信息的传输与交换,在当今信息社会,通信则与传感、计算技术紧密结合,成为整个社会的高级“神经中枢”。没有通信,人类社会是不可想象的,一般来说,社会生产力水平要求社会通信水平与之相适应,若通信的水平跟不上,社会成员之间的合作程度就受到限制,社会生产力的发展也必然最终受到限制,可见,通信是十分重要的。控制技术包括经典控制理论、现代控制理论,过程控制理论等其它的控制理论,控制技术可能过PID、计算机,单片机,PLC等实现,对于不同的被控对象,一旦确定了被控量和控制量后,可经过传感器等一些检测装置将不同的被控量转化为电信号或数字信号,再运用数字信号处理技术得到如何调整控制量的大小,从而达到对被控对象的控制要求。由于控制技术的实用性很强,所以在生活中应用非常的广泛。单片机是一种能够实现控制技术相关理论并对被控对象进行高精确度控制的器件,并且对被控对象的控制过程可通过编程实现,支持高级语言,简单易用,从而得到了广泛的应用。单片机的种类非常的多,在本次系统的设计中,我们采用AVR系列单片机,型号为ATMEGA8,该单片机片上资源丰富,已经包括了A/D转换器,所以减少了外围器件,使整个系统更加简单。将控制技术与通信技术的结合,提高了通信效率和准确率,进一步推动了两者的发展和科学技术的前进,成为以后电子技术发展的一个新方向。1.2 设计本系统的背景1.2.1 单片机的发展单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善,在目前的单片机市场中,单片机的种类非常的多,最简单的是以51为核心的51系列单片机,由于该系列单片机在结构上的简单和内部资源不是非常多,所以适合初学者入门,因此国内的大学本科期间都以51单片机为基础作为教材。对于单片机的发展,从内部资源上来说,有些公司生产了更多的内部资源非常丰富的单片机,比如AVR、PIC等单片机,这些高级的单片机在生活中的运用更加广泛,他们更多的集成了一些常用功能,例如数模转换,串行通信等,这些功能的集成使得在日常生活的运用和设计中减少了外围设备,使整个系统的性能更加可靠。从单片机传输数据位数来说,单片机经历了从8位到32位在发展过程,89C51,89C52,ATMEGA8,ATMEGA16等都属于8位单片机处理器,而像ARM、DSP等都属于32位处理器,数据位数从8位到32位的上升很大程度上提高了处理器的性能,使得单片机可以完成更高要求的任务。在单片机内部的ROM和指令上,人们也对其做了很大程序上的改进。将EPROM作为程序存储区的单片机在重新烧写程序的时候须要将单片机取下为,放在特制的设备中用紫外线将内容擦除干净,而现在的单片机都将EEPROM存储器或者FLASH存储器作为程序存储器,在烧写程序方面提供了很大的方便,可以反复烧写上万次。在线编程目前有两种不同方式:1、ISP方式。支持该编程方式的单片机在出厂的时候,在系统内部已经固化了引导程序,当上电复位后,单片机首先运行这段固化程序,检测串口是否有烧写程序的信号,若有则开始接收烧写器的数据,清空程序区,将接收到的数据放入程序区,接收完毕后开始执行新的程序。2、IAP方式,支持该编程方式的单片机将内部的程序区分成两个部分,一部分装正在执行的程序,另一部分装从烧写器传来的新程序,这种编程方式在单片机运行时可将程序写入,等烧写完毕后,单片机用新写入的程序覆盖原来的程序,重新开始执行。现在很多单片机都具用了在线仿真的功能,将仿真器与单片机相连,在上位机的操作下让单片机实现单步运行,实时反映单片机内部的运行状态,通过这种硬件仿真的功能,开发人员可以更容易的找到程序的错误,对于初学者来说更是非常的重要。单片机抗干扰能力加强,使的它更加适合工业控制领域,具有更加广阔的市场前景。1.2.2 通信技术的发展、数据通信数据通信是依照一定的协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。数据通信中传递的信息均以二进制数据来表现。为了实现数据通信,必须进行数据传输,即将位于一个地方的数据源发出的数据信息通过传输信道传送到另一地数据接收设备。为了改善传输质量、降低差错率、并使传输过程有效地进行,系统根据不同应用要求,规定了不同类型的具有差错控制的数据链路控制规程,这些规程有的符合国际标准,有的是国家标准,也有的是公司自己制定的。但对开放性的用户接口通常是采用国家标准或国际标准,以利于互连互通。、无线通信无线通信中目前最火的两个方向是3G和WiFi/WiMax。相对于目前的第二代移动通信,3G意味着可视通话、视频浏览、高速上网等除语音之外的众多数据业务。3G是一个技术平台,必须有运营商、内容服务提供商协同起来,才能共同发展。这一产业合作将拉动整个信息产业增长,还会对娱乐业、传媒业带来革命性的变化。3G使我们的手机更加智能,WiMax使我们的计算机可以“移动”上网。、光通信作为整个通信网体系中的最低层传输层,在最近20年经历了三种传输介质:铁线、铜缆和光纤。随着社会的进步和人们对通信服务质量(QOS)期望的不断提高,铁线已经不能满足现在通信的发展,早早地退出了历史的舞台。最近10年了,数据业务的业务量逐渐逼近甚至超过了传统的语音业务,成为电信网络中发展最为迅猛的业务,铜缆由于其自身的固有缺点,也步铁线的后尘,逐步被淘汰。 1.3 系统结构1.3.1 系统硬件设计对于一个通信系统来说,除了要有上层的通信协议与软件的支持外,还要有硬件作为信号的传输介质,完成有线通信任务,该系统采用已有的硬件模块完成单片机与PC机之间系统任务,该系统的硬件部分主要包括ATMEGA8单片机、MAX232芯片、DB9MALE接口、ISP接口。用直流电压模拟该系统的输入信号,由于ATMEGA8单片机内部集成了ADC转换器所以不用再外接模数转换器,ATMEGA8读取ADC转换器的转换结果,然后根据数字信号与模拟信号的关系求出实际的模拟电压值,再用BCD编码规则进行编码,将编码后的结果通过异步数据传输方式上传给上位机。MAX232芯片在整个系统中完成TTL电平与PC机电平的转换工作,芯片外接有泵升电容和稳压电容,保证电平信号转换的可靠性。DB9MALE接口是负责信号传输的9针接口芯片,遵守RS232标准,DB9接口有MALE与FEMALE之分,在单片机上主要采用DB9MALE接口,而且在本系统只使用了第二管脚(接收数据引脚)与第三管脚(发送数据管脚)。对于其它管脚主要是用于握手信号,由于该系统要求不高,所以不需要使用。ISP接口:AVR单片机支持ISP程序下载方式,根据接口管脚的定义,将ATMEGA8单片机与ISP接口相连,实现ISP下载。ISP接口管脚定义主要有:MISO、VCC、SCK、MOSI、RESET、GND,将ATMEGA8单片机上的对应管脚与之相连。硬件设计上的总体思路是:单片机初始化所用到的外部芯片和内部芯片的功能,然后等待上位机命令,接收到开始采集的命令后,执行信号采集工作,采集工作完成后,将采集信号经过数据信号处理得到实际的模拟信号值,然后BCD编码后上传给上位机,之后继续采集信号,一直到接收到停止采集命令。1.3.2 系统软件设计对于一个通信系统来说,为了达到精确控制的目的,通信的接收与发送双方在数据传输上保持协调,必须采用软件技术来保证,对于采用同步通信的双方来说,时钟信号必须保持一致,要求精度很高,对于异步操作来说,只要保证数据格式正确既可,在该系统中采用精度要求低的异步通信方式。该系统软件主要有单片机内部的程序和上位机软件两部分组成。单片机内部的程序用C语言编写,面向底层,直接读写单片机内部的控制字和各芯片的控制字,首先初始化各芯片的内部控制字,然后在系统的运行过程中,通过读取内部状态控制字的内容确定系统的运行状态和发出什么控制信号,最终实现单片机与各芯片、上位机的协调运行。上位机采用C+语言,使用了MFC的封装库,整个界面框架是由VC+的辅助程序建立,在这个框架下,再由我们自己添加控件和代码,在功能上主要完成了数据的收发、数据的保存、传送数据的帧结构设置和串行端口的选择。整个通信功能的实现都是调用了微软公司提供的MSCOMM控件来完成,该控件满足了该系统的所有功能实现要求。上位机设计思路:打开通信串口端,向单片机发送采集命令,用消息响应机制接从收单片机上传到PC机的数据信号,在接收数据时,遵守上位机与单片机程序约定好的数据格式约定。1.4 可行性分析在两台设备的通信过程中,只要保证数据接收和发送双方线路的正常连接,按照规定的数据格式和传送方式传送数据,就可以正确的传输数据,所以只要按照我们上述的思路完成了硬件上和软件上的工作,该系统就可以正常的工作。本次设计的系统属于数字通信系统,数据的收发双方是PC机和单片机,通信方式是异步串行通信,编码和解码的过程由上位机和单片机内部的程序来解决,而整个系统除了外界信号采集时采集模拟信号外,其它任何时候都是数字信号,而采集的模拟信号经过AD转换器也变成了数字信号,所以对于通信过程来说不涉及调制/解调的过程,因此整个系统满足了一个数字通信所要求的基本组成部分,是一个可执行性设计方案。能够达到我们的要求。第二章 系统使用的通信方式及协议介绍2.1 通信方式2.1.1 串行通信与并行通信随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。并行通信通常是将数据字节的各位用多条数据线同时进行传送,如图2-1所示。在时间上各位是同时发送的只是传输线路不同而以,并行通信控制简单、传输速度快;由于传输线较多,长距离传送时,成本高且接收方的各位同时接收存在困难。串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,时间上不同步。如图2-1所示。串行通信的主要特点是传输线少,长距离传送时,成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。设备A设备BN条数据线应答信号并行通信设备A设备B一条数据线应答信号串行通信图2-1 串行和并行通信方式设备A设备A起始位 数据位 较验位 停止位停止位 较验位 数据位 起始位异步方式图2-2 异步通信方式2.1.2 同步通信与异步通信异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。异步数据格式图2-3 异步通信数据格式同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。同步方式图2-4 同步通信方式图2-5面向字符的同步格式面向字符的同步格式 如图2-5所示,此时,传送的数据和控制信息都必须由规定的字符集(如ASCII码)中的字符所组成。图中帧头为1个或2个同步字符SYN(ASCII码为16H)。SOH为序始字符(ASCII码为01H),表示标题的开始,标题中包含源地址、目标地址和路由指示等信息。STX为文始字符(ASCII码为02H),表示传送的数据块开始。数据块是传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(ASCII码为17H)或文终字符ETX(ASCII码为03H)。然后是校验码。典型的面向字符的同步规程如IBM的二进制同步规程BSC。图2-6 面向位的同步格式面向位的同步格式如图2-6所示,此时,将数据块看作数据流,并用序列01111110作为开始和结束标志。为了避免在数据流中出现序列01111110时引起的混乱,发送方总是在其发送的数据流中每出现5个连续的1就插入一个附加的0;接收方则每检测到5个连续的1并且其后有一个0时,就删除该0。典型的面向位的同步协议如ISO的高级数据链路控制规程HDLC和IBM的同步数据链路控制规程SDLC。同步通信的特点是以特定的位组合“01111110”作为帧的开始和结束标志,所传输的一帧数据可以是任意位。所以传输的效率较高,但实现的硬件设备比异步通信复杂。2.2 RS232协议介绍2.2.1 概述RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(recommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIA RS-422A、EIA RS-423A、EIA RS-485。 这里只介绍EIA RS-232C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。2.2.2 电气特性EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。在TxD和RxD上:逻辑1(MARK)=-3V-15V,逻辑0(SPACE)=+3+15V,在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)+3V+15V,信号无效(断开,OFF状态,负电压)=-3V-15V。以上规定说明了RS-323C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(315)V之间。EIA RS-232C 与TTL转换:EIA RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTLEIA双向电平转换。 2.2.3 RS-232C 的接口信号RS-232C 的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。常用的只有10根,它们是:、联络控制信号线数据发送准备好(Data set ready-DSR)有效时(ON)状态,表明MODEM处于可以使用的状态。数据终端准备好(Data terminal ready-DTR)有效时(ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。允许发送(Clear to send-CTS)用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。接收线信号检出(Received Line detection-RLSD)用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier detection-DCD)线。振铃指示(Ringing-RI)当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。、数据发送与接收线发送数据(Transmitted data-TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。接收数据(Received data-RxD)通过RxD线终端接收从MODEM发来的串行数据,(DCEDTE)。、地线GND、Sig.GND保护地和信号地,无方向。上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。2个数据信号:发送TXD;接收RXD。1个信号地线:SG。6个控制信号:DSR:数据发送准备好,Data Set Ready。DTR:数据终端准备好,Data Terminal Ready。RTS:DTE请求DCE发送(Request To Send)。CTS:DCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。DCD:数据载波检测(Data Carrier Detection),当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。RI:振铃信号(Ringing),当DCE收到对方的DCE设备送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。、传输速率较低,在异步传输时,波特率20Kbps。、接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。、传输距离有限,最大传输距离标准值为50英尺(实际15米)。 第三章 系统硬件设计3.1 ATmega8介绍3.1.1概述在本次系统的设计中,我们选用了ATmega8单片机,它是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATmega8 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算术逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。ATmega8 有如下特点:8K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节 EEPROM,1K 字节 SRAM,32个通用I/O 口线,32个通用工作寄存器,三个具有比较模式的灵活的定时器/ 计数器(T/C), 片内/ 外中断,可编程串行USART,面向字节的两线串行接口, 10 位6 路 (8 路为TQFP 与MLF 封装)ADC,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而SRAM、T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega8 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega8 具有一整套的编程与系统开发工具,包括:C 语言编译器、宏汇编、程序调试器/ 软件仿真器、仿真器及评估板。3.1.2系统时钟及时钟选项CPU时钟:CPU时钟与操作AVR内核的子系统相连,如通用寄存器文件、状态寄存器及保存堆栈指针的数据存储器。终止CPU 时钟将使内核停止工作和计算。I/O时钟:I/O时钟用于主要的I/O模块,如定时器/ 计数器、SPI 和USART。I/O时钟还用于外部中断模块。但有些外部中断由异步逻辑检测,即使I/O时钟停止了这些中断仍然可以得到监控。此外,I2C模块的地址识别也是在异步进行的,因此在I/O时钟信号暂停,系统处于休眠模式时,I2C模块的地址识别也不会停止。ADC时钟: ADC具有专门的时钟。这样可以在ADC工作的时候停止CPU和I/O时钟以降低数字电路产生的噪声,从而提高ADC 转换精度。ATmega8芯片的时钟源有外部晶体/ 陶瓷振荡器、外部低频晶振、外部RC 振荡器、标定的内部RC 振荡器、外部时钟,通过Flash熔丝位的设置来选择我们所需要的时钟源如表3-1所示。表3-1时钟熔丝位设置芯片时钟选项CKSEL3.0外部晶体/ 陶瓷振荡器1111 - 1010外部低频晶振1001外部RC 振荡器1000 - 0101标定的内部RC 振荡器0100 - 0001外部时钟0000晶体振荡器:XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,如图3-1所示:图3-1 石英晶振接线图振荡器可以工作于三种不同的模式,每一种都有一个优化的频率范围。工作模式通过熔丝位CKSEL3-1 来选择。当使用外部晶体时,针对不同的晶振频率,熔丝位有不同的设置规则,如表3-2所示:表3-2 外部晶振时熔丝设置熔丝位工作频率范围/MHZC1、C2容量/PF适用晶体CKOPTCKSEL3-111010.40.9按生产厂家说明配用陶瓷晶体11100.93.01222石英晶体11113.08.012220101111>=1.01222熔丝位CKSEL0以及SUT1-0用于选择启动时间:晶体振荡器时钟选项对应的启动时间:表3-3启动时间熔丝位设置CKSEL0SUT1-0掉电与节电模式下的启动时间复位时额外的延迟时间(VCC = 5.0V)推荐用法000258 CK4.1 ms谐振器,电源快速上升001258 CK65 ms谐振器,电源缓慢上升0101K CK-谐振器,BOD 使能0111K CK4.1 ms谐振器,电源快速上升1001K CK65 ms谐振器,电源缓慢上升10116K CK-石英晶体,BOD 使能11016K CK4.1 ms石英晶体,快速上升11116K CK65 ms石英晶体,慢速上升3.1.3系统复位复位时所有的I/O寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP 指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。这个处理方法同样适用于当复位向量位于应用程序区,中断向量位于Boot 区的时候。复位源有效时I/O 端口立即复位为初始值。此时不要求任何时钟处于正常运行状态。所有的复位信号消失之后,芯片内部的一个延迟计数器被激活,将内部复位的时间延长。这种处理方式使得在MCU 正常工作之前有一定的时间让电源达到稳定的电平。延迟计数器的溢出时间通过熔丝位SUT 与CKSEL 设定。ATmega8 有4个复位源:、上电复位。电源电压低于上电复位门限 VPOT 时, MCU 复位。上电复位(POR) 脉冲由片内检测电路产生。无论何时VCC 低于检测电平POR 即发生。POR 电路可以用来触发启动复位,或者用来检测电源故障。POR电路保证器件在上电时复位。VCC 达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当VCC下降时,只要低于检测门限,RESET 信号立即生效。图3-2 RESET连接到Vcc时,MPU的启动过程图3-3 RESET引脚由外部控制时,MPU的启动过程:、外部复位。引脚 RESET 上的低电平持续时间大于最小脉冲宽度时MCU 复位。、看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。、掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限VBOT 时MCU 即复位。3.1.4 ATmega8同步/异步串行接口USART、概述USART收发模块分为三大部分:时钟发生器、数据发送器和接收器,控制寄存器为所有的模块共享,时钟发生器由同步逻辑电路(同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延时的通信。接收器是USART模块中最复杂的部分、最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元、接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测。、串行时钟发生时钟发生逻辑为发送器和接收器提供基本的时钟,USART支持4种时钟工作模式,普通异步模式、两倍速异步模式、主机同步模式和从机同步模式、USART控制和状态寄存器C(UCSRC)中的UMSEL位用于选择同步或异步模式。双倍速模式(只有异步模式有效)由UCSRA寄存器中的U2X位控制,当使用同步模式时,XCK引脚的数据方向寄存器(DDR_xck)控制了时钟源是来自内部的(主机模式)还是由外部驱动(从机模式)。XCK引脚只在使用同步模式下有效。内部时钟发生被用于异步模式和同步主机模式,USART的波特率寄存器UBRR和预分频向下计数器(DOWN-COUNTER)相连接,一起构成可编程的预分频器或波特率发生器,向下计数器对系统时钟计数,当其计数到零或UBRRL寄存器被写时,会自动装入UBRR寄存器的数值,当计数到零时产生一个时钟,该时钟作为波特率发生器输出时钟,输出时钟的频率为fosc/(UBRR+1)。发送器对波特率发生器的输出时钟进行2、8或16的分频,具体情

    注意事项

    本文(基于AVR单片机的通信系统设计.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开