历史上的今天
今天是:2024年12月31日(星期二)
2019年12月31日 | 51单片机心形流水和数码管同步效果显示仿真与程序
2019-12-31 来源:51hei
LED流水和数码管流水效果"独立"进行,实现方法包里有代码,互相交流。
仿真原理图:
单片机源程序如下:
#include #include #define Number 50 //数码管数字长亮时间,t=Number*50ms=2500ms #define Speed 6 //数码管数字显示流动速度,t=Speed*50ms=300ms #define time100 100 //延时函数时间:t=time100=100ms #define time1000 1000 //延时函数时间:t=time1000=1000ms #define uchar unsigned char #define uint unsigned int bit flag=0; uchar timer=0; uchar K=0; uchar N=0; uchar num; uchar num1; uchar a; uchar b; uchar c; uchar code temp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xc7,0xc1,0x86}; uchar code table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar code led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /**************************************** 延时函数(ms) ****************************************/ void delay(uint t) { int x,y; for(x=t;x>0;x--) for(y=110;y>0;y--); } /**************************************** 流水灯显示 ****************************************/ //闪烁 void ledBlink_display() { P1=P3=0x00; // 闪烁 1 delay(time100); P1=P3=0xff; delay(time100); P1=P3=0x00; // 闪烁 2 delay(time100); P1=P3=0xff; delay(time100); } //流动 1 void ledFlow_display1() { for(b=0;b<8;b++) {P3=led[b]; delay(time100); } P3=0x00; for(c=0;c<8;c++) {P1=led[c]; delay(time100); } P1=0x00; } // 流动 2 void ledFlow_display2() { for(b=0;b<8;b++) {P3=led[b]; delay(time100); } P3=0x00; for(c=0;c<8;c++) {P1=led[c]; delay(time100); } P1=0x00; } //流动 3 void ledFlow_display3() { for(b=0;b<8;b++) {P3=led[b]; delay(time100); } P3=0x00; for(c=0;c<8;c++) {P1=led[c]; delay(time100); } P1=0xff; } //流动 4 void ledFlow_display4() { for(b=7;b>0;b--) {P3=led[b]; delay(time100); } P3=0x00; for(c=7;c>0;c--) {P1=led[c]; delay(time100); } P1=0x00; } // 流动 5 void ledFlow_display5() { for(b=7;b>0;b--) {P3=led[b]; delay(time100); } P3=0x00; for(c=7;c>0;c--) {P1=led[c]; delay(time100); } P1=0xff; } //流动 6 void ledFlow_display6() { for(b=7;b>0;b--) {P3=led[b]; delay(time100); } P3=0x00; for(c=7;c>0;c--) {P1=led[c]; delay(time100); } P1=0x00; } //交替闪 void ledExchangeBlink_display() { P3=0xaa; P1=0x55; delay(time100); P3=0x55; P1=0xaa; delay(time100); P3=0xaa; P1=0x55; delay(time100); P3=0x55; P1=0xaa; delay(time100); P3=0xaa; P1=0x55; delay(time100); P3=0x55; P1=0xaa; delay(time100); } //左右闪 1 void led_RL_Blink_display1() { P3=0x00; P1=0xff; delay(time100); P3=0xff; P1=0x00; delay(time100); } //左右闪 2 void led_RL_Blink_display2() { P3=0x00; P1=0xff; delay(time100); P3=0xff; P1=0x00; delay(time100); } //左右闪 3 void led_RL_Blink_display3() { P3=0x00; P1=0xff; delay(time100); P3=0xff; P1=0x00; delay(time100); } //4组流 void ledFourGroupFlow_display() { P1=P3=0x11; P3=0xf0; P1=0xff; delay(time1000); P3=0x0f; P1=0xff; delay(time1000);
史海拾趣
|
#include \"stdafx.h\" #include #include int _tmain(int argc, _TCHAR* argv[]) { UINT bufIndex = 0; BYTE buf[262]; DWORD c; &nb ...… 查看全部问答> |
|
各位嵌入式爱好者网友: 我先说一下,我今年27了,一直在做vb的开发,老感觉待不下去了,想去做一些事情,例如创业。我一直是搞技术的,希望通过技术开发一款产品,这点我可以找合作伙伴一起做。 后来就找到了嵌入式开发这里。我要 ...… 查看全部问答> |
|
2440启动代码中有段代码设置大小端如下: ASSERT :DEF:ENDIAN_CHANGE [ ENDIAN_CHANGE ASSERT :DEF:ENTRY_BUS_WIDTH [ ENTRY_BUS_WIDTH=32 b ChangeBigEndian ;DCD 0xea000007 ] [ ENTRY_BUS_WIDTH=16 andeq r14,r7,r0,lsl #20 ;DCD 0x0007 ...… 查看全部问答> |
|
设计制作一个高效LED驱动电路,驱动一个由5只白光LED(现场统一提供)串联组成的发光装置,要求点亮的LED无明显闪烁。整体电路必须采用3.3V单路直流稳压电源供电,不得采用额外供电方式。限定采用TI公司TPS61040作为DC-DC变换器核心芯片。整个电路 ...… 查看全部问答> |
|
没去成车展?没关系!我们来啦——TI汽车电子研讨会7城来袭!带给你最新的汽车资讯和完整解决方案,绝对不容错过! TI提供包括高级驾驶员辅助系统(ADAS),车身电子元件与照明,信息娱乐与仪表盘,混合动力/电动动力传动系统和被动安全等完整解决方 ...… 查看全部问答> |




