当前位置:文档之家› 单片机实验指导书2

单片机实验指导书2

MCS51单片机原理及应用实验指导书唐山学院信息工程系单片机实验室2008年9月实验一 P1口实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写和使用;3.学习单片机实验系统的使用方法和程序的调试方法。

二、实验题目1.P1口做输出口,接八只发光二极管,编写程序,使其循环点亮。

2.P1口低四位接四只发光二极管L1-L4, P1口高四位接开关K1-K4,编写程序,将开关的状态在发光二极管上显示出来。

三、实验原理说明P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。

延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

如果系统晶振为6.144MHz,则一个机器周期为12/6.144μs即1/0.512μs。

现要编写一个延时0.1s的程序,可以大致写出如下:MOV R7, #200DE1: MOV R6, #XDE2: DJNZ R6, DE2DJNZ R7, DE1上面 MOV、DJNZ指令均为两个机器周期,所以执行一条指令需要1/0.256us, 现求出X值:(X*1÷0.256+1÷0.256+1÷0.256)*200+1÷0.256=0.1*106指令3 指令2 指令4 指令1计算出X=126,代入上式可知实际延时约为0.100004s。

四、连线方法题目1:8031的P1.0—P1.7分别接发光二极管L1—L8题目2:P1口的P1.0—P1.3接L1-L4,P1口的P1.4—P1.7接K1-K4五、实验电路66图1-1 题目1 图1-2 题目2 六、实验步骤:(1) 先通过MS-DOS 方式进入DOS ,然后键入E:<回车>,再键入CD\MCS51<回车>,进入MCS51文件夹。

(2) 编写程序键入EDIT<回车〉。

EDIT 是DOS 下的全屏幕编辑软件,程序编写完毕,注意存盘后返回DOS ,文件名.ASM. (3) 编译程序,键入A51 文件名《回车》 ,注意只输入文件名,不要加后缀ASM.(4) 查错编译完成后,如果程序有错误,在屏幕的第一行显示错误的数量,如 3 error found 表示程序有三处错误。

如果程序没有错误,编译后,显示 no error found 。

有错误,键入EDIT 文件名.LST 查看错误的位置,然后,打开并修改源程序。

直到编译后显示无错误为止。

(5) 调试程序键入TMSD<回车>,打开电源开关,选串行口com1或com2后,进入集成开发环境。

然后,装入程序:选择 Memory-Load 后,在窗口中输入文件名.BIN<回车〉。

在随后出现的窗口中From 栏中键入4000《回车》,代表程序从4000h 开始装入。

Length 后直接回车,代表文件的长度。

运行程序:选RUN 菜单 GO 连续运行、STEP 单步运行连续运行时,按空格键—停止程序的运行退出:SYSTEM-QUIT 七、思考题及实验报告要求 思考题1.试说明51系列单片机4个I/O 口在使用上的分工和操作上的特点。

2.修改程序,使发光二极管闪亮移位方向改变。

实验报告要求1.给出硬件电路连线图及自行设计的程序清单、程序流程图。

2.总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。

实验二 外部中断实验一、实验目的1.学习外部中断技术的基本使用方法; 2.学习中断处理程序的编程方法。

二、实验题目1.P1口做输出口,接八只发光二极管,编写程序,使其循环点亮。

以单脉冲输出端做为中断申请,当第一次产生外部中断时,使发光二极管全亮,延时1秒后返回中断之前的状态;当第二次产生外部中断时,使发光二极管全灭,延时1秒后返回中断之前的状态;以后如上述一直循环下去。

2.以单脉冲输出端做为中断申请,自行设计连线,用实验箱上的红、绿、黄发光二极管模拟交通灯控制。

当有急救车通过时,两交通灯信号为全红,以便让急救车通过,延时10秒后交通灯恢复中断前状态。

三、实验原理说明本实验中中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能返回中断前P1口及发光二极管的状态。

除了保护累加器A 、程序状态字PSW 外、P1口的状态外,还要注意主程序中的延时程序和中断程序的延时程序不能混用,本实验中,主程序延时程序用的寄存器和中断延时用的寄存器也不能混用。

四、连线方法8031的P1.0—P1.7分别接发光二极管L1—L8,INT0接单脉冲输出端五、实验电路6六、实验报告要求1.画出实验硬件电路图及程序流程图; 2.写出自行设计的实验程序清单;3.如果程序中出现问题,分析原因并解决。

4.给出实验结果及对实验的改进意见。

实验三定时器实验一、实验目的1.学习8031内部定时器/计数器的使用和编程方法;2.进一步掌握中断处理程序的编程方法。

二、实验题目8031内部定时器T1,按方式1工作、即做为十六位定时器使用每0.1秒溢出一次。

P1口的P1.0-P1.7分别接八只发光二极管。

要求编写程序模拟一时序控制装置。

开机后第一秒钟L1、L3亮,第二秒钟L2、L4亮,第三秒钟L5、L7亮,第四秒钟L6、L8亮,第五秒钟L1、L3、L5、L7亮,第六秒钟L2、L4、L6、L8亮,第七秒钟全亮,第八秒钟全灭,以后又从头开始,一直循环下去。

三、实验原理说明1.定时常数的确定定时器/计数器的输入脉冲与机器周期一样,为振荡器频率的1/12,本实验中时钟频率为6.144MHz,实现0.1秒的延时,要在定时器1中设置一个时间常数即计数初值,使其每隔0.1秒溢出一次,再用一个寄存器计溢出的次数,计10次即可实现1秒延时。

时间常数按以下公式计算:(216-X)*12/f =0.1计算出X之后,换算成十六进制数将高八位放在TH1中,低八位放在TL1中。

2.初始化程序包括定时器初始化(采用中断方式时,还包括中断系统初始化),并将时间常数送入定时器中。

注意定时器1初始化时建议用如下指令:ANL TMOD, #0FHORL TMOD, #10H即不要改变T0的工作方式。

四、连线方法8031的P1.0—P1.7分别接发光二极管L1—L8五、实验电路见图1-1六、思考题及实验报告要求1.画出实验硬件电路图及程序流程图;2.写出自行设计的实验程序清单;3.如果程序中出现问题,分析原因并解决;4.给出实验结果及对实验的改进意见。

思考题定时器T1工作在计数方式,编程实现四位二进制计数器并在发光二极管或数码管上显示计数值。

实验四 串行口实验一. 实验目的1.掌握8031串行口方式0工作方式及编程方法; 2.掌握利用串行口扩展I/O 通道的方法。

二. 实验题目利用8031串行口,和并行输出串行移位寄存器74LS164,扩展I/O 口,在数码显示器上循环显示0—9这10个数字。

三.实验原理说明串行口工作在方式0时,可通过外接移位寄存器实现串并转换。

在这种方式下,数据为8位,只能从RXD 端输入输出,TXD 端输出移位同步时钟信号,其波特率固定为振荡频率的1/12。

由软件置位串行控制寄存器(SCON )的REN 位后才能启动串行接收,在CPU 将数据写入SBUF 寄存器后,立即启动发送。

待8位数据传输完成后,硬件将SCON 寄存器的TI 位置1。

图4-1中,LD0-LD5分别经反向驱动后分别至六个共阴极数码管的阴极,H-A 经同向驱动器驱动后至数码管的阳极。

四.实验电路五.连线方法8031的TXD 端接74LS164的SCLK 端, RXD 端接74LS164的SIN 端。

74LS164的QH-QA 分别接数码显示的a-h,数码显示的LD0接高电平(+5V ),LD1-LD5接低电平(GND )。

六.实验报告要求1.画出实验硬件电路图及程序流程图; 2.写出自行设计的实验程序清单;3.如果程序中出现问题,分析原因并解决。

4.给出实验结果及对实验的改进意见。

七.思考题修改程序及硬件连线,使数码管显示数字0-FF 。

图4-1实验五数码显示实验一.实验目的1.掌握七段数码显示数字的原理。

2.了解七段数码显示数字的原理。

3.掌握利用一个段锁存器、一个位锁存器同时显示多位数字的方法。

本实验中利用一个位锁存器74LS273作位数据口,用另一个74LS273作段数据口,具体连线见电路图。

二.实验题目利用实验台上的六个数码管,同时显示1—6或自己的学号后六位这6个数字,并让显示的数字循环移动起来。

三.实验原理说明由于有六个数码管,用静态显示所需I/O口太多,故适用于动态显示。

本实验中用一个位锁存器74LS273作位数据口,用另一个74LS273作段数据口,具体连线见电路图。

CS2、CS3是两片74LS273的片选控制端,08-0F、10-17是74LS138三八译码器的输出端,口地址的高八位固定为1BH。

当数据指针DPTR指向1B08-1B0FH、1B10-1B17H时,执行指令MOVX @DPTR,A时,经内部译码在对应插孔上输出低电平。

四.实验电路如图5-1所示五.连线方法:首先将LED显示器与8279之间连接的短路片全拔掉,然后第一片74LS273 (U4):CS2接08-0F,O11-O18接LED的A-H; 第二片74LS273(U5):CS3接10-17;O21-O26接LED的LD0-LD5。

74LS27U26A74LS0208F 10-17图5-1接口地址:U4 1B08H U5 1B10H 六.思考题及实验报告要求1.画出实验硬件电路图及程序流程图; 2.写出自行设计的实验程序清单;3.如果程序中出现问题,分析原因并解决。

4.给出实验结果及对实验的改进意见。

思考题1.用74LS138等TTL 集成电路设计I/O 口地址译码电路,译码地址的范围为1B00H-1B3FH 。

输出分8个输出端,对应口地址为1B00-1B07H 、1B08-1B0FH 、1B10-1B17H 、1B18-1B1FH 、1B20-1B27H 、1B28-1B2FH 、1B30-1B37H 、1B38-1B3FH 。

2.编程实现将显示的数字受开关的控制显示不同的内容。

实验六A/D转换实验一、实验目的1.掌握模数转换器与单片机接口的连线方法2.了解ADC0809的转换性能及编程方法3.通过实验了解单片机如何进行数据采集二、实验题目利用实验台上的ADC0809做A/D转换器,实验台上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,用发光二极管或数码管显示出来。

相关主题