在开始实验二之前,先在实验一(认真分析实验一的代码)的基础上实现如下花型(0表示灯亮,1表示灯灭):
花型之二:即每次亮灯两个进行移动
0 0 1 1 1 1 1 1
1 0 0 1 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 0 0 1 1 1
1 1 1 1 0 0 1 1
1 1 1 1 1 0 0 1
1 1 1 1 1 1 0 0
1 1 1 1 1 0 0 1
1 1 1 1 0 0 1 1
1 1 1 0 0 1 1 1
1 1 0 0 1 1 1 1
1 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1 花型之三(跑马灯):1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 1 1 1
0 0 0 0 1 1 1 1
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
实验二P1口输入、输出实验
一.实验要求
1、P1口做输出口,接共阳七段显示器,编写程序,显示0到9中的任意一个数字。
2、P1口做输出口,接共阳七段显示器,编写程序,循环显示0到9(延时程序段可以使用实验一种的程序段)。
3、P1口做输入口,接四个开关,编写程序读取开关状态,将此状态在四个发光二极管上显示出来。
二.实验目的
1、学习P1口的使用方法。
2、学习延时子程序的编写和使用。
三.实验电路及连线(见附件)
四.实验说明
1、P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。
2、延时子程序的延时计算问题(晶振频率为12MHz,请在实验报告中分析如何延时200ms 的)对于程序
DELAY:
MOV R5,#20 ; 延时200ms
D2:
MOV R6,#20
D1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
五.实验程序(见附件)
P1口做输出口,接共阳七段显示器,编写程序,显示0到9中的任意一个数字
P1口做输出口,接共阳七段显示器,编写程序,循环显示0到9(两个程序都可以用)
P1口做输入口,接四个开关,编写程序读取开关状态,将此状态在四个发光二极管上显示出来,实验中将代码中MOV P1,#0FFH语句删除后再改变开关状态观察发光二极管状态,请分析原因。