Mbed + 7 segment (use LPC 1114) . Use triple digits segment and mbed LPC1114 micro controller.
Code
#include “mbed.h”
DigitalOut a(dp9);
DigitalOut b(dp17);
DigitalOut c(dp11);
DigitalOut d(dp13);
DigitalOut e(dp14);
DigitalOut f(dp10);
DigitalOut g(dp18);
DigitalOut s0(dp25);
DigitalOut s1(dp24);
DigitalOut s2(dp26);
void zero(){
a=0;
b=0;
c=0;
d=0;
e=0;
f=0;
g=1;
}
void once(){
a=1;
b=0;
c=0;
d=1;
e=1;
f=1;
g=1;
}
void two(){
a=0;
b=0;
c=1;
d=0;
e=0;
f=1;
g=0;
}
void three(){
a=0;
b=0;
c=0;
d=0;
e=1;
f=1;
g=0;
}
void four(){
a=1;
b=0;
c=0;
d=1;
e=1;
f=0;
g=0;
}
void five(){
a=0;
b=1;
c=0;
d=0;
e=1;
f=0;
g=0;
}
void six(){
a=0;
b=1;
c=0;
d=0;
e=0;
f=0;
g=0;
}
void seven(){
a=0;
b=0;
c=0;
d=1;
e=1;
f=1;
g=1;
}
void eight(){
a=0;
b=0;
c=0;
d=0;
e=0;
f=0;
g=0;
}
void nine(){
a=0;
b=0;
c=0;
d=0;
e=1;
f=0;
g=0;
}
void write_1_number(uint8_t stt, uint8_t number){
if(stt ==0){
s0=1;
s1=0;
s2=0;
wait_ms(2);
}
if(stt==1){
s0=0;
s1=1;
s2=0;
wait_ms(2);
}
if(stt==2){
s0=0;
s1=0;
s2=1;
wait_ms(2);
}
if(number==0){
zero();
}
if(number==1){
once();
}
if(number==2){
two();
}
if(number==3){
three();
}
if(number==4){
four();
}
if(number==5){
five();
}
if(number==6){
six();
}
if(number==7){
seven();
}
if(number==8){
eight();
}
if(number==9){
nine();
}
}
void write_3_number(uint16_t number){
float tem = (float)(number)/100.0;
uint8_t san_ = (int)floor(tem);
float tem_1=((float)(number-san_*100))/10.0;
uint8_t ni_ = (int)floor(tem_1);
float tem_2=((float)(number-san_*100-ni_*10));
uint8_t ichi_ = (int)floor(tem_2);
write_1_number(0,ichi_);
write_1_number(1,ni_);
write_1_number(2,san_);
}
int i=0;
int main() {
int count=0;
while(1) {
count++;
if(count>20){
i++;
count=0;
}
write_3_number(i);
if(i>999){
i=0;
}
}
}