电路仿真实验报告

合集下载

电子电路仿真实验报告

电子电路仿真实验报告

电子电路仿真实验报告
本次实验是一次电子电路的仿真实验,旨在通过使用电路仿真软件进行电路实验的模拟,通过对模拟的数据和仿真结果进行分析和总结,进一步掌握电子电路的实验知识和技能,在理论和实践中加深对电子电路的理解和掌握。

实验一:开关电源
1.实验目的
掌握开关电源基本工作原理,理解电源的稳压和稳流的基本原理,掌握开关电源的设
计和布局方法。

2.实验步骤
(1)根据实验手册,搭建开关电源电路,包括开关电源 IC、滤波电感、电容、稳流
二极管和稳压二极管。

(2)进行仿真实验,记录各个参数数据。

(3)分析实验结果,了解电源电路的工作原理和性能。

3.实验结果分析
(1)开关频率:在实验中,我们通过改变开关频率,观察电路的输出。

结果表明,当开关频率增加时,电路的效果也增强。

(2)输出电压:在实验中,我们对电路的输出电压进行了测量,结果表明,当输入电压较高时,输出电压也较高;当输入电压较低时,输出电压也较低。

4.实验总结
开关电源是一种高效率、小体积、轻量化的电源,广泛应用于电子产品中,是电子领
域不可或缺的核心器件之一。

掌握开关电源的设计和布局方法,对于我们理解和掌握电子
电路的原理和技术具有重要的意义。

通过本次实验,我们加深了对开关电源的理解和掌握,为日后的学习和实践打下了基础。

Multisim电路仿真实验报告

Multisim电路仿真实验报告

Multisim电路仿真实验报告精33张聪20130106571实验目的:熟悉电路仿真软件Muitisim的功能,掌握使用Muitisim进行输入电路、分析电路和仪表测试的方法。

2使用软件:NIMultisimstudentV12。

(其他版本的软件界面稍有不同)3预习准备:提前安装软件熟悉其电路输入窗口和电路的编辑功能、考察其元件库中元件的分类方式、工具栏的定制方法、仪表的种类、电路的分析方法等;预习实验步骤,熟悉各部分电路。

4熟悉软件功能(1)了解窗口组成:主要组建包括:电路图编辑窗口、主菜单、元件库工具条、仪表工具条。

初步了解各部分的功能。

(2)初步定制:定制元件符号:Options|Globalpreferences,选择Components标签,将SymbolStandard区域下的元件符号改为DIN。

自己进一步熟悉全局定制Options|Globalpreferences窗口中各标签中的定制功能。

(3)工具栏定制:选择:View|Toolbars,从显示的菜单中可以选择显示或者隐藏某些工具栏。

通过显示隐藏各工具栏,体会其功能和工具栏的含义。

关注几个主要的工具栏:Standard(标准工具栏)、View(视图操作工具栏)、Main(主工具栏)、Components(元件工具栏)、Instruments(仪表工具栏)、Virtual(虚拟元件工具栏)、Simulation(仿真)、Simulationswitch(仿真开关)。

(4)Multisim中的元件分类元件分两类:实际元件(有模型可仿真,有封装可布线)、虚拟元件(有模型只能仿真、没有封装不能布线)。

另有一类只有封装没有模型的元件,只能布线不能仿真。

在本实验中只进行仿真,因此电源、电阻、电容、电感等使用虚拟元件,二极管、三极管、运放和其他集成电路使用实际元件。

元件库的结构:元件库有三个:Masterdatabase(主库)、Corporatedatabase (协作库)和Userdatabase(用户库)。

电路仿真实验报告

电路仿真实验报告

Multisim模拟电路仿真实验1.实验目的(1)学习用Multisim实现电路仿真分析的主要步骤。

(2)用仿真手段对电路性能作较深入的研究。

2.实验内容实验19-1 基本单管放大电路的仿真研究(2)静态工作点理论上,由V E=1.2V得:I E=V E/(R E1+R E2)=1mA,I B=I E/(β+1)=16.39uA,I C=βI B=0.9836mA;U CE=Vcc- I C*Rc-V E=7.554V。

实测值I B =13.995uA,Ic=0.9916mA,U CE=7.521V;相对误差分别为14.63%,0.817%,0.438%(3)电压放大倍数理论值r be=1.886kΩ,Au=-14.0565实测值Au=-13.8476,相对误差1.486%(4)波特图观察电压放大倍数为Au=-13.8530,下限截止频率为17.6938Hz,上限截止频率为18.07MHz,带宽为18.07MHz。

(5)用交流分析功能测量幅频和相频特性。

(6)加大输入信号强度,观测波形失真情况。

失真度为31.514%(7)测量输入电阻、输出电阻。

测输入电阻:U rms=1.00mV,I rms=148nA,则输入电阻R i= U rms/I rms=6.757kΩ;测输出电阻:空载时U oO=14.0mV,带载时U oL=10.6mV,R L=10kΩ,则输出电阻R o=(U oO/U oL-1)* R L =3.208kΩ(8) 将R E1去掉,R E2=1.2kΩ,重测电压放大倍数,上下限截止频率及输入电阻,对比说明R E1对这三个参数的影响。

测得放大倍数Au=-95.2477,下限截止频率为105.7752Hz,上限截止频率为18.9111MHz,带宽为18.9110MHz,输入电阻R i=1.859kΩ。

由表易知,去掉R E1后电压放大倍数变大;上下截止频率都略有增加,通频带变宽;输入电阻变小。

电路实验仿真实验报告

电路实验仿真实验报告

电路实验仿真实验报告电路实验仿真实验报告摘要:本实验通过电路仿真软件进行了一系列电路实验的仿真,包括电路基本定律验证、电路元件特性研究以及电路参数计算等。

通过仿真实验,我们深入理解了电路的工作原理和性能特点,并通过仿真结果验证了理论计算的准确性。

引言:电路实验是电子工程专业学生必修的一门重要课程,通过实际操作和观察电路的实际运行情况,加深对电路理论知识的理解。

然而,传统的电路实验需要大量的实验设备和实验器材,并且操作过程复杂,存在一定的安全风险。

因此,电路仿真技术的出现为电路实验提供了一种新的解决方案。

方法:本实验采用了电路仿真软件进行电路实验的仿真。

通过在软件中搭建电路原理图,设置电路元件参数,并进行仿真运行,观察电路的电压、电流等参数变化,以及元件的特性曲线等。

实验一:欧姆定律验证在仿真软件中搭建一个简单的电路,包括一个电源、一个电阻和一个电流表。

设置电源电压为10V,电阻阻值为100Ω。

通过测量电路中的电流和电压,验证欧姆定律的准确性。

仿真结果显示,电路中的电流为0.1A,电压为10V,符合欧姆定律的要求。

实验二:二极管特性研究在仿真软件中搭建一个二极管电路,包括一个二极管、一个电阻和一个电压表。

通过改变电阻阻值和电压源电压,观察二极管的正向导通和反向截止特性。

仿真结果显示,当电压源电压大于二极管的正向压降时,二极管正向导通,电压表显示有电压输出;当电压源电压小于二极管的正向压降时,二极管反向截止,电压表显示无电压输出。

实验三:RC电路响应特性研究在仿真软件中搭建一个RC电路,包括一个电阻、一个电容和一个电压源。

通过改变电阻阻值和电容容值,观察RC电路的充放电过程和响应特性。

仿真结果显示,当电压源施加一个方波信号时,RC电路会出现充放电过程,电压信号会经过RC电路的滤波作用,输出信号呈现出不同的响应特性。

实验四:电路参数计算在仿真软件中搭建一个复杂的电路,包括多个电阻、电容、电感和电压源。

电路实验仿真实验报告

电路实验仿真实验报告

1. 理解电路基本理论,掌握电路分析方法。

2. 掌握电路仿真软件(如Multisim)的使用方法。

3. 分析电路参数对电路性能的影响。

二、实验内容本次实验主要针对一阶RC电路进行仿真分析,包括零输入响应、零状态响应和全响应的规律和特点。

三、实验原理一阶RC电路由一个电阻R和一个电容C串联而成,其电路符号如下:```+----[ R ]----[ C ]----+| |+---------------------+```一阶RC电路的传递函数为:H(s) = 1 / (1 + sRC)其中,s为复频域变量,R为电阻,C为电容,RC为电路的时间常数。

根据传递函数,可以得到以下结论:1. 当s = -1/RC时,电路发生谐振。

2. 当s = 0时,电路发生零输入响应。

3. 当s = jω时,电路发生零状态响应。

四、实验仪器与设备1. 电脑:用于运行电路仿真软件。

2. Multisim软件:用于搭建电路模型和进行仿真实验。

1. 打开Multisim软件,创建一个新的仿真项目。

2. 在项目中选择“基本电路库”,搭建一阶RC电路模型。

3. 设置电路参数,如电阻R、电容C等。

4. 选择合适的激励信号,如正弦波、方波等。

5. 运行仿真实验,观察电路的响应波形。

6. 分析仿真结果,验证实验原理。

六、实验结果与分析1. 零输入响应当电路处于初始状态,即电容电压Uc(0-) = 0V时,给电路施加一个初始电压源,电路开始工作。

此时,电路的响应为电容的充电过程。

通过仿真实验,可以得到以下结论:(1)随着时间t的增加,电容电压Uc逐渐增大,趋于稳态值。

(2)电容电流Ic先减小后增大,在t = 0时达到最大值。

(3)电路的时间常数τ = RC,表示电路响应的快慢。

2. 零状态响应当电路处于初始状态,即电容电压Uc(0-) = 0V时,给电路施加一个激励信号,电路开始工作。

此时,电路的响应为电容的放电过程。

通过仿真实验,可以得到以下结论:(1)随着时间t的增加,电容电压Uc逐渐减小,趋于0V。

Multisim电路仿真实验报告(实验1.2)

Multisim电路仿真实验报告(实验1.2)

Multisim电路仿真实验报告(实验1.2)实验⼀1.电路图
1
2
电容c1和电阻R2交换后
3. 逻辑分析仪和字信号发⽣器的使⽤
实验⼆
1.
静态⼯作点分析
IBQ=12.954uA ICQ=2.727mA
结合电路图可知:UBQ=3.39196V,UCQ=6.54870V,所以三极管的放⼤倍数:β= ICQ/IBQ =210
2.估算出该电路的放⼤倍数Av
从仿真结果中得到:
Uo=1.94895V, Ui=0.014V.
从⽽估算出该电路的放⼤倍数:Av=139
对两电路的带负载能⼒进⾏⽐较
3.1
由以上两个仿真图可知,放⼤电路2⽐放⼤电路1带负载能⼒更强。

⽽放⼤电路的带负载能⼒受其输出电阻影响,输出电阻越⼩,带负载能⼒越强。

由后⾯的计算可知放⼤电路2的输出电阻更⼩,因⽽其带负载能⼒⽐放⼤电路1强。

因此仿真实验结果符合理论要求。

3.2 对电路1和2分别作温度扫描分析
3.3 测试电路1和2
的输⼊和输出阻抗
电路1
输⼊电阻的测试电路图及测试结果
电路1输出电阻的测试电路图及测试结果由以上实验结果算出电路1的输⼊阻抗1264kΩ,输出阻抗为1.92kΩ
电路2
输⼊电阻的测试电路图及测试结果
电路2输出电阻的测试电路图及测试结果
由以上实验结果算出电路1的输⼊阻抗5.9kΩ,输出阻抗为4.8Ω
放⼤电路1是放⼤电路2的电流串联负反馈形式,电流串联负反馈的作⽤是增⼤输⼊输出电阻。

电路仿真实验报告

电路仿真实验报告一、实验目的通过电路仿真实验,了解和掌握电路设计和分析的基本原理和方法,培养学生解决实际电路问题的能力。

二、实验器材1.计算机2.电路仿真软件3.电路设计平台4.万用表三、实验内容1.选择一个电路仿真软件,并了解其基本操作方法。

2.使用电路仿真软件进行简单电路的仿真设计。

3.基于仿真结果,根据实验内容进行电路设计和分析。

四、实验步骤1.打开电路仿真软件,并了解其基本操作方法。

2.根据实验要求,选择一个简单电路进行设计,例如二阶低通滤波器。

3.使用电路设计平台进行电路的搭建,包括选择合适的电阻、电容和运放等器件。

4.在电路设计平台上进行参数设置,例如频率范围和截止频率等。

5.运行仿真,观察电路的响应曲线和频率特性。

6.根据仿真结果,分析电路的性能和特点,并进行相关讨论。

7.如果仿真结果不符合预期,可以调整电路参数或者改变电路结构,重新运行仿真并分析结果。

8.根据实验要求,记录仿真结果并撰写实验报告。

五、实验结果与分析在本次实验中,我们选择了一个二阶低通滤波器进行仿真设计。

根据实验要求,我们选择了合适的电阻、电容和运放等器件进行电路搭建。

通过仿真软件运行仿真,我们得到了电路的频率响应曲线和频率特性的结果。

根据图表分析,我们可以看到,在低频时,滤波器具有较好的通过性能,而在高频时,滤波器开始出现截止的现象。

我们还可以通过改变电路参数来观察电路的变化。

例如,增大电容值可以降低截止频率,使滤波器具有较好的低频通过特性。

而增大电阻值则可以增加滤波器的阻带特性。

通过实验结果的分析,我们可以得到滤波器的性能和特点,并根据实际应用的需求来调整电路参数和结构。

六、实验总结与心得体会通过电路仿真实验,我们学习到了电路设计和分析的基本原理和方法。

通过选择合适的电路仿真软件,并根据实验要求进行电路搭建和参数设置,运行仿真并分析结果,我们可以对电路的性能和特点有更深入的了解。

通过本次实验,我还发现了电路设计和分析的一些问题和挑战。

电工实验报告-基本电路的仿真实验

xxxx大学信控学院实验报告课程名称:电工技术与电子技术实验成绩:实验名称:基本电路的仿真实验班级: 3 姓名:学号:实验日期:教师签字:实验二十九基本电路的仿真实验——仿真实验一一、实验目的1.熟悉EWB仿真软件的使用2.学会用EWB仿真软件分析交流电路,并利用仿真仪器观察RLC电路的频率特性3.通过EWB仿真,观察RC电路的暂态过程及微分电路和积分电路的工作波形二、实验内容与步骤1.RC暂态电路观察并记录电路的充电、放电波形,测量充电时间常数和放电时间常数(1)Timebase=0.5s/div, ChannelA=5V/Div, ChannelB=5V/Div放电常数=200ms,充电常数=1.17s改变电路参数,观察时间常数对电容充放电波形的影响。

(2)Timebase=1.00s/ds, ChannelA=5V/Div, ChannelB=5V/Div(增大Timebase)放电常数=200ms,充电常数=1.15s(3)Timebase=0.2s/dv, ChannelA=5V/Div, ChannelB=5V/Div(减小Timebase)放电常数=205ms,充电常数=1.27s(4)Timebase=0.5s/dv, ChannelA=10V/Div, ChannelB=5V/Div(增大ChannelA)放电常数=220ms,充电常数=1.27s(5)Timebase=0.5s/dv, ChannelA=2V/Div, ChannelB=5V/Div(减小ChannelA)放电常数=220ms,充电常数=1.27s2. 微分电路观察并记录微分电路的输入、输出电压波形,标出输出脉冲的周期和幅值。

输出脉冲的周期=1.0000.ms幅值V1=10.0000V,V2=7.0765V3.积分电路观察并记录积分电路的输入、输出电压波形,标出输出波形的最大值和最小值。

波形VB最大值=6.1940V,周期1.0000ms4.单相交流RLC串联电路电路截图:(输出频率3kHz—6kHz)(1)在谐振曲线上读出谐振频率f0,下限截止频率f L和上限截止频率f H,并计算谐振电路的通频带F0=4.260kHz fl=4.116kHz f2=4.391kHz通频带f=0.131kHz谐振曲线:(2) 改变电阻R=100 ,观察幅频特性的变化,再读出谐振频率f0、下限截止频率f L和上限截止频率f H,计算通频带。

电路仿真实验报告

实验1 叠加定理的验证一、电路图二、实验步骤1.原理图编辑:分别调出接地符、电阻R1、R2、R3、R4,直流电压源、直流电流源,电流表电压表(注意电流表和电压表的参考方向),并按上图连接;2.设置电路参数:电阻R1=R2=R3=R4=1Ω,直流电压源V1为12V,直流电流源 I1为 10A。

3.实验步骤:1)、点击运行按钮记录电压表电流表的值U1和I1;2)、点击停止按钮记录,将直流电压源的电压值设置为0V,再次点击运行按钮记录电压表电流表的值U2和I2;3)、点击停止按钮记录,将直流电压源的电压值设置为12V,将直流电流源的电流值设置为0A,再次点击运行按钮记录电压表电流表的值U3和I3;根据电路分析原理,解释三者是什么关系并在实验报告中验证原理。

三、实验数据:四、实验数据处理:U2 + U3 = + = = U3I2 + I3 = + = = I1五、实验结论:由电路分析叠加原理知:由线性电路、线性受控源及独立源组成的电路中,每一元件的电流或电压可以看成是每一个独立源单独作用时,在该元件上产生的的电流或电压的代数和。

本次实验中,第一组各数据等于第二组与第三组各对应实验数据之和,与叠加原理吻合,验证了叠加原理的正确性,即每一元件的电流或电压可以看成是每一个独立源单独作用时,在该元件上产生的的电流或电压的代数和。

实验2 并联谐振电路仿真一、电路图:二、实验步骤:1.原理图编辑:分别调出接地符、电阻R1、R2,电容C1,电感L1,信号源V1,并按上图连接;2.设置电路参数:将交流分析量值设置为5V,电压源V1设置为5V,频率设为500Hz,设置电阻R1=10Ω,电阻R2=2KΩ,电感L1=,电容C1=40uF。

并如图所示对电容上方的线名称改为“out”。

3.分析参数设置:(1)AC分析①类型设置仿真→分析→交流分析。

②参数设置起始频率设为1Hz,停止频率设为100MHz,扫描类型为十倍频程,每十倍频程点数设为10,垂直刻度设为线性,其他保持默认,单击“确定”。

电路仿真实验报告

电路仿真MATLAB实验报告班级:学号:姓名:学院:实验一直流电路(1)一、实验目的1、加深对直流电路的节点电压法和网孔电流法的理解2、学习使用MATLAB的矩阵运算的方法二、实验示例1、节点分析电路如图所示(见书本12页),求节点电压V1,V2,V3.根据电路图得到矩阵方程,根据矩阵方程使用matlab命令为Y =0.1500 -0.1000 -0.0500-0.1000 0.1450 -0.0250-0.0500 -0.0250 0.0750节点v1,v2和v3:v =404.2857350.0000412.85712、回路分析电路如图所示(见书本13页),使用解析分析得到同过电阻RB的电流,另外求10V电压源的输出功率。

分析电路得到节点方程,根据节点方程得到矩阵方程,根据矩阵方程,使用matlab的命令为z=[40,-10,-30;-10,30,-5;-30,-5,65];v=[10,0,0]';I=inv(z)*v;IRB=I(3)-I(2);fprintf('the current through R is %8.3f Amps \n',IRB)ps=I(1)*10;fprintf('the power supplied by 10v source is %8.4f watts\n',ps)结果为:the current through R is 0.037 Ampsthe power supplied by 10V source is 4.7531 watts三、实验内容1 根据书本15页电路图,求解电阻电路,已知:R1=2Ω,R2=6Ω,R3=12Ω,R4=8Ω,R5=12Ω,R6=4Ω,R7=2Ω如果Us=10V,求i3,u4,u7如果U4=4V,求Us,i3,i7使用matlab命令为clear% 初始化阻抗矩阵Z=[20 -12 0;-12 32 -12;0 -12 18];% 初始化电压矩阵V=[10 0 0]';% 解答回路电流I=inv(Z)*V;% I3的计算I3=I(1)-I(2);fprintf('the current I3 is %8.2f Amps\n',I3) % U4的计算U4=8*I(2);fprintf('the voltage U4 is %8.2f Vmps\n',U4) % U7的计算U7=2*I(3);fprintf('the voltage U7 is %8.2f Vmps\n',U7)结果the current I3 is 0.36 Ampsthe voltage U4 is 2.86 Vmpsthe voltage U7 is 0.48 Vmpsclear% 初始化矩阵XX=[20 -1 0;-12 0 -12;0 0 18];% 初始化矩阵YY=[6 -16 6]';% 进行解答A=inv(X)*Y;% 计算各要求量Us=A(2)I3=A(1)-0.5I7=A(3)结果Us = 14.0000I3 = 0.5000I7 =0.33332 求解电路里的电压如图1-4(书本16页),求解V1,V2,V3,V4,V5使用matlab命令为clear% 初始化节点电压方程矩阵Z=[0.725 -0.125 -0.1 -5 -1.25;-0.1 -0.2 0.55 0 0;-0.125 0.325 -0.2 0 1.25;1 0 -1 -1 0;0 0.2 -0.2 0 1];I=[0 6 5 0 0]';% 解答节点电压U1,U3,U4与Vb,IaA=inv(Z)*I;% 最终各电压计算V1=A(1)V2=A(1)-10*A(5)V3=A(2)V4=A(3)V5=24结果V1 =117.4792V2 = 299.7708V3 =193.9375V4 =102.7917V5 = 243、如图1-5(书本16页),已知R1=R2=R3=4Ω,R4=2Ω,控制常数k1=0.5,k2=4,is=2A,求i1和i2.使用matlab命令为clear% 初始化节点电压方程矩阵Z=[0.5 -0.25 0 -0.5;-0.25 1 -1 0.5;0 0.5 0 -1;1 -1 -4 0];I=[2 0 0 0]';% 解答节点电压V1,V2及电流I1,I2A=inv(Z)*I;% 计算未知数V1=A(1)V2=A(2)I1=A(3)I2=A(4)结果如下:V1 =6V2 =2I1 = 1I2 =1实验二直流电路(2)一、实验目的1、加深多戴维南定律,等效变换等的了解2、进一步了解matlab在直流电路中的作用二、实验示例如图所示(图见书本17页2-1),分析并使用matlab命令求解为clear,format compactR1=4;R2=2;R3=4;R4=8;is1=2;is2=0.5;a11=1/R1+1/R4;a12=-1/R1;a13=-1/R4;a21=-1/R1;a22=1/R1+1/R2+1/R3;a23=-1/R3;a31=-1/R4;a32=-1/R3;a33=1/R3+1/R4;A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];B=[1,1,0;0,0,0;0,-1,1];X1=A\B*[is1;is2;0];uoc=X1(3);X2=A\B*[0;0;1];Req=X2(3);RL=Req;P=uoc^2*RL/(Req+RL)^2;RL=0:10,p=(RL*uoc./(Req+RL)).*uoc./(Req+RL),figure(1),plot(RL,p),gridfor k=1:21ia(k)=(k-1)*0.1;X=A\B*[is1;is2;ia(k)];u(k)=X(3);endfigure(2),plot(ia,u,'x'),gridc=polyfit(ia,u,1);%ua=c(2)*ia=c(1) , 用拟合函数术,c(1),c(2)uoc=c(1),Req=c(2) RL =0 1 2 3 4 5 6 7 8 9 10 p =Columns 1 through 70 0.6944 1.0204 1.1719 1.2346 1.2500 1.2397Columns 8 through 111.2153 1.1834 1.1480 1.1111A 、功率随负载变化曲线 B.电路对负载的输出特性0123456789100.20.40.60.811.21.400.20.40.60.81 1.2 1.4 1.6 1.82三、实验内容1、图见书本19页2-3,当RL从0改变到50kΩ,校验RL为10kΩ的时候的最大功率损耗使用matlab命令为clear% 定义电压源和电阻值Us=10;Rs=10000;RL=0:20000;p=(Us^2.*RL)./(RL+Rs).^2;plot(RL,p);输出结果为Maximum power occur at 10000.00hmsMaximum power dissipation is 0.0025Watts2、在图示电路里(书本20页2-4),当R1取0,2,4,6,10,18,24,42,90和186Ω时,求RL 的电压UL,电流IL 和RL 消耗的功率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及接口技术电路仿真实验报告实验一:独立式键盘与LED显示示例例4—17:功能:数码管的数据端与P0口引脚采用正序,试编写程序,分别实现功能:上电后数码管显示“P”,按下任何键后,显示从“0”开始每隔1秒加1,加至“F”后,数码管显示“P”,进入等待按键状态。

Keil编程:电路图:初始状态时:3秒后:程序:TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,#5FHMOV P0,#8CHMOV P3,#0FFH NOKEY:MOV A,P3CPL AJZ NOKEYMOV TEMP,P3CALL D10msMOV A,P3CJNEA,TEMP,NOKEYMOV R7,#16MOV R2,#0LOOP:MOV A,R2MOVDPTR,#CODE_P0MOVCA,@A+DPTRMOV P0,AINC R2SETB RS0CALL D_1SCLR RS0DJNZ R7,LOOPJMP STARTD_1S:MOV R6,#100D10:CALL D10msDJNZ R6,D10RETD10ms:MOV R5,#10D1ms:MOV R4,#249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P0:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND例4—18:功能:执行程序时,先显示“P”1、按键K0按下后,数码管显示拨动开关S3~S0对应的十进制值;2、按键K1按下后,P0口数码管显示拨动开关S3~S0对应的十六进制值;3、按键K2按下后,P2口数码管显示拨动开关S3~S0对应的十六制值;4、按键K3按下后,数码管显示拨动开关S3~S0状态对应的ASCII码。

Keil编程:电路图:K0按下,S0~S3闭合时:K1按下,S0~S3闭合:K2按下,S0~S3闭合:K3按下,S0~S3闭合:程序:ORG 0000HJMP STARTORG 0100H START:MOV SP,#5FHMOV P0,#8CHMOV P3,#0FFH KEY0:JB P3.0,KEY1CALL D10msJNB P3.0,$MOV A,P3CPL AANL A,#0F0HSWAP ADA APUSH ACCANL A,#0FHMOV DPTR,#CODE_P2MOVC A,@A+DPTRMOV P2,APOP ACCANL A,#0F0HSWAP AMOV DPTR,#CODE_P0MOVC A,@A+DPTRMOV P0,AJMP KEY0KEY1:JB P3.1,KEY2CALL D10msJNB P3.1,$MOV A,P3CPL AANL A,#0F0HMOV DPTR,#CODE_P0MOVC A,@A+DPTRMOV P0,AMOV P2,#0FFHJMP KEY0KEY2:JB P3.2,KEY3CALL D10msJNB P3.2,$MOV A,P3CPL AANL A,#0F0HSWAP AMOV DPTR,#CODE_P2MOVC A,@A+DPTRMOV P2,AMOV P0,#0FFHJMP KEY0KEY3:JB P3.3,KEY0CALL D10msJNB P3.3,$MOV A,P3CPL AANL A,#0F0HSWAP APUSH ACCCLR CSUBB A,#0AHPOP ACCJC LPLP:ADD A,#30HPUSH ACCANL A,#0FHMOV DPTR,#CODE_P2MOVC A,@A+DPTRMOV P2,APOP ACCANL A,#0F0HSWAP AMOV DPTR,#CODE_P0MOVC A,@A+DPTRMOV P0,AJMP KEY0D10ms:MOV R5,#10D1ms:MOV R4,#249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P0:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H,86H,8EHCODE_P2:DB03H,9FH,25H,0DH,99H,49H,40H,1FHDB01H,09H,11H,0C1H,63H,85H,61H,71HEND实验二:矩阵式键盘与LED显示示例例4—19功能:执行程序时,在P0口数码管显示“P”,然后根据所按的按键在P2口数码管显示对应十六进制键号。

Keil编程:电路图:按下开关7时:按下开关B时:程序:LNUM EQU 30HORG 0000HJMP STARTORG 0100H START:MOV SP,#5FHMOV LNUM,#4MOV P0,#8CHCLR F0ST1:CALL MAKEYJNB F0,ST1ANL A,#0FHMOV DPTR,#CODE_P2MOVC A,@A+DPTRMOV P2,AJMP START MAKEY:CALL KEYHNJNZ HAVEJMP NRET HAVE:CALL D10msCALL KEYHNJNZ TRUEJMP NRET TRUE:MOV R1,#0EFHMOV R4,#0 SCAN:MOV A,R1MOV P1,AMOV A,P1JB ACC.0,L1MOV A,#0JMP KEYNUML1:JB ACC.1,L2MOV A,#4JMP KEYNUML2:JB ACC.2,L3MOV A,#8JMP KEYNUML3:JB ACC.3,NEXTMOV A,#0CHKEYNUM:ADD A,R4PUSH ACCUPKEY:CALL KEYHNJNZ UPKEYPOP ACCSETB F0JMP HRETNRET:CLR F0HRET:RETNEXT:INC R4MOV A,R1DJNZ LNUM,NDONEJMP NRETNDONE:RL AMOV R1,AJMP SCANKEYHN:MOV P1,#0FHMOV A,P1CPL AANL A,#0FHRETD10ms:MOV R5,#10D1ms:MOV R4,#249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P2:DB03H,9FH,25H,0DH,99H,49H,40H,1FHDB01H,09H,11H,0C1H,63H,85H,61H,71HEND例4—20功能:执行程序时,在P0口数码管显示“P”,然后根据所按的按键在P2口数码管显示对应十六进制键号。

Keil编程:电路图:开关5按下时:开关C按下时:程序:ORG 0000HJMP MAINORG 0100H MAIN:MOV SP,#5FHMOV P0,#8CHCLR F0ST1:CALL MAKEYJNB F0,ST1MOV A,R3MOV DPTR,#CODE_P2MOVC A,@A+DPTRMOV P2,AJMP MAIN MAKEY:CALL KEYHNJNZ HAVEJMP NRET HAVE:CALL D10msCALL KEYHNJNZ TRUEJMP NRET TRUE:CPL AANL A,#0FHMOV B,AMOV P1,#0F0HMOV A,P1ANL A,#0F0HKEYNUM:ORL B,AMOVDPTR,#KEY_TABMOV R3,#0SCTAB:MOV A,R3MOVC A,@A+DPTRCJNE A,B,NEXTPUSH ACCUPKEY:CALL KEYHNJNZ UPKEYPOP ACCSETB F0JMP HRETNRET:CLR F0HRET:RETNEXT:INC R3JMP SCTABKEYHN:MOV P1,#0FHMOV A,P1CPL AANL A,#0FHRETD10ms:MOV R5,#10D1ms:MOV R4,#249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETKEY_TAB:DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DHDB0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77HCODE_P2:DB03H,9FH,25H,0DH,99H,49H,40H,1FHDB01H,09H,11H,0C1H,63H,85H,61H,71HEND。

相关文档
最新文档