基于单片机8051电梯滚动显示编写字库.docx

上传人:b****7 文档编号:9867092 上传时间:2023-02-07 格式:DOCX 页数:20 大小:39.21KB
下载 相关 举报
基于单片机8051电梯滚动显示编写字库.docx_第1页
第1页 / 共20页
基于单片机8051电梯滚动显示编写字库.docx_第2页
第2页 / 共20页
基于单片机8051电梯滚动显示编写字库.docx_第3页
第3页 / 共20页
基于单片机8051电梯滚动显示编写字库.docx_第4页
第4页 / 共20页
基于单片机8051电梯滚动显示编写字库.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于单片机8051电梯滚动显示编写字库.docx

《基于单片机8051电梯滚动显示编写字库.docx》由会员分享,可在线阅读,更多相关《基于单片机8051电梯滚动显示编写字库.docx(20页珍藏版)》请在冰豆网上搜索。

基于单片机8051电梯滚动显示编写字库.docx

基于单片机8051电梯滚动显示编写字库

电梯滚动程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitPA=P1^0;

sbitPB=P1^1;

sbitPC=P1^2;

sbitPD=P1^3;

uinti,j=0;

voiddelay(uintz);

voidjiantou(uint);

voidjiantouxia(uint);

voidxianyi();

voidxianer();

voidxiansan();

voidxiansi();

voidxianwu();

voidxianliu();

voidxianqi();

voidxianba();

voidxianjiu();

voidmie();

voidmain()

{

while

(1)

{

for(i=3000;i>0;i--)

{

if(j==0)

xianyi();//进入主程序后先显示“1”j=0时显示“1”

else

xianjiu();//外部中断0中执行完上升指令后显示屏显“9”

EA=1;//开中断

IT0=1;

IT1=1;

EX0=1;

EX1=1;//开外部中断0,1分别控制向上和向下

}

}

}

voidmie()//点阵灭掉

{

P0=0xff;

P2=0xff;

}

voiddelay(uintz)//延时函数延时一毫秒

{

uintx,y;

for(x=z;x>0;x--)

for(y=115;y>0;y--);

}

voidjiantou(uinttemp)//向上箭头程序箭头共占5列

{

uinttemp1,temp2,temp3,temp4,temp5;

temp1=0xf7;

temp1=_crol_(temp1,temp);//循环移位

P2=temp1;P0=0xff;//只有P2口控制的部分循环移位P0口控制部分不变

PA=0;PB=0;PC=0;PD=0;//第0列

delay(3);

mie();

temp2=0xef;

temp2=_crol_(temp2,temp);

P2=temp2;P0=0xff;

PA=1;PB=0;PC=0;PD=0;//第1列

delay(3);

mie();

temp3=0xc0;

temp3=_crol_(temp3,temp);

P2=temp3;P0=0x03;

PA=0;PB=1;PC=0;PD=0;//第2列

delay(3);

mie();

temp4=0xef;

temp4=_crol_(temp4,temp);

P2=temp4;P0=0xff;

PA=1;PB=1;PC=0;PD=0;//第3列

delay(3);

mie();

temp5=0xf7;

temp5=_crol_(temp5,temp);

P2=temp5;P0=0xff;

PA=0;PB=0;PC=1;PD=0;//第4列

delay(3);

mie();

}

voidjiantouxia(uinttemp)//向下的箭头程序箭头共占5列

{

uinttemp6,temp7,temp8,temp9,temp0;

temp6=0xef;

temp6=_cror_(temp6,temp);//循环移位

P2=0xff;P0=temp6;//只有P0口控制的部分循环移位P2口控制部分不变

PA=0;PB=0;PC=0;PD=0;//第0列

delay(3);

mie();

temp7=0xf7;

temp7=_cror_(temp7,temp);

P2=0xff;P0=temp7;

PA=1;PB=0;PC=0;PD=0;//第1列

delay(3);

mie();

temp8=0x03;

temp8=_cror_(temp8,temp);

P2=0xc0;P0=temp8;

PA=0;PB=1;PC=0;PD=0;//第2列

delay(3);

mie();

temp9=0xf7;

temp9=_cror_(temp9,temp);

P2=0xff;P0=temp9;

PA=1;PB=1;PC=0;PD=0;//第3列

delay(3);

mie();

temp0=0xef;

temp0=_cror_(temp0,temp);

P2=0xff;P0=temp0;

PA=0;PB=0;PC=1;PD=0;//第4列

delay(3);

mie();

}

voidxianyi()//显示数字“1”

{

P2=0xef;P0=0xfb;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xef;P0=0xfb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xc0;P0=0x03;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xff;P0=0xfb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xff;P0=0xfb;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianer()//显示数字“2”

{

P2=0xf7;P0=0xc3;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xef;P0=0xbb;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xbb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xbb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xbb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xbb;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xe0;P0=0x73;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxiansan()//显示数字“3”

{

P2=0xf7;P0=0xef;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xef;P0=0xf7;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xee;P0=0xf7;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xf1;P0=0x0f;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxiansi()//显示数字“4”

{

P2=0xf8;P0=0x3f;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xf7;P0=0xbf;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xef;P0=0xbb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xbb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xc0;P0=0x03;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xff;P0=0xbb;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xff;P0=0xbf;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianwu()//显示数字“5”

{

P2=0xc1;P0=0xcf;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xdd;P0=0xf7;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdd;P0=0xfb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdd;P0=0xfb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdd;P0=0xfb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdd;P0=0xf7;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xde;P0=0x0f;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianliu()//显示数字“6”

{

P2=0xf0;P0=0x0f;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xef;P0=0x77;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xef;P0=0x77;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xf7;P0=0x8f;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianqi()//显示数字“7”

{

P2=0xdf;P0=0xff;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xdf;P0=0xff;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xff;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0xff;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0x03;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdd;P0=0xff;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xc3;P0=0xff;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianba()//显示数字“8”

{

P2=0xf3;P0=0x8f;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xed;P0=0x77;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xde;P0=0xfb;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xed;P0=0x77;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xf3;P0=0x8f;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidxianjiu()//显示数字“9”

{

P2=0xf1;P0=0xef;

PA=1;PB=1;PC=1;PD=0;

delay(3);

mie();

P2=0xee;P0=0xf7;

PA=0;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0x7b;

PA=1;PB=0;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0x7b;

PA=0;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xdf;P0=0x7b;

PA=1;PB=1;PC=0;PD=1;

delay(3);

mie();

P2=0xee;P0=0xf7;

PA=0;PB=0;PC=1;PD=1;

delay(3);

mie();

P2=0xf0;P0=0x0f;

PA=1;PB=0;PC=1;PD=1;

delay(3);

mie();

}

voidwai0()interrupt0//开关向上外部中断0

{

for(i=20;i>0;i--)//显示向上箭头和数字“1”

{

jiantou(0);

xianyi();

}

for(i=20;i>0;i--)//显示向上箭头和数字“2”

{

jiantou

(1);

xianer();

}

for(i=20;i>0;i--)//显示向上箭头和数字“3”

{

jiantou

(2);

xiansan();

}

for(i=20;i>0;i--)//显示向上箭头和数字“4”

{

jiantou(3);

xiansi();

}

for(i=20;i>0;i--)//显示向上箭头和数字“5”

{

jiantou(4);

xianwu();

}

for(i=20;i>0;i--)//显示向上箭头和数字“6”

{

jiantou(5);

xianliu();

}

for(i=20;i>0;i--)//显示向上箭头和数字“7”

{

jiantou(6);

xianqi();

}

for(i=20;i>0;i--)//显示向上箭头和数字“8”

{

jiantou(7);

xianba();

}

for(i=20;i>0;i--)//显示向上箭头和数字“9”

{

jiantou(8);

xianjiu();

}

{

xianjiu();//显示完数字“9”之后将“j”变为1令显示屏一直显示“9”

}

j=1;

}

voidwai1()interrupt2//开关向下外部中断1中断号2

{

for(i=20;i>0;i--)//显示向下箭头和数字“9”

{

jiantouxia(0);

xianjiu();

}

for(i=20;i>0;i--)//显示向下箭头和数字“8”

{

jiantouxia

(1);

xianba();

}

for(i=20;i>0;i--)//显示向下箭头和数字“7”

{

jiantouxia

(2);

xianqi();

}

for(i=20;i>0;i--)//显示向下箭头和数字“6”

{

jiantouxia(3);

xianliu();

}

for(i=20;i>0;i--)//显示向下箭头和数字“5”

{

jiantouxia(4);

xianwu();

}

for(i=20;i>0;i--)//显示向下箭头和数字“4”

{

jiantouxia(5);

xiansi();

}

for(i=20;i>0;i--)//显示向下箭头和数字“3”

{

jiantouxia(6);

xiansan();

}

for(i=20;i>0;i--)//显示向下箭头和数字“2”

{

jiantouxia(7);

xianer();

}

for(i=20;i>0;i--)//显示向下箭头和数字“1”

{

jiantouxia(8);

xianyi();

}

{

xianyi();//显示完数字“1”之后将“j”变为0一直显示“1”

}

j=0;

}

PROTEUS仿真图

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

当前位置:首页 > 高等教育 > 文学

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

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