单片机

随着微电子技术和计算机技术的发展,原来以强电和电器为主、功能简单的电气设备发展成为强、弱电结合,具有数字化特点、功能完善的新型微电子设备。在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易变。因此,一旦生产过程有所变动,就不必重新设计线路连线安装,有利于产品的更新换代和订单式生产。

传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关、操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。针对电气控制产品的特点,本文讨论了几种单片机I/O的常用驱动和隔离电路的设计方法,对合理地设计电气控制系统,提高电路的接口能力,增强系统稳定性和抗干扰能力有实际指导意义。

1、 输入电路设计

图1 开关信号输入

一般输入信号最终会以开关形式输入到单片机中,以工程经验来看,开关输入的控制指令有效状态采用低电平比采用高电平效果要好得多,如图1如示。当按下开关S1时,发出的指令信号为低电平,而平时不按下开关S1时,输出到单片机上的电平则为高电平。该方式具有较强的耐噪声能力。

若考虑到由于TTL电平电压较低,在长线传输中容易受到外界干扰,可以将输入信号提高到+24 V,在单片机入口处将高电压信号转换成TTL信号。这种高电压传送方式不仅提高了耐噪声能力,而且使开关的触点接触良好,运行可靠,如图2所示。其中,D1为保护二极管,反向电压≥50 V。

图2 提高输入信号电平

图3 输入端保护电路

为了防止外界尖峰干扰和静电影响损坏输入引脚,可以在输入端增加防脉冲的二极管,形成电阻双向保护电路,如图3所示。二极管D1、D2、D3的正向导通压降UF≈0.7 V,反向击穿电压UBR≈30 V,无论输入端出现何种极性的破坏电压,保护电路都能把该电压的幅度限制在输入端所能承受的范围之内。即:VI~VCC出现正脉冲时,D1正向导通;VI~VCC出现负脉冲时,D2反向击穿;VI与地之间出现正脉冲时,D3反向击穿;VI与地之间出现负脉冲时,D3正向导通,二极管起钳位保护作用。缓冲电阻RS约为1.5~2.5 kΩ,与输入电容C构成积分电路,对外界感应电压延迟一段时间。若干扰电压的存在时间小于τ,则输入端承受的有效电压将远低于其幅度;若时间较长,则D1导通,电流在RS上形成一定的压降,从而减小输入电压值。

此外,一种常用的输入方式是采用光耦隔离电路。如图4所示,R为输入限流电阻,使光耦中的发光二极管电流限制在10~20 mA。输入端靠光信号耦合,在电气上做到了完全隔离。同时,发光二极管的正向阻抗值较低,而外界干扰源的内阻一般较高,根据分压原理,干扰源能馈送到输入端的干扰噪声很小,不会产生地线干扰或其他串扰,增强了电路的抗干扰能力。

图4 输入端光耦隔离

在满足功能的前提下,提高单片机输入端可靠性最简单的方案是: 在输入端与地之间并联一只电容来吸收干扰脉冲,或串联一只金属薄膜电阻来限制流入端口的峰值电流。

2、 输出电路设计

单片机输出端口受驱动能力的限制,一般情况下均需专用的接口芯片。其输出虽因控制对象的不同而千差万别,但一般情况下均满足对输出电压、电流、开关频率、波形上升下降速率和隔离抗干扰的要求。在此讨论几种典型的单片机输出端到功率端的电路实现方法。

2.1 直接耦合

在采用直接耦合的输出电路中,要避免出现图5所示的电路。

图5 错误的输出电路

T1截止、T2导通期间,为了对T2提供足够的基极电流,R2的阻值必须很小。因为T2处于射极跟随器方式工作,因此为了减少T2损耗,必须将集射间电压降控制在较小范围内。这样集基间电压也很小,电阻R2阻值很小才能提供足够的基极电流。R2阻值过大,会大幅度增加T2压降,引起T2发热严重。而在T2截止期间,T1必须导通,高压+15 V全部降在电阻R2上,产生很大的电流,显然是不合理的。另外,T1的导通将使单片机高电平输出被拉低至接近地电位,引起输出端不稳定。T2基极被T1拉到地电位,若其后接的是感性负载,由于绕组反电势的作用,T2的发射极可能存在高电平,容易引起T2管基射结反向击穿。

图6为一直接耦合输出电路,由T1和T2组成耦合电路来推动T3。T1导通时,在R3、R4的串联电路中产生电流,在R3上的分压大于T2晶体管的基射结压降,促使T2导通,T2提供了功率管T3的基极电流,使T3变为导通状态。当T1输入为低电平时,T1截止,R3上压降为零,T2截止,最终T3截止。R5的作用在于: 一方面作为T2集电极的一个负载,另一方面T2截止时,T3基极所储存的电荷可以通过电阻R3迅速释放,加快T3的截止速度,有利于减小损耗。

图6 直接耦合输出电路

2.2 TTL或CMOS器件耦合

若单片机通过TTL或CMOS芯片输出,一般均采用集电极开路的器件,如图7(a)所示。集电极开路器件通过集电极负载电阻R1接至+15 V电源,提升了驱动电压。但要注意的是,这种电路的开关速度低,若用其直接驱动功率管,则当后续电路具有电感性负载时,由于功率管的相位关系,会影响波形上升时间,造成功率管动态损耗增大。

为了改善开关速度,可采用2种改进形式输出电路,如图7(b)和图7(c)所示。图7(b)是能快速开通的改进电路,当TTL输出高电平时,输出点通过晶体管T1获得电压和电流,充电能力提高,从而加快开通速度,同时也降低了集电极开路TTL器件上的功耗。图7(c)为推挽式的改进电路,采用这种电路不但可提高开通时的速度,而且也可提高关断时的速度。输出晶体管T1是作为射极跟随器工作的,不会出现饱和,因而不影响输出开关频率。

图7 TTL或CMOS器件输出电路

2.3 脉冲变压器耦合

脉冲变压器是典型的电磁隔离元件,单片机输出的开关信号转换成一种频率很高的载波信号,经脉冲变压器耦合到输出级。由于脉冲变压器原、副边线圈间没有电路连接,所以输出是电平浮动的信号,可以直接与功率管等强电元件耦合,如图8所示。

图8 脉冲变压器输出电路

这种电路必须有一个脉冲源,脉冲源的频率是载波频率,应至少比单片机输出频率高10倍以上。脉冲源的输出脉冲送入控制门G,单片机输出信号由另一端输入G门。当单片机输出高电平时,G门打开,输出脉冲进入变压器,变压器的副线圈输出与原边相同频率的脉冲,通过二极管D1、D2检波后经滤波还原成开关信号,送入功率管。当单片机输出低电平时,G门关闭,脉冲源不能通过G门进入变压器,变压器无输出。

这里,变压器既传递信号,又传送能量,提高了脉冲源的频率,有利于减轻变压器的体重。由于变压器可通过调整电感量、原副边匝数等来适应不同推动功率的要求,所以应用起来比较灵活。更重要的是,变压器原副边线圈之间没有电的联系,副线圈输出信号可以跟随功率元件的电压而浮动,不受其电源大小的影响。

当单片机输出较高频率的脉冲信号时,可以不采用脉冲源和G门,对变压器原副边电路作适当调整即可。

2.4 光电耦合

光电耦合可以传输线性信号,也可以传输开关信号,在输出级应用时主要用来传递开关信号。如图9所示,单片机输出控制信号经缓冲器7407放大后送入光耦。R2为光耦输出晶体管的负载电阻,它的选取应保证: 在光耦导通时,其输出晶体管可靠饱和;而在光耦截止时,T1可靠饱和。但由于光耦响应速度慢使开关延迟时间加长,限制了其使用频率。

图9 光耦输出电路

结语

单片机接口技术在很多文献中均有详细的介绍,但在对大量电气控制产品的改造和设计中,经常会碰到用接口芯片所无法解决的问题(如驱动电流大、开关速度慢、抗干扰差等),因此必须寻求另一种电路解决方案。上述几种输入/输出电路通过广泛的应用表明,其对合理、可靠地实现单片机电气控制系统具有较高的工程实用价值。

来源:互联网

围观 469

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,

0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:

1 程序计数器的内容(这时是0000H)送到地址寄存器;

2 程序计数器的内容自动加1(变为0001H);

3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4 CPU使读控制线有效;

5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。

至此,取指阶段完成,进入译码分析和执行指令阶段。

由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。

围观 355

上机1 发光二极管的闪烁

;开关断开,发光二极管灭;开关闭合,奇偶数发光二极管间隔0.1s交替点亮。

ORG 0

AJMP MAIN

ORG 0100H

MAIN: JB P3.0,DK

BH: MOV P1,#55H

ACALL YS01S

MOV P1,#0AAH

ACALL YS01S

SJMP MAIN

DK: MOV P1,#0FFH

SJMP MAIN

;延时0.1s 

YS01S: MOV R4,#100 

LOOP: MOV R3,#249 

LOOP1: NOP 
       
NOP                          

DJNZ R3,LOOP1        

NOP 
       
DJNZ R4,LOOP        

RET        

END 

上机2 秒表、倒计时 

;(1)可设置初值的秒表          

JS EQU 60

CZ EQU 0    

ORG 0000H    

AJMP MAIN  
 
ORG 0100H 

MAIN:    MOV DPTR,#TAB          

MOV R0,#CZ 

LOOP:  ACALL HBCD    

ACALL DISP    

INC R0 
   
CJNE R0,#JS,LOOP    

MOV R0,#0   
 
SJMP LOOP 
 
HBCD:    MOV A,R0          

MOV B,#10    

DIV AB    

MOV R1,A    

MOV R2,B
   
RET  

DISP:    MOV R3,#10 

LOOP3:   MOV A,R1

MOVC A,@A+DPTR          

MOV P2,A          

MOV P3,#01H    

ACALL YS50MS    

MOV P3,#0   
 
MOV A,R2 
         
MOVC A,@A+DPTR    

MOV P2,A    

MOV P3,#02H    

ACALL YS50MS    

MOV P3,#0    

DJNZ R3,LOOP3   
 
RET 
 

YS50MS:  MOV R4,#50 

LOOP1:   MOV R5,#249 

LOOP2:   NOP          

NOP    

DJNZ R5,LOOP2    

NOP 
   
DJNZ R4,LOOP1   
 
RET

;共阳数码管显示1~9的查表值   

TAB:   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H     

END 
 
;(2)可设置初值的倒计时,最大初值99          

DJS EQU 0    

CZ EQU 10    

ORG 0000H    

AJMP MAIN   
 
ORG 0100H 

MAIN:    MOV DPTR,#TAB          

MOV R0,#CZ 

LOOP:  ACALL HBCD    

ACALL DISP    

DEC R0 
  
CJNE R0,#DJS,LOOP 
      
ACALL HBCD 

NEXT:    ACALL DISP   
 
SJMP NEXT 
 
HBCD:    MOV A,R0 

MOV B,#10

DIV AB

MOV R1,A

MOV R2,B

RET DISP:

MOV R3,#10

LOOP3: MOV A,R1

MOVC A,@A+DPTR

MOV P2,A

MOV P3,#01H

ACALL YS50MS

MOV P3,#0

MOV A,R2

MOVC A,@A+DPTR

MOV P2,A

MOV P3,#02H

ACALL YS50MS

MOV P3,#0

DJNZ R3,LOOP3

RET

YS50MS:  MOV R4,#50 

LOOP1:   MOV R5,#249 

LOOP2:   NOP          

NOP    

DJNZ R5,LOOP2    

NOP 
   
DJNZ R4,LOOP1   
 
RET 
 
;共阳数码管显示1~9的查表值  
 
TAB:   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H  

END 

上机3 交通灯的模拟

;模拟十字路口红绿灯          

GREENL EQU 50    

GREENS EQU 6    

YELLOWS EQU 4    

ORG 0    

AJMP MAIN   
 
ORG 0100H 

MAIN:    CLR P1.1          

CLR P1.6   
 
MOV R0,#GREENL 

DXLDL:   ACALL YS05S          

DJNZ R0,DXLDL   
 
MOV R0,#GREENS 

DXLDS:   CPL P1.1          

ACALL YS05S    

DJNZ R0,DXLDS    

SETB P1.1 
  
MOV R0,#YELLOWS  

DXHDS:   CPL P1.2          

ACALL YS05S    

DJNZ R0,DXHDS   
 
SETB P1.2 

SETB P1.6

CLR P1.4

CLR P1.3

MOV R0,#GREENL

NBLDL: ACALL YS05S

DJNZ R0,NBLDL

MOV R0,#GREENS

NBLDS: CPL P1.4

ACALL YS05S

DJNZ R0,NBLDS

SETB P1.4

MOV R0,#YELLOWS

NBHDS: CPL P1.5

ACALL YS05S

DJNZ R0,NBHDS

SETB P1.5

SETB P1.3

SJMP MAIN

YS50MS: MOV TMOD,#01H

MOV TH0,#3CH

MOV TL0,#0B0H

SETB TR0 

LOOP:    JBC TF0,NEXT          

SJMP LOOP 

NEXT:  RET  

YS05S:   MOV R1,#10 

LOOP1:   ACALL YS50MS         

 DJNZ R1,LOOP1    

RET    

END 

附:带数字显示的交通灯模拟 

;模拟带数字显示的十字路口红绿灯

GREENL EQU 25

GREENS EQU 3

YELLOWS EQU 2

REDL EQU 30

ORG 0

AJMP MAIN

ORG 0100H

MAIN: MOV DPTR,#TAB

MOV P3,#0

MOV R0,#GREENL

MOV R1,#REDL

CLR P1.1

CLR P1.6

DXLDL: ACALL DISP05S

ACALL DISP05S

DEC R1

DJNZ R0,DXLDL

MOV R0,#GREENS

DXLDS: CPL P1.1

ACALL DISP05S

CPL P1.1

ACALL DISP05S     

DEC R1 
   
DJNZ R0,DXLDS    

SETB P1.1 
  
MOV R0,#YELLOWS 

DXHDS:   CPL P1.2          

ACALL DISP05S   
 
CPL P1.2 
         
ACALL DISP05S     

DEC R1 
   
DJNZ R0,DXHDS    

SETB P1.2   
 
SETB P1.6 
   
MOV R0,#REDL       

MOV R1,#GREENL       

CLR P1.4       

CLR P1.3  
  
NBLDL:   ACALL DISP05S          

ACALL DISP05S    

DEC R0 
  
DJNZ R1,NBLDL  
  
MOV R1,#GREENS 

NBLDS:   CPL P1.4          

ACALL DISP05S   
 
CPL P1.4 
         
ACALL DISP05S     

DEC R0    

DJNZ R1,NBLDS    

SETB P1.4 
  
MOV R1,#YELLOWS 

NBHDS:   CPL P1.5          

ACALL DISP05S   
 
CPL P1.5 
        
ACALL DISP05S     

DEC R0 
   
DJNZ R1,NBHDS    

SETB P1.5    SETB P1.3   

AJMP MAIN 
 
DISP05S: MOV R2,#10 

LOOP:    MOV 20H,R0  
     
ACALL HBCD 

ACALL DXDISP       

MOV 20H,R1       

ACALL HBCD       

ACALL NBDISP    

DJNZ R2,LOOP   
 
RET 
 
HBCD:    MOV A,20H          

MOV B,#10       

DIV AB       

MOV 21H,A       

MOV 22H,B  
     
RET 

;东西路口显示 

DXDISP:  MOV A,21H          

MOVC A,@A+DPTR       

MOV P2,A       

SETB P0.5      

CLR P0.4       

ACALL YS12MS5       

CLR P0.5  
     
MOV A,22H 

MOVC A,@A+DPTR      

MOV P2,A       

SETB P0.4       

CLR P0.5       

ACALL YS12MS5       

CLR P0.4  
     
RET  

;南北路口显示 

NBDISP:  MOV A,21H          

MOVC A,@A+DPTR       

MOV P3,A       

SETB P0.7       

CLR P0.6       

ACALL YS12MS5       

CLR P0.7  
     
MOV A,22H 
         
MOVC A,@A+DPTR       

MOV P3,A       

SETB P0.6       

CLR P0.7       

ACALL YS12MS5  
     
CLR P0.6 

RET            
 
;延时12.5MS 

YS12MS5: MOV TMOD,#01H          

MOV TH0,#0CFH         

MOV TL0,#2CH  
     
SETB TR0 

LOOP1:   JBC TF0,NEXT          

SJMP LOOP1 

NEXT:    RET  

;共阳极0~F的数值 

TAB:   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H        

DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH  
   
END

来源:互联网

围观 272

(MCU测试部分)

一.MCU测试

1.mcu工作电压及电流,
测试MCU工作电压是否在工作电压范围,电压过高会影响MCU的正常工作甚至烧坏,工作电压过低会影响MCU的外围电路驱动能力,甚至导致外围电路不能正常工作。

2. mcu静态电流
静态电流是衡量MCU性能的主要参数之一,静态电流越小越好,根据MCU规格书测试静态电流是否符合要求,一旦MCU有损坏的话,静态电流就会变大,会增加产品的静耗,致使产品整体功耗增加。

3.mcu的振荡频率
如MCU为外接晶振型的,需要检测其正常工作时MCU的晶振输入脚的振荡频率是否正确,如果晶振振荡频率不符合要求则会影响产品的定时及延时,甚至不能正常工作。

二..产品的组合功能测试(MCU在线系统测试)

1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。

2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。

3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。

4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等

来源:百度文库

围观 573

页面

订阅 RSS - 单片机