班级
姓名
学号
同组者姓名
实验日期
实验项目
单片机IO口控制及定时器应用
实验目的
熟悉并掌握如何控制IO口,利用定时器控制IO口系列实验
长春大学光华学院实验报告用纸
实
验
内
容
(一)I/O口输出高低电平
什么是单片机IO口?如何利用IO口输出高低电平。
例如:
ORG 0000
CLR / SETB
END
(二)I/O口点亮/熄灭LED
IO口控制实验,点亮/熄灭IO口控制的LED。
例如:
ORG 0000
CLR P1 / SETB P1
END
(三)闪烁灯
实验任务
如图1所示:,使L1在不停地一亮一灭,一亮一灭的时间间隔为1秒。
电路原理图
图1
系统板上硬件连线
把“单片机系统”“八路发光二极管指示模块”区域中的L1端口上。
程序设计内容
延时程序的设计方法
作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为1秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
,因此,1个机器周期为1微秒
因此,。
由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。
当R6=200、R7=248时,延时100ms。
如本实验要求1秒=1000ms,100ms×R5=1000ms,则R5=10,延时子程序如下:
DELAY: MOV R5,#10
D1: MOV R6,#200
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
输出控制
如图1所示,,=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;,=0时,发光二极管L1亮;我们可以使用SETB ,使用CLR 。
程序框图
如图2所示
图2
汇编源程序
ORG 0000
START: CLR
LCALL DELAY
SETB
LCALL DELAY
LJMP START
DELAY: MOV R5,#10 ;延时子程序,延时1秒
D1: MOV R6,#200
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
(四)广告灯的左移右移
实验任务
做单一灯的左移右移,硬件电路如图1所示,八个发光二极管L1--,输出“0”时,发光二极管亮,→→→→┅→→→┅→,重复循环。
电路原理图
同实验三
图1
系统板上硬件连线
把“单片机系统”-“八路发光二极管指示模块”区域中的L1-L8端口上,要求:,,……,。
程序设计内容
我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示
说明
L8
L7
L6
L5
L4
L3
L2
L1
1
1
1
1
1
1
1
0
L1亮
1
1
1
1
1
1
0
1
L2亮
1
1
1
1
1
0
1
1
L3亮
1
1
1
1
0
1
1
1
L4亮
1
1
1
0
1
1
1
1
L5亮
1
1
0
1
1
1
1
1
L6亮
1
0
1
1
1
1
1
1
L7亮
0
1
1
1
1
1
1
1
L8亮
表1
程序框图
图2
汇编源程序
ORG 0000
START: MOV R2,#8
MOV A,#01H
LOOP: MOV P1,A
LCALL DELAY
RLC A
DJNZ R2,L
机械单片机实验报告-单片机IO口控制及定时器应用 来自淘豆网m.daumloan.com转载请标明出处.