⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc_ctrl.psm

📁 PicoBlaze 处理器放大器和 A/D 转换器控制器 展示了 Linear Technology LTC6912-1 可编程增益放大器和 Linear Technology LTC1407A 模
💻 PSM
📖 第 1 页 / 共 5 页
字号:
                    ;KCPSM3 Program - SPI Control of Amplifier and A/D converter on Spartan-3E Starter Kit.
                    ;
                    ;
                    ;Ken Chapman - Xilinx Ltd
                    ;
                    ;Version v1.00 - 21th December 2005
                    ;
                    ;This program uses an 8KHz interrupt to generate test waveforms on the
                    ;4 analogue outputs provided by the Linear Technology LTC2624 device.
                    ;
                    ;As well as the port connections vital to communication with the UART and the SPI
                    ;FLASH memory, there are additional port connections used to disable the other
                    ;devices sharing the SPI bus on the Starter Kit board. Although these could have been
                    ;controlled at the hardware level, they are included in this code to aid
                    ;future investigations of communication with the other SPI devices using PicoBlaze.
                    ;
                    ;Connections to the LEDs, switches and press buttons are provided to aid
                    ;development and enable further experiments. Otherwise know as having fun!
                    ;
                    ;Port definitions
                    ;
                    ;
                    CONSTANT SPI_control_port, 08       ;SPI clock and chip selects
                    CONSTANT SPI_sck, 01                ;                  SCK - bit0
                    CONSTANT SPI_rom_cs, 02             ;    serial rom select - bit1
                    CONSTANT SPI_spare_control, 04      ;                spare - bit2
                    CONSTANT SPI_amp_cs, 08             ;     amplifier select - bit3
                    CONSTANT SPI_adc_conv, 10           ;          A/D convert - bit4
                    CONSTANT SPI_dac_cs, 20             ;           D/A select - bit5
                    CONSTANT SPI_amp_shdn, 40           ;       amplifier SHDN - bit6
                    CONSTANT SPI_dac_clr, 80            ;            D/A clear - bit7
                    ;
                    CONSTANT SPI_output_port, 04        ;SPI data output
                    CONSTANT SPI_sdo, 80                ;   SDO - bit7
                    ;
                    CONSTANT SPI_input_port, 01         ;SPI data input
                    CONSTANT SPI_sdi, 80                ;             SDI - bit7
                    CONSTANT SPI_amp_sdi, 40            ;   amplifier SDI - bit6
                    ;
                    ;
                    CONSTANT LED_port, 80               ;8 simple LEDs
                    CONSTANT LED0, 01                   ;     LED 0 - bit0
                    CONSTANT LED1, 02                   ;         1 - bit1
                    CONSTANT LED2, 04                   ;         2 - bit2
                    CONSTANT LED3, 08                   ;         3 - bit3
                    CONSTANT LED4, 10                   ;         4 - bit4
                    CONSTANT LED5, 20                   ;         5 - bit5
                    CONSTANT LED6, 40                   ;         6 - bit6
                    CONSTANT LED7, 80                   ;         7 - bit7
                    ;
                    ;
                    CONSTANT switch_port, 00            ;Read switches and press buttons
                    CONSTANT BTN_north, 01              ;  Buttons     North - bit0
                    CONSTANT BTN_east, 02               ;               East - bit1
                    CONSTANT BTN_south, 04              ;              South - bit2
                    CONSTANT BTN_west, 08               ;               West - bit3
                    CONSTANT switch0, 10                ;  Switches        0 - bit4
                    CONSTANT switch1, 20                ;                  1 - bit5
                    CONSTANT switch2, 40                ;                  2 - bit6
                    CONSTANT switch3, 80                ;                  3 - bit7
                    ;
                    ;LCD interface ports
                    ;
                    ;The master enable signal is not used by the LCD display itself
                    ;but may be required to confirm that LCD communication is active.
                    ;This is required on the Spartan-3E Starter Kit if the StrataFLASH
                    ;is used because it shares the same data pins and conflicts must be avoided.
                    ;
                    CONSTANT LCD_output_port, 40        ;LCD character module output data and control
                    CONSTANT LCD_E, 01                  ;   active High Enable        E - bit0
                    CONSTANT LCD_RW, 02                 ;   Read=1 Write=0           RW - bit1
                    CONSTANT LCD_RS, 04                 ;   Instruction=0 Data=1     RS - bit2
                    CONSTANT LCD_drive, 08              ;   Master enable (active High) - bit3
                    CONSTANT LCD_DB4, 10                ;   4-bit              Data DB4 - bit4
                    CONSTANT LCD_DB5, 20                ;   interface          Data DB5 - bit5
                    CONSTANT LCD_DB6, 40                ;                      Data DB6 - bit6
                    CONSTANT LCD_DB7, 80                ;                      Data DB7 - bit7
                    ;
                    ;
                    CONSTANT LCD_input_port, 02         ;LCD character module input data
                    CONSTANT LCD_read_spare0, 01        ;    Spare bits               - bit0
                    CONSTANT LCD_read_spare1, 02        ;    are zero                 - bit1
                    CONSTANT LCD_read_spare2, 04        ;                             - bit2
                    CONSTANT LCD_read_spare3, 08        ;                             - bit3
                    CONSTANT LCD_read_DB4, 10           ;    4-bit           Data DB4 - bit4
                    CONSTANT LCD_read_DB5, 20           ;    interface       Data DB5 - bit5
                    CONSTANT LCD_read_DB6, 40           ;                    Data DB6 - bit6
                    CONSTANT LCD_read_DB7, 80           ;                    Data DB7 - bit7
                    ;
                    ;
                    ;
                    ;
                    ;Special Register usage
                    ;
                    ;
                    ;
                    ;Scratch Pad Memory Locations
                    ;
                    ;Values read from the A/D converter
                    ;
                    CONSTANT ADC0_lsb, 00               ;ADC Channel 0 value LS-Byte
                    CONSTANT ADC0_msb, 01               ;                    MS-Byte
                    ;
                    CONSTANT ADC1_lsb, 02               ;ADC Channel 1 value LS-Byte
                    CONSTANT ADC1_msb, 03               ;                    MS-Byte
                    ;
                    ;Amplifier gain settings.
                    ;
                    ;Stored value is the 4-bit code for gain setting
                    ;  Code  1   2   3    4     5    6     7
                    ;  Gain -1  -2  -5  -10   -20  -50  -100
                    CONSTANT amp_A_gain, 04             ;Amplifier A gain value
                    CONSTANT amp_B_gain, 05             ;Amplifier B gain value
                    ;
                    ;Sample counter used to give activity indication on LEDs
                    ;
                    CONSTANT sample_count, 06           ;8-bit counter LS-Byte
                    ;
                    CONSTANT decimal0, 07               ;5 digit decimal value
                    CONSTANT decimal1, 08
                    CONSTANT decimal2, 09
                    CONSTANT decimal3, 0A
                    CONSTANT decimal4, 0B
                    ;
                    ;
                    ;
                    ;
                    ;Useful data constants
                    ;
                    CONSTANT VREF_lsb, 72               ;Reference voltage in milli-volts
                    CONSTANT VREF_msb, 06               ;Nominal value 1.65v so value is 1650 (0672 hex)
                    ;
                    ;Constant to define a software delay of 1us. This must be adjusted to reflect the
                    ;clock applied to KCPSM3. Every instruction executes in 2 clock cycles making the
                    ;calculation highly predictable. The '6' in the following equation even allows for
                    ;'CALL delay_1us' instruction in the initiating code.
                    ;
                    ; delay_1us_constant =  (clock_rate - 6)/4       Where 'clock_rate' is in MHz
                    ;
                    ;Example: For a 50MHz clock the constant value is (10-6)/4 = 11  (0B Hex).
                    ;For clock rates below 10MHz the value of 1 must be used and the operation will
                    ;become lower than intended.
                    ;
                    CONSTANT delay_1us_constant, 0B
                    ;
                    ;
                    ;
                    ;ASCII table
                    ;
                    CONSTANT character_a, 61
                    CONSTANT character_b, 62
                    CONSTANT character_c, 63
                    CONSTANT character_d, 64
                    CONSTANT character_e, 65
                    CONSTANT character_f, 66
                    CONSTANT character_g, 67
                    CONSTANT character_h, 68
                    CONSTANT character_i, 69
                    CONSTANT character_j, 6A
                    CONSTANT character_k, 6B
                    CONSTANT character_l, 6C
                    CONSTANT character_m, 6D
                    CONSTANT character_n, 6E
                    CONSTANT character_o, 6F
                    CONSTANT character_p, 70
                    CONSTANT character_q, 71
                    CONSTANT character_r, 72
                    CONSTANT character_s, 73
                    CONSTANT character_t, 74
                    CONSTANT character_u, 75
                    CONSTANT character_v, 76
                    CONSTANT character_w, 77
                    CONSTANT character_x, 78
                    CONSTANT character_y, 79
                    CONSTANT character_z, 7A
                    CONSTANT character_A, 41
                    CONSTANT character_B, 42
                    CONSTANT character_C, 43
                    CONSTANT character_D, 44
                    CONSTANT character_E, 45
                    CONSTANT character_F, 46
                    CONSTANT character_G, 47
                    CONSTANT character_H, 48
                    CONSTANT character_I, 49
                    CONSTANT character_J, 4A
                    CONSTANT character_K, 4B
                    CONSTANT character_L, 4C
                    CONSTANT character_M, 4D
                    CONSTANT character_N, 4E
                    CONSTANT character_O, 4F
                    CONSTANT character_P, 50
                    CONSTANT character_Q, 51
                    CONSTANT character_R, 52
                    CONSTANT character_S, 53
                    CONSTANT character_T, 54
                    CONSTANT character_U, 55
                    CONSTANT character_V, 56
                    CONSTANT character_W, 57
                    CONSTANT character_X, 58
                    CONSTANT character_Y, 59
                    CONSTANT character_Z, 5A
                    CONSTANT character_0, 30
                    CONSTANT character_1, 31
                    CONSTANT character_2, 32
                    CONSTANT character_3, 33
                    CONSTANT character_4, 34
                    CONSTANT character_5, 35
                    CONSTANT character_6, 36
                    CONSTANT character_7, 37
                    CONSTANT character_8, 38
                    CONSTANT character_9, 39
                    CONSTANT character_colon, 3A
                    CONSTANT character_stop, 2E
                    CONSTANT character_semi_colon, 3B
                    CONSTANT character_minus, 2D
                    CONSTANT character_divide, 2F       ;'/'
                    CONSTANT character_plus, 2B
                    CONSTANT character_comma, 2C
                    CONSTANT character_less_than, 3C
                    CONSTANT character_greater_than, 3E
                    CONSTANT character_equals, 3D
                    CONSTANT character_space, 20
                    CONSTANT character_CR, 0D           ;carriage return
                    CONSTANT character_question, 3F     ;'?'
                    CONSTANT character_dollar, 24
                    CONSTANT character_exclaim, 21      ;'!'
                    CONSTANT character_BS, 08           ;Back Space command character
                    ;
                    ;
                    ;
                    ;
                    ;
                    ;
                    ;Initialise the system
                    ;
                    ;
        cold_start: CALL SPI_init                       ;initialise SPI bus ports

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -