毕业设计125哈尔滨工程大学简易三极管参数测试仪设计.doc

毕业设计125哈尔滨工程大学简易三极管参数测试仪设计

收藏

压缩包内文档预览:(预览前20页/共31页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:545839    类型:共享资源    大小:117.53KB    格式:ZIP    上传时间:2015-12-01 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
电气电子毕业设计论文
资源描述:
毕业设计125哈尔滨工程大学简易三极管参数测试仪设计,电气电子毕业设计论文
内容简介:
1 黑龙江省大学生电子设计竞赛设计报告 密号: (密号由组委会填写) 黑龙江省大学生电子设计竞赛设计报告 题 目: 简易三极管参数测试仪 学 校: 哈尔滨工程大学 参赛队员姓名: 施羽暇 ,邹家良 ,程伟 有效联系方式: 03 821 , 03 815 nts 2 晶体管参数测试设计要求 1) 制作出晶体管参数测试仪 2) 测试参数的种类,数量自定 3) 测试参数的精度自定 4) 测试仪的功能,例如对测试的结果是否存储,显示,打印等自定 目录 一 .摘要 3 二 .Abstract And Keyword 3 二 .方案论证与比较 4 1三极管基极和集电极电压采样电路 4 2三极管共射极输入输出曲线 4 3测量结果显示方案 4 三 .主要电路工作原理与计算 4 1总体设计思路 4 2采样电路设计与放大系数计算 5 3. 施压电路设计 8 4 输入输出特性曲线测量 9 5人机界面 10 6其它功能扩展 10 7误差分析 11 四 . 系统测试及分析 13 五误差分析 13 六 . 总结 14 nts 3 简易三极管参数测试仪 摘 要 本设计以 AT89C51 单片机最小系统为核心,用 汇编语言 编程, 用多组放大器组成恒流源采样电路, 可靠地实现了对三极管基极和集电极电流的检测,通过 ADC118 和放大器组成数据采集电路。系统能准确地测量交直流放大系数。单片机对采集到数据进行处理,并用液晶显示各项参数。 关键词:单片机 ,采样电流 , 液晶显示 Abstract The design is based on the microcontroller AT89C51 system, has reliably actualized the meterage of dynatron base pole current and collector current by the combination of a few groups of relays, and has the part of sampling circuit composed of ADC118 . Our system can accurately measure . The data collected is processed by the microcontroller and then is displayed in the LCD. Keywords microcontroller , sampling circuit , relays ,LCD nts 4 一 .方案论证与比较 根据题目要求,本系统的设计可以划分为以下几个部分,下面对每个设计方案分别进行论证与比较: 1 三极管基极和集电极电压采样电路 方案一: 采用在基极和集电极电阻两端直接测电压的方法。用这种方法虽然简单,但是电路复杂,需要多个运算放大器,精确度不高,很难达到题目要求。 方案二: 采用在发射极串电阻,直 接在发射极测量电流 Ice 的方法。这种方案由于电阻两端对地电压较低,便于放大检测。但由于发射极电阻的存在,使基极电位很难确定,不便于基极电阻的选择,对 Uce的确定也会带来一定困难。 方案三: 用两路数据采集电路分别对基极电压和集电极电阻两端电压进行采样。基极电压经过普通运放组成的同向比例放大电路进行放大后送 AD 采样。而集电极电阻两端的电压采用 OP07 放大 。若所测三极管为 PNP 型管,则经过反向比例电路转换成正电压以满足 ADC118采样的需要。 综合考虑,方案三电路结构简单,测量精度较高,故采用方案三。 2. 三极 管共射极输入输出特性曲线测量 因时间问题,这只是我们的构想 三极管输入特性曲线的测量方案: 固定电压 |VC |=12V,通过 DAC0832 逐渐增大基极电压 ,每增大一次电压采集一次电流 iB,记入内存 .单片机将采集所得的各项数据处理后,在 上位机(电脑)上输出曲线。 三极管输出特性曲线的测量方案 通过改变基极电阻 ,达到题目要求的基极电流。同样通过 DA输出改变电压 VCE 每当改变一次集电极电压就采集一次电流 iC,记入内存 ,显示输出曲线 。 3. 测量结果显示方案 方案一: 把测量所得的参数通过数码管显示 方案 二 :把测量所得的参数和特性曲线通过液晶屏显示,这种方案虽然简便易行,但显示精度不高。 方案 三 :把所有的测量结果送到上位计算机进行显示,显示精度比较高,但不够方便灵活,并且需两个全双工串行接口,实现比较困难。 权衡以上三种方案,我们初步打算晶体管的基本参数用 LCD 显示,同时扩展与 PC机连接的 RS232 串行通讯接口,用 vb 编写接收软件用来显示三极管的输入输出特性曲线,这样使用起来既方便灵活,又提高了精度,而且扩展了数据存储、打印等功能,但 由于时间关系,我们没来得及做出曲线部分的电路,只把构思列出。 nts 5 二 .主要电路工作原理与计算 1总体设计思路 总流程图如下: 2. 采样电路设计与放大系数计算 ( 1) 基极 和 集电极 电压采样电路 固定 基 极的电流,并使三极管工作在放大区,从而对特定 NPN 三极管 来说其 B极电流稳定。 基 极电流的恒流由运放 OP07 实现(电路见图),此 OP07 正向端加 1V 的电压。我们用精准电压源 MC1403加电压跟随器来精确这 1V电压。 在 基 极和 集电 极分别加上 2个 1K的采样电阻,分别在 2个电阻两端 取 4个点的电压,通过 4 个由 OP07 搭成的电压跟随器并把 B 极的电压经一个差放放大100倍后送入单片机内进行运算,并最终显示。 电路图如 下图( 图 3) 。 采 样 电 路 AT89C51 单片机最小系统 显示电 路 三极管 恒流源 nts 6 1234AB CD4321DCBATitleNumberRevisionSizeADate:3-Dec-2004SheetofFile:I:TXT晶体管参数测试.DdbDrawn By:+125KIN1OUT2GND3U1MC1403A2374618A1OP07A2374618A2OP07A2374618A3 OP07A2374618A4OP07A2374618A7OP07A2374618A8OP07A1KR31KR410KR810K100R510K1K 1K100KR7100KR8NPN150R62374618A52374618OP07A6-12+12+12-1220KR220KR90.1uFC40.1uFC20.1uFC30.1uFC60.1uFC90.1uFC10.1uFC50.1uFC110.1uFC140.1uFC120.1uFC80.1uFC100.1uFC70.1uFC13+12+12-12+12+12+12-12+12-12-12+120.1uFC15C?C16-12-12图 3 nts 7 集电极采样电路: 在测三极管的的放大系数时。电阻 R4 的电阻值是 1K 欧姆 ,易得集电极的电流表达式: Ic=Vrc/1000。根据三极管直流电流放大系数的定义式可以算出: C C E O CBBI I III 一般来说, 和 的大小是不一样的, 不是一个固定不变的常数,它是两个变化量之比,其值的大小与工作点密切相关。但是在恒流特向较好的区域,如果忽略了CEOI,两者的大小是基本相等的。由于在完成本题中前两个任务时,三极管一直工作在恒流特性较好的区域,可以认为 和 是相等的。只要把 |BI |从 10 A 改变到 20 A , |CEV|保持不变,三极管的静态工作点已经发生了改 变,此时用与测直流放大倍数相同的办法就可以测出交流放大系数 。 A/D转换输出电路: A/D转换器是数据测量系统的核心部件,它把采集的模拟量变换成数字序 列,并读回单片 机 。在设计中,我们对 A/D 的转换速度、精度和器件成本作了最好的折中,选用了 8位 A/D转换器 ADC118.电路图如下图(图 4) 图 4 nts 8 IN61IN52IN43IN34IN25IN16MODE7D08D19D210D311RD12INT13GND14REF-15REF+16WR/RDY17D419D520D621D722A223A124A025CS18PWRDN26VDD27INT728U5 MAX118EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U4 89C51VccVccC6 30pFC730pFJ1 CRYVccVccR1 1KS1SW-PBS2SW-PBS3SW-PBS4SW-PBVccC8 22uFkeypad1keypad2keypad3keypad4keypad1keypad2keypad3keypad4signal_in_1signal_in_2signal_in_3signal_in_4signal_in_5signal_in_6signal_in_7X1 X2X1 X21 2 3 4 5 6 7 8 910 11 12 13 14 15 16RP116PININ1IN2IN3IN4IN5IN6IN71234567891011121314151617181920J2Header20HVCCSTDSCLK123JP1MHDR1X3STDSCLKTXDRXDVccGndL1 CON2VCCnts 9 图 为与 ADC118相连接的 电路。 3 施压电路设计与计算 该部分只是我们的初步构思,方案是否可行尚待实际论证,但由于时间关系我们没能实际作出这部分电路,只把大致想法列出如下: 倍压电路 : 由于三基管的反向击穿电压一般不会小于 70 V 而且测量穿电压时要求用单片机控制加在集电极上的电压以一定步长逐渐变化,而单片机只能输出最大12 V、 的电压。我们参考资料列出了一个 由 CMOS与非门组成的倍压电路。 。 A4069A4069A4069A4069D2 D3D1C2 C3 C4GND+3VVC11000uF10K 2.7KA BA B图 6 图中为三倍压电路,当接通电源时,电路中 A 点电位为“ 0”,则 B 点电位为电源电压 V。这时电源电压 V通过1D对2C充电,使2C两端电压为 V值,而2D并不导通。当反向器输出电位翻转之后, A 点电位上升为 V值,于是 A, 点电位相应上升为 2 V 值,此时1D反偏,而2D导通 .在下一个半周时, B点电位上升为 V值, B, 点电位相应上升为 3 V 。经过3D对4C充电,使输出电压为 3 V 。 DA双极性电压输出电路: 由于三极管有 NPN和 PNP两种型号,测量两种三极管输入输出特性曲线时所 用电压 极性相反。这就要求单片机输出的控制电压有正负两个极性。在此采用了一种典型的 DAC0832 双极性输出电路,电路图如下: nts 10 V c c20I o u t 111l s b D I 07I o u t 212D I 16D I 25R f b9D I 34D I 416V r e f8D I 515D I 614m s b D I 713I L E19W R 218CS1W R 12X f e r17AGND3DGND10D A C 08 3 2V C CR32 0K321841AL F 3 5 3321842AL F 3 5 3R11 0KR25KR45 K 1V R E F ( + 5 V )+ 12+ 12- 1 2- 1 2VO1VO2图中放大器 2的输入端 3通过电阻1R与参考电压REFV相连,因此运算放大器 2的输出电压: 2 2 3 1 2 1( ( ) ( ) )O O R E FV R R V R R V 代入1R、2R、3R的值,可得: 21( 4 2 )O O R E FV V V 我们所用的基准电压是 +5V,所以当1 0OVV时,2 10OVV; 当1 2.5OVV时,2 0OVV; 当1 5OVV时,2 10OVV。 于是我们通过单片机控制输出从 0 到 -5V 的渐变电压就可以得到从 -10V 到+10V连续变化的电压。 4输入输出特性曲线测量 输入特性曲线 : 使 | VCE |=10 V, NPN 型的三极管共发射极接法时,其输入量是基极电流Bi和发射结压降BEu。其输出量是集电极电流Ci和管压降CEu。输入特性曲线反映的是以CEU为参变量,基极电流 Bi和发射结压降BEu之间的关系。其表达式为: ( ) | CEB B E Ui f u 常 数 本系统在测量 NPN型三极管时,继电器 3的开关接在 DA输入一侧。为了 满足发射结压降的变化要求,使基极电阻1R连接在电路中,也就是继电器 8的 开关分别接在电阻1R和3R侧。继电器 7的开关接在与1R连接的 0通路中。先用 单片机通过 DAC0832 输出控制电压从 0开始变化,每次改变 0.05,直到 +5 V。发 nts 11 射结压降BEu跟随控制电压变化,变化范围约为 0.6-0.8 V。 由于发射极接地,BEu=Bu。 每改变一次电压, 单片机通过基极采样电路获得一组 基极电流Bi和基极电压Bu的 变化的数值(Bi的计算方法同第二部分)。存入内存单元。处理并记录完所有的数 据后,将数据送给显示电路输出。可以得到一条基极电流Bi随发射结压降BEu变化 的光滑曲线。测 PNP 型三极管时,只要将电压从 0V 逐渐改变,每次改变 -0.05V, 直到 -5V 为止。 输出特性曲线: 输出特性曲线反映的是以基极电流BI为参变量。集电极电流Ci和管压降CEu之间的关系,其表达式为: ( ) | BC C E Ii f u 常 数 当 管压降CEu超过 1 V 后,集电极电流Ci的大小与基极电流Bi成正比,即CBii。 如果等间隔的改变Bi的大小继续测试,可以得到一组间隔基本均匀,彼此平行的直线。 本系统在测量时,先用单片机控制继电器 是电阻 连接在电路中。此时基极 电流BI是 然后通过 DAC0832输出控制电压从 0变化,每次改变 0.1 V, 单片机通 过集电极采样电路获得电流Ci的变化的数值记录在内存单元中,直到控制电压达 到 12 伏。然后改变基极电阻 ,从而改变基极电流BI。用同样的方法测量。基极 电阻共改变 3 次,所以可以得到三条输出特性曲线。处理并记录完所有的数据后, 将数据送给显示电路输出。显示结果是三条集电极电流Ci随管压降CEu变化的平滑 曲线。 5 人机界面 : I 液晶驱动 本系统采用 OCMJ4X8C(128*64)图形汉字两用液晶作为主要显示工具。该液晶带有总多控制字,程序开始时,先对液晶初始化,之后,每次先通过控制字制定开始位置,然后写入点阵信息。开机时显示欢迎画面,对用户操作进行提示,人机界面友好,图形美观。 II 汉字显示 本系统内置国标 GB2312 码 简体中文字库( 16X16 点阵),每个汉字的内码有两个字节,顺序连续写入即可显示汉字。根据液晶的资料,自行编写了字符串显示、浮点数显示等功能函数,在其它程序中调用非常方便。 nts 12 6 其它功能扩展 初步设想系统制作完成后,可以在液晶上显示输入、输出曲线。但由于液晶点阵大小的限制,不可能较精确的显示曲线。本系统在液晶显示的基础上扩展了串口通讯功能,能将单片机采集到的各项数据传送到上位机,在上位机的操作界面上更精确的显示三极管的输入、输出曲线,并可以对各项数据和曲线进行打印。 具体实现如下:采用 MAX232实现电平转换,以 完成单片机与 PC 机的串行通讯。 进行串行通讯时要满足一定的条件, PC 串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一个电平转换电路,采用了专用芯片MAX232 进行转换,用了三线制连接串口,也就是说和电脑的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第 2 脚的 RXD、第 3 脚的 TXD。,电路如下图所示, MAX232 的第 10 脚和单片机的 11 脚连接,第 9 脚和单片机的 10 脚连接 ,第 15脚和单片机的 20脚连接。 162738495R S 2 3 2R 1 I N13R 2 I N8T 1 I N11T 2 I N10R 1 O U T12R 2 O U T9T 1 O U T14T 2 O U T7C 1 +1C 1 -3C 2 +4C 2 -5v+2v-6GND15V C C16U?M A X 2 3 2C21 0 u FC11 0 u FC41 0 u F+5C31 0 u FP 3 . 1P 3 . 0TXRX图 8 上位机程序用 VB 开发 .其中串口通讯的 Visual Basic 程序采用 MSComm 控件编写 .PC 机按照与单片机约定好的次序将接收到的数据存入对应存储单元 .当上位机操作面板上的某个按钮被按下时 ,系统产生消息响应 ,对数据进行运算 。 三、 软件设计 1系统主程序 程序全部采用汇编语言编写,可实现数据采集、参数计算、数据等功能。采用液晶分屏显示各项基本参数。在输入输出曲线模块中,程序将 AD 采样得到的数据进行处理后,再一次性写入液晶的 DDRAM 和 GDRAM进行显示。程序同时加入了软件复位功能,通过按键返回开机画面,程序进行重新检测。程序设计模块化,其它程序也可直接调用其中的功能函数,使用非常 方便 nts 13 本系统软件主程序流程图如下 开始 液晶初始化,显示开机画面 有键按下 判断键盘指令 S1 S2 S3 S4 测基本参数 发送数据 nts 14 附录:程序 ;*MODUL OCM4X8C 串 * WR EQU P3.6 RD EQU P3.7 STD EQU P1.0 SCLK EQU P1.1 COUNTER1 EQU 31H COUNTER2 EQU 32H RS_STU EQU 33H DA_IN EQU 34H DEH EQU 48H DEL EQU 49H ORG 0000H LJMP MAIN ORG 0100H MAIN: LCALL DELAY2 MOV SP,#60H CLR F0 L0: MOV A,#30H ;30-基本指令操作 LCALL SEND_I LCALL DELAY1 MOV A,#01H ;清除显示 LCALL SEND_I LCALL DELAY2 MOV A,#06H ;指定在资料写入或读取时,光标的移动方向 LCALL SEND_I LCALL DELAY1 MOV A,#0CH ;开显示 ,显示光标 ,闪烁 LCALL SEND_I LCALL DELAY1 MOV A,#34H LCALL SEND_I LCALL DELAY1 MOV A,#04H LCALL SEND_I LCALL DELAY1 MOV A,#30H ;30-基本指令操作 LCALL SEND_I nts 15 LCALL DELAY1 ;* L1: JB F0,CHUAN11 CHUAN11:MOV DPTR,#TAB11 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G1: CLR A MOVC A,A+DPTR CJNE A,#00H,S1 AJMP L2 S1: LCALL SEND_D INC DPTR AJMP G1 ;* L2: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN21 CHUAN21:MOV DPTR,#TAB21 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G2: CLR A MOVC A,A+DPTR CJNE A,#00H,S2 AJMP L3 S2: LCALL SEND_D INC DPTR AJMP G2 ;* L3: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN31 CHUAN31:MOV DPTR,#TAB31 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G3: CLR A MOVC A,A+DPTR CJNE A,#00H,S3 nts 16 AJMP KEY S3: LCALL SEND_D INC DPTR AJMP G3 ;* L4: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN41 CHUAN41:MOV DPTR,#TAB41 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G4: CLR A MOVC A,A+DPTR CJNE A,#00H,S4 AJMP L5 S4: LCALL SEND_D INC DPTR AJMP G4 ;* L5: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN51 CHUAN51:MOV DPTR,#TAB51 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G5: CLR A MOVC A,A+DPTR CJNE A,#00H,S5 AJMP KEY S5: LCALL SEND_D INC DPTR AJMP G5 ;* L6: LCALL DELAY3 MOV A,#01H LCALL SEND_I nts 17 LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN61 CHUAN61:MOV DPTR,#TAB61 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G6: CLR A MOVC A,A+DPTR CJNE A,#00H,S6 AJMP L7 S6: LCALL SEND_D INC DPTR AJMP G6 ;* L7: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN71 CHUAN71:MOV DPTR,#TAB71 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I G7: CLR A MOVC A,A+DPTR CJNE A,#00H,S7 AJMP KEY S7: LCALL SEND_D INC DPTR AJMP G7 ;* DIS: LCALL DELAY3 MOV A,#01H LCALL SEND_I LCALL DELAY2 LCALL DELAY2 JB F0,CHUAN81 CHUAN81:MOV DPTR,#TAB81 MOV A,#80H ;设定 DDRAM地址 LCALL SEND_I nts 18 G8: CLR A MOVC A,A+DPTR CJNE A,#00H,S8 AJMP KEY S8: LCALL SEND_D INC DPTR AJMP G8 ;* KEY: CALL KEY_PAD JMP KEY ;% LGS: LCALL LGS0 MOV COUNTER1,#80H MOV COUNTER2,#80H G31: LCALL LAN1 LCALL LAN2 CJNE A,#88H,G31 MOV COUNTER1,#80H INC COUNTER2 MOV A,COUNTER2 CJNE A,#0A0H,G31 MOV COUNTER1,#88H MOV COUNTER2,#80H G32: LCALL LAN1 LCALL LAN2 CJNE A,#90H,G32 MOV COUNTER1,#88H INC COUNTER2 MOV A,COUNTER2 CJNE A,#0A0H,G32 MOV A,#36H LCALL SEND_I LCALL DELAY1 LCALL DELAY3 RET nts 19 LGS0: MOV COUNTER1,#80H MOV COUNTER2,#80H G00: LCALL LAN1 MOV A,#00H LCALL SEND_D MOV A,#00H LCALL SEND_D INC COUNTER1 MOV A,COUNTER1 CJNE A,#88H,G00 MOV COUNTER1,#80H INC COUNTER2 MOV A,COUNTER2 CJNE A,#0A0H,G00 MOV COUNTER1,#88H MOV COUNTER2,#80H G01: LCALL LAN1 CLR A LCALL SEND_D CLR A LCALL SEND_D INC COUNTER1 MOV A,COUNTER1 CJNE A,#90H,G01 MOV COUNTER1,#88H INC COUNTER2 MOV A,COUNTER2 CJNE A,#0A0H,G01 MOV A,#36H LCALL SEND_I LCALL DELAY1 RET LAN1: MOV A,#34H LCALL SEND_I LCALL DELAY1 MOV A,COUNTER2 LCALL SEND_I MOV A,COUNTER1 LCALL SEND_I MOV A,#30H LCALL SEND_I nts 20 RET LAN2: CLR A MOVC A,A+DPTR LCALL SEND_D INC DPTR CLR A MOVC A,A+DPTR LCALL SEND_D INC DPTR INC COUNTER1 MOV A,COUNTER1 RET JMP MAIN ;*串口写子程序 SEND_D: LCALL DELAY2 ;写数据 SETB RS_STU ;P0-CONTRAL I/O MOV DA_IN,A ;WRITE DATA LCALL SERIAL_WRITE RET SEND_I: LCALL DELAY2 ;写指令 CLR RS_STU ;P0-CONTRAL I/O MOV DA_IN,A ;WRITE INSTRUTION LCALL SERIAL_WRITE RET SERIAL_WRITE: PUSH A MOV A,DA_IN SETB STD CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK nts 21 CLR STD SETB SCLK CLR SCLK JNB RS_STU,WSTU SETB STD SJMP WSTU1 WSTU: CLR STD WSTU1: SETB SCLK CLR SCLK CLR STD SETB SCLK CLR SCLK JB ACC.7,WD7 CLR STD SJMP WD6 WD7: SETB STD WD6: SETB SCLK CLR SCLK JB ACC.6,WD61 CLR STD SJMP WD5 WD61: SETB STD WD5: SETB SCLK CLR SCLK JB ACC.5,WD51 CLR STD SJMP WD4 WD51: SETB STD WD4: SETB SCLK CLR SCLK JB ACC.4,WD41 CLR STD SJMP WD42 WD41: SETB STD WD42: SETB SCLK CLR SCLK CLR STD SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK nts 22 CLR SCLK SETB SCLK CLR SCLK JB ACC.3,WD31 CLR STD SJMP WD2 WD31: SETB STD WD2: SETB SCLK CLR SCLK JB ACC.2,WD21 CLR STD SJMP WD1 WD21: SETB STD WD1: SETB SCLK CLR SCLK JB ACC.1,WD11 CLR STD SJMP WD0 WD11: SETB STD WD0: SETB SCLK CLR SCLK JB ACC.0,WD01 CLR STD SJMP WD02 WD01: SETB STD WD02: SETB SCLK CLR SCLK CLR STD SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK SETB SCLK CLR SCLK POP A RET ;* ;键盘部分 nts 23 ;* KEY_PAD: JNB P2.0,KEY_PAD_GO1 JNB P2.1,KEY_PAD_GO2 JNB P2.2,KEY_PAD_GO3 JNB P2.3,KEY_PAD_GO4 RET KEY_PAD_GO1: CALL D20MS JNB P2.0,KEY_PAD_DEAL1 RET KEY_PAD_GO2: CALL D20MS JNB P2.1,KEY_PAD_DEAL2 RET KEY_PAD_GO3: CALL D20MS JNB P2.2,KEY_PAD_DEAL3 RET KEY_PAD_GO4: CALL D20MS JNB P2.3,KEY_PAD_DEAL4 RET KEY_PAD_DEAL1: CALL L4 CALL START JNB P2.0,$ RET KEY_PAD_DEAL2: CALL L6 CALL DIVI JNB P2.1,$ RET KEY_PAD_DEAL3: CALL DISPLAY JNB P2.2,$ RET KEY_PAD_DEAL4: CALL QINGPING CALL L1 JNB P2.3,$ RET nts 24 D20MS: MOV DEH,#25H TM: MOV DEL,#0FFH TM2: DJNZ DEL,TM2 DJNZ DEH,TM RET START: MOV P2,R7 MOV P0,#0FFH CLR RD RET ;* ;中断方式 A/D转化 ;* INT1: MOV A,P0 SETB RD MOV R1,A MOV A,R7 ADD A,#20H JNB ACC.7,INT1_GO JNB ACC.6,INT1_GO JNB ACC.5,INT1_GO MOV A,#1FH MOV R7,A CALL DIVI RETI INT1_GO: MOV R7,A INC R1 MOV A,R1 CJNE A,#37H,NEXT MOV R1,#30H NEXT: CALL START RETI ;* QINGPING: MOV A,#01H ;清除显示 LCALL SEND_I LCALL DELAY2 RET nts 25 ;* ;数据处理 100(33H-32H)/(31H-30H)*00DCH=35H,36H 即 100UC/UB*RB/RC=35,36H ;* DIVI: MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H MOV R7,#00H LCALL SUB ;(UC+)-(UC-)=R5 (UB+)-(UB-)=R7, LCALL D457 ;被除数在 R2R5中,除数在 R6R7中 ;(33H-32H) (即 R5)/(31H-30H)(即 R7)= R2,R3 MOV R2,#00H ;被乘数为 R2,R3. 乘数为 R6,R7 MOV R6,#00H MOV R7,#20H ;此数据需要随电阻的不同而变更! LCALL MULD ;(R2,R3)*(R6,R7)=R2 R3 R4 R5 MOV A,R5 MOV R3,A MOV A,R4 ; MOV R2,A ; MOV R6,#00H ; 把所得结果放大 X倍 MOV R7,#32H ; 结果放在 R2 R3 R4 R5中 LCALL MULD ; MOV A,R4 MOV R6,A ;把结果转换成 BCD码 ! MOV A,R5 MOV R7,A ;最终结果放在 R3,R4,R5中 LCALL HB2 RET ; * ;(UB+)-(UB-)=R7,(UC+)-(UC-)=R5 ;* SUB: MOV R0,31H nts 26 MOV R1,30H CLR C ;进位位清零 CLR 37H ;37H 为符号位 ,符号位清零 MOV A,R0 SUBB A,R1 ;R0 的内容减 R1的内容 MOV R7,A ;差值 (UB+)-(UB-)放到除数的寄存器 R7里面 JNZ SUB10 ;差为正,去 SUB10 SETB 37H ;差为负 ,符号位置位 SUB10: MOV R0,33H MOV R1,32H CLR C ;进位位清零 CLR 37H ;37H 为 符号位 ,符号位清零 MOV A,R0 SUBB A,R1 ;R0 的内容减 R1的内容 MOV R5,A ;差值 (UC+)-(UC-)放到被除数的寄存器 R5里面 RET ;* ;() 标号: 功能:双字节二进制无符号数 除以单字节二进制数 ;* ;入口条件:被除数在 R4、 R5中,除数在 R7 中 ;出口信息: OV=0 时,单字节商在 R3中, OV=1 时溢出。 ; 影响资源: PSW、 A、 R3 R7 堆栈需求: 字节 D457: CLR C MOV A,R4 SUBB A,R7 JC DV50 SETB OV ;商溢出 RET DV50: MOV R6,#8 ;求平均 值( R4R5 R7 R3) DV51: MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV F0,C CLR C SUBB A,R7 ANL C,/F0 JC DV52 MOV R4,A DV52: CPL C nts 27 MOV A,R3 RLC A MOV R3,A DJNZ R6,DV51 MOV A,R4 ;四舍五入 ADD A,R4 JC DV53 SUBB A,R7 JC DV54 DV53: INC R3 DV54: CLR OV RET ;*
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:毕业设计125哈尔滨工程大学简易三极管参数测试仪设计
链接地址:https://www.renrendoc.com/p-545839.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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