实验一 最小系统输入、输出实验
一、实验目的
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 }
(二)、用单片机最小系统单元的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 }