单片机c语言简单程序(编写简单的单片机c语言程序 1、指定数组找最大值 2、排序)

2024-07-24 16:28:05 8

单片机c语言简单程序(编写简单的单片机c语言程序 1、指定数组找最大值 2、排序)

本文目录

编写简单的单片机c语言程序 1、指定数组找最大值 2、排序

#include《stdio.h》

#defineNR10//数组元素个数

/*从主函数开始*/

intmain(intargc,char**argv)

{

intar;

inti;

fprintf(stdout,"请输入%d个整数:\n",NR);

/*获取并检查用户输入*/

while(1)

{

/*循环获取NR个数据*/

for(i=0;i《NR;i++)

{

if(fscanf(stdin,"%d",&ar)!=1)

{

fprintf(stdout,"输入错误!请重新输入:\n");

while(getchar()!=’\n’);//丢弃多余非法字符

break;//打破内层for循环

}

}

/*检查是否获取到NR个数据*/

if(i!=NR)

{

continue;

}

else

{

break;

}

}

/*查找最大值和最小值*/

intmax,min;

max=ar;//假定第一个数为最大值

min=ar;//同时假定也第一个数为最大值

/*从第二个数开始比较查找最值*/

for(i=1;i《NR;i++)

{

if(ar》max)//最大值

{

max=ar;

}

if(ar《min)//最小值,不能使用elseif,否则会跳过比较

{

min=ar;

}

}

fprintf(stdout,"最大值为:%d最小值为:%d\n",max,min);

/*接下来:查找第二大值*/

intsecond;

/*先获取前两个数的第一大和第二大值*/

ar):\

(max=ar);

/*从第2个数开始比较查找*/

for(i=2;i《NR;i++)

{

if(ar》max)//查找最大值:目的是为了比较第二大值

{

second=max;//先把最大值保存给第二大值

max=ar;

}

elseif(second《ar)//比最大值小的数再看看是否大于第二大值

{

second=ar;

}

}

fprintf(stdout,"第二大值为:%d\n",second);

return0;

}

扩展资料

一、c语言程序求数组内所有数的和:

1、通过索引的方式就可以访问到数组内部的元素,索引是从0到数组长度-1。

2、数组点Lenth就是数组的长度。

二、c语言程序冒泡排序:

1、比较相邻的两个元素的大小,如果第一个比第二个大就互换一下。

2、然后每一对都做如上操作,如此一来最后一个元素肯定是最大的数了。

3、除了最后一个元素,重复以上步骤。然后倒数第二个就是次大的值了

4、一次按照这个逻辑直到没有任何数字可以比较了。

求问用c语言编写单片机程序

unsigned data char i,x;unsigned xdata char *p;p=0x1000;x=0;for(i=0;i《11;i++)x+=*p;DBYTE=x;unsigned data char x1 _at_ 0x30;unsigned data char x2 _at_ 0x40;unsigned int x;unsigned xdata char *p;x=x1+x2;p=0x2000;*p=x;p++;*p=x》》8;

大神,求51单片机做简易计算器的那个c语言程序

以下是我编的简易计算器程序,基本成功//4*4键盘检测程序,按下键后相应的代码显示在液晶屏上//显示5位后,第6次显示操作符号//再显示下一个数// 键值与功能对应表 //键值 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //功能 0 1 2 3 4 5 6 7 8 9 + - × ÷ = 清零#include《reg52.h》sbit beep=P2^3;sbit lcden=P3^4;sbit rs=P3^5;sbit rw=P3^6;#define uint unsigned int#define ulint unsigned long int#define uchar unsigned char#define lcddata P0ulint bb,dd,ee,ff;uchar d,flag1;uchar fd1,fd2;uchar b1=16,b2=16,b3=16,b4=16,b5=16;uchar d1=16,d2=16,d3=16,d4=16,d5=16;uchar f1=16,f2=16,f3=16,f4=16,f5=16,f6=16,f7=16,f8=16,f9=16,f10=16;uchar key,keyval,c,temp;void Delay1ms(uint i) //1ms延时程序{uint j;for(;i》0;i--){for(j=0;j《125;j++){;}}}void write_com(uchar com){ lcddata=com;rs=0; rw = 0;lcden=0;Delay1ms(10);lcden=1;Delay1ms(10);lcden=0;}void write_date(uchar date){lcddata=date;rs=1; rw=0;lcden=0;Delay1ms(10);lcden=1;Delay1ms(10);lcden=0;}void init2(){ rw=0;write_com(0x38);Delay1ms(10);write_com(0x0f);Delay1ms(10);write_com(0x06);Delay1ms(10);write_com(0x01);Delay1ms(10);}void display1(uchar A1,uchar A2,uchar A3,uchar A4,uchar A5) //第1个数显示程序 { init2(); write_com(0x80);//第1行,第1字 Delay1ms(10); write_date(0x30+A1);Delay1ms(10);write_date(0x30+A2);Delay1ms(10);write_date(0x30+A3);Delay1ms(10); write_date(0x30+A4);Delay1ms(10); write_date(0x30+A5); Delay1ms(10); }void display2(uchar A1,uchar A2,uchar A3,uchar A4,uchar A5) //第2个数显示程序 { write_com(0x88);//第1行,第1字 Delay1ms(10); write_date(0x30+A1);Delay1ms(10);write_date(0x30+A2);Delay1ms(10);write_date(0x30+A3);Delay1ms(10); write_date(0x30+A4);Delay1ms(10); write_date(0x30+A5); Delay1ms(10); } void display3(uchar a) //操作符号显示程序 { write_com(0x86);//第1行,第1字 Delay1ms(10); switch(a) { case 10: write_date(’+’);Delay1ms(10);case 11:write_date(’-’);Delay1ms(10); case 12:write_date(’x’);Delay1ms(10); case 13: write_date(’/’); Delay1ms(10); } } void display4(uchar A1,uchar A2,uchar A3,uchar A4,uchar A5,uchar A6,uchar A7,uchar A8,uchar A9,uchar A10,uchar A11,uchar A12) //结果显示程序 { write_com(0x80+0x40);//第2行,第1字 Delay1ms(10); if (flag1==0) {write_date(’-’); } else write_date(’+’);Delay1ms(10); write_date(0x30+A1);Delay1ms(10);write_date(0x30+A2);Delay1ms(10);write_date(0x30+A3);Delay1ms(10); write_date(0x30+A4);Delay1ms(10); write_date(0x30+A5); Delay1ms(10); write_date(0x30+A6);Delay1ms(10);write_date(0x30+A7);Delay1ms(10);write_date(0x30+A8);Delay1ms(10); write_date(0x30+A9);Delay1ms(10); write_date(0x30+A10); Delay1ms(10); write_date(’.’);Delay1ms(10); write_date(0x30+A11);Delay1ms(10); write_date(0x30+A12); Delay1ms(10); }uchar keyscan(){ key=16; P3=0xef;//P3.7输出1个低电平 temp=P3; //读取 temp=temp&0x0f;//屏蔽高4位 if(temp!=0x0f) { Delay1ms(10); if(temp!=0x0f) { temp=P3; switch(temp) { case 0xee: key=0; break; case 0xed: key=4; break; case 0xeb: key=8; break; case 0xe7: key=12; break; } while(temp!=0x0f) { temp=P3; temp=temp&0x0f; beep=0; } beep=1; } } P3=0xdf; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { Delay1ms(10); if(temp!=0x0f) { temp=P3; switch(temp) { case 0xde: key=1; break; case 0xdd: key=5; break; case 0xdb: key=9; break; case 0xd7: key=13; break; } while(temp!=0x0f) { temp=P3; temp=temp&0x0f; beep=0; } beep=1; } } P3=0xbf; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { Delay1ms(10); if(temp!=0x0f) { temp=P3; switch(temp) { case 0xbe: key=2; break; case 0xbd: key=6; break; case 0xbb: key=10; break; case 0xb7: key=14; break; } while(temp!=0x0f) { temp=P3; temp=temp&0x0f; beep=0; } beep=1; } } P3=0x7f; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { Delay1ms(10); if(temp!=0x0f) { temp=P3; switch(temp) { case 0x7e: key=3; break; case 0x7d: key=7; break; case 0x7b: key=11; break; case 0x77: key=15; break; } while(temp!=0x0f) { temp=P3; temp=temp&0x0f; beep=0; } beep=1; } }return(key); }void main(){ while(1){ c=1; while(c《6)//输入第1个5 位数{ keyval=keyscan(); if(keyval《10) { switch(c){case 1:b1=keyval; break; case 2:b2=keyval; break;case 3:b3=keyval; break;case 4:b4=keyval; break;case 5:b5=keyval; break; } c++; } display1(b1,b2,b3,b4,b5);} while(c==6) //输入计算符号 { keyval=keyscan(); if((keyval》=10)&&(keyval《14)) //可去一层括号,因逻辑运算优先级较低 { d=keyval; } c=1; display3(d); } while(c《6) //输入第2个5 位数{ keyval=keyscan(); if(keyval《10) { switch(c){case 1:d1=keyval; break; case 2:d2=keyval; break;case 3:d3=keyval; break;case 4:d4=keyval; break;// 除case 5:d5=keyval; break; } c++; } display2(d1,d2,d3,d4,d5);} bb=b1*10000+b2*1000+b3*100+b4*10+b5;dd=d1*10000+d1*1000+d3*100+d4*10+d5; while(keyval!=14) //等待按下"=" { keyval=keyscan(); } Delay1ms(10);switch(d){case 10:ee=bb+dd; break;//+ case 11:flag1=1;if(bb》=dd){ ee=bb-dd; //- flag1=0;} else ee=dd-bb; break; case 12:ee=bb*dd; break;//*可能会溢出case 13:ee=bb/dd; //除法小数部分会丢失,保留2位 ff=bb%dd;fd1=ff*10/dd;fd2=ff*100/dd%10; break; }f10=ee/1000000000%10; f9=ee/100000000%10;f8=ee/10000000%10;f7=ee/1000000%10;f6=ee/100000%10;f5=ee/10000%10;f4=ee/1000%10;f3=ee/100%10; f2=ee/10%10;f1=ee%10;display4(f10,f9,f8,f7,f6,f4,f4,f3,f2,f1,fd1,fd2); while(keyval!=15) { keyval=keyscan(); } b1=0;b2=0;b3=0;b4=0;b5=0; d1=0;d2=0;d3=0;d4=0;d5=0; bb=0;dd=0;ee=0; init2();} }

很简的51单片机C语言流水灯程序

1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:

#include《reg51.h》  //51单片机头文件#include 《intrins.h》 //包含有左右循环移位子函数的库#define uint unsigned int    //宏定义#define uchar unsigned char  //宏定义sbit beep=P2^3;void delay(uint z)  //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{                    //delay(500);大约延时500ms.    uint x,y;    for(x=z;x》0;x--)        for(y=110;y》0;y--);    }void main()            //主函数{    uchar a,i,j;    while(1)        //大循环    {        a=0xfe;     //赋初值        for(j=0;j《3;j++) for(i=0;i《8;i++)   //左移三次        {            P1=a;       //点亮小灯            beep=0;     //开启蜂鸣器            delay(50); //延时50毫秒            beep=1;     //关闭蜂鸣器            delay(50);  //再延时50毫秒            a=_crol_(a,1); //将a变量循环左移一位        }        a=0x7f;       for(j=0;j《3;j++) for(i=0;i《8;i++)  //右移三次        {            P1=a;       //点亮小灯            beep=0;     //开启蜂鸣器            delay(50); //延时50毫秒            beep=1;     //关闭蜂鸣器            delay(50);   //再延时50毫秒            a=_cror_(a,1); //将a变量循环右移一位        }            }}

2、51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。

单片机c语言简单程序(编写简单的单片机c语言程序 1、指定数组找最大值 2、排序)

本文编辑:admin

更多文章:


autocad2013安装教程(win10系统autocad2013怎么安装)

autocad2013安装教程(win10系统autocad2013怎么安装)

本篇文章给大家谈谈autocad2013安装教程,以及win10系统autocad2013怎么安装对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录win10系统autocad2013怎么安装我安装的autocad2013激活不

2024年6月28日 05:53

三国十大猛将是谁?三国十名将分别是谁

三国十大猛将是谁?三国十名将分别是谁

本文目录三国十大猛将是谁三国十名将分别是谁三国十猛将是哪些三国十大武将排名三国十大猛将三国十大猛将介绍 三国十大猛将简介三国十大猛将是谁 一、三国十大猛将 三国十大猛将名单分别为吕布、赵云、关羽、马超、典韦、许褚、张飞、黄忠、张辽、魏延。

2024年3月9日 00:55

控制面板快捷键(打开控制面板的快捷键是)

控制面板快捷键(打开控制面板的快捷键是)

本文目录打开控制面板的快捷键是win7控制面板的快捷键是什么win10控制面板在哪里快捷键控制面板快捷键控制面板快捷键win7打开控制面板的快捷键打开控制面板的快捷键是组合键(WIN+R)打开运行,在运行中输入“Control”命令,即可打

2024年6月27日 22:31

榕树下原创文学网站(榕树下是什么网站!)

榕树下原创文学网站(榕树下是什么网站!)

本文目录榕树下是什么网站!榕树下文学网的发展简史请问谁知道怎样在榕树下原创文学网站上发表文章谢谢!榕树下原创文学网站怎么了是不是已经没有了发展前途榕树下是什么网站!榕树下是全球中文原创文学网站 网址: http://www.rongshux

2024年7月18日 07:11

qq农场怎么进入牧场(怎样进入牧场)

qq农场怎么进入牧场(怎样进入牧场)

各位老铁们好,相信很多人对qq农场怎么进入牧场都不是特别的了解,因此呢,今天就来为大家分享下关于qq农场怎么进入牧场以及怎样进入牧场的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录怎样进入牧场手机qq怎么进qq农

2024年8月26日 13:10

安卓版iphoneqq(如何让安卓手机登QQ,让对方看到你是iPhone在线)

安卓版iphoneqq(如何让安卓手机登QQ,让对方看到你是iPhone在线)

本文目录如何让安卓手机登QQ,让对方看到你是iPhone在线安卓手机怎么用iphoneQQ怎么在安卓手机上用ios qq安卓 能用苹果手机QQ吗安卓怎么下iphone qq,就是用安卓手机显示iphone在线安卓手机怎么搞iphone在线q

2024年5月28日 15:33

发短信平台网站(现在发短信平台有哪些)

发短信平台网站(现在发短信平台有哪些)

大家好,关于发短信平台网站很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于现在发短信平台有哪些的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录现在发短信

2024年4月14日 05:01

八零点电子书txt下载(八零电子书txt下载唯双倾天下)

八零点电子书txt下载(八零电子书txt下载唯双倾天下)

本篇文章给大家谈谈八零点电子书txt下载,以及八零电子书txt下载唯双倾天下对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录八零电子书txt下载唯双倾天下80电子书txt全本免费下载网站换名字了搜狗浏览器最近怎么在80txt书

2024年8月17日 02:45

employee(employee什么意思)

employee(employee什么意思)

各位老铁们好,相信很多人对employee都不是特别的了解,因此呢,今天就来为大家分享下关于employee以及employee什么意思的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录employee什么意思em

2024年6月4日 23:00

怎样登录QQ号?如何用自己的qq号登陆别人的qq号

怎样登录QQ号?如何用自己的qq号登陆别人的qq号

各位老铁们,大家好,今天由我来为大家分享qq号登录,以及怎样登录QQ号的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录怎样登录QQ号如何用自己的qq

2024年4月2日 22:16

capital(Capital 是什么意思啊)

capital(Capital 是什么意思啊)

本篇文章给大家谈谈capital,以及Capital 是什么意思啊对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录Capital 是什么意思

2024年8月29日 09:05

pptv网络电视(pptv电视为什么打不开)

pptv网络电视(pptv电视为什么打不开)

本文目录pptv电视为什么打不开pptv电视怎样调出卫视直播如何用网络电视看电视台我是PPTV电视怎样看电视直播怎样才能看pptv电视pptv网络电视下载 2010最新版pptv网络电视官方下载2011pptv电视为什么打不开1、可能是电源

2024年6月16日 10:19

windows pe(windows pe是什么)

windows pe(windows pe是什么)

本文目录windows pe是什么电脑怎么进入pe怎样在U盘里做Windows PE如何用u盘制作windows pe系统盘怎样自己制作WIN PE U盘版系统如何制作官方纯净版Windows 10 PE启动U盘如何用U盘安装windows

2024年7月6日 00:17

adobe cs6安装教程(adobe photoshop cs6怎么安装)

adobe cs6安装教程(adobe photoshop cs6怎么安装)

“adobe cs6安装教程”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看adobe cs6安装教程(adobe photoshop cs6怎么安装)!本文目录adobe photoshop cs6怎么安装pscs6安装教

2024年5月28日 18:13

造梦西游4白龙马技能(造梦西游四白龙马武器大全)

造梦西游4白龙马技能(造梦西游四白龙马武器大全)

本文目录造梦西游四白龙马武器大全造梦西游4白龙马图片在这!绝对不是造假!不信拿去对照那个隐藏人物造梦西游4木之祖巫猪八戒白龙马打法造梦西游四白龙马武器大全造梦西游3已经推出了一段时间了,很多玩家早早就打通最后一关了,近日,也有很多玩家在询问

2024年6月11日 23:41

疯狂猜成语答案(疯狂猜图四字成语答案大全)

疯狂猜成语答案(疯狂猜图四字成语答案大全)

其实疯狂猜成语答案的问题并不复杂,但是又很多的朋友都不太了解疯狂猜图四字成语答案大全,因此呢,今天小编就来为大家分享疯狂猜成语答案的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录疯狂猜图四字成语答案大全《疯狂猜成

2024年6月25日 05:15

wow怀旧服官网(魔兽世界怀旧服在哪能下载)

wow怀旧服官网(魔兽世界怀旧服在哪能下载)

大家好,如果您还对wow怀旧服官网不太了解,没有关系,今天就由本站为大家分享wow怀旧服官网的知识,包括魔兽世界怀旧服在哪能下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录魔兽世界怀旧服在哪能下载魔兽世界怀旧服

2024年7月23日 22:25

120帧画质助手下载安卓(画质助手120帧安卓和平精英怎么登录)

120帧画质助手下载安卓(画质助手120帧安卓和平精英怎么登录)

这篇文章给大家聊聊关于120帧画质助手下载安卓,以及画质助手120帧安卓和平精英怎么登录对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录画质助手120帧安卓和平精英怎么登录画质助手120帧安卓加超广角怎么用画质助手120帧安卓

2024年3月29日 17:35

路由器怎样重新设置wifi密码(路由器怎样重新设置wifi密码)

路由器怎样重新设置wifi密码(路由器怎样重新设置wifi密码)

本篇文章给大家谈谈路由器怎样重新设置wifi密码,以及路由器怎样重新设置wifi密码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录路由器怎样重新设置wifi密码无线路由器忘记密码了怎么重新设置密码路由器怎么重新设置wifi密

2024年7月15日 09:18

开挂小扳手悬浮器怎么用?e代驾有什么开挂神器

开挂小扳手悬浮器怎么用?e代驾有什么开挂神器

大家好,今天小编来为大家解答以下的问题,关于开挂神器,开挂小扳手悬浮器怎么用这个很多人还不知道,现在让我们一起来看看吧!本文目录开挂小扳手悬浮器怎么用e代驾有什么开挂神器怎么下载使命召唤手游开挂版国外游戏香肠派对免费开挂神器为什么点开之后闪

2024年6月30日 23:01

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索