lkdfjlakdjsflasdkjflkjasdlxkfghskjdmfnvcm,a wejdfkjadsb cvljdgacus;b faLRFBhetg;8bdvan;/IHgtnudihdgrg;a/wlhrfp;ouitdscagjh
Dependencies: mbed
Fork of display_nums2 by
display.cpp@5:10c020b45c1f, 2018-04-02 (annotated)
- Committer:
- billymark
- Date:
- Mon Apr 02 20:49:10 2018 +0000
- Revision:
- 5:10c020b45c1f
- Parent:
- 3:1acb956e61b2
fasdjkfha;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |