用C语言编写一个花样流水灯的程序及此程序的流程图

用C语言编写一个花样流水灯的程序及此程序的流程图,第1张

设一个标志位flag, 以标志位的5种状态对应发光二极管的5种工作状态,如当flag=1;发光二极管工作在1,当flag=2;发光二极管工作在2,!然后根据定时器定时功能,5秒到,刷新flag的值,程序如下;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;/程序功能:定时5S到切换LED显示状态

;作者:w4187818402008529 /

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

FLAG BIT 30H ;定义标志位

ORG 0

LJMP MAIN

ORG 0BH

LJMP AGA

;;;;;;主程序;;;;;;;;;;;;

ORG 0030H

MAIN: MOV FLAG,#01H ;标志位清0

MOV TMOD,#01H ;赋值50MS

MOV TH0,#3CH

MOV TL0,#0B0H

MOV R0,#100 ;中断10050=5S

SETB EA

SETB ET0

SETB TR0

SJMP $

;;;;;;;;;中断服务程序;;;;;;;;;;;;;;

AGA: MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R0,LOOP ;5S到否否,返回

INC FLAG ;到,标志加1

MOV A,FLAG

CJNE A,#05,L1 ;扫描5种状态了否

MOV FLAG,#01H ;是,归0,重新开始

;;;;;;;;;切换程序;;;;;;;;;;;;

L1: CJNE A,#01H,L2 ;判断是否是状态1否,转判断2

LCALL LED1 ;是,调有状态1

SJMP LOOP ;返回

L2: CJNE A,#02H,L3 ; 以下跟上面判断相同

LCALL LED2

SJMP LOOP

L3: CJNE A,#03H,L4

LCALL LED3

SJMP LOOP

L4: CJNE A,#04H,L5

LCALL LED4

SJMP LOOP

L5: CJNE A,#05H,LOOP

LCALL LED5

LOOP: RETI

;;;;;;LED子程序区;;;;;;;;;;

LED1: RET

LED2: RET

LED3: RET

LED4: RET

LED5: RET

/////////////////

///////////////////////////////

/程序功能:定时5S到切换LED显示状态

作者:w4187818402008529 /

//========声明区===========

#include <reg51h>

unsigned char count=0;

unsigned char flag=1;

void led1(void);

void led2(void);

void led3(void);

void led4(void);

void led5(void);

//=========函数=========

main()

{ TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{ switch(flag)

{ case 1:led1();break;

case 2:led1();break;

case 3:led1();break;

case 4:led1();break;

case 5:led1();break;

}

}

}

//==========中断服务============

void timer0(void) interrupt 1

{ TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

if(++count==100)

{ count=0;

flag++;

if(flag==5)

flag=1;

}

}

//========5种状态函数区=========

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。

2、具体实现方法可以参考如下程序:

1、单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

2、单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

3、单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

参考资料:

百度百科:单片机

程序如下:

#include <reg52h>

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3。

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

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

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

一、AVR系列单片机开发板

本开发板可使用于多种型号的AVR单片机,本板主配ATmega16单片机。除了丰富的硬件资源外,还配有仿真器,可以很方便的调试硬件,大大减小调试周期。所有IO口全部引出,用户可以任意扩展功能。

二、AVR_PQ1A开发板实例程序(演示程序)

( 1 ) LED LED灯驱动程序,两种演示方式

( 2 ) SMG 数码管驱动程序,循环滚动显示数字1-6

( 3 ) 1602 1602液晶驱动程序,除正常显示ASCII码外,还教如何显示中文

( 4 ) 12864 12864液晶驱动程序,显示汉字和图形。液晶为带字库的 ST7920控制器的液晶。

( 5 ) SKEY 4个独立按键驱动程序,采用查询方式驱动

( 6 ) SKEY_INT 利用按键产生外部中断,教你中断程序的编写

( 7 ) MKEY 4x4矩阵按键驱动程序,教你如何扫描矩阵按键

( 8 ) TIMER0INT 定时器0驱动程序,教你如何使用定时器

( 9 ) AD Mega16自带的AD的驱动程序

( 10 ) DA SPI接口的8位DA驱动程序,利用Mega16的硬SPI接口

( 11 ) DS18B20 数字温度传感器驱动程序,教你如何显示小数

( 12 ) TWI( IIC ) IIC接口数字电位器驱动程序,利用Mega16的硬件IIC接口

( 13 ) BEEP 蜂鸣器唱歌程序,教你如何唱出好听的歌曲

( 14 ) PWM Mega16的定时器1驱动程序,实现PWM输出功能

( 15 ) RELAY 继电器驱动程序,利用Mega16的I/O口直接驱动继电器

( 16 ) UART Mega16的异步串口驱动程序,教你如何实现串口通信

( 17 ) RTC 时钟芯片驱动程序,可以显示和利用按键设定时间

( 18 ) EEPROM Mega16的EEPROM驱动程序,读写内部EEPROM

( 19 ) PS2 标准PS2键盘驱动程序,教你如何读入扫描码并译成ASCII码

( 20 ) USB USBD12固件程序,教你实现枚举过程和数据传输

( 21 )uC/OS-II 移植好的 *** 作系统,执行两个任务,编译后,占用Mega16的26%资源。

#include<reg52h>

#include <intrinsh>

void main()

{

unsigned int x,y;

P1=0xfe;

while(1)

{

P1=_crol_(P1,1);

for(x=500;x>0;x--)

for(y=113;y>0;y--);

}

}

P1接二极管(低电平有效)每隔x毫秒流动一下(可改变x的值)

震荡周期为110592MHz

把上面的P1=0xfe;改为P1=0x01;!!!

高电平也许要用上拉电阻!!

以上就是关于用C语言编写一个花样流水灯的程序及此程序的流程图全部的内容,包括:用C语言编写一个花样流水灯的程序及此程序的流程图、单片机C语言如何实现8个LED流水灯来回流动、单片机流水灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9467908.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存