资讯详情

单片机广告灯程序(查表方式)

51单片机驱动8个led灯使得其不断的变换花样闪烁达到广告灯效果. 效果:使P1口作单一灯的变化:左移2次,右移2次,闪烁2次(延时0.2秒) 电路:单片机最小系统把八个led灯接在p1口即可.

下面是汇编语言程序: ORG 0 ART: MOV D ,#TABLE LOOP: CLR A MOVC A,@A+TR CJNE A,#01H,LOOP1 JMP START LOOP1: MOV P1,A MOV R3,#20 LCALL DELAY INC DPTR JMP LOOP DELAY: MOV R4,#20 D1: MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 DJNZ R3,DELAY RET TABLE: 0FEH,0FDH,0FBH,0F7H DB 0E,0DFH,0BFH,07FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 00H,0FFH,00H,0FFH DB 01H END

下面是C语言程序: #include<AT89X51.H> unsigned char code table[ ]={ 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f, 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0x01}; unsigned char i; void delay(void) {unsigned char m,n,s; for(m=20;m>0;m--) for(n=20;n>0;n--) for(s=248;s>0;s--); } void main(void) {while(1) {if(table[i]!=0x01) {P1=table[i]; i++; delay(); } else {i=0; } } }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台