#include <reg51.h>#defineUINT unsigned int#defineUchar unsigned charSFR p0m0=0x94; SFR p0m1=0x93; SFR p2m0=0x96; SFR p2m1=0x95;UINTCount;uchar Code leddata[]= { 0xC0,//"0" 0xf9,//"1" 0xa4,//"2" 0xb0,//"3" 0x99,//"4" 0x92,//"5" 0x82,//"6" 0xF8,//"7" 0x80,//"8" 0x90,//"9" 0x88,//"A" 0x83,//"B" 0xC6,//"C" 0xa1,//"D" 0x86,//"E" 0x8E,//"F" 0x89,//"H" 0xC7,//"L" 0xC8,//"n" 0xC1,//"U" 0x8c,//"P" 0xa3,//"O" 0xBF,//"-" 0xFF,};uchar code weidata[]= { 0x01,0x02,0x04,0x08, 0x10,0x20,0x40,0x80, 0x01,0x02,0x04,0x08, 0x10,0x20,0x40,0x80};voidDelayUINTms) { UINTi,j; for(i =0; I < ms;i++) for(j =0; J <121; j + +);}voiddisplay () {UINTi; for(i =0; I < -; i++) {P0= leddata[ -]; P2= ~Weidata[i]; Delay ( +); }}voidMain () {P0M0=0x00; P0M1=0x00; P2M0=0x00; P2M1=0x00; while(1) {display (); }}
51 single chip microcomputer digital tube character H move from right to left