用C语言编程,求程序的方法:
#include//包含单片机寄存器的头文件
/****************************************函数功能:延迟一段时间
*****************************************/
Voiddelay(Void)蚂肢//Void表示没有返回值,也没有传递参数。
{
Unsignedint我;定义一个最大值为65535的无符号整数。
For (I = 0我<20000i++) //执行20000个空循环。
;//什么也不做,等待一个机器周期。
}
/*******************************************************
函数函数:主函数(C语言规则必须有且只能有一个主函数)。
********************************************************/空白主要(空白)
{
而(1)//无限循环。
{
P0=0xfe;//P1=11111110B,P0.0输出低电平。
延迟();//推迟一段时间。
P0=0XFF;//P1=11111111B,P0.0输出高电平。
延迟();//推迟一段时间。
}
}
单片机驱动LED光源程序:
#include//头文件。
定义uint无符号int
#定义uchar无符号字符
SbitLED1=P1^7;//定义。
空白delay_ms(单位);//带参数的ms级延时函数。
Voidmain()
{
而(1)
{
LED1=0;
Delay_ms(1000);
LED1=1;
Delay_ms(1000);
}
}
Voiddelay_ms(uintz)//delay子例程
{
使用Uintx,y;
For (x = zX >0X -)
For (y = 110Y >0Y -)
}
扩展资料:
单片态盯机应用分类:
一般类型:
这是关于微控制器的。例如80C51通用型单片闷闭世机,它并不是为特定的目的而设计的;专用单片机是为某一类产品甚至某一种产品而设计生产的。例如,为了满足电子体温计的要求,芯片中集成了具有ADC接口的温度测量控制电路等功能。
主线:
这是由微控制器是否提供并行总线来区分的。总线微控制器一般安装有并行地址总线、数据总线、控制总线,这些引脚扩展并行外围设备可以通过串口与单片机连接。
另外,很多单片机都需要将外围设备和外围设备的接口集成在一块,所以在很多情况下不能并行扩展总线,大大降低了封装成本和芯片体积,这种单片机被称为非总线单片机。
控制类型:
这是关于微控制器的一般应用。一般来说,工业控制寻址范围大,计算能力强。家用电器的单片机大多是专用的。
它通常是小包装、低价格、高集成的外围设备和外围接口。显然,上述分类并不独特和严格。例如,80C51类单片机既是通用的,又是总线的,还可以用于工业控制。
直接说你的12灯循环控制,究竟是已什么作为启停信号,什么作为触发信号。
例如下,
干触点di1为启动信号,di2为停止信号。
do1到do12为12个首渗灯。
可选用时间继电器配合置位复位来做。
即di1置位内部点x,x上升沿即正跳变置位do1 do1通时t01计时器开始计睁芹埋时,t01计时器开点复位do1 置位do2,do2通时t02计时器计时,无限类推,然后do12通时t12开始计时,t12开点复位t12置位t1,这样就是一个循环了,
同样你可以再玩点花样。
如这悉蚂一段程序前增加开触点x1,x上升沿置位x1,同时用一个计数器c01计t12的开点,用c01开点置位x1复位x。
然后骚年你可以用同样的格式做2个2个一起亮的循环。
这样程序构架就是开始信号_x程序负责n个循环的单灯次序启停,c1计数n个循环后切除x程序开始x1程序,x1程序可以两两亮灯。
同样你可以增加更多程序段,可以通过各种条件,如计时,计数,外部di状态等等,玩出花来。
等数字量摸的透透的再玩模拟量就好了。
大概如此,剩下的,自己搞定
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常银侍用的就是keil软件。
2、编写相应的代码:#include<reg52.h> //定义单片机尺空的头文件sbit led=P2^0 //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 }。
3、打开烧写软件,点击【打开文件】,寻找刚刚编写锋困吵的程序。
4、找到相应的文件夹以后,寻找HEX文件。这是所能烧写软件识别的程序。
5、找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。
6、程序下载进单片机以后就能够看到八个led点亮了前面三个。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)