当前位置:首页 > 单片机 > 单片机
[导读]今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结

今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结果很快就出来了

电路示意图:

示例代码:

#include


#define CPU_F ((double)8000000)

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

unsigned char table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


void main( void )

{

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

unsigned char i=0;

P2SEL = 0x0;//设置P2普通的I/O

P2DIR = 0xff;//设置普通的输出

while(1)

{

P2OUT = table1[i];

delay_ms(50);

i++;

if(i == 8)

i=0;

}


}


实验板点亮数码管

实验板的电路图

示例代码:


#include


#define dula_l P6OUT &=~BIT6

#define dula_h P6OUT "=BIT6

#define wela_l P5OUT &=~BIT5

#define wela_h P5OUT |=BIT5



#define CPU_F ((double)8000000)

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))


unsigned char scandata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//记录显示位数的全局变量


void main( void )

{

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

P6SEL = 0x0;//设置P6,P5,P4为普通的I/O

P5SEL = 0x0;

P4SEL = 0x0;

P6DIR |=BIT6;//选择P6.6,P5.5为输出

P5DIR |=BIT5;

P4DIR = 0xff;

wela_h;//拉高位选

P4OUT = 0xff;

wela_l;

P4OUT = 0x0;//消影

dula_h;

P4OUT = scandata[4];//选择段选

delay_ms(10);//延时

dula_l;

while(1);



}

然程序按照51的方式写出来了,但是问题出现了,把该程序下载到板子上,结果发现不是第一个数码管亮,改变段选,结果数码管又亮了,这是led灯后三位也亮了,不知道怎么回事,这个程序还有待完善~~


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数码管里面相当于有8个段码管(或叫发光二极管)。 数码管分阳极管(CA),阴极管(CC)。阳极管是接高电平然后通过每个段选为来控制数码管亮灭(高电平灭,低电平亮)。阴极管则是接低电平,通过段选来控制亮灭(高电平亮,低电...

关键字: 数码管 使用

数码管引脚图

关键字: 数码管 编程

共阳极、共阴极数码管编码表(0~9、A~P……全亮)

关键字: 数码管 段码

【单片机自学】3.数码管静态及动态显示

关键字: 数码管 数字

LED数码管驱动芯片选型指南

关键字: 数码管 芯片

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法。若有不足和疏忽的地方,请不吝指正。一、工作原理数码管是一种半导体发光器件,其基本单元是发光二极...

关键字: 数码管

led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

关键字: 发光二极管 数码管

数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要显示的内容;按能显示...

关键字: 数码管 LED数码管

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法。

关键字: 数码管 半导体发光器件

数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。

关键字: 数码管 半导体发光器件
关闭
关闭