AVR单片机跑马灯的仿真设计

发布者:SereneDreamer最新更新时间:2019-11-11 来源: 51hei关键字:AVR  单片机  跑马灯 手机看文章 扫描二维码
随时随地手机看文章

简易的跑马灯设计。基于AVR单片机

仿真原理图如下:

单片机源程序如下:

/********************************************************************

                            汇诚科技

*********************************************************************/

#include

/**********************************************************************

                                  函数数据类型说明                                                                   

**********************************************************************/

#define uchar unsigned char 

#define uint unsigned int

/**********************************************************************

                                  MS级延时函数程序,参数i 延时时间                                                                           

**********************************************************************/

void DelayMS(uint i)

{

uint j;

for(;i!=0;i--)

{

for(j=8000;j!=0;j--);

}

}

/**********************************************************************

                                  跑马灯程序,通过跑过的步数进行判断来点亮相应的LED

                                  低电平点亮LED                                                                           

**********************************************************************/

void horse(uchar i)

{switch (i)

{

case 0:PORTA=0X00;break;//0000 0000B 点亮LED1~LED8

case 1:PORTA=0X01;break;//0000 0001B 点亮LED2~LED8

case 2:PORTA=0X03;break;//0000 0011B 点亮LED3~LED8

case 3:PORTA=0X07;break;//0000 0111B 点亮LED4~LED8

case 4:PORTA=0X0f;break;//0000 1111B 点亮LED5~LED8

case 5:PORTA=0X1f;break;//0001 1111B 点亮LED6~LED8

case 6:PORTA=0X3f;break;//0011 1111B 点亮LED7~LED8

case 7:PORTA=0X7f;break;//0111 1111B 点亮LED8

case 8:PORTA=0Xff;break;//1111 1111B 全熄灭

default:break;

}

}

/**********************************************************************

                                   主函数                                                           

**********************************************************************/

void main(void)

{

uchar i;

DDRA=0XFF;//端口设置,PA口设置为推挽1输出

PORTA=0XFF;

PORTA=0XFF;//PORTA初始化为1,灭掉所有的LED

DelayMS(10);

while(1)//程序无条件执行

{

for(i=0;i<9;i++)

{

horse(i);

DelayMS(10);//延时时间约10MS

}

……………………



关键字:AVR  单片机  跑马灯 引用地址:AVR单片机跑马灯的仿真设计

上一篇:让12864液晶模块显示更小的文字 5*8点阵
下一篇:AVR单片机红外遥控键值解码实验

推荐阅读最新更新时间:2024-11-12 23:17

STM32微控制器可连接移动平台子系统
中国,2014年7月1日 ——意法半导体最新推出的专用低压STM32微控制器微助力设计人员克服在为主处理器增加辅助芯片(companion chip)时所面临的挑战。新系列专用低压微控制器与主处理器的数字电源域(digital power domain)相同,例如1.8V电源,同时准许片上外设使用电压更高的电源,例如,3.3V,从而避免了常见的性能与电压之间的矛盾问题。 STM32F038/48/58/78和STM32F318/28/58/78低压辅助微控制器是设计人员提高模块划分灵活性的理想解决方案。当需要模拟电压动态范围很宽或直接连接USB设备时,单片整合1.8V数字电源域和独立模拟电源域具有特别强的优势。 § ST
[单片机]
STM32<font color='red'>微控制器</font>可连接移动平台子系统
Ubuntu下sdcc写的一个基于普中V2单片机数码管头文件
/* 使用此头文件需先包含头文件: #include 8051.h #include base8051.h */ uchar __code smgduan = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00}; void shumaguan(uchar duan, uchar wei) { switch (duan) { case 1: P2 &= 0xE3; //1110 0011 相当于LSC=0;LSB=0;LSA=0;
[单片机]
四维图新发布国产第一颗32位Cortex-M0+车规级MCU芯片
近日, 四维图新 旗下全资子公司AutoChips杰发科技对外宣布,其车规级 MCU 产品线又添重量级新成员—— AC7801X ,这是杰发科技继2018年底量产的国内首颗车规级 MCU 芯片——AC7811之后, 国产第一颗32位Cortex-M0+车规级 MCU 芯片,进一步打破国外MCU品牌在车身控制领域的技术垄断,为国内汽车半导体行业树立新的标杆。 AC7801X 主要面向汽车车身电子,可广泛应用于天窗、车窗、座椅、LED车灯、ETC、倒车雷达、雨量传感器等产品领域,同时也可应用于高可靠性工业领域,如水泵、油泵、工业风机、电机控制等产品,支持最新最先进CAN-FD接口,具有丰富灵活的封装尺寸(48/32/20Pin),
[汽车电子]
51单片机,C语言编程,控制指示灯闪烁的频率
c51单片机,c语言编程,关于指示灯定时闪烁的。 P1.0 P1.1 P1.2 P1.3上面各接有一个指示灯,P2.0接一个外接按键。 要求: 按一下按键P1.0以1Hz的频率闪烁 半周期为500ms 第二次按下按键P1.1以2Hz的频率闪烁 半周期为250ms 第三次按下按键P1.2以3Hz的频率闪烁 半周期为165ms 第四次按下按键P1.3以4Hz的频率闪烁 半周期为125ms 第五次按下按键P1.0以1Hz的频率闪烁 半周期为500ms 如此循环。 单片机外接6MHz晶振,如何写这个程序? 悬赏分:30 本程序有实用价值,在不同的工作状态,以不同的速度闪烁,可表现出不同的紧急程度。 系统的晶振是6MHz,则机器周
[单片机]
51<font color='red'>单片机</font>,C语言编程,控制指示灯闪烁的频率
STM32单片机学习(3) 串口中断通信
/* * * 软件功能: 串口实验(软件延时方式) * */ #include stm32f10x.h #include string.h #include delay.h u8 uart1_buf ; int count=0; //字符串长度 int flag=0; void RCC_Configuration(void); void GPIO_Configuration(void); void NVIC_Configuration(void); void USART1_Configuration(void); void Uart1_PutChar(u8 ch); void Uart1_PutString(u8* buf
[单片机]
8051单片机串行口及串行通信
一、串行通信的基础知识 CPU与其他外部设备要进行信息交换,一台计算机与其他计算机之间有时也要交换信息,这些信息交换就称为通信。通信有并行通信和串行通信两种。 1、并行通信 并行通信是将数据字节的各位用多条数据线同时进行传送。 并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接受存在困难。 2、串行通信 串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。 串行通信传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制要比并行通信复杂。 串行通信又可以分为异步通信与同步通信。 1)异步通信 异步通信是指通信的发送设备与接
[单片机]
8051<font color='red'>单片机</font>串行口及串行通信
ATmega32单片机最简单的程序—闪烁灯
每次学一种新的CPU,这都是跨入门槛的第一步。 ***************************************************************** //CPU:mega32 //编译器:iar #include ioavr.h void delay(unsigned int ms); int main(void) { DDRD = 0xff;//D口都做输出用 while(1) { PORTD = 0;//D口做输出0 delay(60000); PORTD = 0Xff;//D口做输出 1111 1111 delay(60000); } } void delay(unsigned int
[单片机]
超低功耗单片机MSP430F413实现的智能遥控器
目前市场上常见的无线遥控器多数为四键和十二键,主要用于汽车防盗系统、家庭防盗系统及遥控玩具等方面,这些应用简单、实用、成本低。但对于一些工程中需要距离在100米以上,控制或设定一些数据时,并要求一个遥控器对多于12个甚至上百个设备时,上述遥控器对操作人员就不方便,而且系统性能不够稳定。鉴于上述情况我们便提出在此基础上,采用单片机编写地址,通过操作键设置,液晶显示遥控器的输出。同时对耗电量、多个控制的设定、便于携带、操作方便及性能稳定等的严格要求,于是便设计开发出一种新型智能遥控器。该型遥控器以TI公司的超低功耗单片机MSP430F413为微处理器,配有低功耗3位液晶显示器EDS812A,还有传输比很高的光,整个系统采用锂电池和高能
[单片机]
超低功耗<font color='red'>单片机</font>MSP430F413实现的智能遥控器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved