单片机一些程序Word文档格式.docx
- 文档编号:4387476
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:18
- 大小:16.88KB
单片机一些程序Word文档格式.docx
《单片机一些程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机一些程序Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
for(j=0;
j<
j++)
{P1=tempr;
tempr=_cror_(tempr,1);
}
左右循环两个两个的闪
{uchari,templ,tempr,j;
templ=0xfc,tempr=0x3f;
5;
}
定时计数器程序
{ucharcount,a;
a=0x00;
TMOD=0x10;
TH1=0x4b;
TL1=0xff;
TR1=1;
if(TF1==1)
TF1=0;
TH1=0x4b;
count++;
if(count==20)
{
P1=a;
a=~a;
count=0;
钟表程序
#defineucharunsignedchar
sbitwei=P2^7;
sbitduan=P2^6;
ucharshi1,shi2,fen1,fen2,miao1,miao2,count;
//外部变量的定义
voiddelay(uintz)//延时函数
for(y=0;
unsignedcharcodeled[]={
0x3F,//"
0"
0x06,//"
1"
0x5B,//"
2"
0x4F,//"
3"
0x66,//"
4"
0x6D,//"
5"
0x7D,//"
6"
0x07,//"
7"
0x7F,//"
8"
0x6F,//"
9"
0x77,//"
A"
0x7C,//"
B"
0x39,//"
C"
0x5E,//"
D"
0x79,//"
E"
0x71,//"
F"
0x76,//"
H"
0x38,//"
L"
0x37,//"
n"
0x3E,//"
u"
0x73,//"
P"
0x5C,//"
o"
0x40,//"
-"
0x00,//熄灭
0x00//自定义
};
voidjiange()//钟表中间间隔函数
{wei=1;
P0=0xdf;
wei=0;
duan=1;
P0=led[22];
duan=0;
delay(5);
wei=1;
P0=0xfb;
voidshi()//钟表的时函数
{
wei=1;
P0=0xfd;
wei=0;
duan=1;
P0=led[shi1];
duan=0;
delay(5);
P0=0xfe;
P0=led[shi2];
voidfen()//钟表的分函数
P0=0xef;
P0=led[fen1];
P0=0xf7;
P0=led[fen2];
voidmiao()//钟表的秒函数
{wei=1;
P0=0x7f;
P0=led[miao1];
P0=0xbf;
P0=led[miao2];
{
//定时器1的使用及初始化
TH1=0x4c;
TL1=0x00;
//初始化50毫秒
{jiange();
//间隔函数的调用
shi();
//时函数的调用
fen();
//分函数的调用
miao();
//秒函数的调用
if(TF1==1)
{TF1=0;
TH1=0x4c;
if(count==20)
wei=1;
P0=0x7f;
wei=0;
duan=1;
P0=led[miao1];
duan=0;
delay(5);
miao1++;
if(miao1==10)
{
miao1=0;
miao2++;
if(miao2==6)
{
miao2=0;
fen1++;
if(fen1==10)
{fen1=0;
fen2++;
if(fen2==6)
{fen2=0;
shi1++;
if(shi1==10)
{shi1=0;
shi2++;
if(shi2==2)
{shi2=0;
}
}
}
}
count=0;
}
矩阵键盘扫描函数
voidkeyscan()
inttemp,key;
///////////////第一行扫描///////////////////
P3=0xfe;
//11111110让P3.0口输出低
temp=P3;
temp=temp&
0xf0;
//11110000位与操作屏蔽后四位
if(temp!
=0xf0)
delay(10);
//消抖
=0xf0)//检测是否键被按下
temp=P3;
switch(temp)
case0xee:
key=0;
break;
//11101110S1被按下
case0xde:
key=1;
//11011110S2被按下
case0xbe:
key=2;
//10111110S3被按下
case0x7e:
key=3;
//01111110S4被按下
display(key);
///////////////第二行扫描///////////////////
P3=0xfd;
//11111101让P3.1口输出低电平
temp=temp&
if(temp!
case0xed:
key=4;
//11101110S5被按下
case0xdd:
key=5;
//11011110S6被按下
case0xbd:
key=6;
//10111110S7被按下
case0x7d:
key=7;
//01111110S8被按下
///////////////第三行扫描///////////////////
P3=0xfb;
//11111011让P3.2口输出低电平
case0xeb:
key=8;
//11101011S9被按下
case0xdb:
key=9;
//11011011S10被按下
case0xbb:
key=10;
//10111011S11被按下
case0x7b:
key=11;
//01111011S12被按下
///////////////第四行扫描///////////////////
P3=0xf7;
//11110111让P3.3口输出低电平
case0xe7:
key=12;
//11100111S13被按下
case0xd7:
key=13;
//11010111S14被按下
case0xb7:
key=14;
//10110111S15被按下
case0x77:
key=15;
//01110111S16被按下
共阳极数码管断码数组
unsignedcharcodeled[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x89,0xC7,0xC8,0xC1,0x8C,0xA3,0xBF,0xFF,0xFF};
共阴极数码管断码数组
unsignedcharcodeled[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x76,0x38,0x37,0x3E,0x73,0x5C,0x40,0x00,0x00};
数码管位码数组
unsignedcharcodewei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
中断程序
{uintx,y;
voidint0()interrupt0//外部中断0执行的程序
{uchari,templ,j,tempr;
8;
EA=1;
//打开总中断
EX0=1;
//打开外部中断0
IT0=1;
//外部中断负跳变工作方式
while
(1);
花样流水灯程序
reg51.h>
ucharcodePattern_P1[]=
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
ucharcodePattern_P2[]=
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,
0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
voidDelay(uintx)
uchari;
while(x--)
for(i=0;
120;
i++);
{uchari;
for(i=0;
136;
P1=Pattern_P1[i];
P2=Pattern_P2[i];
Delay(100);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 一些 程序