0;j--){printf("*");}printf("\n");}for(i=n-2;i>=0;i--){for(j=2*" />
搜档网
当前位置:搜档网 › C语言输出三角形菱形

C语言输出三角形菱形

C语言输出三角形菱形
C语言输出三角形菱形

题目4:打印出如下图案(三角和菱形)

*

*** ****** ******** ****** *** * (1)

#include

main()

{

int i,j,k,p,t,n;

printf("shuru yige shuzi \n"); scanf("%d",&n);

for(i=1;i<=n;i++)

{

for(j=2*i-1;j>0;j--)

{

printf("*");

}

printf("\n");

}

for(i=n-2;i>=0;i--)

{

for(j=2*i;j>=0;j--)

{

printf("*");

}

printf("\n");

} } *

******* ************* ***************** ************* ******* *

***************** *************** ************* *********** ********* ******* ***** *** *

(2)

#include

main()

{

int a=4,b,c,d,e;

for (b=a;b>0;b--)

{

for(c=2*b-2;c>0;c--)

printf(" ");

d=a-b;

for(e=4*d+1;e>0;e--)

printf("*");

printf("\n") ;

}

for (b=1;b<=a;b++)

{

for(c=2*b;c>0;c--)

printf(" ");

d=a-b-1;

for(e=4*d+1;e>0;e--)

printf("*");

printf("\n") ;

}

getch();

}

(3)

#include

main()

{

int a,b,c,d;

printf("输入一个数:\n");

scanf("%d",&a);

for(b=a;b>0;b--)

{

for(c=a;c>b;c--)

printf(" ");

for(d=2*b-1;d>0;d--)

{

printf("*");

}

printf("\n");

}

}

流水灯C语言程序

/************************************************************** 51单片机流水灯C语言源程序 文件说明:流水灯C程序 程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出 *************************************************************/ #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个流水灯逐个闪动 { P2=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P2=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P2=temp; delay(100); //调用延时函数 temp<<=1; } temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮 { P2=temp; delay(100); //调用延时函数 temp>>=1; } } } void delay(uint t) //定义延时函数 { register uint bt; for(;t;t--) for(bt=0;bt<255;bt++); }

51单片机流水灯C语言源代码

#include #include #define uint unsigned int #define uchar unsigned char uchar z=50,e=0x00,f=0xff; uchar code table1[]={ 0x80,0xc0,0xe0,0xf0, 0xf8,0xfc,0xfe,0xff}; uchar code table2[]={ 0x7f,0x3f,0x1f,0x0f, 0x07,0x03,0x01,0x00}; uchar code table3[]={ 0x01,0x03,0x07,0x0f, 0x1f,0x3f,0x7f,0xff}; uchar code table4[]={ 0xe7,0xdb,0xbd,0x7e, 0xbd,0xdb,0xe7,0xff}; uchar code table5[]={ 0xe7,0xc3,0x81,0x00, 0x81,0xc3,0xe7,0xff}; uchar code table6[]={ 0x7e,0x3c,0x18,0x00, 0x18,0x3c,0x7e,0xff}; void delay(uchar); void lsd1(); void lsd2(); void lsd3(); void lsd4(); void lsd5(); void lsd6(); void lsd7(); void lsd8(); void lsd9(); void lsd10(); void lsd11(); void lsd12(); main() { while(1) { lsd1(); lsd2(); lsd3(); lsd4();

单片机c语言编程控制流水灯

说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么 功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^) 我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机 上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include //头文件定义。或用#include其具体的区别在于:后者定义了更多的地址空间。 //在Keil安装文件夹中,找到相应的文件,比较一下便知! sbit P1_0 = P1 ^ 0; //定义管脚 void main (void) { while(1) { P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效 } } 就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。因为我们把LED的正通过电阻接至VCC。 P1_0 = 0; 类似与C语言中的赋值语句,即把0 赋给单片机的P1_0引脚,让它输出相应的电平。那么这样就能达到了我们预先的要求了。 while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。如果我们要试着点亮其他的LED,也类似上述语句。这里就不再讲了。 点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其 实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。假设我们有8个LED分别接在P1口的8个引脚上。硬件连接,在 P1_1--P1_7上再接7个LED即可。例程如下: #include sbit P1_0 = P1 ^ 0; sbit P1_1 = P1 ^ 1; sbit P1_2 = P1 ^ 2; sbit P1_3 = P1 ^ 3; sbit P1_4 = P1 ^ 4; sbit P1_5 = P1 ^ 5; sbit P1_6 = P1 ^ 6; sbit P1_7 = P1 ^ 7; void Delay(unsigned char a) { unsigned char i; while( --a != 0) {

最新五种编程方式实现流水灯的单片机c程序讲课教案

五种编程方式实现流水灯的单片机C程序 //功能:采用顺序结构实现的流水灯控制程序 /*此方式中采用的是字操作(也称为总线操作)*/ #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P1 = 0xfe; //点亮第1个发光二极管,0.000389s delay(200); //延时 P1 = 0xfd; //点亮第2个发光二极管,0.155403s,0.1558 delay(200); //延时 P1 = 0xfb; //点亮第3个发光二极管 delay(200); //延时 P1 = 0xf7; //点亮第4个发光二极管 delay(200); //延时 P1 = 0xef; //点亮第5个发光二极管 delay(200); //延时 P1 = 0xdf; //点亮第6个发光二极管 delay(200); //延时 P1 = 0xbf; //点亮第7个发光二极管 delay(200); //延时 P1 = 0x7f; //点亮第8个发光二极管 delay(200); //延时 } } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; // i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{ unsigned char j, k; //定义无符号字符型变量j和k for(k = 0; k < i; k++) //双重for循环语句实现软件延时 for(j = 0; j < 255; j++); } //功能:采用循环结构实现的流水灯控制程序 //此方式中采用的移位,按位取反等操作是位操作 #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数

单片机流水灯C语言源程序

单片机流水灯C语言源程序 标题:51单片机流水灯C语言源程序2008-12-06 08:43:05 ************************************************************** 文件名称:flash_led.c 文件说明:流水灯C程序 编写日期:2006年10月5日 程序说明:MCU采用AT89S51,外接12M晶振,P1口输出 *************************************************************/ #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个流水灯逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(100); //调用延时函数 temp<<=1; }

C51单片机(32路流水灯C语言程序)

C51单片机(32路流水灯C语言程序) #include void delay(int t){ //时间延迟子函数 unsigned int i,j; for(j=0;j<30;j++) for(i=0;i

精品可控流水灯单片机课程设计报告(c语言)-定

目录 1 引言 (1) 2课题综述 (1) 2.1 课题的来源 (1) 2.2课题的意义 (1) 2.3预期的目标 (1) 2.4面对的问题 (1) 2.5课题的技术 (2) 3系统分析 (2) 3.1涉及的基础知识 (2) 3.280C51单片机引脚图及引脚功能介绍 (2) 3.3 解决问题的基本思路 (3) 3.4总体方案 (3) 4系统设计 (3) 4.1硬件设计 (3) 4.2 软件设计 (4) 4.3元件清单 (4) 4.4硬件原理图 (5) 4.5 硬件焊接图 (6) 4.6设计主要功能 (6) 5代码编写 (6) 6程序调试 (7) 结论 (8) 致谢 .................................................................................................. 错误!未定义书签。参考文献 .............................................................................................. 错误!未定义书签。

1 引言 单片机课程设计主要是为了让我们增进对80C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。 2课题综述 2.1课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2课题的意义 这次单片机课程设计是为了通过对流水灯控制的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。能够让学生深入真是的体会到所学的理论知识和实践相结合的过程。找出自身的不足并加以改正。 2.3预期的目标 对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。 2.4面对的问题 这次课程设计是通过80C51位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。首先我们需要通过protel将设计的实物的电路图画出来,再根据电路图连接实物电路。

STCC单片机花样流水灯C语言程序

花样流水灯程序 #include<> #define uint unsigned int #define uchar unsigned char uchar num; uchar code table[]={ 0xaa,~0xaa,0x7e,0xbd,0xdb, 0xe7,0xf3,0xf9,0xfc,0xfa, 0xf6,0xee,0xde,0xbe,0x7e, 0xbe,0xde,0xee,0xf6,0xfa, 0xfc,0xf0,0xc0,0x0,0x5f,0xaf,0xd7,0xeb,0xf5,0xfa,0xff}; void delayms(uint); void main() { while(1) { for(num=0;num<31;num++) { P2=table[num];

delayms(200); } P2=0x7f; delayms(40); P2=0x3f; delayms(80); P2=0x1f; delayms(130); P2=0x0f; delayms(190); P2=0x07; delayms(260); P2=0x03; delayms(240); P2=0x01; delayms(330); P2=0x00; delayms(430); for(num=0;num<31;num++) { P2=table[num]; delayms(100);

} P2=0x7f; delayms(40); P2=0x3f; delayms(50); P2=0x1f; delayms(70); P2=0x0f; delayms(100); P2=0x07; delayms(140); P2=0x03; delayms(190); P2=0x01; delayms(250); P2=0x00; delayms(320); } } void delayms(uint xms) { uint i,j;

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 {

P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50); P0=0x02; delayms(50); P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50);

P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50); P3=0x02; delayms(50); P3=0x01; delayms(50); P3=0x00; P1=0x80; delayms(50); P1=0x40; delayms(50); P1=0x20; delayms(50); P1=0x10; delayms(50); P1=0x08; delayms(50);

初学单片机花样流水灯(10种亮法)c语言程序

sfr P1=0x90; void delay(unsigned int); void main(void) { unsigned char led,i; while(1) { led=0xfe; for(i=0;i<8;i++) { P1=led; delay(500); led=(led<<1)+1; } for(i=0;i<9;i++) { P1=led; delay(500); led=led<<1; } led=0xff; for(i=8;i>0;i--) { P1=led; delay(500); led=led>>1; } for(i=0;i<5;i++) { P1=led; delay(500); led=(led<<2)+1; } for(i=0;i<5;i++) { P1=led; delay(500); led=(led>>2); } for(i=0;i<9;i++) { P1=led; delay(500); led=(led>>1)+128;

} { led=0xe7; P1=led; delay(500); led=0xc3; P1=led; delay(500); led=0x81; P1=led; delay(500); led=0x00; P1=led; delay(500); } { led=0x7e; P1=led; delay(500); led=0x3c; P1=led; delay(500); led=0x18; P1=led; delay(500); led=0x00; P1=led; delay(500); } { led=0xe7; P1=led; delay(500); led=0xdb; P1=led; delay(500); led=0xbd; P1=led; delay(500); led=0x7e; P1=led; delay(500); } {

基于单片机c语言控制的流水灯程序设计及proteus仿真图

基于单片机(c语言控制的)流水灯程序设计及proteus仿真图

————————————————————————————————作者:————————————————————————————————日期:

89c51与8个发光二极管相连流水控制一、不同花样的控制源程序代码: /*#include #define uchar unsigned char; uchar ledtab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(int n) {while(n--);} main() { int i; while(1) { for(i=0;i<8;i++) { P1=ledtab[i]; delay(20000); } //1~8号灯依次闪烁 for(i=0;i<8;i++) { P1=ledtab[7-i]; delay(2000); } // 8~1号灯依次闪烁 } } */ /*#include #include #define uint unsigned int #define uchar unsigned char void delay(uint z); void main() { uint i; uchar a; P1=0xfe; while(1) { a=P1; for(i=1;i<=10;i++) {delay(300); P1=0xff; delay(300);

P1=a; } P1=_crol_(P1,1); } } void delay(uint z) {uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } */ //依次闪烁10次后,循环点亮 /* #include #include #define uint unsigned int void delay(uint z); void main() { while(1){ P1=0xf0; delay(1000); P1=0x0f; delay(1000); } } void delay(uint z) {uint x,y; for(x=z;x>0;x--) for(y=125;y>0;y--); } */ //4个一组,每隔0.5秒交替闪烁点亮二、总体的连线图(proteus)

STC89C52单片机花样流水灯C语言程序

花样流水灯程序 #include #define uint unsigned int #define uchar unsigned char uchar num; uchar code table[]={ 0xaa,~0xaa,0x7e,0xbd,0xdb, 0xe7,0xf3,0xf9,0xfc,0xfa, 0xf6,0xee,0xde,0xbe,0x7e, 0xbe,0xde,0xee,0xf6,0xfa, 0xfc,0xf0,0xc0,0x0,0x5f,0xaf,0xd7,0xeb,0xf5,0xfa,0xff}; void delayms(uint); void main() { while(1) { for(num=0;num<31;num++) { P2=table[num]; delayms(200); } P2=0x7f; delayms(40); P2=0x3f; delayms(80); P2=0x1f; delayms(130); P2=0x0f; delayms(190); P2=0x07; delayms(260); P2=0x03; delayms(240); P2=0x01; delayms(330); P2=0x00;

delayms(430); for(num=0;num<31;num++) { P2=table[num]; delayms(100); } P2=0x7f; delayms(40); P2=0x3f; delayms(50); P2=0x1f; delayms(70); P2=0x0f; delayms(100); P2=0x07; delayms(140); P2=0x03; delayms(190); P2=0x01; delayms(250); P2=0x00; delayms(320); } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } 我是新手,大神勿喷(∩_∩)

程序简单花样齐全的流水灯

利用单片机实现五种花样流水灯 1.硬件电路图设计 本文仿真软件采用Proteus和Keil C51。其中Keil Proteus可以仿真、分析(SPICE)各种模拟器件和集成电路,C51可完成程序的编译链接和仿真调试,并能生成hex文件。通过Keil C51与Proteus的联调便可实现仿真实验。 硬件电路采用单片机最小系统(晶振电路+复位电路),利用P0口作为数据输出端口。由于P0口是一个8位漏极开路的的双向I/O口,必需外接上拉电阻才能有高电平输出。当单片机输出高电平时对应的LED灯熄灭,当输出低电平时则点亮。 2.C语言程序 程序定义了五个数组分别对应五种不同的花样流水灯方式,其中每个数组中的每个元素控制P0口的壮态,从而控制每个LED灯的壮态。另外,程序将流水灯每个壮态的间隙时间进行了宏定义,这使得修改每个壮态的保持时间十分方便。 #include //包含单片机头文件 #define uint unsigned int #define uchar unsigned char #define DataPort P0 //定义P0为数据输出端口 #define TIME 30 //设定流水灯每个状态的间隙时间 /************us级延时程序*************/ void Delayus2x(uint n)

{ while(--n); } /***********ms级延时程序*************/ void Delayms(uint n) { while(--n) {Delayus2x(245);Delayus2x(245);} } /********************五个数组分别对应五种不同的流水灯******************/ uchar DB1[15]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uchar DB2[15]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe}; uchar DB3[15]={0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7}; ucharDB4[36]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f,0x3e, 0x3d,0x3b,0x37,0x2f,0x1f,0x1e,0x1d,0x1b,0x17,0x0f,0x0e,0x0d,0x0b,0x07,0x06, 0x05,0x03,0x02,0x01,0x00}; ucharDB5[36]={0x80,0x40,0xc0,0xa0,0x60,0xe0,0xd0,0xb0,0x70,0xf0,0xe8,0xd8,0xb8,0x78,0xf8, 0xf4,0xec,0xdc,0xbc,0x7c,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e,0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f,0xff}; /****************************主函数***************************************/ void main(void) { uint i=0; while(1) //死循环,流水灯依次在五种方式中循环 { DataPort=0xff; //灯全灭 Delayms(TIME); for(i=0;i<15;i++) { DataPort=DB1[i]; Delayms(TIME); }//第一种方式 for(i=0;i<15;i++) { DataPort=DB2[i];

STC89C52单片机花样流水灯C语言程序

. 花样流水灯程序 #include #define uint unsigned int #define uchar unsigned char uchar num; uchar code table[]={ 0xaa,~0xaa,0x7e,0xbd,0xdb, 0xe7,0xf3,0xf9,0xfc,0xfa, 0xf6,0xee,0xde,0xbe,0x7e, 0xbe,0xde,0xee,0xf6,0xfa, 0xfc,0xf0,0xc0,0x0,0x5f,0xaf,0xd7,0xeb,0xf5,0xfa,0xff}; void delayms(uint); void main() { while(1) { for(num=0;num<31;num++) { P2=table[num]; delayms(200); } P2=0x7f; delayms(40); P2=0x3f; delayms(80); P2=0x1f; delayms(130); P2=0x0f; delayms(190); P2=0x07; delayms(260); P2=0x03; delayms(240); P2=0x01; delayms(330); P2=0x00;

. delayms(430); for(num=0;num<31;num++) { P2=table[num]; delayms(100); } P2=0x7f; delayms(40); P2=0x3f; delayms(50); P2=0x1f; delayms(70); P2=0x0f; delayms(100); P2=0x07; delayms(140); P2=0x03; delayms(190); P2=0x01; delayms(250); P2=0x00; delayms(320); } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } 我是新手,大神勿喷(∩_∩)

单片机32个IO口流水灯C程序

单片机32个IO口流水灯C程序(转)2008-11-23 11:37/**************************************** ******************** *89C51、S51单片机32个IO口流水灯测试程序 *Flash0、1、2、3分别对应单片机的P0、1、2、3四个口 *a程序对应流水灯从全灭到一个一个亮 *b程序对应流水灯从全亮到一个一个灭 *Author:大灵通 *2006-7-26 10:57,OK! ********************************************** ***************/ #include #include #include #define uchar unsigned char #define uint unsigned int #define TimeDelay 60000 void delay(uint n); void Flash0a(void); void Flash0b(void); void Flash1a(void);

void Flash1b(void); void Flash2a(void); void Flash2b(void); void Flash3a(void); void Flash3b(void); /********************************************* *************** *Function: 主函数 *parameter: *Return: *Modify: ********************************************** ***************/ void main(void) { while(1) { Flash1b(); Flash1a(); delay(TimeDelay); delay(TimeDelay); Flash0b();

相关主题