实验 键盘与LED实验
一、实验要求
P0口接7段LED数码管,P1口接8个独立按钮,分别控制数码管显示数字0-7,画出原理电路图,编写驱动程序。
二、实验目的
1、熟练keil软件的基本操作;
2、掌握80c51单片机p1口的使用方法;
3、学习汇编程序的调试及仿真方法。
三、实验步骤
1.首先将需要使用到的软件进行打开;
2.在ISIS中找到需要的并且是符合条件要求的元器件;
3.将元器件摆放在合适的位置,要有一定的美观;
4.将各元器件用线进行连接起来;
5.编写C51驱动程序文件;
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint code table[]={0x3f,0x06,0x5b,0x4f,0x66, //段码表
0x6d,0x7d,0x07,0x7f,0x6f};
void delay(){ //延时函数
uint i;
for(i=0;i<5000;i++);
}
main(){
uint temp;
P1 = 0xff; //键盘接口,默认情况下供给高电平 ff=11111111
while(1){
temp = P1 & 0xff; //接收哪一位P1端口变为0
switch(temp) {
case(0xfe): P0=table[0]; break; // fe = 1111 1110
case(0xfd): P0=table[1]; break; // fd = 1111 1101
case(0xfb): P0=table[2]; break; // fb = 1111 1011
case(0xf7): P0=table[3]; break;
case(0xef): P0=table[4]; break;
case(0xdf): P0=table[5]; break;
case(0xbf): P0=table[6]; break;
case(0x7f): P0=table[7]; break;
default: P0= 0x00; break;
}
delay();
P1=0xff;
}
}
6.将文件添加到项目中;
7.将ISIS中的调试中的“使用远程调试”打开;
8.将Keil uVision3里面的程序文件进行运行;
9.在ISIS中运行结果如图所示;
四、心得体会
根据这次实验,我熟练掌握了keil软件的基本操作以及80c51单片机p1口的使用方法。学会了键盘与显示器的使原理与方法。为今后的学习打下坚实基础。