您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页51单片机完整系统电路

51单片机完整系统电路

来源:飒榕旅游知识分享网
 http://www.cndzz.com.cn长春理工大学电子学会 8051单片机外围硬件电路

电源电路

电源知识

电源是所有硬件开发工程师在任何一款产品的设计中不可或缺的部分,有些产品只用电池即可以,但对大多数产品来说,工程师需要考虑的是将220V或380V的交流电转换成产品所需要的各类电压。

各种产品所需要的电压和种类不尽相同,如一般计算机需要12V和5V才可以正常工作,设计电源部分的时候至少要考虑电压、电流、功率等几个方面。当然如果产品设计中不太考虑成本问题(如工业控制类的产品),工程师完全可以采购专业公司生产的开关电源、UPS电源或稳压电源等成品,质量有保证并且通常可以要求供货方按自已的需求进行专门设计。但实际上,有很多公司对开发人员是提出一定的成本要求的,这个时候,就需要开发工程师自已设计产品的电源部分。

书本上介绍电源时,通常会举例使用一个变压器将交流电先转成合适的电压,然后通过一个整流桥将交流转变成直流,实际应用中这种方法也是最常用的方法,当然实际设计中还要考虑滤波等其它方面,但设计电源的时候最重要的是要考虑电源的功率问题。在一般情况下,电源所提供的功率要在负载的功率的二倍或更多,即如果你设计的电路板工作电流是100MA,那么电源最少应该可以提供200MA或更多的电流才可以。

关于电源的知识很多,甚至不是一本书就可以说完的,而且电源部分的设计与经验很有关系,同一张原理图,由不同的工程师来设计电路板可能电源的性能相差很大,这里就不多说了,下面将学习板的电源电路原理图画出来并进行解释,虽然简单,但里面也包含了很多必须的知识。

学习板电源电路

因为成本的原因,学习板采用了很简单的电源电路,外部是购买了成品的家电用电源,可以提供普通的12V直流电源。学习板上的电源部分原理图见图一:

D11IN4007D101J4IN4007C14470uFPOWER(8V-12V)C120.1U10LM7805Vin+5V3VCCC15100uFD12LEDC130.1GNDR152702 图一

J4是一个电源的接口,用于接收外部的电源输入(8-12V),它仅仅是一个接插件而已,不用过多的研究它。电源进来后第一个遇到的元器件就是D10(IN4007),这是一个二极管,因为二极管具有单向导通的功能,所以这个二极管放在这里可以起到一个保护的作用:当电

1

http://www.cndzz.com.cn长春理工大学电子学会 源正确,上面这根线是电源的正极而下边这根线是地的时候,二极管像不存在一样,可以顺利导通。而外部电源如果接反的话,那么二极管就会截止,像是把这根线断开一样,起到了防止电源接反的作用。

过来一点,我们会发现一个大的电容C14(470UF),这个电容和后面的C15功能一样,都是滤波作用,滤波电容是必须的,因为电源的输入电压并不一定很干净,可能有杂波,也可能有尖峰毛剌,这两个电容可以滤掉这些东西,使电源变得更加稳定和平滑。

好了,下面是这个电源部分的核心了,U10(LM7805),是一个常用的稳压芯片,它可以将输出稳定在5V上,通过这个芯片,输入的8-12V电压将会被稳定在5V进行输出,这个系列芯片有很多种类,如7812是将电压稳定在12V上,7905、7912是将电压稳定在-5V和-12V上。这个芯片应用于很多场合,我们可以在很多种电源产品中见到,它可以提供大约1A左右的电流输出,足以供学习板上的电路运行了。

7805的转换功率有点低,根据输入电压的不同,输入电压越高转换的功率就越高一些,一般可以达到70%左右。但30%的损耗,在很多产品的设计中是不可容忍的,尤其是用电池供电的手持式产品上,对使用时间有更高的要求,则必须要选择更高档的稳压芯片以获得更高的转换效率。

电源电路到此已经完成,后面的一个发光二极管和一个电阻组成了电源的显示电路,并不是电源电路的必须部分,它只是在你接通电源后会亮起二极管,告诉你电源已经OK了。

去耦电路

在直流电源回路中,负载的变化会引起电源噪声。例如在数字电路中,当电路从一个状态转换为另一种状态时,就会在电源线上产生一个很大的尖峰电流,形成瞬变的噪声电压。配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法。

我们可以看到学习板上,每个芯片的附件都会有一个小电容,通常称之为去耦电容,原理图如图一:

VCCCX10.1CX20.1CX30.1CX40.1CX50.1CX60.1CX70.1CX80.1 图一

根据芯片的数量一般将会设计若干个去耦电容,通常选用0.1UF(104)独石电容即可。 硬件电路设计时,需要将这些电容安放在每个芯片的电源和地附近,用以提高电路板的整体的可靠性。

蜂鸣器电路

蜂鸣器俗称喇叭,是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。

蜂鸣器与家用电器上面的喇叭在用法上也有相似的地方,通常工作电流比较大,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个电流放大的电路才可以,这一点与家用

2

http://www.cndzz.com.cn长春理工大学电子学会 电器中的功放有相似之处。

学习板采用了一个很简单的电路来实现蜂鸣器的联接,由上所述,一个管脚很难驱动蜂鸣器发出声音,所以增加了一个三极管来增加通过蜂鸣器的电流,见下方原理图。

蜂鸣器的正极性的一端联接到5V电源上面,另一端联接到三极管的集电极,三极管的基级由单片机的P1.5管脚通过一个与非门来控制,当P1.5管脚为低时,与非门输出高电平,三极管导通,这样蜂鸣器的电流形成回路,发出声音。当P1.5管脚为高时,与非门输出低电平,三极管截止,蜂鸣器不发出声音。在这里与非门是作为非门来用的,这里采用一个非门的作用是为了防止系统上电时峰鸣器发出声音,以为系统复位以后,I/O口输出的是高电平。

用户可以通过程序控制P1.5管脚的置低和置高来使蜂鸣器发出声音和关闭。

蜂鸣器的声音大小及音调可以通过调整P1.5管脚的置高时间及输出的波形进行控制,这一点可以在调试程序的时候来试验。

VCCU1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCGNDRXDTXD12345675.1KPR1PR312345675.1KVCCF_RH_RP2.613INT0121514VCC11.0592MHZC63130P19XAL11830PC7RST9IO1IO01716 BUZZER(5V)VCCU4P1.51213U11D11F_R74HC00R41KQ12N2222 3

http://www.cndzz.com.cn长春理工大学电子学会 复位电路

复位电路知识

一个芯片,尤其是可编程芯片,通常在上电的瞬间需要一个短暂的时间进行内部参数的初始化,这个时候芯片无法立即进入工作状态。通常称上电初始化这些工作为复位,完成这个功能的电路称之为复位电路。

单片机的设计需要考虑复位电路的设计,通常在要求不高的场合,复位电路都是利用RC来制做的,现在也有很多种类的芯片提供高质量的复位信号,但对于一般的场合,RC已经足够了。

复位电路最重要的参数是复位时间,每个芯片的复位时间是有可能不同的,RC电路是高中就学的知识,这里就不详细说明了,R*C就是复位时间,如10UF的电容和10K的电阻就可以提供100MS的复位时间。

选取复位电路的参数时,需要先查阅芯片的手册确定复位时间是否足够长,有些芯片如DLS12887时钟芯片就需要近200MS的复位时间,如复位电路不能提供足够的复位时间的话,芯片将无法正常工作。

I型学习板的复位电路是采用最简单的RC电路。

学习板复位电路

PR1VCC U11P1.0139P0.02P10/TP00 P1.1238P0.13P11/TP01P1.2337P0.24P12P02 P1.3436P0.35VCCP13P03PR3VCCP1.4535P0.46P14P04 1P1.5634P0.57P15P052P1.6733P0.68P16P06 3P1.7832P0.79P17P074F_R5H_RP2.61321P2.05.1K INT1P20E16INT01222P2.1INT0P2110uF723P2.2 S9P22AJ81524P2.3T1P2391425P2.4 RSTT0P24VCC26P2.511.0592MHZP25C63127P2.65.1K EA/VPP2630P28P2.7P2719R10 X1XAL11840VCC10KX2VCC30P20GND GNDC7RST910RXDRESETRXD11TXD TXDIO11730RDALE/PIO01629 WRPSENSSTE5RC

左侧就是标准的复位电路,仅仅由一个电阻和一个电容组成,S9是一个手动开关,一般的电路设计中并不需要,这里仅仅是方便用户在测试学习板的时候进行调试而设计的,按一下复位开关就可以重新启动这块学习板,就像计算机的RESET开关一样道理。

21红外电路

红外通信基本原理

在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)

4

43 http://www.cndzz.com.cn长春理工大学电子学会 传送控制信息和数据信息,以实现遥控或遥测的功能。例如在单相电度表抄表系统中,就是使用手持抄表器通过遥控的方式,来完成电度表用电量的抄录、设置表底数、电度表校时等工作。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以及接口驱动程序的设计。

红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。

简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。

红外通信协议

协议的定义及说明可以参阅I2C总线电路文档。 红外线是波长在750nm至1mm之间的电磁波,其频率高于微波而低于可见光,是一种人的眼眼看不到的光线。目前无线电波和微波已被广泛应用在长距离的无线通信中,但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信场合点对点的直接线数据传输。为了使各种设备能够通过一个红外接口进行通信,红外数据协议(Infrared Data Association,简称IRDA)发布了一个关于红外的统一的软硬件规范,也就是红外数据通讯标准。

其中基本的协议有三个:①物理层协议(IrPHY),制定了红外通信硬件设计上的目标和要求,包括红外的光特性、数据编码、各种波特率下帧的包括格式等。为达到兼容,硬件平台以及硬件接口设计必须符合红外协议制定的规范。②连接建立协议(IrLAP)层制定了底层连接建立的过程规范,描述了建立一个基本可靠连接的过程和要求。③连接管理协议(IrLMP)层制定了在单位个IrLAP连接的基础上复用多个服务和应用的规范。在IrLMP协议上层的协议都属于特定应用领域的规范和协议。④流传输协议(TingTP)在传输数据时进行流控制。制定把数据进行拆分、重组、重传等的机制。⑤对象交换协议(IrOBEX)制定了文件和其他数据对象传输时的数据格式。⑥模拟串口层协议(IrCOMM)允许已存在的使用串口通信的应用象使用串口那样使用红外进行通信。⑦局域网访问协议(IrLAN)允许通过红外局域网络唤醒笔记本电脑等移动设备,实际远程摇控等功能。

红外的通信协议庞大而复杂,除非专业人员,一般电子工程师并不需要深究其细节,就像串口标准25线非常复杂的协议内容一样,我们不需要知道太多,甚至在一般的应用场合中,我们只需要了解联接其中的三根线就可以应付自如了,对于红外一般应用场合的通信电路和编程,我们也仅需参照标准的简化电路来进行设计就足够了。

学习板红外电路设计

红外电路包括红外接收电路和红外发射电路。原理图如下:

5

http://www.cndzz.com.cn长春理工大学电子学会 U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 图1 CPU电路

J3123CON3VCCH1321HWINDOG_INT0INT0HW_INT0HW_INT0 图2 红外接收电路

VCCD1HWP1.412U11A374HC004574HC00R2100KR110KU11B61074HC00C161000p9U11C8H_RR510KQ2R31K2N2222 图3 红外发射电路 6

http://www.cndzz.com.cn长春理工大学电子学会 红外接收电路采用集成红外接收器成品H1,接收器包括红外接收管和信号处理IC,均集成在红外接收器H1内。接收器对外只有3个引脚:Vcc、GND和一个脉冲信号输出PO。Vcc接系统的电源正极(+5V),GND接系统的地线,脉冲信号输出接CPU的中断输入引脚INT0。如果没有红外遥控信号到来,接收器的输出端口PO保持高电平,当接收到红外遥控信号时,接收器件信号转换成脉冲序列加到CPU的中断输入引脚。CPU定时器T0、T1都初始化为定时器工作方式1,T0的GATE位置位,这样T0只在INT0为高电平时计数。每次外部中断首先停止定时,记录T0、T1的计数值,然后将T0、T1的计数器清零,并重新启动定时。T0的值即为高电平脉冲,T1-T0的值为低电平脉宽。

红外发送电路是将单片机发送的信号(P2.7管脚),由一个38K的脉冲频率进行调制,并通过一个红外发射管发送出去。U11B和U11C及附加的电阻电容形成了一个38K脉冲发生器。

计数器电路

计数器电路是为了方便用户调试T0和T1计数器的程序而设计的,初学者学习完单片机的知识后应该知道,T0和T1是单片机内部的定时器/计数器,当做为定时器使用时,可以完成定时中断或波特率发生器的功能,此时并不需要外部电路即可操作,但如果当成计数器使用时,则必须依赖单片机的T0(14脚)和T1(15脚)管脚才能操作。当设置为计数器工作方式时,每当单片机的T0或T1脚过来一个方波时,内部计数器都会进行计数,当方波数量达到程序设置的值时会引起一个计数器满的中断。这个特性被广泛的应用于频率测量、工业控制等领域。该型学习板有一个完整的波形发生器,可以方便的进行学习。之前型板里面的此部分电路设计非常简单,只是通过联线将T0和T1管脚相连。用户在调试学习计数器的功能时,必须将这两个管脚的其中一个当成普通IO使用,即编写程序通过一个管脚(普通IO脚)生成一定的波形,而另一个管脚就可以设置成计数器工作方式,来测试计数和中断程序。原理图如下:

VCCU1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCGNDRXDTXD12345675.1KPR1PR312345675.1KVCCF_RH_RP2.613INT0121514VCC11.0592MHZC63130P19XAL11830PC7RST9IO1IO01716 7

http://www.cndzz.com.cn长春理工大学电子学会 232电路详解

RS-232串行接口标准

目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。

图1

在RS-232的通讯标准中是以一个25针的接口来定义的,并在早期的计算机如PC或XT机型上广泛使用,但在AT机以后的机型上,实际均采用了9针的简化版本应用,现在所说的232通讯均默认为9针的接口。图1显示了9针通讯的接口管脚名称,以下是各管脚的说明:

RS232C管脚说明 旧制JIS新制JIS名称 FG TXD RXD RTS CTS DSR DTR 名称 SG SD RD RS CS DR ER 全 称 Frame Ground 说 明 连到机器的接地线 Transmitted Data 数据输出线 Received Data 数据输入线 Request to Send 要求发送数据 Clear to Send Data Set Ready Data Ready Carrier Detect Terminal 回应对方发送的RTS的发送许可,告诉对方可以发送 告知本机在待命状态 告知数据终端处于待命状态 载波检出,用以确认是否收到Modem的载波 信号线的接地线(严格的说是信号线的零标准线) CD CD SG SG Signal Ground 现在通常计算机均配有这种标准的232接口,通常这种接口用于联接鼠标、MODEM或

打印机等外部设备。

实际应用中,电子工程师在设计计算机与外围设备的通信时,通常在9针的基础再进行简化,只用其中的2、3、5三个管脚进行通信。这三个管脚分别是接收线、发送线和地线,

8

http://www.cndzz.com.cn长春理工大学电子学会 在一般情况下即可满足通讯的要求,计算机和外部通讯的接线方法如图2:

图2

值得注意的是,图2中2、3两脚是交叉互联的,这很容易理解,因为一个设备的发送线必须联接到另外一台设备的接收线上,反之亦然。

对于232信号的电器特性等知识,在这里无法详细解说,有兴趣的话可以去(http://www.mculib.com/)网站查阅这方面的文章,232是最常用的通信方式之一,大量应用于各种工业控制或电子家电等产品中,是电子工程师必须掌握的知识之一。

另外说明一下,232信号的有效通讯距离是15M。

232电路在学习板上的实际应用

在电路板上,信号的传输通常是以TTL电平为基础的,简单的说,就是以5V表示1,0V表示0。基本上芯片也都是以这种信号为标准设计的(当然现在技术发展出现低功耗芯片采用3.3V等电压信号,但对于初学都来说可以暂时不对此深究)。而232信号的传输标准是用-3V∽-15V表示1,+3V∽+15V表示0,这样就需要有一个电路或一个芯片来进行信号的转换,也就是把TTL电平信号转换成232电平信号。

学习板上是采用HIN232芯片(与MAX232芯片兼容)来将TTL信号转换成232信号,具体电路见图3、图4:

VCCU1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCGNDRXDTXD12345675.1KPR1PR312345675.1KVCCF_RH_RP2.613INT0121514VCC11.0592MHZC63130P19XAL11830PC7RST9IO1IO01716

图三

9

http://www.cndzz.com.cn长春理工大学电子学会 C2VCCC3C416C_TXD27C_RXD38495DB9J221uF1381110131uFU2R1 INR2 INT1 INT2 INC1+C1 -61uFR1 OUTR2 OUTT1 OUTT2 OUTC2+C2 -MAX232129RXD147C_TXD451uFC_RXDTXDC11uFV+V-GND1516VCCC5VCC 图4

学习板上此部分电路仅提供用于通过计算机进行程序仿真时使用,并不提供用户通过此电路进行串口编程的学习,画出此电路仅仅是提供硬件设计时的参考。

U1是51系列的单片机,它的第10脚和第11脚是所有51单片机都具有的串口发送和接收的标准管脚,通过这两个管脚,单片机提供了TTL电平的标准的串口功能。

中间的U2芯片是HIN232(或MAX232),提供了TTL和232信号的转换功能,可以看到U1芯片的11脚(发送脚)与U2的10脚相联,U1的10脚(接收脚)与U2的9脚相联。通过此芯片,单片机发送的TTL信号(TXD)将会变成232信号输出(C_TXD),同样,外部输入的232信号(C_RXD)通过此芯片将会被变成标准的TTL信号引入单片机。U2的参数及功能请阅读芯片手册。

图4的最右方是一个9针接插件的元器件图,表示232信号将通过此种类型的接插件与外部设备进行联接,并标示出在此接插件上管脚所联接的信号。可以看到此接插件只用到了其中的三个管脚,而其余的管脚没有用。

串口通信的知识还有很多,如波特率的设置、起始位、停止位、奇偶校验等,这些知识属于软件编程的范畴,本型号学习板并没有提供串口编程的学习,所以就不给以更多的解释了,在后续的高级学习板上将会提供用于串口编程的学习,那些资料里面将会有详细的关于串口编程方面的知识。

I2C总线电路

协议

电子工程师,当然软件工程师也一样,在实际工作中不可避免的要遇到“协议”,那么,什么是协议呢?举个例子来说明一下: 两个人通过固定电话来通话: 甲:喂! 乙:喂!

甲:我是比尔盖茨,请问本拉登在吗? 乙:我就是啊….. 甲:¥%„„—* 乙:#¥%„„—* …………. 甲:再见! 乙:再见!

10

http://www.cndzz.com.cn长春理工大学电子学会 虽然是一次简单的通话,但我们可以将其看成一个信息的交互,此信息的交互是按以下规定来进行的:

前两句,被软件工程师称之为同步头,被硬件工程师称之为起始位。用于让双方处于一种准备状态。

第三第四句,一般被称之为命令字。 …………..这个一般被称之为数据段。

最后两句,软件工程师称之为结束符,硬件工程师称之为停止位,用于通知对方我要结束了。

不同的场所需要不同的规范来进行通话,在开发工作中尤其重要,我们称这种通话的规范叫协议。任意两个元器件之间,如果需要信息的交互,那么就一定会有信息交互的协议。只有这两个元器件都采用同一种协议,才能保证信息交互的正确。

I2C总线协议

I2C总线协议是一种常见的电子元器件通信协议,此协议的特点是利用很少的IO口进行信息的交互,除去片选和时钟同步外,实际的I2C总线协议仅仅通过两根线就完美解决了信息的交流。

2

IC总线协议在我们提供的资料中可以找到,您可以阅读此资料来了解协议的内容和详细的规范。

虽然相较并口总线来说,I2C总线在速度上会慢一些,但它具有硬件电路简单,多个器件共享,操作简单等特点,所以被广泛的应用在很多种类的元器件中。

24C02

24C02就是一个标准的I2C总线应用元器件,我们的学习板也是通过此元器件来让初学者学习和掌握I2C总线协议。24C02是一个非易失性的存储器件, 可以在断电的情况下长久保持内部的数据不被丢失。关于24C02芯片的详细性能,初学者可以参阅学会网站24C02芯片的资料。以下是I2C总线电路的原理图:

VCCU1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCGNDRXDTXD12345675.1KPR1PR312345675.1KVCCF_RH_RP2.613INT0121514VCC11.0592MHZC63130P19XAL11830PC7RST9IO1IO01716 11

http://www.cndzz.com.cn长春理工大学电子学会 U524C02P1.66123SCLA0A1A2SDAWC57P1.7 学习板上,单片机通过P1.6和P1.7两个管脚联接24C02的两个总线(SCL/SDA)接口,并通过程序在P1.6和P1.7两个管脚上面来形成I2C总线协议来与24C02进行信息交互。 24C02的A0-A2管脚是地址脚,当一个电路中有多个I2C总线元器件时,单片机通过设置这三个管脚来区分是与那个元器件通信。现在学习板上只有这一个I2C总线芯片,所以P1.6和P1.7上传输的I2C信号只能是与这个芯片进行通信。我们将此三个管脚接地,表示其地址为000B。

93C46

学习93C46最好是在学习完成I2C总线电路以后,如果你还没有练习I2C总线电路的话,请先参看I2C总线电路文档中关于协议和I2C总线协议这两个章节的知识。

I2C总线协议广泛应用于各种类型的元器件中,是通用的标准通信协议,但实际中总是有一些厂家喜欢标新立异,但更有可能是厂家在I2C总线协议制定前就生产过这种类型的芯片的原因:93C46也是通过几根线串行与其它元器件进行信息交互,其通信协议与I2C相似,初学者可以通过这个电路来练习控制管脚时序的编程水平。

93C46也是E2PROM器件,掉电不丢失的存储器,并且可电擦除。详细技术细节可以参阅学会网站的93C46芯片资料。以下是93C46芯片电路的原理图:

VCCU1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7VCCGNDRXDTXD12345675.1KPR1PR312345675.1KVCCF_RH_RP2.613INT0121514VCC11.0592MHZC63130P19XAL11830PC7RST9IO1IO01716 12

http://www.cndzz.com.cn长春理工大学电子学会 U3P1.0P1.1P1.2213CLKCSDAT93C46QORGDNC467P1.3VCC 通过以上原理图可以看到硬件电路十分简单,虽然我们提供了93C46的例程,但更希望你通过阅读93C46的手册后,根据此原理图来自行尝试编写此部分电路的程序,如果你不看例程就能编写出此部分电路程序的话,可以确信你对单片机管脚的时序编程控制已经达到相当高的水平了。

HM62256

RAM的应用:

就像在计算机里面有内存条存在一样,在很多电子产品的电路中,常常会有数据临时存储的应用,单片机通常内部有128个字节或者256个字节的RAM区,但实际应用中,一般来说是不够用的,此时就需要外部扩展RAM。RAM是随机存储器,特点是掉电就会丢失数据。RAM有动态RAM(即DRAM)和静态RAM(SRAM)之分。两者是有很大差别的,DRAM需要刷新电路,操作比较复杂,但是价格便宜。SRAM价格贵,但是接口及操作很方便。结合这两者的特点,又产生SDRAM,延伸的有DDR这些RAM,这些RAM应用在不同的场合。在学习板上,我们选择了SRAM提供给大家了解外部存储器的一个机会。 62256简介:

62系列是最常用的单片机系统扩展RAM元器件,其类型有6216、6232、62、62128、62256或62512等多种,62后面的数字表示此元器件中可以存储的位(单位:千bit),我们通常的说法是将此值除以8,比如62256将256除以8,我们一般称之为32K的RAM。

如果学习过二进制就可以知道,区分两个字节需要一根地址线就可以:0或者1;而区分四个字节需要2根地址线;区分八个字节需要三根地址线…..以此类推,我们可以计算出要区分32K的RAM区,需要15根地址线,也就是器件上面的A0-A14管脚用于确定唯一的一个字节内容。

我们现在学习的51单片机是8位的,所以必须用两个IO口来联接这个RAM器件,通常我们用P0(低字节)和P2(高字节)两个端口来确定此器件的地址,而P0口是51单片机标准的总线口,是地址线和数据线复用的,所以与62256联接时需要加一片锁存器来锁存地址。即先将地址送到锁存器(通常用74HC373)中,然后P0口空闲下来后开始接收或发送数据至62256。

关于地址的一些知识:

学习62256的时候不可避免的要用到地址的概念,而地址的知识是区别一个初学者和一个电子工程师的主要的关键点之一,学习单片机里面的指令时,我们常常会发现这样的语句: MOV DPTR,#5000H MOV A,#55H

MOVX @DPTR,A 看懂和看不懂,是电子知识是否入门的一个标志,下面就地址方面的知识以简单的话来讲解一次:

电子产品上面一般只有一个单片机(MCU),就像计算机里面的CPU一样,是这个电子产品的大脑和司令部,外部通常有很多元器件围绕着它,当外围的器件数量不多时,我们可以用单片机上面本身带有的四个端口(共32个管脚)来直接与外围器件进行联系,X101

13

http://www.cndzz.com.cn长春理工大学电子学会 型学习板就是这种形式。而当外围器件达到一定的数量时,我们会痛苦的发现单片机身上的管脚不够用,无法控制所有的外围器件,怎么办呢?单片机的设计者对此采用了极其高明的解决措施:地址。

地址的设置有两个重要的措施来保证:第一是采用总线的概念,51单片机定义P2和P0口组成共高达16根的地址线,而P0口同时也是数据总线,总线的设置可以使外围器件共同使用相同地址线和数据线来与单片机进行通信。第二是地址编码的概念,简单的说就是将所有的元器件都设定一个或多个地址,就像我们家里的电话号码一样,每串号码都唯一联接到一个单位。单片机通过P0数据总线向外发送或者接收数据的时候,都先设定需要信息交互的地址,也就是选择了一个特定的器件,利用元器件上面片选端口,没有被选中的器件并不与单片机进行通信。

通常我们利用地址线的高位(P2端口)几个BIT来对地址进行分配,如我们常用最高的三个位来通过译码器(如74HC138),来区分八个不同的器件。这八个器件的地址就是0000H,2000H….E000H;如果用最高的四个位来控制的话,可以区分多达16个不同的元器件,地址分别就是0000H,1000H…..F000H。 实际根据电路的复杂情况,还有可能用到更多的高位地址线来区别更多的元器件。62256芯片内部需要高达32K的地址区,大家通过以下原理图可以看到,P2.7管脚(地址线的最高位A15),联接在芯片的片选管脚上面,当地址的最高一个位是0(低电平)时,此芯片就被选通,所以大家可以想到,所有处于0000H-7FFFH之间的地址操作都是对这个芯片进行数据交换。而高位是1的地址:8000H-FFFFH之间的操作,这个芯片都将对此置之不理。 学习板的原理图: 原理图如下:

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 14

http://www.cndzz.com.cn长春理工大学电子学会 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138 U12A0A1A2A3A4A5A6A7A8A9A10A11A12A13A141098763252421232261A0A1A2A3A4A5A6A7A8A9A10A11A12A13A1462C256D0D1D2D3D4D5D6D7RDCEWEVCCGND1112131516171819AD0AD1AD2AD3AD4AD5AD6AD722RD20A1527WRVCC2814 从图中可以看出地址线的低8位数据A0~A7是单片机的AD0~AD7通过锁存器过来的,也就是说A0~A7是跟数据线D0~D7是复用的,这是因为单片机的P0口是地址和数据复用的,在操作时是先发地址,由锁存器锁存住,再发数据的。从原理图中可以看出A15和62256的/CE端相连,这样62256分配的地址空间就必须在A15=0的空间,也就是在0~7FFFH之间。

MAX708

复位电路与掉电检测电路的应用:

复位电路可以说在所以系统中都有。复位电路保证系统上电后,程序从起始

地方开始执行,系统能正确初始化。最简单的复位电路只需要一个电阻,一个电容和一个按钮就可以了。在各种系统中,对于复位电路的要求最关注的是复位脉冲的长度问题。如果复位脉冲的宽度不能够满足系统的要求,那系统将不能正常复位,系统也就不能正常执行程序。当然对于大部分系统,普通的复位电路已经可以满足要求了。

掉电检测电路是用于在系统失电之前保存关键数据的一种方式,其原理是用两个电阻将外接电源分压和芯片内部标准电压构成电压比较器。正常情况下,/PFO输出高电平,当外接电源掉电时,有一段时间由于系统中电容器的作用,系统电压还未降下了,/PFO突变为低电平,引发外部中断,单片机将关键数据保存至非易失存储器中,或者控制某些关键外设动作。

15

http://www.cndzz.com.cn长春理工大学电子学会 学习板原理图:

学习板上采用了MAX708这个芯片来完成复位、掉电检测功能。原理图如下:

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 +12VR1610KVCCVCC24U13VCCRSTPFRSTNCMRGNDPFO8763R215.1KRST_DOGRSTR225.1K23S9AJE110uFRST_MR1951KR2020015MAX708DOG_INT014R1010K23J5123CON3RST_DOGRST_CPURST_MS10AJ14 原理图中,有CPU的T1端接到MAX708的/PFO端来完成掉电检测操作。两个反向复位信号正好一个给CPU,一个给DS12887。

发光二极管电路

发光二极管,通常称为LED,可以不夸张的说在几乎任何一个设备中都可以看到它的存在。大家在看这篇文章的时候,就可以看到电脑外部的一些电源或硬盘的指示灯在闪光,对,这些就是发光二极管。

16

http://www.cndzz.com.cn长春理工大学电子学会 可以将发光二极管当成一个微小的电灯泡来看,但它没有灯丝,仅仅靠半导体里面的电子移动而使它发光。

一般发光二极管的工作电流是十几毫安至几十毫安,正向压降为1.3V-2.5V。有一些低电流的发光二极管的工作电流可以降至2MA,而亮度与正常发光二极相同,当然价格会高一些。发光二极管的电流不同,亮度也不同,并且寿命也会受到影响,这个电流通常由接入一个电阻来调整,学习板上的发光二极管串联了一个330Ω的电阻,并联接5V的电压,这样基本上可以确定二极管上面通过的电流大约是几个毫安。以下是学习板上发光二级管的原理图:

U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 17

http://www.cndzz.com.cn长春理工大学电子学会 U7AD0AD1AD2AD3AD4AD5AD6AD7347813141718111D0D1D2D3D4D5D6D7OECLK74HC374Q0Q1Q2Q3Q4Q5Q6Q7256912151619LD0LD1LD2LD3LD4LD5LD6LD7PR21234567330D2L_RD6L_GD3L_RD7L_GD4L_RD8L_GD5L_RD9L_GVCCLD0D13IN4148CS_LEDD15IN4148WRR265.1KLD1LD2LD3LD4LD5LD6LD7 上图单片机部分就不多解释了,细心的朋友可以发现P0口外部好像联接了一个标称值像是电阻的器件,对,确实是电阻,不过不是一个,这个器件与八个电阻的功能是完全一样的,但加工到一个器件里面,可以在电路板上占很小的地方,方便安装和生产,这个器件通常称之为阻排或排阻。

PR1和PR2都是排阻,只不过阻值有所不同,PR1排阻的功能是起到上拉的作用,上拉下拉是电子设计里面的一个专用术语,有很多不同的用途,最基本的:在这个管脚没有信号的时候,有上拉的时候,这根线上的电压是5V,有下拉的话则这根线上的电压是0V,这篇文章中就不详细解释上下拉的功能了,有兴趣的朋友可以查阅相关资料。

P0口加上拉电阻是由P0口的电器特性决定的,关于这一点,在MCU芯片的资料里面有详细的说明。

PR2并不起上拉或下拉的作用,和普通的电阻用途没有任何不同,这里面起到了限流的作用,使通过发光二极管的电流被在几个毫安左右。

D2-D9就是发光二极管的原理图所显示的元件了,这也是一个比较统一的画法:在一个二极管的旁边画上两个向外的箭头,电子工程师们一看就知道这个代表的是发光二极管。

我们看到发光二极管一端通过一个电阻后联接到5V电源上,而另外一端联接到了一个74HC374上面,这个芯片是一个八位的锁存器,是电子设计里面最常用的芯片之一,想详细了解你可以参阅一下74HC374的芯片手册。

P0口输出的信号通过374的D输入口后被锁存在374的Q输入端,每一个管脚决定一个发光二极管是否被点亮,举例说:在P0口输出十六进制数0XFEH(二进制11111110B),则374的Q0管脚被置低,D2发光二极管这根线就形成了电流回路,D2被点亮。如果P0口输出0X7FH(二进制01111111B),则D9发光二极管被点亮。

数码管和键盘电路

如同计算机需要有显示器和键盘来进行人机交互一样,单片机系统通常也需要有输入和输出设备来进行人机交互。

输入设备在单片机和电子设计中通常也被称之这“键盘”或者“按键”,但按键的数量与计算机相比显然少了很多,并且最大的特点是按键的功能和数量完全由电子工程师自已定义,是不是很有意思——自已设计键盘!

输出设备有很多种,最常用的是液晶板和数码管两种,其中液晶板在X102型号学习板中提供了相关的知识和实验电路,而X101型板只提供了数码管的学习电路。

数码管和键盘电路都可以直接利用单片机的管脚进行控制,但因为单片机的管脚通常

18

http://www.cndzz.com.cn长春理工大学电子学会 很有限,在设计开发一个稍微大一点的电子产品的时候,你会痛苦的发现需要极其小心的来分配和安排这些管脚的用途,即使这样,你也会经常发现直接用单片机的管脚来控制所有的外围设备是一个不可能完成的任务。种种外围设备的集成控制电路或者是单片机管脚的扩展电路就应运而生。

数码管和按键是单片机系统中最经常使用的人机交互手段,所以很多芯片生产厂商纷纷推出这两种功能合二为一的控制芯片,其功能就是只消耗很少一部分单片机的管脚资源(嗯,这里总是提单片机的管脚,其实它的学名经常被称之为IO口,以后就以此称呼吧),并且芯片上面集成了控制数码管和键盘的功能电路,简化了电子工程师需要设计这两部分电路。学习板上也采用了这样一种芯片来控制数码管和键盘电路——SM1623,这个芯片被广泛用在VCD、DVD等电子产品的电路上面。

本资料光盘提供了SM1623芯片的中文手册,您可以查阅此手册来学习SM1623芯片的具体功能及编程方法。

数码管的大小尺寸、显示颜色、亮度有各种各样的类型,一般电子工程师设计电路时根据需要选型就可以了,这些参数没有什么可以说的。

除此之外,数码管有两个我们要注意的参数:第一个参数是7/8段,我们先看看上面数码管的示样图,可以这样理解数码管:它是由8个灯泡组成的一个器件,每个灯泡就是上图的一个笔划,我们通过程序点亮某些灯泡,就可以显示出一种固定的图型,这几个灯泡可以表示出阿拉伯的0-9十个数字中的其中一个,当然右下角的小灯泡是小数点。我们通称这种数码管为8段数码管,而如果没有右下角的小数点灯泡的数码管,我们称之为7段数码管。第二个参数是共阴/共阳,共阴是指这个数码管的地是联在一起不可改变的,我们通过程序来改变每个小灯泡的电压输入部分来控制它是亮还是灭,这个很好理解,就像我们家里的用电一样,所有家用电器的地都是联在一起的,通过控制火线来控制电灯或电视机是否打开。而共阳正好与共阴相反,所有数码管的正极都联在一起,程序是通过控制地线来控制这些小灯泡是亮还是灭。

共阴共阳在应用中并没有本质上的区别,根据你设计的电路选用合适的就可以了,学习板上的数码管是用的共阴的。

共阴 共阳

按键没有什么好讲的,可以理解成开关就可以了,按下去两端就形成短路,松开手就形成开路。单片机通过判断是否短路,就可以获得这个按键是否被人按下。

以下先看一下学习板上的原理图:

19

http://www.cndzz.com.cn长春理工大学电子学会 U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 图1 CPU电路

VCCR61KR71KR81KR91KR1151KU6P1.0P1.1P1.2P1.312345KEY06KEY178C8C9C10C11VCC90.1n0.1n0.1n0.1na10b11R12R13R14c1210K10K10KGND13d14e15f16OSCGNDDOUTGRID1DINGRID2CLKGNDSTBGRID3K1GRID4K2GNDK3VDDVDDSEG14/GRID5SEG1/KS1SEG13/GRID6SEG2/KS2SEG12/GRID7SEG3/KS3SEG11NCSEG10/KS10SEG4/KS4SEG9/KS9SEG5/KS5SEG8/KS8SEG6/KS6SEG7/KS7SM162332313029282726252423222120191817GNDDS0DS1GNDDS2DS3GNDVCCDS4DS5dpg 图2 SM1623外围电路

20

http://www.cndzz.com.cn长春理工大学电子学会 DS1abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpDS2abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpDS3abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpcomcomcomcom190190DS0DS1190comcomDS2DS4abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpDS5abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpDS6abcdefgdp12345678abcdefgdpLEDDPYafegdbcdpcomcomcomcom190190DS3DS4190comcomDS5 图3 数码管电路

图4 按键电路

以上是学习板上的实际电路,SM1623就不细讲了,中文手册里面有非常详细的说明。 说明一下数码管的联接及实际应用,SM1623实际上是以刷新的方式来控制数码管显示的,例如我们要在这6个数码管上显示123456六个数字,SM1623最先是将DS0置低,而DS1-DS5均置高,此时从a-g,dp八个总线口送出“1”的控制信号,此时,第一个数码管显示的是“1”,而其它五个数码管是没有任何显示的。第二步,SM1623将DS1置低,而DS0,DS2-DS5均置高,并从总线口送出“2”的控制信号,此时,第二个数码管上显示“2”,而其它的数码管均是黑屏无显示。。。依此类推,当显示完第六个数码管上的“6”后,又开始从第一个数码管再次重新这个过程。

虽然每一瞬间只有一个数码管上面有显示,而其它数码管都是黑屏,但因为人眼视觉残留的特性,当循环速度达到一定频率时,人们会感觉这些数字显示是完全不闪烁的。

21

http://www.cndzz.com.cn长春理工大学电子学会 液晶12232C

液晶的应用:

随着液晶价格的越来越便宜,液晶被广泛的应用在各个领域。而液晶的应用也给各种系统带来更好的应用界面。所以在现在的各种系统中,几乎大部分都会应用到液晶。液晶的工艺不同产生了很多不同的LCD,比如大家听到很多的TFT,STN,CSTN等这个LCD的差别是液晶控制电路的差别。

液晶模块的接口:

事实上对于大部分应用来说,说起液晶指的是液晶模块,液晶模块不仅仅包含液晶板,而且在液晶板背后将液晶的驱动,甚至字库等一些东西全部做在一块电路板上面,相当于将本应是电子工程师开发设计的液晶电路固化在液晶板上面,这对于用户应用很方便。而接口对于各种厂家来说很少是统一的,只能按照采用的具体型号来设计系统的接口。

学习板上的原理图:

在学习板上只是给液晶提供了一个接口插座,因此原理图很简单。

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716

22

http://www.cndzz.com.cn长春理工大学电子学会 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138 VCCJ1123456710111213141516171812232CJ8123CON3VCCGNDVCCE1E2A1A0AD0AD1AD2AD3AD4AD5AD6AD7GNDW110KCS_E18U3B74HC00610U3C74HC00811CS_E2129U19C10E174HC02RDWR459U19D13E274HC02R2520VCC1213U3D74HC0011

我们采用的液晶模块是黄绿底蓝字的12232C模块。12232C是一种图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及122×32全点阵液晶显示器组成。可完成图形显示,也可以显示七个半(16×16点阵)汉字。 内部框图如下图:

23

http://www.cndzz.com.cn长春理工大学电子学会 接口管脚定义如下: 管脚号 管脚名称 1 VDD 2 VSS 3 VLCD 4 5 6 7 8 RES E1 E2 R/W A0 9 DB0 10 DB1 11 DB2 12 DB3 13 DB4 14 DB5 15 DB6 16 DB7 17 NC 18 NC 从原理图以及上面的图表可以知道如下操作液晶。

液晶内部的驱动分成了MASTER和SLAVE两部分共用数据等信号线。而区分是对哪一个部分进行操作是由管脚E1,E2来控制的。而在原理图中,是结合了来自CPU的RD,WR信号和来自74HC138译码器的CS_E1和CS_E2信号来达到目的的。当向地址0xA000H、0xA001H或者0xA002H地址读写时是对MASTER部分操作;当向地址0xB000H、0xB001H或者0xB002H地址读写时是对SLAVE部分操作。至于为什么有3个地址,是因为原理图中这个液晶的读写选择信号(第7个管脚)是由A1控制的,而数据线上传送的是数据还是指令是由第8个管脚控制的,这个管脚在原理图中连接A0,所以有以上的地址组合。下表列出了地址对应操作的关系。

24

LEVER 管脚功能描述 +3∽+5V 电源电压 0V 电源地 0∽+5V or 0∽ LCD外接驱动电压 -5V 当VDD=+3V时,VLCD接0∽-5V H/L 复位信号 H/L 读写使能信号(MASTER) H/L 读写使能信号(SLAVE) H/L 读写选择信号 H/L D/I=“H”,表示DB7-DB0为显示数据 D/I=“L”,表示DB7-DB0为显示指令数据 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 - 悬空 - 悬空 http://www.cndzz.com.cn长春理工大学电子学会 地址 0xA000H 0xA001H 0xA002H 0xB000H 0xB001H 0xB002H 操作 向SLAVE部分写指令 向SLAVE部分写显示数据 从SLAVE部分读指令 向MASTER部分写指令 向MASTER部分写显示数据 从MASTER部分读指令 扩展口电路

II型学习板,虽然提供了各个模块的电路设计原理图,并加以详细说明,初学者可以对照原理图电路参考并设计程序试用,但总得说来,学习板只是一个电子爱好者入门的产品,并偏向于让初学者掌握单片机的编程水平,更多的是让初学者对电子设计有一个整体的概念。

扩展口电路是学习板上特制的一部分电路,初学者并不能通过这部分电路直接练习某种编程或电路设计的技术,但它提供了一个初学者自制电路的接口,初学者可以自行练习设计一个电路,并通过学习板提供的仿真功能和接口对这个电路进行调试,有助于提高电子设计的动手能力。

与I型板的扩展接口不同的是,II型学习板的扩展口电路是总线方式进行的扩展。 电子爱好者通常会苦于学习硬件的成本太高,尤其是在校大学生群体,学习设计电路最少需要花钱去设计电路板和购买需要的元器件,并且还需要有仿真器或者编程器来调度这个电路的正确与否。真正想学好的话,可能还需要购买示波器、万用表等设备,这些钱对于初学者来说是不可承受的。

学习板本身就集成了一定的仿真功能,自已动手做一块电路板并通过学习板来调试,就不需要再购买仿真器或编程器等调试设备,为想提高动手能力的电子爱好者提供了一个相对便宜的学习手段。

扩展口电路原理图如下:

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 25

http://www.cndzz.com.cn长春理工大学电子学会 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138 J712345671011121314151617181920CON20GNDGNDAD0AD1AD2AD3AD4AD5AD6AD7A0A1A2CS_1CS_2RDWRALEVCCVCC

单片机的P0口是地址线和数据线复用口,是单片机的总线,联接到J7扩展口上面。J7上面的CS_1和CS_2是通地74HC138译码器输出的,有经验的话,可以看出来这两个片选线的地址分别是:00XXH和10XXH,有了这两个片选线,那么就可以在以后的外扩板上面直接通过这两根线来选通器件,并通过AD0-AD7来与单片机交换数据。J7上面的A0-A2是通过74HC573锁存器输出的,如果需要的话,这三根线与片选线配合可以精确的控制外部器件内部的寄存器。RD、WR、ALE三个线是单片机标准输出的读/写时序线,以上的输出线合在一起,可以完美的对自设计的电路板进行控制。

晶振电路

晶振知识

晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振需要芯片内部有振荡器,并且晶振的信号电压根据起振电路而定,允许不同的电压,但无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等),如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。

因价格等因素,实际应用中多采用无源晶振设计的电路居多,除非电路设计时序极其敏感或芯片内部无振荡器的情况(如一些型号的DSP或精密仪器中)。

26

http://www.cndzz.com.cn长春理工大学电子学会 学习板采用无源晶振,以下是学习板晶振原理图。 学习板晶振原理图

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 XAL1就是一个两脚的无源晶振,11.0592MHZ振荡频率,匹配电容是两个30P的瓷片电容。

每种芯片的手册上都会提供外部晶振输入的标准电路,会表明芯片的最高可使用频率等参数,在设计电路时要掌握。与计算机用CPU不同,单片机现在所能接收的晶振频率相对较低,但对于一般控制电路来说足够了。

另外说明一点,可能有些初学者会对晶振的频率感到奇怪,12M、24M之类的晶振较好理解,选用如11.0592MHZ的晶振给人一种奇怪的感觉,这个问题解释起来比较麻烦,如果初学者在练习串口编程的时候就会对此有所理解,这种晶振主要是可以方便和精确的设计串口或其它异步通讯时的波特率。

电容及跳线开关电路

去耦电容

在直流电源回路中,负载的变化会引起电源噪声。例如在数字电路中,当电路从一个状态转换为另一种状态时,就会在电源线上产生一个很大的尖峰电流,形成瞬变的噪声电压。配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法.。

我们可以看到学习板上,每个芯片的附件都会有一个小电容,通常称之为去耦电容,原理图如图一:

27

http://www.cndzz.com.cn长春理工大学电子学会 VCC+12VCX10.1CX20.1CX30.1CX50.1CX60.1CX70.1CX80.1CX40.1VCC+12VCX90.1CX100.1CX110.1CX130.1CX140.1CX150.1CX160.1CX170.1CX120.1 图一

根据芯片的数量一般将会设计若干个去耦电容,通常选用0.1UF(104)独石电容即可。

硬件电路设计时,需要将这些电容安放在每个芯片的电源和地附近,用以提高电路板的整体的可靠性。

跳线开关

跳线开关在电路设计中经常会使用到,其主要用途是给用户一个功能选择的余地。实际上与电路上设计的联线功能相同,只不过电路板上的走线是固定的,而跳线开关则提供了一种可活动的走线方式。

以学习板上的J3为例,此跳线开关可以选择CPU的复位脚RST_CPU信号线连接到阻容复位端或者连接到MAX708复位信号输出端,见原理图二:

J5123CON3RST_DOGRST_CPURST_M 图二

ADC0809

AD器件的存在必要:

在现实生活中,我们遇到的信号基本上都是离散或者说是模拟信号,比如说电压、音乐、图片、温度值等等,单片机无法直接接收这样的信号并处理,以电压为例,单片机如果想获得电压的大小,显然我们不可能直接将这根电线联在单片机的管脚上面,单片机的管脚是只能识别0V(0)或者5V(1)的。为了获得这个电压值,就必须有一种元器件将这个电压值转换成为数字信号再交给单片机来进行处理,完成这个任务的器件就被称为AD器件。 AD器件的参数说明:

AD或者DA器件最重要的参数是位数,我们经常会听到说是几位AD(DA),是指这种器件的精度,8位AD可以精确到1/256,而16位AD就可以将外部信号精确到1/65535。举例来说,一个8位的AD器件用于接收外部的0-5V信号,并进行转换成数字信号,如果是0V,则AD器件就将其变换成数字0,如果是5V就变换成数字255,可以看到这种AD可识别的精度大约是0.02V,实际上选用何种AD或DA器件要根据实际情况来定,比如声音信号差

28

http://www.cndzz.com.cn长春理工大学电子学会 不多需要12位的AD才能比较清晰的分辨,而心电图等人体电流信号可能需要16位或更高的精度才能测量。 AD转换的原理:

AD转换原理有好多种,此处就以学习板上采用的ADC0809来说明。0809是一款8通道复用的8位AD转换器,数据获取的关键部分是它的8位模/数转器。这个部分主要是由3部分组成:256R的阶梯网络,连续逼近的电阻,和比较器。

连续逼近电阻(SAR)通过8次迭代去大约逼近输入电压,只要输出是几位,那么就需要几次迭代。SAR通过8组开关组和比较器完成获取输入电压对应参考电压的数字信号。下图展示了一个3位转换器的典型例子,0809只是把这个位数延伸到8位而已。

学习板AD转换电路的设计: 原理图如下:

29

http://www.cndzz.com.cn长春理工大学电子学会 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138 U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 30

http://www.cndzz.com.cn长春理工大学电子学会 VCCW210K26272812345U15IN-0IN-1IN-2IN-3IN-4EOCIN-5IN-6IN-7ALEADD-AADD-BADD-Cmsb2-12-22-32-42-52-62-7lsb2-8212019188151417725242322U19B9610474HC026RD5AD7AD6AD5AD4AD3AD2AD1AD012U3A74HC003T1U19A174HC0223WRCS_0809GNDVCC1612ref(-)ref(+)ADC0809ENABLESTARTCLOCKVCCVCCU18AU18BQ74HC74QVCC6DSDDSD2ALE351211104Q74HC74QVCC9CLKCLKCD131CD8 虽然ADC0809有8个输入通道,但是原理图中只使用了IN-0通道,通道的选择是有管脚ADD-A,ADD-B,ADD-C的值来决定的。所以如果由CPU控制这3个输入就可以任意切换模拟信号输入通道,从而达到8通道复用的目的。学习板上把这三个管脚都接地,即都为0,对应输入通道是IN-0通道。具体的对应关系请参考芯片手册。

因为数据获取是相对于参考电压而来的,此处参考电压的值分别是REF(+)=VCC,REF(-)=GND。所以输入的模拟信号不应该超出这个参考电压范围,否则就会超出量程。学习板上的IN-0通道输入是由一个三端电位器的中心端输入的,因此最大最小输入信号都在VCC~GND之间,不会超出量程。

下图是ADC0809的工作时序图。

31

http://www.cndzz.com.cn长春理工大学电子学会

从时序图可以看出,要获取AD信号,必须首先启动AD,然后等待转换结束信号,最好读取转换获得的数字信号。

在学习板上对应的操作过程是这样的:首先,由高位地址线A12~A15通过138组成译码电路产生ADC0809的片选信号CS_0809。要启动ADC0809必须首先启动ADC0809的ALE端和START端,这两个信号有CS_0809和CPU来的WR信号控制,因此要启动AD必须首先向使能CS_0809信号的对应译码地址写任意一个数值,以能给ALE和START端产生启动脉冲。这个对应的译码地址从74HC138的电路可以看出是0xF000H,事实上只要高4位地址全为1就可以。当在ADC0809的ALE和START端产生了启动脉冲后,ADC0809就进入转换工作,EOC端输出低电平,当转换完成后,EOC端会有一个上升沿,变成高电平。学习板中把EOC端输出通过一个74HC00与非门接到INT_0809信号上,这个信号通过跳线连接到CPU的INT1中断上,因此,当AD转换结束后会在CPU的INT1端产生一个下降沿中断,从而程序进入中断服务程序,开始读取数据。读数据信号要使能ADC0809的ENABLE信号,这个信号就有RD信号和CS_0809来组成,所以要读取数值,必须向ADC0809对应的译码地址发一个读命令就能获取数据线上的数据了。

大家可以注意到ADC0809的采样时钟信号CLOCK是由CPU端的ALE端通过2个D触发器4分频而产生的。ALE的输出时钟频率是六分之一的CPU晶振频率。

DAC0832

DAC器件的存在必要:

我们需要的数据信息常常来源于模拟信号,如电压的高低、温度的高低、声音的大小等。相反的,我们的数据信息常常也需要转换成模拟信号才能有用;就像我们经常听的MP3音乐

32

http://www.cndzz.com.cn长春理工大学电子学会 一样,一个MP3文件在计算机上面存储着,只不过是一堆由0和1组成的数字信息,想变成我们可以听到的悦耳的音乐,那就需要一种将数字信号转换成模拟信号的器件,我们称这种器件叫做数字->模拟转换,英文叫做DA。 DAC原理:

DAC0832是由R-2R的电阻阶梯网络来完成数字到模拟的转换完成的。如下图:

Rfb是一个内置的反馈电阻,可用可不用。而开关组就是由输入的8位数字信号决定的。Iout1和Iout2是输出。 学习板原理图:

原理图如下。学习板采用的是数据手册中单电源的典型接法。

这个接法中VREF作为输出,而Iout1端被稳压在2.5V。VREF输出最大为2.5V,再由运放放大。 下面是0832的内部结构图:

从框图可以看出DAC0832是双缓冲结构,有一个输入寄存器,一个DAC寄存器构成双缓冲结构。学习板的原理图中把两个寄存器的控制信号并在一起控制,事实上就相当于起了一个缓冲的作用。

33

http://www.cndzz.com.cn长春理工大学电子学会 U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138

VCCD14LM336-2.5V+12VR235.1KGND111298U17Iout1Iout2RfbVreflsbDI0DI1DI2DI3DI4DI5DI6msbDI7CSXferVcc7616151413AD0AD1AD2AD3AD4AD5AD6AD78VCC32J612CON2R2410K1U16A4R1730KLM358VCCR1810KWR19182310ILEWR2WR1AGNDGNDDAC08321CS_083217+12V20 34

http://www.cndzz.com.cn长春理工大学电子学会 原理图中DAC0832的片选信号CS_0832有74HC138译码器产生,所以要操作DAC0832,必须向CS_0832的译码地址写数据。这个地址是0xE000H,当然只要高4位是1110就可以。输出VREF通过运放放大,这里采用单电源运算放大器LM3a8做电压放大,放大比例由电阻R17,R18的比值来决定:放大倍数=R17/R18+1,学习板中放大倍数大约为4倍,这样输出电压范围为0V~10V,因为电阻有一定的误差,所以一般的用法是把R17用28K的电阻和5K的电位器串连,在这里主要学习的是0832的用法,所以用此电路说明问题即可。学习时,可以把表头接在J6上面,这样能直观的看到输出结果,对学习DAC更有感性的认识。

DS12887

时钟芯片的应用:

RTC时钟在很多系统中广泛的被应用,因为人们对于实时时钟要求越来越大,而很多数据的记录需要提供数据对应的时间等信息。时钟芯片能在即使没有系统电源的情况下保持时间的走动。从而在任何时候给系统提供了准确的时间,满足各种不同的对时间的要求。时钟芯片的接口有串行和并行之分,不同的芯片要根据具体情况设计。 DS12887的说明:

DS12887是一款比较高档并常用的时钟芯片,芯片内部自配有可充电电池,在无外部电源时也可保证十年的正常运行。芯片内部还提供了约100个字节的RAM空间,其存储的数据也可以长期保持不变。

DS12887提供了多种时钟的特殊功能,如定时中断等等。 学习板的原理以及DS12887的操作:

为了给大家提供一个了解时钟芯片的条件,在学习板提供了在各种系统应用很广泛的时钟芯片DS12887。DS12887跟MC146818B管腿是兼容的,被广泛的应用在IBM AT计算机中作为时钟和日历。下图是原理图:

U1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSSTE5RCP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCGNDRXDTXDALE/PPSEN39383736353433322122232425262728402010113029AD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15VCCGNDRXDTXDALEPR11234567VCCF_RH_RINT113INT0125.1KT115T014VCC11.0592MHZC63130P19XAL11830PC7RST_CPU9RDWR1716 35

http://www.cndzz.com.cn长春理工大学电子学会 U9GNDALEAD0AD1AD2AD3AD4AD5AD6AD7111234567OCC1D2D3D4D5D6D7D8D74HC5731Q2Q3Q4Q5Q6Q7Q8Q1918171615141312A0A1A2A3A4A5A6A7U14A12A13A14123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097CS_1CS_2CS_E1CS_E2CS_LEDCS_12887CS_0832CS_0809GNDGNDA156E1E2E374HC138 U81234567101112MOTNCNCAD0AD1AD2AD3AD4AD5AD6AD7GNDDS12887VCCSQWNCNCNCIRQRSTDSNCR/WASCSVCC2423T022212019INT118RST17RD1615WR14ALE13CS_12887AD0AD1AD2AD3AD4AD5AD6AD7 在DS12887内部有各种寄存器设置,具体的寄存器操作方法请参考芯片手册。此处主要讲述原理图上的相关操作。DS12887芯片能工作在两种总线时序,一是MOTOROLA模式,一是INTEL模式。这个模式的选择是由管腿MOT来控制的,当MOT为高时表示使用MOTOROLA总线时序;当MOT为低时表示使用INTEL总线时序。学习板上使用的是INTEL模式,因为MOT管脚接地了。因为选择了INTEL模式,所以DS管脚对应的就是RD信号。DS12887的片选信号是由138译码器产生的CS_12887。从74HC138的原理图可以看出,这个片选信号对应的地址是0xD000H(只要保证高四位是1101),因此无论向DS12887读操作还是写操作,都必须对在地址上加上AD0~AD7的偏移地址来进行操作。

/IRQ端输出定时中断信号INT_12887通过跳线J3连接的CPU的INT1中断信号端,从而给系统提供了定时功能。

36

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务