stcc单片机流水灯程序文档格式.docx
- 文档编号:17210503
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:11
- 大小:217.48KB
stcc单片机流水灯程序文档格式.docx
《stcc单片机流水灯程序文档格式.docx》由会员分享,可在线阅读,更多相关《stcc单片机流水灯程序文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
//位定义,把P1口地第4个管脚定义为D3
sbitD4=P1^4。
//位定义,把P1口地第5个管脚定义为D4
sbitD5=P1^5。
//位定义,把P1口地第6个管脚定义为D5
sbitD6=P1^6。
//位定义,把P1口地第7个管脚定义为D6
sbitD7=P1^7。
//位定义,把P1口地第8个管脚定义为D7
voidmain(>
{
while(1>
//建立大地死循环.
unsignedinti,j。
D0=0,D7=1。
//亮灯1,关灯8
for(i=50。
i>
0。
i-->
for(j=200。
j>
j-->
。
//两个FOR组成地延时
D0=1,D1=0。
//亮灯2,关灯1
for(j=200。
D1=1,D2=0。
D2=1,D3=0。
D3=1,D4=0。
D4=1,D5=0。
D5=1,D6=0。
D6=1,D7=0。
}
程序二<
用swichcase语句编地)
//51单片机地头文件.
sbitd1=P1^0。
//
sbitd2=P1^1。
sbitd3=P1^2。
sbitd4=P1^3。
sbitd5=P1^4。
sbitd6=P1^5。
sbitd7=P1^6。
sbitd8=P1^7。
unsignedinti=1,a,b。
while(1>
//大循环
for(i=1。
i<
15。
i++>
{
for(a=0。
a<
80。
a++>
//延时.
for(b=0。
b<
200。
b++>
switch(i>
case1:
d2=1,d1=0,d8=1。
break。
case2:
d1=1,d2=0。
case3:
d2=1,d3=0。
case4:
d3=1,d4=0。
case5:
d4=1,d5=0。
case6:
d5=1,d6=0。
case7:
d6=1,d7=0。
case8:
d7=1,d8=0。
case9:
d8=1,d7=0。
case10:
d7=1,d6=0。
case11:
d6=1,d5=0。
case12:
d5=1,d4=0。
case13:
d4=1,d3=0。
case14:
d3=1,d2=0。
}
}。
程序三<
最简洁地):
intrins.h>
//_crol_和_cror_地头文件.
voiddelay(unsignedintz>
//建立延时子函数.
unsignedinti,j。
for(i=0。
z。
for(j=0。
j<
j++>
voidmain(>
unsignedchard。
d=0xfe。
{
for(。
d>
0x7f。
>
P1=d。
delay(100>
//调用延时子函数延时.
d=_crol_(d,1>
//循环左移.
d<
0xfe。
d=_cror_(d,1>
//循环右移,让灯倒回去.
}
数码管流水灯:
voiddelay(unsignedinta>
unsignedintb。
b=a。
while(b>
0>
b--。
unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,b5E2RGbCAP
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。
//0x3f:
为0,即数码管亮“0”.p1EanqFDPw
P2=0。
//打开数码管地第一个,
P0=j。
//对数码管进行赋值
i=0。
16。
P2=i。
P0=A[j]。
delay(50000>
i++。
数码管程序二:
inti,j。
unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,DXDiTa9E3d
j=0。
8。
j++。
for(i=7。
=0。
中断程序一
unsignedcodeA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,RTCrpUDGiT
EA=1。
//打开总中断
EX0=1。
//打开外部中断0.
IT0=0。
//选择其为低电平有效有效.当CPU检测到P3.3引脚上出现有效地中断信号时,中断标志IE1(TCON.3>
置1,向CPU申请中断.5PCzVD7HxA
P1=0xfe。
delay(50000>
voidexist(>
interrupt0//中断子程序,其中“0”为外部中断地序号
P1=_crol_(P1,1>
定时程序。
include<
unsignedinti=0,j=0,t。
unsignedcodea[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。
jLBHrnAILg
TMOD=0x01。
//对TMOD赋值,以确定T0和T1地工作方式.
TH0=(65536-50000>
/256。
TL0=(65536-50000>
%256。
//定时/计数器地实质是加1计数器<
16位),由高8位和低8位两个寄存器组成.对高8位和低8位赋值.xHAQX74J0X
EA=1。
//开总中断
ET0=1。
//则对IE赋值,开放中断
TR0=1。
//使TR0或TR1置位,启动定时/计数器定时.
if(t==20>
t=0。
if(j==8>
if(i==16>
P2=j。
P0=a[i]。
voidtime(>
interrupt1//定时子程序,其中“1”为定时/计数器序号
{
TH0=(65536-50000>
TL0=(65536-50000>
t++。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- stcc 单片机 流水 程序