lkdfjlakdjsflasdkjflkjasdlxkfghskjdmfnvcm,a wejdfkjadsb cvljdgacus;b faLRFBhetg;8bdvan;/IHgtnudihdgrg;a/wlhrfp;ouitdscagjh

Dependencies:   mbed

Fork of display_nums2 by EECS 397 Lab Group

Committer:
billymark
Date:
Mon Apr 02 20:49:10 2018 +0000
Revision:
5:10c020b45c1f
Parent:
3:1acb956e61b2
fasdjkfha;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
billymark 0:0f1c2bf6ab4e 1 #include <io_pins.h>
billymark 0:0f1c2bf6ab4e 2 #include <display.h>
billymark 0:0f1c2bf6ab4e 3 #include <mbed.h>
billymark 1:3d6796759d45 4 #include <stdlib.h>
billymark 3:1acb956e61b2 5 #include <spi_fix.h>
billymark 0:0f1c2bf6ab4e 6
billymark 1:3d6796759d45 7
billymark 1:3d6796759d45 8
billymark 1:3d6796759d45 9 Serial pc_display(USBTX, USBRX);
billymark 3:1acb956e61b2 10 DigitalOut dsp_ncs_display(DSP_AS1107_NCS);
billymark 3:1acb956e61b2 11 spi_cfg AS1107 = { SPI_AS1107_ID, DSP_AS1107_NCS, AS1107_MODE, AS1107_FREQ, AS1107_BITS};
billymark 0:0f1c2bf6ab4e 12
billymark 0:0f1c2bf6ab4e 13 void bin2bcd_array_mod(int *bcdArr, int num){
billymark 1:3d6796759d45 14 for(int i = 0; i < 4; i++){
billymark 1:3d6796759d45 15 bcdArr[i] = 0;
billymark 1:3d6796759d45 16 }
billymark 0:0f1c2bf6ab4e 17 int i = 0;
billymark 0:0f1c2bf6ab4e 18 while(num>0){
billymark 1:3d6796759d45 19 bcdArr[3-i] = num%10;
billymark 0:0f1c2bf6ab4e 20 num = num/10;
billymark 0:0f1c2bf6ab4e 21 i = i+1;
billymark 2:8a0f128f4be5 22 }
billymark 1:3d6796759d45 23 }
billymark 1:3d6796759d45 24
billymark 1:3d6796759d45 25 void display_init(){
billymark 1:3d6796759d45 26 // Configuring the Controller
billymark 2:8a0f128f4be5 27 spi_send(AS1107, 0x0f01);
billymark 1:3d6796759d45 28 wait(1.5);
billymark 2:8a0f128f4be5 29 spi_send(AS1107, 0x0F00);
billymark 2:8a0f128f4be5 30 spi_send(AS1107, 0x0A0F);
billymark 2:8a0f128f4be5 31 spi_send(AS1107, 0x0B04);
billymark 2:8a0f128f4be5 32 spi_send(AS1107, 0x0C01); //set to normal shutdown mode
billymark 2:8a0f128f4be5 33 spi_send(AS1107, 0x090F); //configures the decode register
billymark 2:8a0f128f4be5 34 spi_send(AS1107, DISPLAY_1); //Digit 1 is 0
billymark 2:8a0f128f4be5 35 spi_send(AS1107, DISPLAY_2);
billymark 2:8a0f128f4be5 36 spi_send(AS1107, DISPLAY_3);
billymark 2:8a0f128f4be5 37 spi_send(AS1107, DISPLAY_4);
billymark 2:8a0f128f4be5 38 spi_send(AS1107, LED_DISPLAY);
billymark 1:3d6796759d45 39 }
billymark 1:3d6796759d45 40
billymark 1:3d6796759d45 41 void bin2bcd_array_sprintf(int *bcdArr, int num){
billymark 1:3d6796759d45 42 for(int i = 0; i < 4; i++){
billymark 1:3d6796759d45 43 bcdArr[i] = 0;
billymark 1:3d6796759d45 44 }
billymark 1:3d6796759d45 45 char buffer[5];
billymark 1:3d6796759d45 46 sprintf(buffer, "%d", num);
billymark 1:3d6796759d45 47
billymark 1:3d6796759d45 48 if (num<10){
billymark 1:3d6796759d45 49 bcdArr[3] = buffer[0];
billymark 1:3d6796759d45 50
billymark 1:3d6796759d45 51 }
billymark 1:3d6796759d45 52 else if(num <100){
billymark 1:3d6796759d45 53 bcdArr[2] = buffer[0];
billymark 1:3d6796759d45 54 bcdArr[3] = buffer[1];
billymark 1:3d6796759d45 55
billymark 1:3d6796759d45 56 }
billymark 1:3d6796759d45 57 else if(num < 1000){
billymark 1:3d6796759d45 58 bcdArr[1] = buffer[0];
billymark 1:3d6796759d45 59 bcdArr[2] = buffer[1];
billymark 1:3d6796759d45 60 bcdArr[3] = buffer[2];
billymark 1:3d6796759d45 61
billymark 1:3d6796759d45 62
billymark 1:3d6796759d45 63 }
billymark 1:3d6796759d45 64 else{
billymark 1:3d6796759d45 65 for(int i = 0; i < 4; i++){
billymark 1:3d6796759d45 66 bcdArr[i] = buffer[i]-0x30;
billymark 1:3d6796759d45 67 }
billymark 1:3d6796759d45 68 }
billymark 0:0f1c2bf6ab4e 69
billymark 0:0f1c2bf6ab4e 70
billymark 1:3d6796759d45 71 }