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

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  单片机  跑马灯 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479598.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

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

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

avr单片机汇编参考程序
该AVR的汇编程序选自《M128》,程序中体现了AVR汇编的基本特点,仅供大家参考。该应用系统为一个带1/100秒的简易24小时制时钟,它在上电后能够自动从11时59分55秒00开始计时和显示时间。下图为简易时钟系统硬件电路图。                           图  简易24小时时钟硬件原理图系统使用8个LED数码管显示时、分、秒、1/100秒4个时段的数字,每个时段占用2个LED。显示方式采用动态扫描方式,ATme
发表于 2019-11-14
avr单片机汇编参考程序
AVR单片机一些学习笔记
下面是自己在学习AVR单片机时的学习经验,分享出来给大家,一起学习。1、AVR单片机采用RISC架构,8051单片机采用CISC架构。 前者速度为后者的2~4倍,为流水线操作指令。2、 AVR单片机有32个通用寄存器(地址在RAM区从$0000开始到$001F),其中有6个(最后6个)合并为3个16位的X,Y,Z寄存器,用来存放地址指针,Z寄存器还可以寻址程序存储器。3、 哈佛结构,131条机器指令。4、 延迟开机功能。5、 内部自带RC振荡器,可提供1/2/4/8MHZ的工作时钟。6、 FLASH+EEPROM+SRAM+SPI+USART+TWI+PWM+RTC+10位ADC+模拟比较器+JTAG。7、 堆栈指针向下增长,51
发表于 2019-11-14
avr单片机mega32之ADC程序
查手册,写程序,有问题再讨论*****************************************************************//CPU:mega32//编译器:iar#include <ioavr.h>#include "adc.h"int main(void){        int m;adc_init();             m = adc_get(0);     &n
发表于 2019-11-14
AVR I2C通信程序
uchar SDA_Return(void)//0-low level  1-hign level{          uchar flag;          uchar oldSREG=SREG;          SREG&=~(_BV(7));       DDRC&=0xfd;   PORTC|=_BV(PC1);   i
发表于 2019-11-14
ICC-AVR DS1821S温度报警程序
用DS1821的测温报警输出功能,已经过实测,可以用的,已批量用于产品。//ICC-AVR application builder : 2015-10-8 14:15:46// Target : M8// Crystal: 8.0000Mhz/*新片烧录程序,电容加热温度高低设置成0x14,0x13;化雪板设置成0X02,0X00*/#include <iom8v.h>#include <macros.h>#define uchar         unsigned char #define uint        
发表于 2019-11-14
基于LabVIEW和AVR单片机的镇痛仪系统实现
摘要:通过对穴位施加低频的脉冲电压刺激穴位神经释放内源性物质,从而达到减轻疼痛的作用已经被证实。基于此医学原理,本系统使用LabVIEW编写上位机控制界面,通过NIVISA模块驱动USB进行实时通信,采用高性能AVR主控芯片设计下位机,从而实现宽范围数字升压(12~100V)的高质量互补对称脉冲波稳定输出特性。在疼痛疾病的治疗以及医疗保健治未病等领域将有广泛的应用。疼痛治疗一向是临床医学深感棘手的问题之一,在疼痛治疗领域,穴位刺激镇痛一直备受推崇,即通过对穴位施加低频的脉冲电压实现对神经系统的刺激,使其释放阿片肽,达到减轻疼痛的目的。上世纪80年代以来,电子技术在疾病诊疗领域的取得广泛应用,穴位刺激镇痛治疗仪器成为其中的一个研究
发表于 2019-11-14
基于LabVIEW和AVR单片机的镇痛仪系统实现
小广播
何立民专栏 单片机及嵌入式宝典

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

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