毕业设计(论文):基于avr单片机的电视标准制式图象发生器_第1页
毕业设计(论文):基于avr单片机的电视标准制式图象发生器_第2页
毕业设计(论文):基于avr单片机的电视标准制式图象发生器_第3页
毕业设计(论文):基于avr单片机的电视标准制式图象发生器_第4页
毕业设计(论文):基于avr单片机的电视标准制式图象发生器_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计基于AVR单片机的电视标准制式图像发生器BASEDONAVRMONOLITHICINTEGRATEDCIRCUITTELEVISIONSTANDARDSERVICEPATTERNIMAGEGENERATOR摘要由于电视技术的快速发展,目前视频信号叠加、图像处理已广泛运用于生活的各种场合。为了可以获得更好的图像的采集和处理,嵌入式微处理器被越来越广泛地应用。AVR单片机是由ATMEL公司研发出的增强型内置FLASH的精简指令集高速8位单片机。它也是嵌入式微处理器的一种类型,嵌入式微处理器在运算速度、可扩充能力、系统可靠性、功耗和集成度等方面得到了突飞猛进的发展。AVR由于其全新的硬件设计和高效的C编译效率,使其具有强大的功能,完全可以满足黑白全电视信号产生的要求。本课题利用AVR系列的MEGA16单片机的定时功能产生视频信号、同步信号,并将同步信号和视频信号合成为模拟全电视信号,实现电视制式逐行扫描图像的生成。关键词AVR电视制式同步信号视频信号图像发生器ABSTRACTASARESULTOFTHETELEVISIONTECHNOLOGYFASTDEVELOPMENT,THEVIDEOSIGNALSUPERIMPOSITION,THEIMAGERYPROCESSINGWIDELYHAVEUTILIZEDATPRESENTINLIFEEACHKINDOFSITUATIONINORDERTOMAYOBTAINABETTERIMAGEGATHERINGANDPROCESSING,THEEMBEDDEDMICROPROCESSORMOREANDMOREWIDELYISAPPLIEDTHEAVRMONOLITHICINTEGRATEDCIRCUITISINTHEENLARGEMENTMODEWHICHRESEARCHESANDDEVELOPSBYATMELCORPORATIONSETSATFLASHTOSIMPLIFYTHESETOFINSTRUCTIONSHIGHSPEED8MONOLITHICINTEGRATEDCIRCUITSITISALSOONEKINDTYPEOFEMBEDDEDMICROPROCESSORINTHEOPERATINGSPEED,EXPANDASPECTSANDSOON,SYSTEMRELIABILITY,POWERLOSSANDINTEGRATIONRATEOBTAINEDTHEDEVELOPMENTWHICHPROGRESSEDBYLEAPSANDBOUNDSAVRASARITSBRANDNEWHARDWAREDESIGNANDHIGHLYEFFECTIVECTRANSLATIONEFFICIENCY,ENABLEITTOHAVETHEFORMIDABLEFUNCTION,DEFINITELYMAYSATISFYTHEREQUESTWHICHTHEBLACKANDWHITEENTIRETELEVISIONSIGNALPRODUCESTHETOPICUSINGAVRSERIESOFMEGA16WHICHPRODUCESTHEVIDEOSIGNAL,THESYNCHRONIZEDSIGNAL,ITSIMULATESTHESYNCHRONIZEDSIGNALANDTHEVIDEOSIGNALSYNTHESISTHEENTIRETELEVISIONSIGNAL,REALIZESTHETVSERVICEPATTERNBYTHELINESCANIMAGEPRODUCTIONKEYWORDSAVR,TELEVISIONSERVICEPATTERN,SYNCHRONIZEDSIGNAL,VIDEOSIGNALIMAGEGENERATOR目录第一章绪论111引言112论文目的1第二章电视简介221电视基本原理及制式222电视术语323视频信号的组成3第三章AVRMEGA16单片机介绍1131AVR单片机概述1132AVR单片机硬件介绍1233AVR单片机的开发17第四章电视标准制式图像发生器2141总体设计2142硬件设计2143软件设计2344实验及结果30结论32致谢33参考文献34第一章绪论11引言由于嵌入式系统应用技术的不断发展,对于核心处理器性能的要求越来越高,一些传统控制芯片已经难以胜任许多复杂的任务。由于种种原因,国内科研人员比较习惯于使用传统的51系列单片机设计应用系统,而这种选择常带来种种限制,甚至影响到整个系统的性能水平。随着微控制器技术的快速发展,国外的工程师近几年来已经较少有人使用51系列开发新产品。因此,我们有必要紧跟电子技术发展的前沿,研究单片机技术的最新进展,熟悉新型高性能芯片的性能,掌握其应用技巧,为设计出有竞争力的高性价比的高端嵌入式系统创造条件。12论文目的近年来单片机技术得到快速发展,出现了一批新型高性能单片机,为高端应用提供了选择空间,ATMEL公司的AVR系列单片机就是其中的一种。独特结构的8BITRISCCPU与在线自编程FLASH的结合,单时钟指令,为C语言优化的指令系统设置,以及丰富的片载外围接口电路,使功能强大的AVR单片机成为一款高度灵活和高性价比的芯片,为许多高端嵌入式系统设计提供了优秀的解决方案。本课题利用MEGA16单片机的定时器中断产生视频信号、同步信号,利用其高速度进行像素填充,实现图像信号的生成。将视频信号和同步信号通过视频DAC系统合成为全电视信号,通过示波器查看信号的正确与否。本设计的主要工作量在于单片机编程,这里采用了ICCAVR编译器,并用C语言作为编程语言,来实现电视制式图像的生成。本论文涉及到的系统设计方案,充分发挥了这种芯片的优良性能。比照使用51系列单片机,简化了硬件设计,提高了系统性能,并预留出充足的扩展空间。第二章电视简介21电视基本原理及制式211电视基本原理电视的基本工作原理可以简单概括为在发送端,用电视摄像机拍摄外界景物,经摄像器件的光电转换作用将景物内容的亮度和色度信息按一定规律变换成相应的电信号,作适当处理后通过无线电波或有线信道传输出去;在接收端,用电视接收机接收电视信号,经显示装置的电光转换作用后,将电视信号按对应的空间关系转换成相应的景物画面,即在屏幕上重现原始景物的彩色画面。212电视制式电视的制式就是对电视信号进行加工、处理和传输的约定方式。目前,有三种彩色和黑白兼容的电视制式NTSC制、PAL制和SECAM制。NTSC制式主要应用在中南美洲和亚洲的部分国家,PAL制式在亚洲和欧洲应用广泛,SECAM制式主要用于法国及非洲。为了克服NTSC制的相位敏感性,1962年德国研究出了一种PAL制,又叫“逐行导相正交平衡调幅制”。它是在NTSC基础上,又对一个色差信号(RY)进行逐行导相的处理。西欧、英国和我国等采用此种制式。PAL扫描方式以21隔行扫描,每帧图像由两场组成,每场为3125行主要参数如下场频为50HZ,每帧625行,行频为15625HZ,行周期为64S,场周期为20MS,场逆程时间25H16MS,H为行周期,行逆程时间为118US。22电视术语1图像帧电视系统中把构成一幅图像的各像素传送一遍称为进行了一个帧处理,或称为传送了一帧,每帧图像是由许多像素组成的2扫描将组成一帧图像的像素,按顺序转换成电信号的过程(或逆过程)称为扫描。扫描的过程和我们读书时视线从左到右、自上而下依次进行的过程类似。从左至右的扫描称为行扫描;自上而下的扫描称为帧或场扫描。电视系统中,扫描多是由电子枪进行的,通常称其为电子扫描。3隔行扫描所谓隔行扫描,就是在每帧扫描行数不变的情况下,将每帧图像分为两场来传送,这两场分别称为奇场和偶场。奇数场传送1、3、5、奇数行;偶数场传送2、4、6、偶数行。世界各国大多采用隔行扫描的PAL的隔行扫描。4扫描行数图像的清晰度,图像信号的带宽都与扫描行数有关。通常,扫描行数越多,分解成的图像像素数越多,原图像的细节就呈现得越清晰,但带宽也会急剧增加,于是在一定波段中可安排的电视频道数目减少。所以,扫描行数是一个很重要的指标。5顺序制传送按一定顺序将一个个像素的光学信息轮流转换成电信号,用一条传输通道依次传送出去,在接收端的屏幕上再按同样的顺序将电信号在相应的位置上转换成光学信息。23视频信号的组成电视为了重现图像,必须传送图像信号为了消去行、场扫描的回扫线,使其少干扰正常的图像,必须传送行、场消隐信号为了保证扫描的同时,必须传送复合同步信号。为了让这三种信号能用一个通道传送,在接收端可以方便地将它们分开,必须在发送端按一定规律将这三种信号组合起来,这个合成信号称为黑白全电视信号。黑白全电视信号由图像信号、复合同步信号和复合消隐信号组合而成。为了使三者相互少干扰,并且在接收端能够方便可靠地进行分离,黑白全电视信号按下列形式组成1图按排在行、场扫描的正程,复合消隐和复合同步信号安排在行、场扫描的逆程。2图像信号位于白色和黑色电平之间,复合消隐信号的电平规定比黑色电平稍黑。消隐电平和图像黑色电平之差称为黑色电平提升。图21为一行全电视信号。图21一行全电视信号从中可见,图像信号、行消隐信号、行同步信号三者在时间与幅度上的差别黑色电平提升量D等于消隐电平与白色电平差值70的053复合同步电平比复合消隐电平具有更黑的电平,即“比黑还黑”。这样复合同步信号与图像信号、消隐信号在幅度上有较大的差别,便于在接收端用简单的限幅器即同步分离级,从全电视信号中分离出复合同步信号。图像信号和复合消隐信号小必要再分开,可以直接送给显像管作为图像信号使用。如图22,全电视信号山图像信号、消隐信号和同步信号组成。顺序的规定为第一个齿脉冲的前沿即同步的前沿又兼为行同步的前沿规定为第一场奇数场起始点,扫描行序号从此计起。计到第3125行第一场结束,第一场开始,直到第625行,完成一帧。25H的场消隐期间H为一行扫描所需的时间,有17行空闲,可传送特定的测试行信号、台标信号、标准时间、标准频率、业务数据和图文电视等。图22全电视信号示意图综上所述,黑白全电视信号具有三大特征周期性、单极性和脉冲性。由于电视采用周期性的扫描,所以电视信号具有明显的行、场周期性或准周期性。由于图像亮度只有正值而无负值;所以电视信号是单极性的。电视信号的脉冲性表面为两点其一,图像信号本身是一系列象素所产生的电脉冲信号组合而成的。其二,复合消隐和复合同步信号都是周期性的脉冲信号。231图像信号图像信号是携带着一行行、一场场景物信息的电信号,通常它是由摄像管产生的。怎样画出某些特殊图像的信号波形呢依据有两点1摄像管经电子束扫描将一幅图像的亮度分布进行象素分解,使之转变成按逐行逐场时间顺序排列的电信号。2摄像管某时刻输出的电流信号正比于该时刻电子束所扫描象素的亮度大小。例如电视台每天播发的一幅八条从白到黑宽度相等的垂直条图像,如图23(A)所示,其特点是只有水平方向变化,而无垂直方向变化,所以它是按行周期变化的。按照信号幅度正比于亮度大小的原则画出一行的信号波形如图23(B)所示。由于图24(A)所示的只有垂直方向变化,而无水平方向变化,显然它是按场周期变化的。采用类似方法画出一场的信号波形如24B。图23垂直条图像信号图24水平条图像信号由上两例可见,因为图像亮度只有正值而无负值,所以图像信号也是单极性的。黑色的信号电平对应为零,灰色和白色的信号电平都是正值而无负值。图像信号的极性在电路传送与处理过程中是经常变化的,如电路某处为正极性,经过一次放大倒相后,就变成负极性的了。为了方便起见,有如下规定若图像越亮,信号电平越高,则称为正极性图像信号。反之若信号电平随着图像亮度的增加而降低,则称为负极性图像信号。上述两例所对应的负极性图像信号分别如图23(C)和图24(C)所示。232消隐信号消隐信号在摄像设备中是防止扫描束在逆程检取光电信号,在显像设备中是防止扫描的逆程在屏路上显出光迹、混淆图像。一般摄像设备的消隐时间小于显像设备的消隐时间。例如广播电视摄像机就利用行脉冲、场脉冲作消隐信号。行脉冲宽77微秒,场脉冲宽9行至15行周期,见图25,其中H表示一行的周期。图25推动脉冲信号广播电视送给接收机的消隐信号比较长,这是为了保护同步信号,和允许接收机有稍长的逆程时间。行消隐与场消隐组合成一个复合消隐信号,其中行消隐宽12微秒,场消隐宽约25行周期;它们具有一样的电平,见图26。上下两列波形的差别在于行场消隐的相对时间(位置)图26复合消隐信号错开半行周期,这是隔行扫描所决定的。由于给显像设备的消隐信号时间宽度比摄像的消隐时间长,所以接收机屏幕显示的场面比摄像的场面小。这里场面的意思是对原景范围来说,而不是指屏幕尺寸。在摄像机的寻象器上显示出摄取到的场面,寻象器屏幕上还刻有一个矩形框指示播出的幅面(场面)大小。接收机显像屏幕能显示的最大场面,是由复合消隐信号的时间参数决定的。从工作时间效率的角度上看,消隐是个消极因素,然而消隐信号能提供固定的基准电平,这对于正确重显亮度层次又是极为重要的,是积极的作用。消隐基准电平是应用钳位技术的前提。为了避免失真,在调制显像器件的,必须恢复信号的平均电平,消隐电平可以作为一个参考基准。因此,消隐信号对图像的幅面、亮度特性都是有作用的。233同步信号当同步信号与图像信号分别传送时,同步信号就可以用图所示的脉冲信号,行脉冲、场脉冲各自专线馈送,各不相干。实际上经常把行同步、场同步与复合图像信号混合成为全电视信号,一起传送给接收显像设备。广播电视就必须采用这种方式。同步信号的设计必须考虑它对图像的影响,在显像设备中分离同步信号的方便,使用的可靠。把同步信号挤在消隐期内传送,可以不再降低电视系统的时间利用效率。为了使显像设备能直接利用全电视信号来调制显像,同步信号不应在屏幕上显示出任何光迹。同步信号以脉冲形式加在消隐电平上,它的极性与图像信号极性相反,这意味着同步电平比黑电平“更黑”。同步信号幅度与图像信号幅度之比为三比七,在全电视信号中成为三七开。复合同步脉冲信号包括行同步信号和场同步信号。行同步信号用来控制行扫描,在发送端每行结束时,发出一个行同步脉冲,接收机收到这个脉冲后,立刻结束一行的扫描而开始回扫。同样,场同步信号用来控制接收机场扫描的回扫。行、场扫描的逆程期间传送同步信号,这样,同步脉冲就不会在屏幕上显示出来。为了便于在接收端将行同步脉冲与场同步脉冲分离,这两种脉冲的宽度不同。行同步脉冲的宽度是47,场同步脉冲的宽度25H(H为行周期,H64)即为160。复合同步信号的波形如图27所示图27复合同步信号波形行同步脉冲叠加在行消隐脉冲上,宽度为47US,脉冲前沿比行消隐脉冲前沿迟后15US,形成行消隐前肩;并在行同步之后有一个58US的行消隐后肩,消隐后肩可以提供基准的消隐电平。如图28所示。一行的起始时刻从行同步的前沿为基准开始计时的,是以行同步前沿时刻开始行扫描电流逆程的。图28行同步脉冲场同步脉冲叠加在场消隐脉冲上,宽度为25H160US,其前沿比场消隐前沿迟后25H160US。场同步规定为一场图像信号的起始时刻,控制场扫描逆程开始。如图29所示。图29场同步脉冲由于奇偶场同步脉冲与其紧密相邻的前面的行同步脉冲有间隔为H和H/2之分,会导致奇偶场积分起始电平有差异,使奇偶场时间间隔不同,为保证隔行扫描良好,将宽160US的场消隐前肩上的行同步改为每半行一个宽度为235US的5个前均衡脉冲,它们在场同步脉冲前起到缓冲作用,保证隔行扫描光栅精确镶嵌。同时,均衡脉冲的前沿仍可给出行同步信息。在场同步脉冲后加入5个后均衡脉冲。第三章ATMEGA16单片机介绍31AVR单片机概述AVR单片机是1997年由ATMEL公司研发出的增强型内置FLASH的RISCREDUCEDINSTRUCTIONSETCPU精简指令集高速8位单片机,广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机的片内资源很丰富,其包括128K字节可下载的FLASH存储器、4K字节的EEPROM,4K字节的RAM,32条通用的I/0线、32个通用工作寄存器、模拟比较器、定时/计数器、可编程异步串行口、内部及外部中断、带内部晶振的可编程看门狗定时器、SPI串行口、10位A/D转换器以及闲置模式和掉电模式2个可选择的省电模式等。其在指令执行速度、保密性等方面都明显优于其他类型的单片机,AVR单片机内置的FLASH存储器支持在线下载和在系统编程工作,操作很方便。AVR单片机系列齐全,可适用于各种不同场合的要求。分为3个档次低档TINY系列AVR单片机主要有TINYLL/12/13/15/26/28等中档AT90S系列AVR单片机主要有AT90S1200/2313/8515/8535等此系列正在淘汰或转型到MEGA系列中高档ATMEGA系列AVR单片机主要有ATMEGA8/16/32/64/128存储容量为8/16/32/64/128KB以及ATMEGA8515/8535等。本设计采用的ATMEGA16单片机是AVR单片机中的高档机型,是基于增强的AVRRISC结构的低功耗8位CMOS微控制器,其具有先进的指令集以及单时钟周期指令执行时间,ATMEGA16的数据吞吐率高达1MIPS/MHZ,缓解了系统在功耗和处理速度之间的矛盾。相对于中低档的AVR单片机,ATMEGA16对定时/计数器及预分频器、外部存储器接口、电源管理、SPI和IJART等方面都做了一定的改进,克服了中、低档机存在的不足,从而更加适用于工业控制、家电等方面的应用,本设计采用此类机型的目的就是为了跟上AVR单片机机型的更新速度。32AVR单片机硬件介绍321ATMEGA16引脚图31芯片引脚引脚说明VCC数字电路的电源GND地端口APA7PA0端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。端口BPB7PB0端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊能。端口CPC7PC0端口C为8位双向I/O口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。端口DPD7PD0端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1反向振荡放大器与片内时钟操作电路的输入端。XTAL2反向振荡放大器的输出端。AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。AREFA/D的模拟基准输入引脚。322ATMEGA16功能简介1作为通用数字I/O的端口MEGA16的通用数字I/O端口是具有可选上拉电阻的双向I/O端口。每个端口引脚都有三个寄存器位DDRXN、PORTXN和PINXN。DDRXN位于DDRX寄存器,PORTXN位于PORTX寄存器,PINXN位于PINX寄存器。DDXN用来选择引脚的方向。当DDRXN设置为“0”时,对应的I/O口设为输入。当引脚配置为输入时,若PORTXN为“1”,上拉电阻将使能。如果需要关闭这个上拉电阻,可以将PORTXN清零,或者将这个引脚配置为输出。若DDRXN设置为“1”时,对应的I/O口设为输出。当引脚配置为输出时,若PORTXN为“1”,引脚输出高电平(“1”),否则输出低电平(“0”)。不论如何配置DDRXN,都可以通过读取PINXN寄存器来获得引脚电平。PINXN寄存器的各个位与其前面的锁存器组成了一个同步器,这样就可以避免在内部时钟状态发生改变的短时间范围内,由于引脚电平变化而造成的信号不稳定。其缺点是引入了延迟。需要注意的是,如果设置某一个端口为输出,需要延时一个机器周期才能读取到正确的输出值。系统复位后,所有的I/O端口设置为输入,且内部上拉使能。端口引脚配置DDXNPORTXNPUBINSFOIRI/O上拉电阻说明00XINPUTNO高阻态HIZ010INTPUTYES被外部电路拉底时将输出电流011INPUTNO高阻态HIZ11XOUTPUTNO输出底电平吸收电流11XOUTPUTNO输出高电平输出电流图32端口引脚配置2外部中断外部中断通过引脚INT0、INT1与INT2触发。只要使能了中断,即使引脚INT02配置为输出,只要电平发生了合适的变化,中断也会触发。这个特点可以用来产生软件中断。通过设置MCU控制寄存器MCUCR与MCU控制与状态寄存器MCUCSR,中断可以由下降沿、上升沿,或者是低电平触发INT2为边沿触发中断。当外部中断使能并且配置为电平触发INT0/INT1,只要引脚电平为低,中断就会产生。若要求INT0与INT1在信号下降沿或上升沿触发,I/O时钟必须工作,如P22“时钟系统及其分布”说明的那样。INT0/INT1的中断条件检测INT2则是异步的。也就是说,这些中断可以用来将器件从睡眠模式唤醒。在睡眠过程除了空闲模式中I/O时钟是停止的。通过电平方式触发中断,从而将MCU从掉电模式唤醒时,要保证电平保持一定的时间,以降低MCU对噪声的敏感程度。电平以看门狗的频率检测两次。在50V、25C的条件下,看门狗的标称时钟周期为1S。看门狗时钟受电压的影响,具有“电气特性”。只要在采样过程中出现了合适的电平,或是信号持续到启动过程的末尾,MCU就会唤醒。启动过程由熔丝位SUT决定,如P22“系统时钟及时钟选项”所示。若信号出现于两次采样过程,但在启动过程结束之前就消失了,MCU仍将唤醒,但不再会引发中断了。要求的电平必须保持足够长的时间以使MCU结束唤醒过程,然后触发电平中断。3位定时器/计数器16位的T/C可以实现精确的程序定时事件管理、波形产生和信号测量。其主要特点如下真正的16位设计即允许16位的PWM2个独立的输出比较单元双缓冲的输出比较寄存器一个输入捕捉单元输入捕捉噪声抑制器比较匹配发生时清除寄存器自动重载无干扰脉冲,相位正确的PWM可变的PWM周期频率发生器外部事件计数器综述大多数的寄存器和位定义以通用的方式表示。小写“N”表示T/C序号,小写“X”表示输出比较通道号。但是在写程序时要用完整的、精确的名称。如用TCNT1表示访问T/C1计数器值等。下面对用到的寄存器进行介绍。1T/C1控制寄存器ATCCR1A说明如下位76COM1A10用于设置通道A的比较输出模式,位54COM1B10用于设置通道B的比较输出模式。FOC1A,FOC1B为强制输出比较匹配,WGM11,WGM10与TCCR1B的WGM13,WGM12配合,用来设置PWM输出的模式。2T/C1控制寄存器BTCCR1B说明如下ICNC1用来设置输入噪声抑制允许,ICES1用来选择输入触发方式,可以选择下降沿和上升沿。CS12,CS11,CS10用来选择时钟源,可以选择预分频比例或外部时钟。3定时/计数器中断屏蔽寄存器TIMSK说明如下OCIE2允许T/C2比较匹配中断,TOIE2允许T/C2溢出中断。TICIE1为T/C1输入捕获中断允许标志位,当TICIE1被设为“1”,将使能T/C1的输入捕获中断。OCIE1为T/C1输出比较A匹配中断允许标志位,当OCIE1A被设为“1”,将使能T/C1的输出比较A匹配中断。OCIE1B为T/C1输出比较B匹配中断允许标志位,当OCIE1B被设为“1”,将使能T/C1的输出比较B匹配中断。TOIE1为T/C1溢出中断允许标志位,当TOIE1被设为“1”,将使能T/C1溢出中断。4定时/计数器中断标志寄存器TIFR说明如下ICF1为T/C1输入捕获中断允许标志位。OCF1A为T/C1输出比较A匹配中断允许标志位。OCF1B为T/C1输出比较B匹配中断允许标志位。TOV1为T/C1溢出中断允许标志位,当T/C产生溢出时TOV1位被设为“1”。5T/C1计数寄存器TCNT1H,TCNT1L组成T/C1的计数器寄存器TCNT1,该寄存器可以直接被CPU读写访问。下面着重要介绍CTC模式(比较匹配清零模式),用于产生行定时。在CTC模式WGM1304或12里OCR1A或ICR1寄存器用于调节计数器的分辨率。当计数器的数值TCNT1等于OCR1AWGM1304或等于ICR1WGM13012时,计数器清零。OCR1A或ICR1定义了计数器的TOP值,亦即计数器的分辨率。这个模式使得用户可以很容易地控制比较匹配输出的频率,也简化了外部事件计数的操作。计数器数值TCNT1一直累加到TCNT1与OCR1A或ICR1匹配,然后TCNT1清零。利用OCF1A或ICF1标志可以在计数器数值达到TOP时产生中断。在中断服务程序里可以更新TOP的数值。CTC模式工作原理如图33所示。图33CTC模式的时序图33AVR单片机的开发1概述用C语言代替汇编语言,进行单片机和嵌入式系统开发,已成为一种趋势。各MCU制造商都委托软件公司开发了相应的C编辑器。如支持AVR系列的ICC和GCC,支持MCS51系列的C51,支持MCS196系列的C196等。在国内主要由广州双龙电子公司代理的ICCAVR编译器,并提供相关的技术支持。2ICCAVR编译器AVR可以选用以下任何一款高级C语言开发工具IARAVR编译器CODEVISIONAVR编译器,GCCAVR编译器ICCAVR编译器本论文使用ICCAVR编译器。ICCAVR是一个综合了编辑器和工程管理器的集成工作环境IDE,其可在WINDOWS9X/NT等下工作。源文件全部被组织到工程之中文件的编辑和工程的构筑也在这个环境中完成编译错误显示在状态窗口中并且当你用鼠标单击编译错误时光标会自动跳转到编辑窗口中引起错误的那一行这个工程管理器还能直接产生您希望得到的可以直接使用的INTELHEX格式文件INTELHEX格式文件可被大多数的编程器所支持用于下载程序到芯片中去。ICCAVR是一个32位的程序支持长文件名。图34程序调试窗口3仿真和调试首先简单介绍汇编编译器AVRSTUDIO。它是ATMEL公司提供的AVR单片机的集成环境汇编级开发调试软件,并且是免费软件ATMELAVRSTUDIO集成开发环境IDE,包括了AVRASSEMBLER编译器、AVRSTUDIO调试功能、AVRPROG串行、并行下载功能和JTAGICE仿真等功能。下图35是AVRSTUDIO4的界面当程序编写完之后,需要进行仿真及调试ICCAVR编译器输出的COFF文件可以被AVRSTUDIO4打开,进行软件仿真。调试时可以在程序的适当位置设置断点,也可以添加变量观察窗口,查看变量的值。程序运行方式可以单步进入、单步跳出或运行到断点处,方便进行程序调试。4下载AVR单片机的程序可以用万用编程器并行写入,也可采用ISP在线下载编程方式用串行ISP(通过PC机RS232口或打印机口)在线编程擦写,不必将IC芯片拆下拿到万用编程器上擦写,而直接在电路板上进行程修改、烧写等操作,对于程序的调试和升级多很方便。5熔丝位在应用时,要注意MEGA系列必须写熔丝位。烧熔丝时应注意熔丝位SPINE不能通过串行方式编程;熔丝位CKOPT的作用与CKSEL有关。熔丝位BOOTSZ10的默认值定义的引导加载区为最大值1024字(熔丝位的设置如图36所示)。下面是ATMEGA16的熔丝位的设置的介绍ATMEGA16有两个字节的熔丝位熔丝位高字节FHB和熔丝位低字节FLB。熔丝位未编程的状态为“1”,被编程后的状态为“0”。功能如表38所示表37熔丝位的功能表熔丝位名称位用途默认值OCDEN7编程时允许片上调试1JTAGEN6编程时允许JTAG下载0允许JTAG下载SPINE5允许串行编程和数据下载0允许SPI编程CKOPT4晶振选项1EESAVE3芯片擦除时保护E2PROM1E2PROM无保护BOOTSZ12设置引导加载区大小(512)0BOOTSZ01设置引导加载区大小0BOOTRST0设置复位向量1BODLEVEL7BOD触发电平1BODEN6BOD允许1禁止BODSUT15设置复位启动延长时间1SUT04设置复位启动延长时间0CKSEL33选择时钟源0CKSEL22选择时钟源0CKSEL11选择时钟源0CKSEL00选择时钟源1第四章电视标准制式图像发生器41总体设计本设计利用AVR系列的MEGA16单片机的定时功能产生行、场同步信号,PORTD1作为同步输出端口,PORTD0作为视频信号输出端口,通过视频DAC系统,将同步信号和视频信号合成为模拟全电视信号,然后通过示波器查看同步信号,并接到黑白电视机显示。如图41系统示意图所示。图41系统示意图这个系统分为硬件设计和软件编程两部分。其中单片机软件编程工作是主要的。软件设计具体实现可以分为同步产生、图像内容生成和图像显示三部分。下面分别予以阐述。42硬件设计根据PAL制式的电平要求,同步负脉冲要求电平是03V,黑色电平为0V,白色电平是07V,而单片机输出的是TTL电平,05V的电平范围,这里有一个将TTL电平转化为电视电平的问题。硬件部分应用的是DAC数模转换系统。该系统由三个电阻和两个二极管构成,完成同步信号和视频信号的合成,来形成黑白全电视信号。二极管采用1N4148,其作用是输出和输入隔离,并和电阻配合,并产生同步负脉冲信号。而三个电阻中75欧的电阻有阻抗匹配的作用,工作原理分析如下。设视频输出端口电压为V1,同步信号输出电压为V2,合成的电视信号电压为V0。分析如下图42DAC数摸转换电路0751030721VVV(41)推得3521(42)若V120V,此时应处于行、场同步阶段,计算得V001V,基本符合同步负脉冲的要求。若10V,25V,此时处于黑色显示阶段。计算得002V,符合黑色电平的要求。若V15V,20V,这种情况并不存在,属于无效情况,程序中已进行避免。显示完一行后,通过将视频端口置0,避免了此种情况。若15V,25V,此时处于白色显示阶段。计算得V011V,基本符合白色电平的要求。注意到与电视电平有03V的直流偏移,这个可以通过01UF的耦合电容得到标准的电视电平,也可以不予以处理,电视VIDEO接收端有耦合功能。综上,此电路经过二极管和电阻的配合,可以完成将视频信号和同步信号合成为全电视信号的功能。43软件设计单片机软件编程工作在本次设计中是非常主要的。具体实现可以分为同步产生、图像内容生成和显示三部分。431同步信号生成根据PAL隔行扫描的时序,行同步脉冲每64微秒发生一次。在内部晶振是8MHZ的情况,可以利用定时器1作计数器,在计数到622产生匹配中断。不过,如果使用63095微秒,则行同步的周期为623个计数节拍,每帧的时间接近1/50秒,因此构建一个软件计数器更容易些。如果从正常程序直接进入中断服务程序,则每次进入的时间有可能差几个机器周期(一个机器周期是125纳秒,也就是差了几百个纳秒),这个变化可能在电视上造成不可预料的毛刺。解决办法是在中断发生之前,使CPU休眠,并且把休眠指令放到一个WHILE循环,这个循环每个行周期执行一次。行1到行298是图像显示行,行298到行301是场消隐时间。在此期间,一些休眠指令分散到其中,保持同步准确。同步信号中,从行301到行313作为场同步时间,每计到行计数器是313的时候,行计数器置1,也就是开始下一帧。按照行,场同步时序的要求,在行同步中断服务程序中,首先将行计数器加1,接着判断是否是正常同步,还是场同步。若是正常同步,同步信号不需要翻转,也就是行同步持续下去。若为场同步(从298行开始),同步信号翻转,有三行变成场同步脉冲。同时,每次进入中断,都需要判断是否到了一帧的结束,结束的话,将行计数器置1,开始新一帧。同步信号生成流程图如图44所示。图44同步信号流程图432图像显示内容生成图像内容的生成实际上是填充显示数组的过程。将要显示的元素填充到显示数组中,就可以逐行显示数据,从而通过监视器查看相应的效果。要显示的图像内容通常有画点,画线,显示字符。以画点为例。函数说明如下输入参数,点的X、Y坐标和点的类型(黑点,白点,反色点)。X坐标除以8,得到行寄存器坐标,Y坐标乘以8,以计算越过的行数,两者相加,就得到对应显示数组的下标值,然后根据点的类型,将对应点的位置置1,清零或取反,从而实现了画点功能。对应程序如下VOIDVIDEO_PTCHARX,CHARY,CHARCIINTX3INTY3IFC1SCREENISCREENI|17XIFC0SCREENISCREENIIFC2SCREENISCREENI17X输出57字符到屏幕。点的X,Y为坐标,字符是在二维数组数组中一个索引值,在指定的位置输出一个57字符。VOIDVIDEO_PUTCHARCHARX,CHARY,CHARCCHARJV7XFORJ0J7JV1BITMAPCJ/V1BITMAP1JC2C1CV8YJVIDEO_PTV7,V8,V1VIDEO_PTV71,V8,V1VIDEO_PTV72,V8,V1VIDEO_PTV73,V8,V1VIDEO_PTV74,V8,V1液晶屏上显示的汉字也可认为是一种图形。在计算机中,汉字是以点阵的方式来表示的。显示的时候,可以借助第三方软件,提取汉字的字模数据代码,然后在屏幕上像作图一样把它逐点地描出来,从宏观上看,那就是大家熟悉的汉字了。其中,点阵的规模决定了汉字的大小和清晰度,通常有1616、2424、4848等等。以下就以一个汉字显示程序为例,介绍汉字显示的方法。在指定的位置写一个1616点阵的汉字。VOIDVIDEO_HZCHARX,CHARY,CHARHZ_INDEXUNSIGNEDCHARI0UNSIGNEDINTHZ_WORD1UNSIGNEDCHARHZ_WORD2UNSIGNEDINTHZ_WORDWHILEI32HZ_WORD1HZHZ_INDEXIIHZ_WORD2HZHZ_INDEXIHZ_WORDHZ_WORD18HZ_WORD2VIDEO_PTX,Y,HZ_WORDVIDEO_PTX1,Y,HZ_WORDVIDEO_PTX2,Y,HZ_WORDVIDEO_PTX3,Y,HZ_WORDVIDEO_PTX4,Y,HZ_WORDVIDEO_PTX5,Y,HZ_WORDVIDEO_PTX5,Y,HZ_WORDVIDEO_PTX7,Y,HZ_WORDVIDEO_PTX8,Y,HZ_WORDVIDEO_PTX9,Y,HZ_WORDVIDEO_PTX10,Y,HZ_WORDVIDEO_PTX11,Y,HZ_WORDVIDEO_PTX12,Y,HZ_WORDVIDEO_PTX13,Y,HZ_WORDVIDEO_PTX14,Y,HZ_WORDVIDEO_PTX15,Y,HZ_WORDIY在视频信号的显示中,当行扫描到313行时,即一场结束,此时时间加1,当满50行时,增加一秒,满60后增加一分钟,同时调用函数定时实现两副图象的显示。WORK_LINELINECOUNT313IFWORK_LINETIMERTIME_FLAGTIMER50IFTIME_FLAGTIMER0SECONDSEC_FLAGSECOND60IFSEC_FLAGMINUTESECOND0TIME30X30TIME20X30TIME1MINUTE100X30TIME0MINUTE/100X30ELSETIME3SECOND100X30TIME2SECOND/100X30TIME1MINUTE100X30TIME0MINUTE/100X30VIDEO_PUTSMALLS8,90,TIME433图像内容显示图像显示的过程是将内部RAM中的数据按点依次送出的过程。这里,在内部RAM中开辟了800个字节的空间用于存放要显示的数据。图像的点数每8位放在一个字节中,因此共有6400个可寻址点。为了加速点的生成,每行的8字节预先放在内部寄存器V1V8中,此后逐点输出。每个点在屏幕上输出需要4个机器周期。再加上程序的执行时间,输出一行的所用时间与行周期大体相等。434主程序介绍主程序大体分为硬件寄存器和标志初始化,显示内容生成,图像显示三部分。在主程序中,首先对TI

温馨提示

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

评论

0/150

提交评论