51单片机,有8个流水灯,每个之间延迟1秒,这个延迟用c程序编写怎么写

作者&投稿:茹史 (若有异议请与网页底部的电邮联系)
51单片机,有8个流水灯,每个之间延迟1秒,这个延迟用c程序编写怎么写~

要看你的时钟周期,如果是12Mhz的话,每个时钟周期MC=6*2/12
M
=1us,所以延迟是让机器计数1000000下,上面那个公式你自己套用24Mhz的就是2000000下。c语言的循环次数你自己算,每条指令一个周期,所以楼上的程序在12Mhz下是1s延迟。

#include
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);

main()
{
uchar aa;
while(1)
{
aa=0xfe;
P1=aa;
delay(100);
while(1)
{
aa=_crol_(aa,1);
P1=aa;
delay(100);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

要看你的时钟周期,如果是12Mhz的话,每个时钟周期MC=6*2/12 M =1us,所以延迟是让机器计数1000000下,上面那个公式你自己套用24Mhz的就是2000000下。c语言的循环次数你自己算,每条指令一个周期,所以楼上的程序在12Mhz下是1s延迟。

调用delay()函数
其中x,y的最大数字根据调试结果做修改,很长时间没写了。。。。
void delay()
{
int x,y;
for(x=0;x<=5000;x++)
for(y=0;y<=200;y++);
}

去网上下一个单片机 小精灵 只要你输入 晶振频率就能够给出准确的延时程序 ,记得下破解的哦。

写个for循环 在调试下就行了


利用单片机外部中断1电平触发方式实现: 主程序:8个流水灯以1S间隔闪烁...
外部按键中断,进入中断数码管流水,中断完成继续主程序流水

单片机8个流水灯的作业 帮忙看看
如果你是每次都亮一个,只是每次亮的都不同,就应该按下面来写 void main(void){ char j,k; while(1) { P0=0x00; for(j=0;j<8;j++) { P0=pow(2,j); \/\/0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 delay(); } for(k=6;k>=0;k--) ...

单片机8个流水灯初始从左到右,按下按键一就从右往左 C语言
else xx = _crol_(xx, 1);P0 = xx; DelayMs(500);} }

编写单片机的流水灯。8个流水灯。先从左向右亮再从左向右灭。求代码...
\/* 给出脉冲信号,首先将CLK置为1 *\/ HC595CLK = 1;\/* 准备第二个数据 *\/ uiDataOne = uiDataOne << 1;} \/* 输入第二个数据:uiDataTwo *\/ for (i = 0; i < 8; i++){ \/* 给出脉冲信号,首先将CLK置为0 *\/ HC595CLK = 0;if (0 != (uiDataTwo & 0x80)){ HC595...

单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

单片机编程:8个流水灯每隔一秒亮一个,用中断的方式。求完整编程啊...
ET0=1; \/\/定时器中断打开 TR0=1; \/\/定时器开关打开 } \/ 函数名称 : Timer0_isr(void) interrupt 1 using 1 函数功能 : 定时器中断程序 \/ void Timer0_isr(void) interrupt 1 using 1 { TH0=0x00; \/\/重新赋值,方式1是16位计数器,不能硬件重装初始值 TL0=0x00;LED=~LED...

单片机8个流水灯程序 要求:间隔0.5秒流水灯一次(01234567) 两盏流水...
void delay(uchar t){ uchar x;for(x=0;x<t;x++){ TH0=0x3c;TL0=0xb0;TR0=1;while(!TF0);TF0=0;} } uchar code display[]={0x03,0x06,0x60};uchar k,m;void main(){ while(1){ TMOD=0x01;for(m=0;m<3;m++){ P1= display[k];delay(10);} } 顺手写的觉得好就...

单片机流水灯(8个)先一个个亮再两个两个的亮再三个
亮一个的初值为1,两个的为3三个的为7~~以此类推,然后循环左移或循环右移就可以了,

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
单片机流水灯C语言程序的源代码如下:include \/\/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=0;i<8;i++) \/\/8个流水灯...

求一c51单片机,8位流水灯程序
\/\/软件延时,使P1口外接的8个发光二极管,以每秒1位的速度,轮流发光。\/\/发光顺序:0123,1234,2345,3456,4567,5670,6701,7012。循环。\/\/--- include<reg52.h> include<intrins.h> unsigned char a;void main(){ unsigned char i, j, k;a = 0x0f;while(1) { P1 = a; \/\/...

眉山市18015525541: 51单片机,有8个流水灯,每个之间延迟1秒,这个延迟用c程序编写怎么写 -
通杭朗依: 要看你的时钟周期,如果是12Mhz的话,每个时钟周期MC=6*2/12 M =1us,所以延迟是让机器计数1000000下,上面那个公式你自己套用24Mhz的就是2000000下.c语言的循环次数你自己算,每条指令一个周期,所以楼上的程序在12Mhz下是1s延迟.

眉山市18015525541: 用AT89C51单片机控制8个Led的流水灯的C程序看不懂 -
通杭朗依: #include<reg51.h> 包含单片机专用头文件 #include<intrins.h> 这个是什么俺也不知道,但这个程序不需要这个头文件 void Delay10ms(unsigned int c); 自定义的延时函数声明 main() 主函数 {unsigned int LED; 建立一个数值型变量,变量名...

眉山市18015525541: AT89s51单片机8个流水灯程序设计 -
通杭朗依: 我只有这个程序,希望可以帮上你的忙/**************************************************** 现象说明:间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环 三次;再分别从两边往中间流动三次;再从中间往两边流 动三次;8个全部闪烁3次;...

眉山市18015525541: 51单片机设计8个led流水灯,求设计流程图和接线图 -
通杭朗依: 可以自己找软件编程试试#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器 #include <intrins.h>void delayms(unsigned char ms) // 延时子程序 {unsigned char i;while(ms--){for(i = 0; i < 120; i++);} }main() {unsigned char LED;...

眉山市18015525541: 51单片机c语言编写一个流水灯程序,要求如下(不能用数组,8个led指示灯从两边往中间移动,然后再分开) -
通杭朗依: 简单点的,用表格,事先计算好,放到ROM中,用的时候逐行编译输出就可以. 复杂点的,开一个缓冲区,用循环程序,根据花样的不同,每次填充一行,并输出,然后再计算一下行.除非表格太大,不建议这样用. #define len 8 char tablelist[][len] = { "", "", "", "", "", } outline( char * s ) { int i; for(i=0; i{ if ( s[i] == '0' ) { // 对应的灯亮 } else { // 对应的灯灭 } } } main() { for(;;) { outline( tablelist[i]); delay(..); } }

眉山市18015525541: 51单片机8位流水灯8种变化程序 -
通杭朗依: 第一种:1个LED发光,循环右移. 第二种:2个LED发光,循环右移. 第三种:3个LED发光,循环右移. 第四种:4个LED发光,循环右移.再改成左移,就又有四种. 这就有八种了.一边移动,一边闪烁; 再改变一下速度;这能有多少种了?

眉山市18015525541: 51单片机制作一个由一个按钮控制的8盏流水灯程序,要求按下按钮后流水灯先从左到右闪两次 -
通杭朗依: #include<reg51.h> #define uchar unsigned char sbit key=P1^0; uchar led; void delay(uchar x) {uchar i,j;for(i=0;i<x;i++)for(j=0;j<125;j++); } void disled() {uchar i,j;led=0xfe;for(j=0;j<2;j++){for(i=0;i<8;i++){P0=led;delay(200);P0=0xff;delay(...

眉山市18015525541: 51单片机 8盏花样流水灯 -
通杭朗依: 谁能帮我编一个类似流水灯的程序具体要求如下:AT89C51的P1、P3口接16盏copyLED灯,P2.2口接按键(用知于LED显示模式的改变).利用C语言编程实现LED灯的左移、右移、闪烁等的花样显示(最好6种花样以上).至于亮灭的时间间隔不做要求肉眼能看到“流水效果”就好.万分感道谢!实在是16盏的不好找网上的参考太少了,8盏的到很多....

眉山市18015525541: 51单片机8个流水灯,一个按键从左到右,一个按键从右到左,用汇编语言 -
通杭朗依: KEYR EQU P1.0//改下端口 忘记 p3口 是低还是高了 KEYL EQU P1.1 LED EQU P0 ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01HMOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)...

眉山市18015525541: 用51单片机设计8个灯的跑马灯程序 -
通杭朗依: /**************************************************************** 程序名称: 八位LED双灯右移动流水灯显示 说明:使用本程序你必须把 SE3设置为2-3短接 SE4设置为1-2短接 *****************************************************************/ /*头文件*/ #include ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网