单片机流水灯程序

单片机流水灯程序,第1张

程序如下:

#include <reg52h>

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3。

让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。

从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期。

无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用。

单片机程序求注释#include <reg52h> //调用单片机头文件

#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255

#define uint unsigned int //无符号整型 宏定义 变量范围0~65535

#include <intrinsh>// 有了他下面这些关键字随便用

/ _crol_ 字符循环左移

_cror_ 字符循环右移

_irol_ 整数循环左移

_iror_ 整数循环右移

_lrol_ 长整数循环左移

_lror_ 长整数循环右移

_nop_ 空 *** 作8051 NOP 指令

0 1 2 3 4 5 6 7 8 9

uchar code smg_du[]={0x28,0xe1,0x32,0xa2,0x54,0xa1,0x21,0xea,0x20,0xa0,

a b c d e f g //数组有code存在ROM没code保存在内存

0x60,0x25,0x39,0x26,0x31,0x71,0xff}; //数码管段选定义

uchar code smg_we[]={0xef,0xdf,0xbf,0x7f};//数码管位选定义

uchar dis_smg[8] = {0};

uchar smg_i = 4; //显示数码管的个位数

sbit beep = P2^3; //蜂鸣器IO口定义

bit flag_lj_en; //按键连加使能

bit flag_lj_3_en; //按键连3次连加后使能 加的数就越大了

uchar key_time,key_value; //用做连加的中间变量

bit key_500ms ;

bit flag_300ms ;

uchar menu_1; //菜单设计的变量

uint t_high = 20; //上限报警值

sbit hx711_dout=P2^7;

sbit hx711_sck=P2^6; //hx711模块端口选择

long weight;

unsigned long HX711_Buffer = 0;

unsigned long Weight_Maopi = 0;

uint temp,qi_weight;

bit chaozhong_flag;

bit leiji_flag;

uchar flag_200ms ;

#define GapValue 4370

uint temp,qi_weight;

bit chaozhong_flag;

bit leiji_flag;

/1ms延时函数/

void delay_1ms(uint q)//无符号整形参数q

{

uint i,j; //定义无符号整形变量i和j

for(i=0;i<q;i++) //变量i从0加到q

for(j=0;j<120;j++); //变量j从0加到120

}

/数码显示函数/

void display()

{

static uchar i; //申请无符号字符变量i

i++;

if(i >= smg_i)//如果大于等于smg i向下执行

i = 0; 变量i清0

P1 = 0xff; //消隐 单片机p1口发送11111111

P3 = smg_we[i]; //位选 数组i送入单片机P3口

P1 = dis_smg[i]; //段选 数组i的内容送到p1口

}

/定时器0初始化程序/

void t

#include

//调出头文件,必须写

unsigned

cont=0;

//初始化程序void

main(void)

//主程序{

WDTCTL

=

WDT_ADLY_250;

//基本时钟驱动看门狗定时器(WDT)250ms中断

IE1

|=

WDTIE;

//使能

WDT

中断

FLL_CTL0

|=

XCAP14PF;

//

设置时钟电容

P1DIR

|=

0xe0;

//

设置P15,

P16,P17为输出端口

_EINT();

//

使能单片机中断,初始化结束

for

(;;)

//主循环程序

{

_BIS_SR(LPM3_bits);

//

进入低功耗模式3(LPM3)

_NOP();

//

空 *** 作,为开发软件设断点用

}}

interrupt[WDT_VECTOR]

void

watchdog_timer(void)

//WDT中断入口{cont=cont+1;

if(cont==20)

{P1DIR=0x80;}

if(cont==40)

{P1DIR=0x40;}

if(cont==60)

{P1DIR=0x20;}

if(cont==61)

{cont=1;}

_NOP();

//

空 *** 作,为开发软件设断点用}

以上就是关于单片机流水灯程序全部的内容,包括:单片机流水灯程序、单片机程序求注释、单片机的程序怎么编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9507466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存