当前位置:文档之家› 实验2+++并行IO口的使用

实验2+++并行IO口的使用

实验二并行I/O端口的使用
一、实验目的
1.进一步熟悉Keil C、proteus软件的使用方法。

2.掌握分支结构语句、运算符和数组的运用。

3.掌握LED数码管的结构和静态显示工作原理。

二、实验内容
1.程序一:按键K0~K3,用分支语句实现P0口的多值输出。

2.程序二:用循环语句实现P0口的多值输出。

3.程序三:用数组方式控制跑马灯。

4程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。

三、实验仿真硬件图
在Proteus软件中建立如下图所示仿真模型并保存。

图2-1 并行I/O端口应用原理图
四、编程提示
程序一:分别用if语句、if-else-if语句、switch语句来实现当按下按键K0~K3时,对应D1~D4点亮。

程序二:运用三种基本的循环语句: for语句、while语句和do-while语句,实现D1~D8循环点亮。

程序三:用数组方式控制跑马灯。

将跑马灯的全部状态用数组表达,然后用循环语句依次读取数组各元素,送P0口显示。

程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。

思路同程序一,只不过数组元素是由共阴极数码管所对应的字形码所组成。

五、调试运行
1.四个程序在proteus仿真通过。

分别用if语句、if-else-if语句、switch语句来实现当按下按键K0~K3时,对应D1~D4点亮。

if语句的一般形式:
if ( 表达式1 )
{
语句组1;
}
if ( 表达式 2)
{
语句组2;
}
...
if-else-if语句的一般形式:
if ( 表达式 1)
{
语句组1;
}
else if( 表达式 2)
{
语句组2;
}
...
else if( 表达式 n)
{
语句组n;
}
else
{
语句组n+1;
}
switch语句的一般形式为:
switch(表达式)
{
case常量表达式1: 语句序列1;break;
case常量表达式2: 语句序列2;break;
...
case常量表达式n: 语句序列n;break;
default : 语句序列n+1
}
2.运用三种基本的循环语句: for语句、while语句和do-while语句,实现D1~D8循环点亮。

for语句的一般形式:
for ( 循环变量赋初值;循环条件;修改循环变量 )
{
语句组; //循环体
}
while语句的一般形式:
while ( 表达式 )
{
语句组; //循环体
}
do-while语句的一般形式:
do
{
语句组; //循环体
}while ( 表达式 );
3.选做题:用switch语句实现当按下按键K0~K3时,对应D1~D8分别按四种不同的模式循环发亮。

(提示:一种模式用一个函数表达)
写出源程序,并注释
实验二并行I/O端口的应用
学院:专业:年级:实验时间:
姓名:学号:指导教师:
一、实验目的
1.进一步熟悉Keil C、proteus软件的使用方法。

2.掌握分支结构语句、运算符和数组的运用。

3.掌握LED数码管的结构和静态显示工作原理。

二、实验内容
1.程序一:按键K0~K3,用分支语句实现P0口的多值输出。

2.程序二:用循环语句实现P0口的多值输出。

3.程序三:用数组方式控制跑马灯。

4程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。

三、实验仿真硬件图
在Proteus软件中建立如下图2-1所示仿真模型并保存。

图2-1 并行I/O端口应用原理图
四、实验程序清单(附主要语句注释)
1)程序一
2)程序二
3)程序三
4)程序四
五、简答题
1)程序中如何设定P1.0为输入端口,为什么?
2)P0口与数码管之间的电阻起什么作用?
3)RST端的电路起什么作用?
4)XTAL1、XTAL2接的电路起什么作用?
六、体会(选做)。

相关主题