单片机程序源代码Word格式文档下载.docx

上传人:b****4 文档编号:14360571 上传时间:2022-10-22 格式:DOCX 页数:61 大小:27.88KB
下载 相关 举报
单片机程序源代码Word格式文档下载.docx_第1页
第1页 / 共61页
单片机程序源代码Word格式文档下载.docx_第2页
第2页 / 共61页
单片机程序源代码Word格式文档下载.docx_第3页
第3页 / 共61页
单片机程序源代码Word格式文档下载.docx_第4页
第4页 / 共61页
单片机程序源代码Word格式文档下载.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

单片机程序源代码Word格式文档下载.docx

《单片机程序源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机程序源代码Word格式文档下载.docx(61页珍藏版)》请在冰豆网上搜索。

单片机程序源代码Word格式文档下载.docx

while

(1)

LED1=0;

LED2=1;

delayms(500);

LED1=1;

LED2=0;

任务二:

流水广告灯的设计

利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->

D3->

D4->

D5->

D6->

D7,然后再点亮D7->

D5->

D4->

D2->

D1->

D0,重复循环。

#include<

#include<

intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

uinti;

uchartemp;

uinta[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

voiddelayms(uintms)

{

{uintj;

for(j=0;

j<

j++);

}

voidmain()

while

(1)

P0=0xfe;

while(P0!

=0x7f)

//P1=temp;

//delayms(500);

P0=_crol_(P0,1);

delayms(250);

temp=0x7f;

=0xfe)

P0=temp;

temp=_cror_(temp,1);

任务三:

拉幕式与闭幕式广告灯的设计

利用89c51单片机的P0端口实现8个LEDD0~D7的拉幕式与闭幕式广告灯设计。

拉幕式:

开始D0~D7全灭,延时片刻后首先D3和D4亮,其次是D2和D5亮,再是D1和D6亮,最后是D0和D7亮。

闭幕式:

开始D0~D7全亮,延时片刻后首先D0和D7灭,其次是D1和D6灭,再是D2和D5灭,最后是D3和D4灭。

ucharcodetable[]={0xe7,0xc3,0x81,0x00};

voiddelay(uintx)

uinti,j;

for(i=x;

i>

0;

i--)

for(j=120;

j>

j--);

uinti;

P1=0xff;

delay(500);

4;

i++)

{

P1=table[i];

delay(500);

}

for(i=3;

P1=table[i-1];

}

任务四:

复杂广告灯的设计

利用89c51单片机的端口实现8个LED(D0~D7)复杂广告灯的控制,要求显示规律为:

正向流水->

反向流水->

隔灯闪烁3次->

高四盏、低四盏闪烁2次->

隔两盏闪烁3次,再重复循环。

for(i=0;

110;

uinti,j,xx[2]={0xaa,0xff},yy[2]={0xf0,0x0f},zz[2]={0xb6,0xff};

unsignedcharaa;

aa=0xfe;

7;

P0=aa;

aa=_crol_(aa,1);

8;

aa=_cror_(aa,1);

3;

2;

j++)

P0=xx[j];

delayms(500);

P0=yy[j];

P0=zz[j];

任务五:

单个LED数码管显示设计

使用89c51的P0口作为输出口,外接LED数码管,编写程序,使数码管循环显示从0~9的加1计数。

uchartable[10]={0XC0,0XF9,0XA4,0XB0,

0X99,0X92,0X82,0XF8,

0X80,0X90};

uintkey=0;

voidint_int()

EA=1;

IT0=1;

EX0=1;

voidcount_num()interrupt0

if(key==9)key=0;

elsekey++;

int_int();

P0=table[key];

任务六:

多个LED数码管显示设计

使用单片机P0和P2口作为输出口,外接一个8位LED数码管,编写程序,使数码管显示“872AF635”。

delay(ms)

{inti;

main()

{

uchara[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

ucharb[8]={0x08,0x07,0x02,0x0a,0x0f,0x06,0x03,0x05},j;

{j=0x01;

{

P2=j;

P0=a[b[i]];

j=_crol_(j,1);

delay(3);

任务七:

查询式按键设计

将8个按键从1~8进行编号,如果其中一个键被按下,则在LED数码管上显示相应的键值。

P0=0xff;

=0xff)

{switch(P0)

{case0xfe:

P2=a[1];

break;

case0xfd:

P2=a[2];

case0xfb:

P2=a[3];

case0xf7:

P2=a[4];

case0xef:

P2=a[5];

case0xdf:

P2=a[6];

case0xbf:

P2=a[7];

case0x7f:

P2=a[8];

任务八:

LED数码管显示矩阵键盘按键的设计

设计一个4*4的矩阵键盘,以P1.0~P1.3作为行线,以P1.4~P1.7作为列线。

要求:

未按下按键时,LED数码管显示“-”,按下按键时,在数码管上显示相应的键值。

uchartable[17]={0xbf,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

uintnum=0;

uchari,j;

keyscan()

{uinttemp;

temp=P2;

temp&

=0x0f;

if(temp==0x0e)

P2=0xf0;

=0xf0;

switch(temp)

case0xe0:

num=1;

break;

case0xd0:

num=2;

case0xb0:

num=3;

case0x70:

num=4;

if(temp==0x0d)

num=5;

num=6;

num=7;

num=8;

if(temp==0x0b)

num=9;

num=10;

num=11;

num=12;

if(temp==0x07)

num=13;

num

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

当前位置:首页 > 初中教育 > 语文

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

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