📄 ex.ini
字号:
实验定义 = {
名称 = "硬件实验十一 外部中断实验"
芯片 = 51
连线 = {
{11, 0, 25, 0},
{18, 2, 11,10}
}
要求 = {
用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。
}
目的 = {
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
}
说明 = {
中断服务程序的关键是:
1. 保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2. 必须在中断程序中设定是否允许中断重入,即设置EXO位。
3. 对于80C196,要选择相应的中断源,并设置中断屏蔽寄存器的相应位。
本例中使用了INTO中断(80C196为EXTINT中断),一般中断程序进入时
应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程
序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
INTO(P32)端(80C196为EINT端)接单次脉冲发生器。
P1.0接LED灯,以查看信号反转.
}
电路 = "DL11.JPG"
框图 = "KT11.JPG"
程序 = "H11.PRJ"
}
实验定义 = {
名称 = "硬件实验十一 外部中断实验"
芯片 = 96
连线 = {
{11,13, 25, 0},
{18, 2, 11, 3}
}
要求 = {
用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。
}
目的 = {
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
}
说明 = {
中断服务程序的关键是:
1. 保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2. 必须在中断程序中设定是否允许中断重入,即设置EXO位。
3. 对于80C196,要选择相应的中断源,并设置中断屏蔽寄存器的相应位。
本例中使用了INTO中断(80C196为EXTINT中断),一般中断程序进入时
应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程
序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
INTO(P32)端(80C196为EINT端)接单次脉冲发生器。
P1.0接LED灯,以查看信号反转.
}
电路 = "DL11.JPG"
框图 = "KT11.JPG"
程序 = "H11.PRJ"
}
实验定义 = {
名称 = "硬件实验十二 定时器实验"
芯片 = 51
连线 = {
{11, 0, 25, 0}
}
要求 = {
用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.
}
目的 = {
1、学习8031内部计数器的使用和编程方法。
2、进一步掌握中断处理程序的编程方法。
}
说明 = {
1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器
的设置。内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器。
2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还
是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并
控制定时器的运行或停止等。
3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的
长度是12个振荡器周期。因为实验系统的晶振是6MHZ,本程序工
作于方式2,即8位自动重装方式定时器, 定时器100us中断一次,
所以定时常数的设置可按以下方法计算:
机器周期 = 12÷6MHZ=2uS
(256-定时常数)×2uS=100us
定时常数=206. 然后对100us中断次数计数10000次,就是1秒钟.
4、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的
运行起到关键作用,所以在置数前要先关对应的中断,置数完之后
再打开相应的中断。
5、对于80C196,与定时器有关的寄存器为IOC1.2和INT-MASK。IOC1.2
为定时器1溢出中断允许/禁止位。INT-MASK的第0位为定时器溢出屏蔽位。
6、对于80C196,在设置中断定时常数时,要注意先设置窗口寄存器WSR,
设置完常数后,再恢复原WSR值。
}
电路 = "DL12.JPG"
框图 = "KT12.JPG"
程序 = "H12.PRJ"
}
实验定义 = {
名称 = "硬件实验十二 定时器实验"
芯片 = 96
连线 = {
{11,13, 25, 0}
}
要求 = {
用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.
}
目的 = {
1、学习8031内部计数器的使用和编程方法。
2、进一步掌握中断处理程序的编程方法。
}
说明 = {
1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器
的设置。内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器。
2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还
是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并
控制定时器的运行或停止等。
3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的
长度是12个振荡器周期。因为实验系统的晶振是6MHZ,本程序工
作于方式2,即8位自动重装方式定时器, 定时器100us中断一次,
所以定时常数的设置可按以下方法计算:
机器周期 = 12÷6MHZ=2uS
(256-定时常数)×2uS=100us
定时常数=206. 然后对100us中断次数计数10000次,就是1秒钟.
4、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的
运行起到关键作用,所以在置数前要先关对应的中断,置数完之后
再打开相应的中断。
5、对于80C196,与定时器有关的寄存器为IOC1.2和INT-MASK。IOC1.2
为定时器1溢出中断允许/禁止位。INT-MASK的第0位为定时器溢出屏蔽位。
6、对于80C196,在设置中断定时常数时,要注意先设置窗口寄存器WSR,
设置完常数后,再恢复原WSR值。
}
电路 = "DL12.JPG"
框图 = "KT12.JPG"
程序 = "H12.PRJ"
}
实验定义 = {
名称 = "硬件实验十三 D/A转换实验"
芯片 = 51, 96, 88
连线 = {
{7, 0, 4, 2}
}
要求 = {
利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波轮流显示,
用示波器观看。
}
目的 = {
1、了解D/A转换的基本原理。
2、了解D/A转换芯片0832的性能及编程方法。
3、了解单片机系统中扩展D/A转换的基本方法。
}
说明 = {
1、D/A转换是把数字量转换成模拟量的变换,实验台上D/A电路输出的
是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波
形的表格,然后通过查表来实现波形显示。
2、产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注
意三角波要分段来产生。要产生正弦波,较简单的方法是造一张正
弦数字量表。即查函数表得到的值转换成十六进制数填表。
D/A转换取值范围为一个周期,采样点越多,精度越高些。本例采用
的采样点为256点/周期。
3、8位D/A转换器的输入数据与输出电压的关系为
U(0∽-5V)=Uref/256×N
U(-5V∽+5V)=2·Uref/256×N-5V (这里 Uref为+5V)
}
电路 = "DL13.JPG"
框图 = "KT13.JPG"
程序 = "H13.PRJ"
}
实验定义 = {
名称 = "硬件实验十四 A/D转换实验"
芯片 = 51, 96, 88
连线 = {
{ 8, 0, 15, 0},
{ 8, 2, 4, 0},
; { 8, 3, 11, 10},
{10,24, 4, 1},
{10, 0, 25, 0},
{10, 1, 25, 1},
{10, 2, 25, 2},
{10, 3, 25, 3},
{10, 4, 25, 4},
{10, 5, 25, 5},
{10, 6, 25, 6},
{10, 7, 25, 7}
}
要求 = {
利用实验板上的ADC0809做A/D转换器,实验板上的电位器提
供模拟量输入,编制程序,将模拟量转换成二进制数字量,
用8255的PA口输出到发光二极管显示。
}
目的 = {
1、掌握A/D转换与单片机的接口方法。
2、了解A/D芯片ADC0809转换性能及编程。
3、通过实验了解单片机如何进行数据采集。
}
说明 = {
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,
抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,
精度,速度,价格适中;三是并行A/D转换器,速度快,价格
也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采
集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,
也可以用中断方式读入结果,在中断方式下,A/D转换结束后会
自动产生EOC信号,将其与CPU的外部中断相接,有兴趣的同学
可以试试编程用中断方式读回A/D结果.
}
电路 = "DL14.JPG"
框图 = "KT14.JPG"
程序 = "H14.PRJ"
}
实验定义 = {
名称 = "硬件实验十五 外部中断(急救车与交通灯)"
芯片 = 51
连线 = {
{11, 0, 25, 0},
{11, 1, 25, 1},
{11, 2, 25, 2},
{11, 3, 25, 3},
{11, 4, 25, 4},
{11, 5, 25, 5},
; {10, 6, 25, 6},
; {10, 7, 25, 7},
{18, 2, 11,10}
}
要求 = {
本实验模拟交通信号灯控制,一般情况下正常显示,有
急救车到达时,两个方向交通信号灯全红,以便让急救
车通过。设急救车通过路口时间为10秒,急救车通过后,
交通恢复正常,本实验用单次脉冲申请外部中断,表示
有急救车通过。
}
目的 = {
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
}
说明 = {
中断服务程序的关键是:
1、保护进入中断时的状态,并在退出中断之前恢复进入
时的状态。
2、必须在中断程序中设定是否允许中断重入,即设置EXO位。
本例中使用了INTO中断(80C196为EINT中断),一般中断
程序进入时应保护PSW,ACC以及中断程序使用但非其专用
的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器
并且在退出前恢复了这三个寄存器。另外中断程序中涉及
到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
对于8051CPU 外部中断由INTO(P32)端接入。对于80C196
CPU外部中断由EINT接入。中断信号由单次脉冲发生器产生。
对中断的处理可参见硬件实验十一, 本实验提供了用8255
的PA口和用单片机的I/O端口控制交通信号灯两种方法,
其中196用8255,51用P1口,可以互相参考51和196的程序。
}
电路 = "DL15.JPG"
框图 = "KT15.JPG"
程序 = "H15.PRJ"
}
实验定义 = {
名称 = "硬件实验十五 外部中断(急救车与交通灯)"
芯片 = 96
连线 = {
{10, 24, 4, 0},
{10, 0, 25, 0},
{10, 1, 25, 1},
{10, 2, 25, 2},
{10, 3, 25, 3},
{10, 4, 25, 4},
{10, 5, 25, 5},
; {10, 6, 25, 6},
; {10, 7, 25, 7},
{18, 2, 11, 3}
}
要求 = {
本实验模拟交通信号灯控制,一般情况下正常显示,有
急救车到达时,两个方向交通信号灯全红,以便让急救
车通过。设急救车通过路口时间为10秒,急救车通过后,
交通恢复正常,本实验用单次脉冲申请外部中断,表示
有急救车通过。
}
目的 = {
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
}
说明 = {
中断服务程序的关键是:
1、保护进入中断时的状态,并在退出中断之前恢复进入
时的状态。
2、必须在中断程序中设定是否允许中断重入,即设置EXO位。
本例中使用了INTO中断(80C196为EINT中断),一般中断
程序进入时应保护PSW,ACC以及中断程序使用但非其专用
的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器
并且在退出前恢复了这三个寄存器。另外中断程序中涉及
到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
对于8051CPU 外部中断由INTO(P32)端接入。对于80C196
CPU外部中断由EINT接入。中断信号由单次脉冲发生器产生。
对中断的处理可参见硬件实验十一, 本实验提供了用8255
的PA口和用单片机的I/O端口控制交通信号灯两种方法,
其中196用8255,51用P1口,可以互相参考51和196的程序。
}
电路 = "DL15.JPG"
框图 = "KT15.JPG"
程序 = "H15.PRJ"
}
实验定义 = {
名称 = "硬件实验十五 外部中断(急救车与交通灯)"
芯片 = 88
连线 = {
{10, 24, 4, 0},
{10, 0, 25, 0},
{10, 1, 25, 1},
{10, 2, 25, 2},
{10, 3, 25, 3},
{10, 4, 25, 4},
{10, 5, 25, 5}
; {10, 6, 25, 6},
; {10, 7, 25, 7},
; {18, 2, 11,10}
}
要求 = {
本实验模拟交通信号灯控制,一般情况下正常显示,有
急救车到达时,两个方向交通信号灯全红,以便让急救
车通过。设急救车通过路口时间为10秒,急救车通过后,
交通恢复正常,本实验用单次脉冲申请外部中断,表示
有急救车通过。
}
目的 = {
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
}
说明 = {
中断服务程序的关键是:
1、保护进入中断时的状态,并在退出中断之前恢复进入
时的状态。
2、必须在中断程序中设定是否允许中断重入,即设置EXO位。
本例中使用了INTO中断(80C196为EINT中断),一般中断
程序进入时应保护PSW,ACC以及中断程序使用但非其专用
的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器
并且在退出前恢复了这三个寄存器。另外中断程序中涉及
到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
对于8051CPU 外部中断由INTO(P32)端接入。对于80C196
CPU外部中断由EINT接入。中断信号由单次脉冲发生器产生。
对中断的处理可参见硬件实验十一, 本实验提供了用8255
的PA口和用单片机的I/O端口控制交通信号灯两种方法,
其中196用8255,51用P1口,可以互相参考51和196的程序。
}
电路 = "DL15.JPG"
框图 = "KT15.JPG"
程序 = "H15.PRJ"
}
实验定义 = {
名称 = "硬件实验十六 八段数码管显示"
芯片 = 51, 96, 88
连线 = {
{13, 10, 4, 0}
}
要求 = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -