《单片机技术》实验指导书(2)

2019-01-07 19:18

VCC10K10K123456785105109P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GND89C52VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.04039383736353433323130292827262524232221五、实验流程图 开始开始P1口循环点灯框图六、实验步骤 ㈠P1口输出实验 1、连线说明: A3区:JP51 —— G6区:JP65 【注意】实验箱上单片机的P1口(A3区JP51插槽)分别接八个发光二极管(G6 -4- R124S21进位标志C零逻辑左移一位R124R111R112S22DS35DS36L1L2VCC1011121314151617181920 P1口输入输出原理图 设置初始值P1.0、P1.1置1读入P1.0口值将读入的值输出到P1.2点亮发光管读入P1.0口值延时将读入的值输出到P1.3P1口输入输出框图 TS区JP65插槽),使用一根8线的扁平电缆连接即可。

2、编写程序。

3、实验结果:通过G6区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。

㈡P1口输入、输出实验

1、连线说明:

A3区:JP51 —— G6区:JP80 JP55 —— G6区:JP65 2、编写程序。

3、实验结果:改变S21、S22两个拨动开关的状态,观察LED指示灯的变化。 七、源程序

㈠P1口输出实验 ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H MOV A,#0FFH MOV P1,A ;P1口输出数据时,该句可省略。

;P1口输入数据时,该句必须保留。

CLR C START1: RLC A MOV P1,A

ACALL Delay

SJMP START1 Delay: MOV R5,#2 ;延时 Delay1: MOV R6,#0 Delay2: MOV R7,#0 DJNZ R7,$ DJNZ R6,Delay2 DJNZ R5,Delay1 RET END ㈡P1口输入、输出实验

【源程序略,由学生自行设计】 八、思考题

1、在80C51系统中,MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,RET指令需用2个机器周期。STAR ES598PCI实验仪中单片机的晶振为12MHz,请计算源程序中软件延时(第12行~第18行)的时长是多少秒?

-5-

2、编程实现下表所示的发光二极管点亮时序,注意延时时间的设置(采用软件延时)。 时序 1 2 3 4 5

8个发光LED的状态 8个LED同时亮,延时0.5s 8个LED同时灭,延时0.5s 自左向右,每隔0.5s循环点亮一个(单个亮) 自右向左,每隔0.5s循环点亮一个(单个亮) 自左向右,每隔0.5s循环相邻两个点亮一次(相邻两个亮,其余灭) -6-

实验三 P1口数据输出实验(交通灯控制实验) 一、实验目的 1、了解单片机的工作原理,熟悉其编程方法以及输入、输出程序设计技巧。学会使用并行口实现各种控制功能,如本实验(控制交通灯)等。 2、熟悉单片机程序存储器的查表指令,熟悉表格的设计及使用技巧。熟练设计并使用软件延时子程序。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、编写程序:使用80C51的P1口控制8个LED指示灯,实现交通灯功能。 2、连接线路、验证该功能,并熟悉P1口的使用方法。 四、实验原理 123456785105105105105105105105109P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GND89C52VccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.04039383736353433323130292827262524232221R111DS35DS36L1L2交通灯控制原理图 该实验中单片机P1口与8个发光二极管相连。实验箱上的8个发光二极管的排列顺序是“绿、黄、红、红、绿、黄、红、红”,这相当于两组“绿、黄、红”交通指示灯,可以模拟十字路口的东西向和南北向交通灯。由于每组红灯有两个,可把将两个红灯看作是一个红色指示灯,让它们同时亮灭。 一个周期内交通指示灯的所有状态,如下表所示:R112DS37L3R113DS38L4R114DS39L5R115DS40L6R116DS41L7R117DS42L8VCCR1181011121314151617181920 -7- 东西向交通灯 序号 0 1 2 3 P1.7 绿 0 1 1 1 P1.6 黄 1 0 1 1 P1.5 红 1 1 0 0 P1.4 红 1 1 0 0 P1.3 绿 1 1 0 1 南北向交通灯 P1.2 黄 1 1 1 0 P1.1 红 0 0 1 1 P1.0 红 0 0 1 1 7CH 0BCH 0C7H 0CBH 状态码 将状态码放入一段连续的ROM单元,可以构成一段数据表(用DB伪指令定义数据表,如“DB 7CH 0BCH 0C7H 0CBH”)。利用数据指针DPTR,将其指向数据表的首地址,再将各个状态的序号依次放入累加器A中,通过查表指令便可找到各个状态码,最后将状态码送入P1口显示并做相应的延时处理,发光二极管上即可反映出相应的交通指示灯状态。当一个周期结束后,再用一条长跳转指令返回首个状态,就可实现交通指示灯的连续工作。

五、实验流程图

开始初始化堆栈设定数据表指针DPTR,设定循环变量R7查表并显示在P1口调用延时子程序NR7=R7-1,R7=0?Y设定循环变量R7 六、实验步骤

1、连线说明:

A3区:JP51(P1口) ——

G6区:JP65 -8-


《单片机技术》实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《控制工程基础》参考复习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: