第三章实验项目实验一实验箱仿真器使用及单片机I/O口编程一、实验目的1.熟悉伟福Lab2000P单片机实验箱仿真器的使用方法。
2. 掌握单片机的指令系统及上机实验过程。
3.掌握源程序的程序调试方法(包括断点设置、单步执行、连续执行等)及通过相应的窗口查看寄存器、存储器内容等方法。
4.掌握单片机的I/O口的特点及应用,如P1口进行数据输入、输出的编程方法。
5.学习延时子程序的编写与使用。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机实验仪一台; 2.PC机一台四、实验原理及要求1.阅读所购实验指导书前置实验箱的硬件及附录A中相关部分资料,了解伟福Lab2000P单片机实验仪的键盘和软件调试环境的使用方法。
2.阅读/编写本实验中的相关程序,写出相关程序,观察实验运行结果。
五、实验内容及步骤实验内容内容1 输入给定的或自己编写的简单程序,通过软仿真学习汇编程序调试方法;内容2 通过实验箱的P1口连接八个发光二极管,使之左移循环闪烁;内容3(选做)通过实验箱的P1口连接四个发光二极管及按键S0、S1,当S0按下,四个发光二极管左移循环闪烁;当S1按下,四个发光二极管右移循环闪烁。
实验步骤(注实验内容1无须步骤1;实验内容2的程序须自己设计)1.PC机-仿真器-目标板(用户板)的连接认真阅读仿真器实验说明,了解仿真器、仿真头上插座、插头的用途及形状,跳线含义及设置,完成“PC机-仿真器-目标板(用户板)的连接”。
2.汇编语言源程序编辑、运行、调试①双击计算机桌面上的伟福图标,打开伟福软件模拟器,进入集成调试环境,学习菜单栏的使用以及各个窗口的作用和操作方法。
②选择File---New,打开文件窗口,在此窗口中分别输入如下程序:(1)MOV A,#45HMOV SP,#60HPUSH ACPL AXCH A,61HPOP 30HSJMP $A= SP= (30H)= (61H)=(2)MOV A,#74HMOV B,#21HMUL ABSJMP $ A= B=(3) MOV A,#23HMOV R7,#98HRL AADD A,R7DA ASJMP $ A= R7=(4) MOV R0,#30HMOV R5,#05HMOV B,R5CLR AUP:ADD A,@R0INC R0DJNZ R5,UPDIV ABSJMP $ A= B= R0= R5=在30H----34H单元输入数据(5)MOV B,#55HMOV R1,#40HMOV A,@R1JNB ACC.7,NEXTXRL A,#0FFHNEXT:INC R1MOV @R1,BSJMP $ A= B= R1= (41H)=在40H单元中输入数据③选择File---Save,保存文件,文件必须以*.ASM存盘④选择项目---编译,将汇编语言源程序转换成机器语言目标程序⑤选择窗口---CPU窗口---数据窗口---DATA---XDA TA⑥选择运行---单步,单步运行程序,直到最后一条指令,观察窗口内容实验结果填入空中。
六实验箱连线如下表七、注意事项1.仿真软件安装及操作仿真软件也称为汇编器。
仿真器只有在仿真软件的支持下才能完成源程序的编辑(目前多数仿真软件均为具有源程序编辑功能)、汇编(编译)、运行及调试。
仿真软件功能强弱直接关系到单片机应用系统的开发效率。
一套功能齐全、性能良好、符合用户操作习惯的单片机开发系统,会使单片机开赴项目由难变易、由繁变简、由不可能到可能,收到事半功倍的效果。
不同仿真开发软件的功能、操作方式不尽相同,用户只能依据开发商提供的《使用说明书》或《用户指南》来安装、操作仿真开发软件。
2. P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
有准双向口结构可知当P1口作为输入口时,必须对它先置“1”。
否则输入不正确。
3.通过改变延时时间来改变发光二极管循环闪烁(点亮)时间。
八、思考题实验二中断实验一、实验目的1.掌握8051中断系统及中断程序结构;2. 掌握8051中断相关的特殊功能寄存器的使用方法;3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机仿真器、实验箱各一台(套); 2.PC机一台四、实验内容1. 功能要求,在主程序中将与P1口驱动的8个LED发光二极管做左移循环闪烁(7灭1亮),当有中断请求时(连接在0INT引脚上的按键来模拟)使8个LED发光二极管闪烁6次。
2.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
注:(1) fosc=12 MHz(2) 实验内容的1、3项必做,2、4项选做。
五、实验步骤:(略)六、问题与思考1.中断服务子程序与子程序调用有何不同?2.中断响应的条件?3.中断服务子程序的内容一般应包括哪几部分?4. 如果需测量管脚 INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?结合一个实验内容编程。
6图5-8 例5-1 中断服务程序流程图图5-7 例5-1 主程序流程图实验三定时器/计数器实验一、实验目的1.掌握定时器/计数器的工作原理及8031定时器/计数器的使用方法;2. 掌握8031中断系统及中断程序结构;3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机仿真器、实验箱各一台(套); 2.PC机一台四、实验内容1.利用8031定时器的中断方式(T0或T1,下同),产生400Hz的音频信号(方波),通过P1口(某一位)驱动蜂鸣器响。
2.添加两个按键,K1键(接P3.0)、K2键(接P3.0),实现以下功能: K1键按下时,通过定时器的中断方式,通过P1口(某一位)驱动蜂鸣器响(频率自定);K2键按下时,使蜂鸣器不响。
3.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
4.8031内部定时/计数器T0,按计数器模式下的方式1工作,对P3.4引脚的脉冲个数(接至实验箱上的负脉冲按钮)进行计数。
将其数值按二进制数通过P1口驱动的4个发光二极管的状态反映(记录)(初始状态时,该4个发光二极管全灭)。
注:(1) fosc=12 MHz(2) 实验内容的1、3项必做,2、4项选做。
五、实验步骤:(略)六、问题与思考1.中断服务子程序与子程序调用有何不同?2.中断响应的条件?3.中断服务子程序的内容一般应包括哪几部分?4. 如果需测量管脚 INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?结合一个实验内容编程。
6.利用定时器如何产生秒脉冲?实验四定时器/计数器及中断实验一、实验目的1.掌握定时器/计数器的工作原理及8031定时器/计数器的使用方法;2. 掌握8031中断系统及中断程序结构;3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机仿真器、实验箱各一台(套); 2.PC机一台四、实验内容1.利用8031定时器的中断方式(T0或T1,下同),产生400Hz的音频信号(方波),通过P1口(某一位)驱动蜂鸣器响。
2.添加两个按键,K1键(接P3.0)、K2键(接P3.0),实现以下功能: K1键按下时,通过定时器的中断方式,通过P1口(某一位)驱动蜂鸣器响(频率自定);K2键按下时,使蜂鸣器不响。
3.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
4.8031内部定时/计数器T0,按计数器模式下的方式1工作,对P3.4引脚的脉冲个数(接至实验箱上的负脉冲按钮)进行计数。
将其数值按二进制数通过P1口驱动的4个发光二极管的状态反映(记录)(初始状态时,该4个发光二极管全灭)。
注:(1) fosc=12 MHz(2) 实验内容的1、3项必做,2、4项选做。
五、实验步骤:(略)六、问题与思考1.中断服务子程序与子程序调用有何不同?2.中断响应的条件?3.中断服务子程序的内容一般应包括哪几部分?4. 如果需测量管脚 INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?结合一个实验内容编程。
6.利用定时器如何产生秒脉冲?实验五串行通讯实验一、实验目的1.掌握串行通讯的工作原理及8031单片机串行接口的使用方法;2. 掌握8031单片机串行接口结构;3. 掌握通过查询或中断方法实现数据通讯;4. 进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机仿真器、实验箱各一台(套); 2.PC机一台四、实验内容1.单机通讯(自发自收方式)利用8031的串行口,把单片机内部RAM中以30H为首地址的数据,共16个字节,通过自发自收方式传送,使接收到的数据存放到以50H为首地址的单片机内部RAM中(要求采用累加和校验方式)。
注:自发自收是指单片机自己发送数据,自己接收数据。
具体体现在硬件上,把单片机的TXD(P3.1)引脚连接到其RXD(P3.0)引脚即可。
2.双机通讯(两台实验装置)通过RS-232协议,把甲机内部RAM中以30H为首地址的数据,共16个字节,发送到乙机,乙机接收到的数据存放到以50H为首地址的内部RAM中(要求采用累加和校验方式)。
注:(1) fosc=12 MHz(2) 实验内容1项必做,2选做。
五、实验步骤:(略)六、问题与思考1. 单片机串行通讯中TI、RI位为1表示什么意义?该位为何必须通过软件清零?2. 串行通讯中校验方式有哪些方法?3. 单片机串行通讯中的波特率如何设置?4. 异步通讯与同步通讯各有何特点?实验六汇编程序设计实验七八段码动态显示实验一、实验目的1.掌握八段码LED数码管动态显示原理及驱动程序设计方法;2. 掌握8031并行接口扩展设计方法;3. 熟悉8031与外部信息交换方式。
二、实验属性(验证性)三、实验仪器设备及器材1.伟福Lab2000P单片机仿真器、实验箱各一台(套); 2.PC机一台四、实验内容1.利用伟福实验箱上的不可编程接口芯片组成的6位(个)八段码LED数码管动态显示硬件电路,显示自己学号的后六位。