《科技创新[2]-第074组设计报告.doc》由会员分享,可在线阅读,更多相关《科技创新[2]-第074组设计报告.doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流科技创新2-第074组设计报告.精品文档. 完成时间:2006-5-30科技创新2设计报告项目名称: 可控增益放大器,函数信号发生器及其控制系统 设计小组编号:第74组设计小组名单:王愈喜(组长)徐昊王永哲汤逸纯姓名班级学号具体负责的工作联系方式王愈喜F04030285040309811总体设计、软件编程、实验报告撰写stsupermouse徐昊F04030295040309815软件编程、实验报告撰写王永喆F04030285040309803硬件设计与焊接实验报告撰写汤逸纯F04030295040309835硬件设计与焊接实验报告撰写摘 要
2、:本设计报告包括了可控增益放大器,函数信号发生器,液晶显示三个模块的主要功能、系统框图,系统硬件以及软件的设计和实现方法,系统的技术指标,调试分析,针对用户操作的详细说明,对系统中某几个部分的深入扩展研究,心得体会,问题调试和实物照片等等,包括了与此相关的理论和实践中的各种问题。关键词: 可控增益放大器,函数信号发生器,液晶显示Abstract:This report includes detailed explanations of inner workings of the controllable gain amplifier, signal generator and LCD disp
3、layer; which include the designing and implementations of its control systems, major functions, required hardware and software and technical index of system. The design specifications, plus the debugging process and testing, as well as detailed user-oriented instructions manual, and pictures of obje
4、ct are also attached in the report.KEYWORDS:controllable gain amplifier, signal generator LCD displayer 目次1. 概述 11.1 编写说明11.2 名词定义12. 系统总述22.1 系统组成22.2 系统的主要功能23. 增益可控放大器(基础部分)的硬件设计 33.1 主要功能33.2 系统设计指标33.3 设计原理33.4 主要部分设计及参数43.4.1 主要元件4 3.4.1.1 主要元件CD40664 3.4.1.2主要元件LM74163.4.2 外围电路设计 64. 液晶显示(拓展部
5、分一)的硬件设计84.1主要功能84.2 系统设计指标84.3 主要部分设计和参数84.3.1 主要元件84.3.1.1点阵式LCD显示器84.3.1.2 芯片825594.3.2 液晶模块整体电路设计11 4.3.2.1 电路图114.3.2.2 电路说明125.函数信号发生器(拓展部分二)的硬件设计135.1主要功能135.2主要器件135.3 电路具体实现及参数136.单片机子系统的软件设计156.1软件的主要功能156.2 软件总体框架156.3 全局变量说明166.4 主要模块描述196.4.1 定时中断0描述196.4.2 主菜单模块函数描述206.4.3 可控增益线性放大器模块函
6、数描述216.4.4 信号发生器模块函数描述256.4.5 液晶模块函数描述287. 致谢358 参考文献369. 附录A 开发环境37 9.1 软件环境37 9.2 硬件环境3710. 附录B 软件程序清单3811. 附录C 系统操作说明书51 11.1 系统用途5111.2 简要技术指标5111.3 使用前准备5111.4 操作方法和步骤5111.5 注意事项5212. 附录D 测试和分析5312.1 测试电路的搭建5312.2 测试项目和方法5312.3 测试的资源5312.4 测试结果及分析5312.4.1 可控增益放大器的实际增益5312.4.2 液晶显示模块5412.4.3 函数信
7、号发生器模块5513.附录E 心得体会和问题调试5613.1 心得体会5613.2 问题与调试5714. 附录F 实物图601概述1.1编写说明此报告为大二下学期科技创新关于单片机实现可控增益线性放大器、函数信号发生器、液晶屏幕显示的设计报告。供对该系统感兴趣的读者阅读。1.2名词定义单片机:包括CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(串行口、并行输出口等)的一块集成电路。七段显示数码管:abcdefg七段,通过给某些段加上驱动电压或电流来使这些段发光。占空比:在信号的一个周期内,高电平信号所占的时间比例。可控增益放大器:将输入的直流电压转换成增益后的
8、直流电压输出,其中增益可控制函数信号发生器:产生三角波,方波,正弦波等信号2.系统总述2.1系统组成本系统主要由可控增益放大器,函数信号发生器,液晶屏幕显示三个模块组成系统组成框图如图2.1所示:图2.1 系统组成框图2.2系统的主要功能本系统是由单片机控制以实现可控增益放大器,函数信号发生器,同时通过液晶提供良好的人机操作界面。3增益可控放大器(基础部分)的硬件设计3.1 主要功能(1) 将输入的直流电压转换成增益后的直流电压输出;(2) 增益为线性的,增益等级可控的;(3) 通过按键来控制增益等级。3.2 系统设计指标输入电压Vi= 1V输出电压-1.5VVo-0.1V增益等级:0.1V3
9、.3 设计原理增益可控放大器设计原理图见图3.1图3.1 增益可控放大器原理图加在Vi端的直流电压1v经过反相放大器电路放大得到输出电压Vo。设Ri为接入运放反向端的等效电阻。由于反相放大电路的输出电压Vo = - (Rf/Ri ) Vi,所以只要改变Rf/Ri,就可以改变增益。可以由CD4066实现可控开关。 可以通过单片机控制CD4066。3.4 主要部分设计及参数3.4.1 主要元件3.4.1.1 主要元件CD4066CD4066内部结构见图3.2。图3.2 CD4066BC内部结构(摘自CD4066 datasheet)工作原理:CD4066是一种双向模拟开关,在集成电路内有4个独立的
10、能控制数字及模拟信号传送的模拟开关。每个开关有一个输人端和一个输出端,它们可以互换使用,还有一个选通端(又称控制端),当选通端为高电平时,开关导通;当选通端为低电平时,开关截止。 管脚定义:CD4066的管脚图见图3.3:图3.3 CD4066管脚定义图(摘自CD4066 datasheet):IN/OUTSWITCH A 的输入输出端:OUT/INSWITCH A 的输出输入端(与1相对应):OUT/IN SWITCH B的输出输入端:IN/OUT SWITCH B 的输入输出端(与3相对应):CONTROL SWITCH B的控制端(加高电平的时候开关闭合):CONTROL SWITCH
11、C的控制端(加高电平的时候开关闭合):Vss接地端:IN/OUT SWITCH C的输入输出端:OUT/IN SWITCH C 的输出输入端(与9相对应):OUT/IN SWITCH D的输出输入端:IN/OUT SWITCH D 的输入输出端(与11相对应):CONTROL D SWITCH D的控制端(加高电平的时候开关闭合):CONTROL A SWITCH A的控制端(加高电平的时候开关闭合):Vdd电源端(+5V)3.4.1.2主要元件: LM741工作原理:LM741集成运算放大器是一种高放大倍数、高输入阻抗、低输出阻抗的直接耦合多级放大电路,具有两个输入端和一个输出端,可对直流信
12、号和交流信号进行放大。外接负反馈电路后,输出电压Vo与输入电压Vi的运算关系仅取决于外接反馈网络与输入的外接阻抗,而与运算放大器本身无关。管脚定义LM741的管脚定义见图3.4图3.4 LM741管脚定义图(摘自LM741 datasheet)1: OFFSET NULL 调零端2:INVERTING INPUT 反相输入端 3:NON-INVERTING INPUT 同相输入端4:V- 电源电压负端5:OFFSET NULL 调零端6:OUTPUT 输出端 7:V+ 电源电压正端3.4.2 外围电路设计设计电路图见图3.5图3.5外围电路设计元件参数R1=10 K R2=20 K R3=40
13、 K R4=80 K Rf=8 K参数选择1、Vi为输入电压,定为 +1.0V。2、R1,R2,R3和R4 用于产生二进制信号。3、Rf是反馈电阻,大小经计算和老师的建议取8K。4、Vo 是输出电压,经过放大后等于 - (Rf/R1 ) Vi。4. 液晶显示(拓展部分一)的硬件设计4.1主要功能:在液晶显示屏上实现16 x(2行)各种ASCII码字符的显示和滚屏、反显等。4.2 系统设计指标:LCD驱动电压:5V。工作温度:室温。4.3 主要部分设计和参数:4.3.1 主要元件4.3.1.1点阵式LCD显示器 工作原理:在液晶板上排列着若干57或510 点阵的字符显示位,每个显示位可显示1个字
14、符,从规格上分为每行8,16,20,24,32,40位,有一行,两行及四行三类。单片机输出信号经过总线扩展后输入到液晶电路模块,在板上显示相应字符。电路图及说明图.1字符型模块电路图(摘自字符模块使用手册)它由HD44780,HD44100及几个电阻电容组成。HD4410是扩展显示字符位用的(例如:16字符1行模块就不用HD44100,16字符2行模块就要用1片HD44100)。在接口方面,有8条数据线,三条控制线。可与微处理器或微控制器相连,通过送入数据和指令,就可使模块正常工作.液晶模块引脚功能引 线 号符 号名 称功 能1Vss接地0V2VDD电路电源5V10%3VEE液晶驱动电压保证V
15、DD-VEE=4.55V电压差4RS寄存器选择信号H:数据寄存器 L:指令寄存器5R/W读/写信号H:读 L:写6E片选信号下降沿触发,锁存数据7|14DB0|DB7数据线数据传输表.1(摘自字符模块使用手册)4.3.1.2 芯片8255工作原理 是可编程口扩展芯片。对输入不同的指令可改变口的工作方式。工作方式由程序设定,图4.为的引脚图。内部有个寄存器:分别为寄存器、和控制寄存器。、寄存器的数据就是引脚、上输入或输出的数据。而控制寄存器的数据则表明、的工作方式。通过、和对个寄存器进行操作。 管脚定义: 如图4.2图4.2 8255管脚定义图(摘自 8255 datasheet)内部结构和外部
16、接线图图4.3 内部结构和外部接线图(摘自东南大学讲义)8255引脚功能:RESET: 复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS: 片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD: 读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR: 写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。D0D7: 三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实
17、现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。PA0PA7: 端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位数据输入锁存器。PB0PB7: 端口B输入输出线,一个8位的I/O锁存器, 一个8位输入输出缓冲器。 PC0PC7: 端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。4.3.2. 液晶模块整体电路设计4.3.2.1电路图见图4.4图4.44.3.2.2 电路说明:期中液晶电路模块
18、1 脚接地2 脚接Vcc (+5v)电压3 脚接一小于5v的电压,用于调节对比度4 脚为液晶电路的RS脚,与8255扩展出来的I/O口PC口的第5脚相连5脚为液晶电路的RW脚,与8255扩展出来的I/O口PC口的第6脚相连 6脚为液晶电路的E 脚,与8255扩展出来的I/O口PC口的第7脚相连 7-14为液晶电路的DB0-DB7, 与8255扩展出来的I/O口PB口的八个引脚相连 15,16脚为背光,本实验中我们没有联接5.函数信号发生器(拓展部分一)的硬件设计5.1主要功能: 通过设计电路,使其可输出正弦波、三角波、锯齿波、矩形波(方波)等等的数学函数波形。难点在于需编写程序达到周期性动态连
19、续地改变放大器增益的效果。通过按键控制菜单。5.2主要器件:该电路比可控增益放大器电路增加了一片4066,其内部电路及管脚定义见上。 5.3电路具体实现及参数: 图5.1函数信号发生器电路图其中:R1=8K;R2= 16K;R3=32K;R4=64K;R5=128K;R6=256K;R=6.9K.6.单片机子系统的软件设计6.1软件的主要功能1增益可键控的线性放大器:增益可键控的线性放大器电路,并通过单片机小系统控制其直流增益等级的变化,增益等级从0.1到1.5。在单片机小系统板上提供人机操作界面,使操作者能通过按键操作,设置放大器的增益等级,相应的增益值在数码管上显示。2.函数信号发生器:电
20、路可输出正弦、三角、矩形(方波)等数学函数波形3.液晶显示:实现菜单显示,提供友好的人机界面。6.2 软件总体框架6.3 全局变量说明/* 定时器初值 */#define V_T1 0xfd /*SCOM 9600 baud, ! notice: crystal 11.0592MHz */#define V_TH0 0xee /* 5ms , ! notice: crystal 11.0592MHz */#define V_TL0 0x00/* 1s软件定时器溢出值,两百个5ms*/#define V_T1s200数码管显示使用的全局变量unsigned char xdata digi_sca
21、ner; 数码管扫描驱动指针unsigned char bdata output_sel; 数码管位驱动信号输出缓存#define ADDR_8SEGXBYTE0x2000 数码管段驱动寄存器地址#define ADDR_SELXBYTE0x4000 数码管段和指示灯驱动寄存器地址按键定义:单片机小系统中的四个按键分别使用了P1口的四个引脚sbit KEY1=P10;sbit KEY2=P11;sbit KEY3=P12;sbit KEY4= P13;可控增益放大器中使用的全局变量可控增益放大器中4066四个控制开关,分别使用了P3口的四个引脚sbit D0 = P32;sbit D1 = P
22、33;sbit D2 = P34;sbit D3 = P35;unsigned char xdata counter=1; 增益等级液晶显示模块使用的全局变量#define COM8255 XBYTE0xe003 8255COM口地址#define PA8255 XBYTE0xe000 8255PA口地址#define PB8255 XBYTE0xe001 8255PB口地址#define PC8255 XBYTE0xe002 8255PC口地址#define DataPort PB8255 8255PB口地址sbit P14 = P14; 电路图中P1的第四个引脚与8255的reset端连接
23、在一起信号发生器模块使用的全局变量unsigned char xdata sindata=31,36,41,46,50,54,57,60,61,63,63,63,61,60,57,54,50,46,41,36,32,27,22,17,13,9 ,6 ,3 ,2 ,0 ,0 ,0 ,2 ,3 ,6 ,9 ,13,17,22,27; 正弦信号数据点unsigned char xdata sinindex=0; 标识当前正弦波采样地数据点unsigned char xdata squareflag=0; 标识方波的高低电平unsigned char xdata trigain=1; 三角波的增益等级
24、unsigned char xdata triflag=0; 标志三角波的正负斜率unsigned char xdata triinc=0x01; 三角波的增益分量unsigned char xdata funcflag=0; 标志输出波形的类型菜单显示中使用的全局变量unsigned char xdata genmenuflag=1; 标志是否显示主菜单unsigned char xdata menuflag=0; 标志是否显示可控增益放大器菜单unsigned char xdata menu1flag=0; 标志是否显示函数信号发生器菜单函数声明延时函数void delay0 ();voi
25、d delay50();void delay400 ();void delay5 ();键盘扫描函数void GenMenu (); 总菜单时扫描键盘void Menu(); 可控增益放大器菜单时扫描键盘void Menu1(); 信号发生器菜单时扫描键盘数码管显示函数unsigned char NUMTOSEG7a(unsigned char );unsigned char NUMTOSEG7b(unsigned char );void display ();可控增益放大器模块所定义的函数void Switch (unsigned char counter); 用于控制可控增益放大器模块中的
26、4066液晶显示模块所定义的函数void init8255 (); 初始化8255 void LcdInit(); 液晶初始化void LcdClean (); 清屏void LcdWriteCommand (unsigned char ); 为液晶输入指令void Disp_XY (unsigned char ,unsigned char ); 液晶定位函数void LcdWriteData (unsigned char ); 输出字符void DispOneChar (unsigned char x, unsigned char y, unsigned char Wdata) 在指定位置输
27、出一个字符void DispStr(unsigned char x, unsigned char y, unsigned char * str,unsigned char n) 在指定位置输出一串字符串void DispGenMenu(); 液晶显示总菜单void DispMenu (); 液晶显示可控增益放大器菜单void DispMenu1(); 液晶显示信号发生器菜单void DispWel (); 液晶显示welcomevoid DispOut (); 液晶显示增益等级信号发生器所使用的函数void SinSig (); 输出正弦波void TriSig (); 输出三角波void S
28、quareSig(); 输出方波void SigOut (unsigned char ); 用于控制信号发生器模块中的40666.4 主要模块描述6.4.1定时中断0描述函数名timer0 ( ) interrupt 1 using 0功能描述实现5ms秒的硬件定时中断。主要用于:每5ms检测一次液晶显示菜单的标志,以此决定液晶显示哪一级菜单每隔5ms输出信号发生器产生信号的一个点定时器初值的设定V_TH0=oxeeV_TL0=0x00定时时间为5ms。检测液晶显示菜单标志在本系统中采用每5ms间隔对各个液晶显示菜单标志检测一次Genmenuflag、 menuflag、 menu1flag分
29、别标志液晶当前所需显示的主菜单、可控增益放大器菜单、信号发生器菜单。如果其中有一个标志为1,则调用相应程序使液晶屏幕显示该菜单。信号发生器数值点输出其中信号发生器菜单较为特殊,它其中还包含了输出相应波形的程序部分。funcflag用于标志信号发生器所当前输出的波形,液晶会显示相应波形的英文名称以提示用户,并且每5ms间隔输出所选波形的一个点。由SinSig()输出正弦波的点,由SquareSig()输出方波的点,由TriSig()输出三脚波的点。这三个函数的详细描述请见信号发生器部分。6.4.2 主菜单模块函数描述函数名void GenMenu ()功能描述此函数的主要功能是显示主菜单并根据用
30、户的选择调用相应模块,即每5ms扫描一次键盘,按照用户通过按键输入的指令分别进入帮助菜单、可控增益线性放大器模块、信号发生器模块。输入输出项输入项:KEY1、KEY2KEY1、KEY2分别记录前两个按键的信息。数值有效范围为0或1。0表示有键按下,1表示没有按键按下如果KEY1被按下,则进入可控增益线性放大器模块,调用Menu()。同时将全局变量genmenuflag置为0以关闭主菜单的液晶显示,并将全局变量menuflag置为1以启动可控增益线性放大器模块的菜单显示。如果KEY2被按下,则进入信号发生器模块,调用Menu1()。同时将全局变量genmenuflag置为0以关闭主菜单的液晶显示
31、,并将全局变量menuflag1置为1以启动信号发生器模块的菜单显示。按键消抖:由于用户操作或是按键本身特性,在按键刚刚按下时输出的电平不稳定,有毛刺,要过一段时间输出的电平才会稳定。因此如果KEY1、KEY2、KEY3、KEY4中任何一个键被按下,要先用延时函数delay50()消去按键抖动,然后再进行相应函数调用。防止按键跳动:在程序相应用户按键要求,调用完相应函数后,还有一段while语句的循环。这是我们在经过调试后,为了使按键操作更加友好而添加的。调试时,我们发现有时由于手的轻微颤抖,会使系统将一次按键误认为两次甚至是多次,造成不必要的麻烦。所以,我们加入了以下语句:while (KE
32、Y4=0) display(); 即当按键未放开前,程序不会跳出循环执行后续操作,也就避免了一次按键引起多次函数调用的错误。6.4.3 可控增益线性放大器模块函数描述通过以下函数实现一个可控增益线性放大器,根据用户的按键操作,选择相应增益等级,能在数码管和液晶屏幕上实时显示提示与数据,输出增益后的信号。函数名void Menu()功能描述此程序为线性放大器的主要函数。通过中断程序的控制,如果用户选择放大器模块,则每5ms进入该程序一次。程序负责扫描四个按键,若用户按下任何一个按键,则调用相应程序以完成用户所需要的要求,并在液晶屏幕上做出实时显示。输入项:KEY1、KEY2、KEY3、KEY4K
33、EY1、KEY2、KEY3、KEY4分别记录四个按键的信息。数值有效范围为0或1。0表示有键按下,1表示没有按键按下。KEY1为复位键,按下后程序会将增益等级复位到最低位0.1,并将用于记录增益等级的全局变量count重新置为1。同时通过DispOut()函数在液晶屏上实时显示当前增益等级,display()函数在数码管上实时显示当前增益等级。KEY2控制增益等级增加0.1,按下后程序会将增益等级从当前值增加0.1,并将用于记录增益等级的全局变量count同时增加1。如果当前增益已经达到最大增益等级1.5,则按下KEY2后增益等级变为0.1,进行循环,同时修改全局变量count。通过DispO
34、ut()函数在液晶屏上实时显示当前增益等级,display()函数在数码管上实时显示当前增益等级。KEY3控制增益等级减少0.1,按下后程序会将增益等级从当前值减少0.1,并将用于记录增益等级的全局变量count同时减少1。如果当前增益已经达到最小增益等级0.1,则按下KEY2后增益等级变为1.5,进行循环,同时修改全局变量count。通过DispOut()函数在液晶屏上实时显示当前增益等级,display()函数在数码管上实时显示当前增益等级。KEY4控制帮助菜单,按下后液晶屏幕重新显示各按键相应功能以提示用户。函数名void Switch (unsigned char counter)功能
35、描述将十进制数转化为二进制输出,并且将结果输出到P3口的四个引脚,以此控制可控增益放大器中4066四个控制开关,控制与放大器相连的电阻值,从而使放大器输出相应增益等级的信号。 P3口的第二个引脚已设为全局变量D0,它是二进制的最低位。输入项Counter为需要转化的十进制数,即标志增益等级的全局变量。输出项D0到D3依次为目标二进制数的最低到最高位,即P3口的四个引脚,用以控制可控增益放大器中4066四个控制开关。sbit D0 = P32;sbit D1 = P33;sbit D2 = P34;sbit D3 = P35;算法描述采用十进制到二进制转换所使用的除二取余法为基本原理。数码管显示
36、模块描述通过以下函数完成用两个数码管轮流扫描以显示相应数字、字母、符号的功能函数名void display ()功能描述display ()主要配合本次实验基础模块线性可控增益放大器的实现并且控制数码管的显示。变量说明用全局变量digi_scaner标志数码管扫描驱动指针,全局变量output_sel标志数码管位驱动位,XBYTE0x2000 标志数码管段驱动寄存器地址,XBYTE0x4000 标志数码管段和指示灯驱动寄存器地址变量初始化首先将初值0xf0赋给标志数码管位驱动位的全局变量output_sel ,令数码管驱动位无效,指示灯全灭。数码管扫描用一个if语句,通过改变全局变量digi_
37、scaner的值来完成第三和第四个数码管间的轮流扫描。由于每5ms扫描一次,所以虽然两个数码管不是同时显示数据,但人眼的视觉暂留使其看来像是同时显示。当digi_scaner为3时,标志选中第三个数码管。将全局变量output_sel置为0x04以驱动第三个数码管。调用NUMTOSEG7b()函数并将counter/10作为输入项,这样第三个数码管将显示增益等级的个位。并NUMTOSEG7b()函数的输出值送到锁存器U5。当digi_scaner为4时,标志选中第四个数码管。将全局变量output_sel置为0x08以驱动第四个数码管。调用NUMTOSEG7a()函数并将counter10作为
38、输入项,这样第四个数码管将显示增益等级的小数位。并NUMTOSEG7a()函数的输出值送到锁存器U5。最后将output_sel的值输出到锁存器U6。配合线性可控增益放大器的输出最后调用Switch (),将增益等级值作为输入项,以此通过P3口的四个引脚控制4066的四个控制开关,从而输出相应增益等级的信号。Switch ()函数的具体实现详见线性可控增益放大器模块函数描述。函数名:unsigned char NUMTOSEG7b(unsigned char DATA)功能描述:此函数主要是用于显示增益等级的个位和小数点。输入输出项unsigned char DATA为数码管所要显示的个位数字
39、。由于本次实验数码管主要用于显示线性可控增益放大器的增益等级,而增益等级从0.1到1.5,所以个位只有0或者1。如果为0,则数码管显示数字0和小数点;如果为1,则数码管显示数字1和小数点。否则无显示。函数名:unsigned char NUMTOSEG7a(unsigned char DATA)功能描述:此函数主要是用于显示增益等级的小数位。可以令数码管显示数字0到9,字母A到F,以及破折号、下划线和消隐。输入项unsigned char DATA为数码管所要显示的小数位数字。算法描述讲数码管管段的相应高低电平译成十六进制数,输入该十六进制数即得所需输出的数字、字母或是符号。符号相应十六进制数00xc010xf920xa430xb040x9950x9260x8270xf880x8090x90A0x88B0x83C0xc6D0xa1E0x86F0x8e破折号0xbf下划线