P1口转弯灯实验C语言,课程设计实验参考资料.doc

实验一 P1口亮灯实验

PAGE 17

实验一 P1口亮灯实验

一、实验目的

(1)学习P1口的使用方法;(2)学习延时子程序的编写。

二、实验预备知识

(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

三、实验内容

P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

四、实验程序框图

五、实验接线图

六、实验步骤

P1.0~P1.7用导线连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。

七、程序清单 文件名: HW01.c

#include

#include

#define uchar unsigned char

void delay(unsigned int i)

{

unsigned int j,k;

for(k=0;k

for(j=0;j<1000;j++);

}

void main(void)

{uchar aa;

P1=0xff;

aa=0xfe;

while(1)

{

P1=aa;

aa=_crol_(aa,1);

delay(10);

}

}

实验二 P1口转弯灯实验

实验二 P1口转弯灯实验

一、实验目的

进一步了解P1口的使用,学习C语言编程方法及调试技巧。

二、实验内容

P1.0接开关上拨为5V,左转弯灯闪亮,P1.1接开关为5V时右转弯灯闪亮,P1.0,P1.1接开关同时接5V或接地时,转弯灯均不闪亮。

三、实验程序框图

四、实验接线图

五、实验步骤

P1.0 接K1,P1.1接K2,P1.4~P1.7接L1、L2、L7、L8,连续运行本程序,拨动开关K1、K2,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。

六、程序清单 文件名:HW02.c

#include

sbit P1_0=P1^0;

sbit P1_1=P1^1;

sbit P1_4=P1^4;

sbit P1_5=P1^5;

sbit P1_6=P1^6;

sbit P1_7=P1^7;

void delay(unsigned int i)

{

unsigned int j,k;

for(k=0;k

for(j=0;j<1000;j++);

}

void main(void)

{

unsigned int flag=0;

P1=0xff;

while(1)

{

if(P1_0==0 && P1_1!=0)

{ if(flag==0)

{P1_4=0;

P1_5=0;

P1_6=1;

P1_7=1;

delay(20);

flag=1;}

else if(flag==1)

{P1_4=1;

P1_5=1;

P1_6=1;

P1_7=1;

delay(20);

flag=0;}

}

else if(P1_1==0 && P1_0!=0)

{ if(flag==0)

{P1_4=1;

P1_5=1;

P1_6=0;

P1_7=0;

delay(20);

flag=1;}

else if(flag==1)

{P1_4=1;

P1_5=1;

P1_6=1;

P1_7=1;

delay(20);

flag=0;}

}

else

{P1_4=1;

P1_5=1;

P1_6=1;

P1_7=1;

}

}

}

实验三 P

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值