#include<reg51.h> //#include"delay.h" //#include"seg.h" void delay_ms(unsigned int dly) { unsigned int i; for(;dly>0;dly--) { for(i=122;i>0;i--); } } #define segs_4_mux P0 sbit sel1=P2^0; sbit sel2=P2^1; sbit sel3=P2^2; sbit sel4=P2^3; unsigned char dp1=0x80,dp2=0x80,dp3=0x80,dp4=0x80; code unsigned char seg_lut[]= { 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10 }; void disp_4_mux_segs(unsigned int n) { segs_4_mux=seg_lut[n/1000]|dp1; sel1=0; //;delay_ms(10); sel1=1; segs_4_mux=seg_lut[(n/100)%10]|dp2; sel2=0; //;delay_ms(10); sel2=1; segs_4_mux=seg_lut[(n%100)/10]|dp3; sel3=0; //;delay_ms(10); sel3=1; segs_4_mux=seg_lut[n%10]|dp4; sel4=0; //;delay_ms(10); sel4=1; } //#endif void main(void) { while(1) disp_4_mux_segs(1234); }
Saturday, 6 December 2014
4Mux Segment LED
Posted by Madan
Posted on 23:40