华 北 水 利 水 电 大 学
单片机原理及应用
实 验 报 告
专业:测控技术与仪器
学号: 201710319
姓名: 孟洋
实验一 单片机的I/O口实验
一、实验目的
熟悉软件Proteus的操作方法,掌握利用Proteus软件和C51 Keil μVision软件进行单片机硬件原理电路仿真。 二、实验内容
采用8个LED发光二极管分别与单片机的P2口相连,两个按键K1、K2分别接至P1.6、P1.7,控制LED分别进行上、下移位。即按下K1后,P2口LED上移一位;按下K2后,P2口LED下移一位。 三、实验过程记录(体现过程) 1、Proteus电路图
2、Keil程序 #include
void delayms(uint j) {uchar i; while(j--)
{for(i=0;i<125;i++) {;}} }
void Move_LED()//移位函数
{ if((P1&0x40)==0) P2=_cror_(P2,1); //P2的值向右移动一位 else if((P1&0x80)==0) P2=_crol_(P2,1); //P2的值向左移动一位 }
void main() {
uchar Recent_Key; //定义最近按键 P2=0xfe;//初始状态 P1=0xff;
Recent_Key=0xff; while(1) {
if(Recent_Key!=P1) {
Recent_Key=P1; //保存最近按键 Move_LED(); delayms(10); }}}
单片机原理及应用实验报告



