单片机实验程序.docx

上传人:b****8 文档编号:11076664 上传时间:2023-02-24 格式:DOCX 页数:8 大小:14.83KB
下载 相关 举报
单片机实验程序.docx_第1页
第1页 / 共8页
单片机实验程序.docx_第2页
第2页 / 共8页
单片机实验程序.docx_第3页
第3页 / 共8页
单片机实验程序.docx_第4页
第4页 / 共8页
单片机实验程序.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机实验程序.docx

《单片机实验程序.docx》由会员分享,可在线阅读,更多相关《单片机实验程序.docx(8页珍藏版)》请在冰豆网上搜索。

单片机实验程序.docx

单片机实验程序

LED闪烁实验

#include

voidDelay10ms(unsignedintc);

voidmain()

{

while

(1)

{

P0=0x00;

Delay10ms(50);

P0=0xff;

Delay10ms(50);

}

}

voidDelay10ms(unsignedintc)

{

unsignedchara,b;

for(;c>0;c--)

{

for(b=38;b>0;b--)

{

for(a=130;a>0;a--);

}

}

}

流水灯实验

#include

#include

voidDelay10ms(unsignedintc);

main()

{

unsignedcharLED;

LED=0xfe;

while

(1)

{

P0=LED;

Delay10ms(50);

LED=LED<<1;

if(P0==0x00)

{

LED=0xfe;

}

}

}

voidDelay10ms(unsignedintc)

unsignedchara,b;

for(;c>0;c--)

{

for(b=38;b>0;b--)

{

for(a=130;a>0;a--);

}

}

}

键盘实验(独立按键和矩阵键盘)

1、独立按键控制LED实验

#include

#include

#defineGPIO_KEYP1

#defineGPIO_LEDP0

voidDelay10ms(unsignedintc);

unsignedcharKey_Scan();

voidmain(void)

{

UnsignedcharledValue,keyNum;

ledValue=0x01;

while

(1)

{

keyNum=Key_Scan();

switch(keyNum)

{

case(0xFE):

ledValue=0x01;

break;

case(0xFD):

ledValue=0x02;

break;

case(0xFB):

ledValue=0x04;

break;

case(0xF7):

ledValue=0x08;

break;

case(0xEF):

ledValue=0x10;

break;

case(0xDF):

ledValue=0x20;

break;

case(0xBF):

ledValue=0x40;

break;

case(0x7F):

ledValue=0x80;

break;

default:

break;

}

GPIO_LED=ledValue;

}

}

unsignedcharKey_Scan()

{

unsignedcharkeyValue=0,i;

if(GPIO_KEY!

=0xFF)

{

Delay10ms

(1);

if(GPIO_KEY!

=0xFF)

{

keyValue=GPIO_KEY;

i=0;

while((i<50)&&(GPIO_KEY!

=0xFF))

{

Delay10ms

(1);

i++;

}

}

}

returnkeyValue;

}

voidDelay10ms(unsignedintc)

{

unsignedchara,b;

for(;c>0;c--)

{

for(b=38;b>0;b--)

{

for(a=130;a>0;a--);

}

}

}

2、矩阵键盘(静态数码管显示矩阵键盘键值)

#include

#defineGPIO_DIGP0

#defineGPIO_KEYP1

unsignedcharcodeDIG_CODE[17]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsignedcharKeyValue;

voidDelay10ms(unsignedintc);

voidKeyDown();

voidmain(void)

{

while

(1)

{

KeyDown();

GPIO_DIG=~DIG_CODE[KeyValue];

}

}

voidKeyDown(void)

{

chara=0;

GPIO_KEY=0x0f;

if(GPIO_KEY!

=0x0f)

{

Delay10ms

(1);

if(GPIO_KEY!

=0x0f)

{

GPIO_KEY=0X0F;

switch(GPIO_KEY)

{

case(0X07):

KeyValue=0;break;

case(0X0b):

KeyValue=4;break;

case(0X0d):

KeyValue=8;break;

case(0X0e):

KeyValue=12;break;

}

GPIO_KEY=0XF0;

switch(GPIO_KEY)

{

case(0X70):

KeyValue=KeyValue+3;break;

case(0Xb0):

KeyValue=KeyValue+2;break;

case(0Xd0):

KeyValue=KeyValue+1;break;

case(0Xe0):

KeyValue=KeyValue;break;

}

while((a<50)&&(GPIO_KEY!

=0xf0))

{

Delay10ms

(1);

a++;

}

}

}

}

voidDelay10ms(unsignedintc)

{

unsignedchara,b;

for(;c>0;c--)

{

for(b=38;b>0;b--)

{

for(a=130;a>0;a--);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1