Skip to content

Instantly share code, notes, and snippets.

@jinfeijie
Last active November 29, 2016 13:32
Show Gist options
  • Save jinfeijie/b0c54f8d6cda59271dd31f5c2e377d6a to your computer and use it in GitHub Desktop.
Save jinfeijie/b0c54f8d6cda59271dd31f5c2e377d6a to your computer and use it in GitHub Desktop.
#include "core.h"
#include <iostream>
#define A 0
#define B 1
#define C 2
#define D 3
#define E 4
#define F 5
#define G 6
#define DP 7
#define First_num 8
#define Second_num 9
//初始化0~7管脚
void INIT(){
int i=0;
for(i;i<=9;i++){
digitalWrite(i, HIGH);
}
}
void first_close_all(){
int i=0;
for(i;i<=7;i++){
digitalWrite(i, HIGH);
}
}
void second_close_all(){
int i=0;
for(i;i<=7;i++){
digitalWrite(i, LOW);
}
}
//数字1
void num_one(){
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
//数字2
void num_two(){
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(G, LOW);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
}
//数字3
void num_three(){
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(G, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
//数字4
void num_four(){
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
//数字5
void num_five(){
digitalWrite(A, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
//数字6
void num_six(){
digitalWrite(A, LOW);
digitalWrite(F, LOW);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(C, LOW);
digitalWrite(G, LOW);
}
//数字7
void num_seven(){
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
}
//数字8
void num_eight(){
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
}
//数字9
void num_nine(){
digitalWrite(G, LOW);
digitalWrite(F, LOW);
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
//数字0
void num_zero(){
int i=0;
for(i;i<=5;i++){
digitalWrite(i, LOW);
}
}
// 显示数字
void display_first(int num){
INIT();
digitalWrite(First_num, HIGH);
digitalWrite(Second_num, LOW);
switch(num){
case 1:num_one();break;
case 2:num_two();break;
case 3:num_three();break;
case 4:num_four();break;
case 5:num_five();break;
case 6:num_six();break;
case 7:num_seven();break;
case 8:num_eight();break;
case 9:num_nine();break;
default:num_zero();break;
}
delay(1);
}
void display_second(int num){
INIT();
digitalWrite(First_num, LOW);
digitalWrite(Second_num, HIGH);
switch(num){
case 1:num_one();break;
case 2:num_two();break;
case 3:num_three();break;
case 4:num_four();break;
case 5:num_five();break;
case 6:num_six();break;
case 7:num_seven();break;
case 8:num_eight();break;
case 9:num_nine();break;
default:num_zero();break;
}
delay(1);
}
void setup(){
int i=0;
for(i;i<=9;i++){
pinMode(i,OUTPUT);
}
}
void loop(){
int i,j;
int first_num,second_num;
for(i=0;i<=99;i++){
if(i < 10){
for(j=0;j<20;j++){
display_second(i);
delay(49);
}
}else{
for(j=0;j<500;j++){
first_num = i / 10;
second_num = i % 10;
display_first(first_num);
display_second(second_num);
}
}
}
for(i=99;i>=0;i--){
if(i < 10){
for(j=0;j<20;j++){
display_second(i);
delay(49);
}
}else{
for(j=0;j<500;j++){
first_num = i / 10;
second_num = i % 10;
display_first(first_num);
display_second(second_num);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment