void delay(int times){//延时函数,times控制延时时间
int i, j
for(i = 0i <timesi++)
for(j = 0j <210j++)
}
int main(void){
unsigned char data, i
while(1){
data = P1//把开关值读回来
for(i = 0i <8i++){
P0 = ~(0x01 <<i)//某位为高电平某位对应的灯亮
delay(data)//把读取的开关值用来控制延时
}
}
}
#include<reg51.h> //51系列单片机定义文件#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint) //声明延时函数
void main(void)
{
uint i
uchar temp
while(1)
{
temp=0x01
for(i=0i<8i++) //洞枣8个流水灯逐个闪动
{
P1=~temp
delay(100) //调用延时函数
temp<银喊<=1
}
}
void delay(uint t) //定义延时函数
{
register uint bt
for(tt--)
for(bt=0bt<锋颤野255bt++)
}
跑马灯程序最基本的,c语言还未入门啊!!!
答疑解难 跑马灯程序
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: JB P0.7,MAIN ;等待开始键按下
LCALL YS ;按键延时
JB P0.7,MAIN
MOV A,#7FH ;是开始键按下 则跑马灯开始运行
LL: MOV P1,A
LCALL YS ;显示延时
RR A ;循环右移一位
JB P0.6, LL ;没有按下停止键 则继续跑马
LCALL YS ;按键延时
JB P0.6,LL ;按下停止键 则停止跑马;否则继续跑马
MOV A,#0FFH
MOV P1,A
SJMP MAIN ;转到程序开始处,等待开始键的按下
YS: MOV R7,#150 ;延时子程序
YL: MOV R6,#200
YY: 闷旅盯 NOP
DJNZ R6,YY
镇启 DJNZ R7,YL
RET
END
硬件接口电路如下:
蚂和 哈哈 还满意吗 就请给俺选择(满意选项)吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)