test4

Dependencies:   mbed BufferedSerial LS7366LIB2 FastPWM

Committer:
lsh3146
Date:
Tue Dec 08 01:25:06 2020 +0000
Revision:
4:bf278ddb8504
Parent:
0:7cff999a7f5c
aaaaaqqqqq

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gohgwaja 0:7cff999a7f5c 1 #ifndef _7_SEGMENT_H_
gohgwaja 0:7cff999a7f5c 2 #define _7_SEGMENT_H_
gohgwaja 0:7cff999a7f5c 3
gohgwaja 0:7cff999a7f5c 4 #include "MCP23S17.h"
gohgwaja 0:7cff999a7f5c 5
gohgwaja 0:7cff999a7f5c 6 #define SEG_DELAY_TIME (int)3
gohgwaja 0:7cff999a7f5c 7 #define SEG_OE_PERIOD (int)1500 // 1.5 ms
gohgwaja 0:7cff999a7f5c 8
gohgwaja 0:7cff999a7f5c 9 #define SEG_PGAIN 0
gohgwaja 0:7cff999a7f5c 10 #define SEG_INPUT 0
gohgwaja 0:7cff999a7f5c 11
gohgwaja 0:7cff999a7f5c 12
gohgwaja 0:7cff999a7f5c 13 //FastPWM OE_pin(PB_11, -1);
gohgwaja 0:7cff999a7f5c 14 //PwmOut OE_pin(PB_11);
gohgwaja 0:7cff999a7f5c 15 //DigitalOut output_enable_pin(PB_11);
gohgwaja 0:7cff999a7f5c 16 bool OE_state = false;
gohgwaja 0:7cff999a7f5c 17
gohgwaja 0:7cff999a7f5c 18 uint8_t menual_step = 0;
gohgwaja 0:7cff999a7f5c 19 uint32_t menual_delay = 0;
gohgwaja 0:7cff999a7f5c 20
gohgwaja 0:7cff999a7f5c 21 const bool num_data[10][8] = {
gohgwaja 0:7cff999a7f5c 22 {1,0,0,0,0,0,0,1},
gohgwaja 0:7cff999a7f5c 23 {1,1,1,1,0,0,1,1},
gohgwaja 0:7cff999a7f5c 24 {0,1,0,0,1,0,0,1},
gohgwaja 0:7cff999a7f5c 25 {0,1,1,0,0,0,0,1},
gohgwaja 0:7cff999a7f5c 26 {0,0,1,1,0,0,1,1},
gohgwaja 0:7cff999a7f5c 27 {0,0,1,0,0,1,0,1},
gohgwaja 0:7cff999a7f5c 28 {0,0,0,0,0,1,0,1},
gohgwaja 0:7cff999a7f5c 29 {1,0,1,1,0,0,0,1},
gohgwaja 0:7cff999a7f5c 30 {0,0,0,0,0,0,0,1},
gohgwaja 0:7cff999a7f5c 31 {0,0,1,1,0,0,0,1},
gohgwaja 0:7cff999a7f5c 32 };
gohgwaja 0:7cff999a7f5c 33
gohgwaja 0:7cff999a7f5c 34 const bool menual_data[70][8] = {
gohgwaja 0:7cff999a7f5c 35 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 36 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 37 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 38 {1, 1, 1, 0, 0, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 39 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 40
gohgwaja 0:7cff999a7f5c 41 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 42 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 43 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 44 {1, 1, 1, 0, 1, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 45 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 46
gohgwaja 0:7cff999a7f5c 47 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 48 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 49 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 50 {1, 1, 1, 1, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 51 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 52
gohgwaja 0:7cff999a7f5c 53 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 54 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 55 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 56 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 57 {1, 1, 1, 1, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 58
gohgwaja 0:7cff999a7f5c 59 {1, 1, 1, 1, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 60 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 61 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 62 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 63 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 64
gohgwaja 0:7cff999a7f5c 65 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 66 {1, 1, 1, 1, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 67 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 68 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 69 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 70
gohgwaja 0:7cff999a7f5c 71 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 72 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 73 {1, 0, 0, 1, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 74 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 75 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 76
gohgwaja 0:7cff999a7f5c 77 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 78 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 79 {1, 0, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 80 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 81 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 82
gohgwaja 0:7cff999a7f5c 83 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 84 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 85 {1, 1, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 86 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 87 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 88
gohgwaja 0:7cff999a7f5c 89 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 90 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 91 {1, 0, 0, 0, 1, 1, 1, 1},
gohgwaja 0:7cff999a7f5c 92 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 93 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 94
gohgwaja 0:7cff999a7f5c 95 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 96 {1, 1, 1, 0, 1, 1, 1, 1},
gohgwaja 0:7cff999a7f5c 97 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 98 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 99 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 100
gohgwaja 0:7cff999a7f5c 101 {1, 1, 1, 0, 1, 1, 1, 1},
gohgwaja 0:7cff999a7f5c 102 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 103 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 104 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 105 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 106
gohgwaja 0:7cff999a7f5c 107 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 108 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 109 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 110 {1, 1, 1, 0, 0, 0, 0, 1},
gohgwaja 0:7cff999a7f5c 111 {1, 1, 1, 0, 1, 1, 1, 1},
gohgwaja 0:7cff999a7f5c 112
gohgwaja 0:7cff999a7f5c 113 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 114 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 115 {1, 0, 0, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 116 {1, 1, 1, 0, 0, 0, 1, 1},
gohgwaja 0:7cff999a7f5c 117 {1, 1, 1, 0, 1, 1, 0, 1},
gohgwaja 0:7cff999a7f5c 118 };
gohgwaja 0:7cff999a7f5c 119
gohgwaja 0:7cff999a7f5c 120 int Gobal_GPIOA = 0x00;
gohgwaja 0:7cff999a7f5c 121
gohgwaja 0:7cff999a7f5c 122 void Segment_Init();
gohgwaja 0:7cff999a7f5c 123 void Segment_PWM_Control();
gohgwaja 0:7cff999a7f5c 124 void pgain_Latch_pin(bool logic);
gohgwaja 0:7cff999a7f5c 125 void pgain_Clock_pin(bool logic);
gohgwaja 0:7cff999a7f5c 126 void pgain_data_pin(bool logic);
gohgwaja 0:7cff999a7f5c 127 void input_Latch_pin(bool logic);
gohgwaja 0:7cff999a7f5c 128 void input_Clock_pin(bool logic);
gohgwaja 0:7cff999a7f5c 129 void input_data_pin(bool logic);
gohgwaja 0:7cff999a7f5c 130 void Pgain_segment(int num1,int num2,int num3,int delay_time_us);
gohgwaja 0:7cff999a7f5c 131 void Input_segment(int num1,int num2,int delay_time_us);
gohgwaja 0:7cff999a7f5c 132
gohgwaja 0:7cff999a7f5c 133 void Menual_Segment();
gohgwaja 0:7cff999a7f5c 134
gohgwaja 0:7cff999a7f5c 135 void Segment_Init()
gohgwaja 0:7cff999a7f5c 136 {
gohgwaja 0:7cff999a7f5c 137 Pgain_segment(0, 0, 0, SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 138 Input_segment(0, 0, SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 139 //output_enable_pin = 1;
gohgwaja 0:7cff999a7f5c 140 // OE_pin.period(0.015);
gohgwaja 0:7cff999a7f5c 141 // OE_pin.write(0.5f);
gohgwaja 0:7cff999a7f5c 142 }
gohgwaja 0:7cff999a7f5c 143 /*
gohgwaja 0:7cff999a7f5c 144 void Segment_PWM_Control()
gohgwaja 0:7cff999a7f5c 145 {
gohgwaja 0:7cff999a7f5c 146 output_enable_pin = OE_state;
gohgwaja 0:7cff999a7f5c 147 OE_state = !OE_state;
gohgwaja 0:7cff999a7f5c 148 }
gohgwaja 0:7cff999a7f5c 149 */
gohgwaja 0:7cff999a7f5c 150 void pgain_Latch_pin(bool logic) //GPA2
gohgwaja 0:7cff999a7f5c 151 {
gohgwaja 0:7cff999a7f5c 152 if(logic)
gohgwaja 0:7cff999a7f5c 153 Gobal_GPIOA |= (1<<2);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 154 else
gohgwaja 0:7cff999a7f5c 155 Gobal_GPIOA &= ~(1<<2);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 156
gohgwaja 0:7cff999a7f5c 157 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 158 }
gohgwaja 0:7cff999a7f5c 159
gohgwaja 0:7cff999a7f5c 160 void pgain_Clock_pin(bool logic) //GPA3
gohgwaja 0:7cff999a7f5c 161 {
gohgwaja 0:7cff999a7f5c 162 if(logic)
gohgwaja 0:7cff999a7f5c 163 Gobal_GPIOA |= (1<<3);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 164 else
gohgwaja 0:7cff999a7f5c 165 Gobal_GPIOA &= ~(1<<3);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 166
gohgwaja 0:7cff999a7f5c 167 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 168 }
gohgwaja 0:7cff999a7f5c 169
gohgwaja 0:7cff999a7f5c 170 void pgain_data_pin(bool logic) //GPA0
gohgwaja 0:7cff999a7f5c 171 {
gohgwaja 0:7cff999a7f5c 172 if(logic)
gohgwaja 0:7cff999a7f5c 173 Gobal_GPIOA |= (1<<0);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 174 else
gohgwaja 0:7cff999a7f5c 175 Gobal_GPIOA &= ~(1<<0);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 176
gohgwaja 0:7cff999a7f5c 177 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 178 }
gohgwaja 0:7cff999a7f5c 179
gohgwaja 0:7cff999a7f5c 180 void input_Latch_pin(bool logic) //GPA6
gohgwaja 0:7cff999a7f5c 181 {
gohgwaja 0:7cff999a7f5c 182 if(logic)
gohgwaja 0:7cff999a7f5c 183 Gobal_GPIOA |= (1<<6);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 184 else
gohgwaja 0:7cff999a7f5c 185 Gobal_GPIOA &= ~(1<<6);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 186
gohgwaja 0:7cff999a7f5c 187 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 188 }
gohgwaja 0:7cff999a7f5c 189
gohgwaja 0:7cff999a7f5c 190 void input_Clock_pin(bool logic) //GPA7
gohgwaja 0:7cff999a7f5c 191 {
gohgwaja 0:7cff999a7f5c 192 if(logic)
gohgwaja 0:7cff999a7f5c 193 Gobal_GPIOA |= (1<<7);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 194 else
gohgwaja 0:7cff999a7f5c 195 Gobal_GPIOA &= ~(1<<7);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 196
gohgwaja 0:7cff999a7f5c 197 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 198 }
gohgwaja 0:7cff999a7f5c 199
gohgwaja 0:7cff999a7f5c 200 void input_data_pin(bool logic) //GPA4
gohgwaja 0:7cff999a7f5c 201 {
gohgwaja 0:7cff999a7f5c 202 if(logic)
gohgwaja 0:7cff999a7f5c 203 Gobal_GPIOA |= (1<<4);//LED를 켠다.
gohgwaja 0:7cff999a7f5c 204 else
gohgwaja 0:7cff999a7f5c 205 Gobal_GPIOA &= ~(1<<4);//LED를 끈다.
gohgwaja 0:7cff999a7f5c 206
gohgwaja 0:7cff999a7f5c 207 MCP_Write(MCP_SEG_CS, MCP_GPIOA, Gobal_GPIOA);
gohgwaja 0:7cff999a7f5c 208 }
gohgwaja 0:7cff999a7f5c 209
gohgwaja 0:7cff999a7f5c 210 void Pgain_segment(int num1,int num2,int num3,int delay_time_us)
gohgwaja 0:7cff999a7f5c 211 {
gohgwaja 0:7cff999a7f5c 212 pgain_Latch_pin(0);
gohgwaja 0:7cff999a7f5c 213 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 214
gohgwaja 0:7cff999a7f5c 215 if(num1>9)
gohgwaja 0:7cff999a7f5c 216 num1=9;
gohgwaja 0:7cff999a7f5c 217 if(num1<0)
gohgwaja 0:7cff999a7f5c 218 num1=0;
gohgwaja 0:7cff999a7f5c 219
gohgwaja 0:7cff999a7f5c 220 if(num2>9)
gohgwaja 0:7cff999a7f5c 221 num2=9;
gohgwaja 0:7cff999a7f5c 222 if(num2<0)
gohgwaja 0:7cff999a7f5c 223 num2=0;
gohgwaja 0:7cff999a7f5c 224
gohgwaja 0:7cff999a7f5c 225 if(num3>9)
gohgwaja 0:7cff999a7f5c 226 num3=9;
gohgwaja 0:7cff999a7f5c 227 if(num3<0)
gohgwaja 0:7cff999a7f5c 228 num3=0;
gohgwaja 0:7cff999a7f5c 229
gohgwaja 0:7cff999a7f5c 230
gohgwaja 0:7cff999a7f5c 231 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 232 {
gohgwaja 0:7cff999a7f5c 233 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 234 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 235 pgain_data_pin(num_data[num3][i]);
gohgwaja 0:7cff999a7f5c 236 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 237 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 238 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 239 }
gohgwaja 0:7cff999a7f5c 240 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 241 {
gohgwaja 0:7cff999a7f5c 242 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 243 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 244 pgain_data_pin(num_data[num2][i]);
gohgwaja 0:7cff999a7f5c 245 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 246 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 247 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 248 }
gohgwaja 0:7cff999a7f5c 249 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 250 {
gohgwaja 0:7cff999a7f5c 251 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 252 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 253 pgain_data_pin(num_data[num1][i]);
gohgwaja 0:7cff999a7f5c 254 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 255 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 256 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 257 }
gohgwaja 0:7cff999a7f5c 258 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 259 pgain_Latch_pin(1);
gohgwaja 0:7cff999a7f5c 260 }
gohgwaja 0:7cff999a7f5c 261
gohgwaja 0:7cff999a7f5c 262 void Input_segment(int num1,int num2,int delay_time_us)
gohgwaja 0:7cff999a7f5c 263 {
gohgwaja 0:7cff999a7f5c 264 input_Latch_pin(0);
gohgwaja 0:7cff999a7f5c 265 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 266
gohgwaja 0:7cff999a7f5c 267 if(num1>9)
gohgwaja 0:7cff999a7f5c 268 num1=9;
gohgwaja 0:7cff999a7f5c 269 if(num1<0)
gohgwaja 0:7cff999a7f5c 270 num1=0;
gohgwaja 0:7cff999a7f5c 271
gohgwaja 0:7cff999a7f5c 272 if(num2>9)
gohgwaja 0:7cff999a7f5c 273 num2=9;
gohgwaja 0:7cff999a7f5c 274 if(num2<0)
gohgwaja 0:7cff999a7f5c 275 num2=0;
gohgwaja 0:7cff999a7f5c 276
gohgwaja 0:7cff999a7f5c 277 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 278 {
gohgwaja 0:7cff999a7f5c 279 input_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 280 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 281 input_data_pin(num_data[num2][i]);
gohgwaja 0:7cff999a7f5c 282 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 283 input_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 284 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 285 }
gohgwaja 0:7cff999a7f5c 286 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 287 {
gohgwaja 0:7cff999a7f5c 288 input_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 289 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 290 input_data_pin(num_data[num1][i]);
gohgwaja 0:7cff999a7f5c 291 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 292 input_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 293 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 294 }
gohgwaja 0:7cff999a7f5c 295 wait_us(delay_time_us);
gohgwaja 0:7cff999a7f5c 296 input_Latch_pin(1);
gohgwaja 0:7cff999a7f5c 297 }
gohgwaja 0:7cff999a7f5c 298
gohgwaja 0:7cff999a7f5c 299 void Menual_Segment()
gohgwaja 0:7cff999a7f5c 300 {
gohgwaja 0:7cff999a7f5c 301 menual_delay++;
gohgwaja 0:7cff999a7f5c 302
gohgwaja 0:7cff999a7f5c 303 if(menual_delay > 333)
gohgwaja 0:7cff999a7f5c 304 {
gohgwaja 0:7cff999a7f5c 305 pgain_Latch_pin(0);
gohgwaja 0:7cff999a7f5c 306 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 307
gohgwaja 0:7cff999a7f5c 308 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 309 {
gohgwaja 0:7cff999a7f5c 310 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 311 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 312 pgain_data_pin(menual_data[menual_step][i]);
gohgwaja 0:7cff999a7f5c 313 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 314 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 315 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 316 }
gohgwaja 0:7cff999a7f5c 317 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 318 {
gohgwaja 0:7cff999a7f5c 319 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 320 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 321 pgain_data_pin(menual_data[menual_step + 1][i]);
gohgwaja 0:7cff999a7f5c 322 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 323 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 324 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 325 }
gohgwaja 0:7cff999a7f5c 326 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 327 {
gohgwaja 0:7cff999a7f5c 328 pgain_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 329 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 330 pgain_data_pin(menual_data[menual_step + 2][i]);
gohgwaja 0:7cff999a7f5c 331 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 332 pgain_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 333 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 334 }
gohgwaja 0:7cff999a7f5c 335 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 336 pgain_Latch_pin(1);
gohgwaja 0:7cff999a7f5c 337
gohgwaja 0:7cff999a7f5c 338
gohgwaja 0:7cff999a7f5c 339 input_Latch_pin(0);
gohgwaja 0:7cff999a7f5c 340 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 341
gohgwaja 0:7cff999a7f5c 342 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 343 {
gohgwaja 0:7cff999a7f5c 344 input_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 345 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 346 input_data_pin(menual_data[menual_step + 3][i]);
gohgwaja 0:7cff999a7f5c 347 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 348 input_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 349 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 350 }
gohgwaja 0:7cff999a7f5c 351
gohgwaja 0:7cff999a7f5c 352 for(int i=0;i<8;i++)
gohgwaja 0:7cff999a7f5c 353 {
gohgwaja 0:7cff999a7f5c 354 input_Clock_pin(1);
gohgwaja 0:7cff999a7f5c 355 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 356 input_data_pin(menual_data[menual_step + 4][i]);
gohgwaja 0:7cff999a7f5c 357 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 358 input_Clock_pin(0);
gohgwaja 0:7cff999a7f5c 359 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 360 }
gohgwaja 0:7cff999a7f5c 361
gohgwaja 0:7cff999a7f5c 362 wait_us(SEG_DELAY_TIME);
gohgwaja 0:7cff999a7f5c 363 input_Latch_pin(1);
gohgwaja 0:7cff999a7f5c 364
gohgwaja 0:7cff999a7f5c 365 menual_step += 5;
gohgwaja 0:7cff999a7f5c 366
gohgwaja 0:7cff999a7f5c 367 if(menual_step > 65) menual_step = 0;
gohgwaja 0:7cff999a7f5c 368 menual_delay = 0;
gohgwaja 0:7cff999a7f5c 369 }
gohgwaja 0:7cff999a7f5c 370 }
gohgwaja 0:7cff999a7f5c 371
gohgwaja 0:7cff999a7f5c 372 #endif