【单片机实验】最小系统输入、输出实验

实验一 最小系统输入、输出实验

一、实验目的
1、学习最小系统端口的使用方法;
2、学习延时子程序的编写和使用;
3、了解流水灯的工作原理。
二、实验说明
74HC373三态输出锁存器引脚说明如图1-1

D0-D7:数据输入端

:三态允许控制端

LE:锁存允许端

Q0-Q7:输出端

单片机的P0、P1、P2、P3口选择准双向口。由准双向口结构可知当它们用作输入口时,必须先对其置“1”,若不先置“1”,读入的数据有可能不正确。

图1-1 74HC373介绍

三、实验内容及步骤
内容
(一)、用单片机最小系统单元(如图1-2)的P1口作输出口,接流水灯单元(如图1-3)的输入,程序功能使发光二极管单只从左到右轮流循环点亮。
步骤:
1、 根据硬件连接电路,编写程序并编译生成*.hex文件;
2、 打开实验箱电源;
3、 参照STC12C5A60S2下载说明中STC_ISP软件使用说明,给单片机下载程序;
4、 通过排线将单片机最小系统单元的P1口的0-7与流水灯单元的J2001的0-7一一对应连接
5、 打开流水灯单元开关;
6、 观察发光二极管显示情况,发光二极管单只从左到右轮流循环点亮。若显示结果不正确,请修改该程序,重复以上操作。

 1 #include <reg51.h>
 2 #include <intrins.h>
 3 int i ;
 4 void main ( void ){
 5     P1 = 0xFE;                              //1-灯不亮 , 0-灯亮
 6     while (1) {
 7         P1 = _crol_(P1,1);                  //循环右移
 8         for ( i = 1 ; i <= 10000 ; i++ );   //延时
 9     } 
10 }
View Code

(二)、用单片机最小系统单元的P1口作输入,接拨动开关,单片机最小系统单元的P2作输出,接流水灯。程序读取开关状态,并在发光二极管上显示出来。
步骤:
1、 根据硬件连接电路,编写程序并编译生成*.hex文件;
2、 打开实验箱电源;
3、 参照STC12C5A60S2下载说明中STC_ISP软件使用说明,给单片机下载程序;
4、 通过排线,将单片机最小系统单元的P1口的0-7与逻辑电平单元的J0901的0-7一一对应连接,将单片机最小系统单元的P2口的0-7与流水灯单元的J2001的0-7一一对应连接;
5、 打开流水灯单元开关;
6、 拨动拨动开关,观察发光二极管的亮灭情况。向下拨为点亮,向上拨为熄灭。若显示结果不正确,请修改该程序,重复以上操作。

 1 #include <reg51.h>
 2 #include <intrins.h>
 3 sbit P1_0 = P1^0;
 4 int i ; 
 5 void main( void ){
 6     P2 = 0xFE ; 
 7     while ( 1 ){
 8         P2 = _crol_(P2,1);
 9         for( i=1 ; i<=10000;i++) ;
10         while ( !P1_0 );
11     }
12 }
View Code
原文地址:https://www.cnblogs.com/Osea/p/11083103.html