pwm_ctrl.rmh
来自「和picoblaze完全兼容的mcu ip core」· RMH 代码 · 共 966 行 · 第 1/3 页
RMH
966 行
/* Symbol Table */// ASCII_byte_to_hex = LABEL: 151// ASCII_letter = LABEL: 174// ASCII_to_hex = LABEL: 164// BS_edit = LABEL: 116// IO_command = LABEL: 66// ISR = LABEL: 279// ISR_preserve_s0 = CONSTANT: 13// ISR_preserve_s1 = CONSTANT: 14// ISR_preserve_s2 = CONSTANT: 15// LD_command = LABEL: 40// LED0 = CONSTANT: 1// LED1 = CONSTANT: 2// LED2 = CONSTANT: 4// LED3 = CONSTANT: 8// LED4 = CONSTANT: 16// LED5 = CONSTANT: 32// LED6 = CONSTANT: 64// LED7 = CONSTANT: 128// LED_port = CONSTANT: 128// PWM_channel0 = CONSTANT: 1// PWM_channel1 = CONSTANT: 2// PWM_channel10 = CONSTANT: 11// PWM_channel11 = CONSTANT: 12// PWM_channel2 = CONSTANT: 3// PWM_channel3 = CONSTANT: 4// PWM_channel4 = CONSTANT: 5// PWM_channel5 = CONSTANT: 6// PWM_channel6 = CONSTANT: 7// PWM_channel7 = CONSTANT: 8// PWM_channel8 = CONSTANT: 9// PWM_channel9 = CONSTANT: 10// PWM_duty_counter = CONSTANT: 0// UART_data = REGISTER: 15// UART_read_port = CONSTANT: 1// UART_write = LABEL: 97// UART_write_port = CONSTANT: 32// bad_command = LABEL: 37// character_0 = CONSTANT: 48// character_1 = CONSTANT: 49// character_2 = CONSTANT: 50// character_3 = CONSTANT: 51// character_4 = CONSTANT: 52// character_5 = CONSTANT: 53// character_6 = CONSTANT: 54// character_7 = CONSTANT: 55// character_8 = CONSTANT: 56// character_9 = CONSTANT: 57// character_A = CONSTANT: 65// character_B = CONSTANT: 66// character_BS = CONSTANT: 8// character_C = CONSTANT: 67// character_CR = CONSTANT: 13// character_D = CONSTANT: 68// character_E = CONSTANT: 69// character_F = CONSTANT: 70// character_G = CONSTANT: 71// character_H = CONSTANT: 72// character_I = CONSTANT: 73// character_J = CONSTANT: 74// character_K = CONSTANT: 75// character_L = CONSTANT: 76// character_M = CONSTANT: 77// character_N = CONSTANT: 78// character_O = CONSTANT: 79// character_P = CONSTANT: 80// character_Q = CONSTANT: 81// character_R = CONSTANT: 82// character_S = CONSTANT: 83// character_T = CONSTANT: 84// character_U = CONSTANT: 85// character_V = CONSTANT: 86// character_W = CONSTANT: 87// character_X = CONSTANT: 88// character_Y = CONSTANT: 89// character_Z = CONSTANT: 90// character_a = CONSTANT: 97// character_b = CONSTANT: 98// character_c = CONSTANT: 99// character_colon = CONSTANT: 58// character_comma = CONSTANT: 44// character_d = CONSTANT: 100// character_divide = CONSTANT: 47// character_dollar = CONSTANT: 36// character_e = CONSTANT: 101// character_equals = CONSTANT: 61// character_exclaim = CONSTANT: 33// character_f = CONSTANT: 102// character_g = CONSTANT: 103// character_greater_than = CONSTANT: 62// character_h = CONSTANT: 104// character_i = CONSTANT: 105// character_j = CONSTANT: 106// character_k = CONSTANT: 107// character_l = CONSTANT: 108// character_less_than = CONSTANT: 60// character_m = CONSTANT: 109// character_minus = CONSTANT: 45// character_n = CONSTANT: 110// character_o = CONSTANT: 111// character_p = CONSTANT: 112// character_plus = CONSTANT: 43// character_q = CONSTANT: 113// character_question = CONSTANT: 63// character_r = CONSTANT: 114// character_s = CONSTANT: 115// character_semi_colon = CONSTANT: 59// character_space = CONSTANT: 32// character_stop = CONSTANT: 46// character_t = CONSTANT: 116// character_u = CONSTANT: 117// character_v = CONSTANT: 118// character_w = CONSTANT: 119// character_x = CONSTANT: 120// character_y = CONSTANT: 121// character_z = CONSTANT: 122// clear_UART_Rx_loop = LABEL: 128// cold_start = LABEL: 0// next_IO_number = LABEL: 76// onechar_to_value = LABEL: 147// read_character = LABEL: 91// read_duty_value = LABEL: 50// read_error = LABEL: 124// read_from_UART = LABEL: 87// read_next_char = LABEL: 84// receive_full_test = LABEL: 102// receive_string = LABEL: 99// rx_data_present = CONSTANT: 4// rx_full = CONSTANT: 16// rx_half_full = CONSTANT: 8// s0 = REGISTER: 0// s1 = REGISTER: 1// s2 = REGISTER: 2// s3 = REGISTER: 3// s4 = REGISTER: 4// s5 = REGISTER: 5// s6 = REGISTER: 6// s7 = REGISTER: 7// s8 = REGISTER: 8// s9 = REGISTER: 9// sA = REGISTER: 10// sB = REGISTER: 11// sC = REGISTER: 12// sD = REGISTER: 13// sE = REGISTER: 14// sF = REGISTER: 15// send_CR = LABEL: 176// send_Error = LABEL: 263// send_OK = LABEL: 273// send_Overflow_Error = LABEL: 246// send_backspace = LABEL: 182// send_greater_than = LABEL: 243// send_prompt = LABEL: 230// send_space = LABEL: 179// send_space_Error = LABEL: 262// send_to_UART = LABEL: 93// send_welcome = LABEL: 185// simple_IO10 = CONSTANT: 2// simple_IO11 = CONSTANT: 4// simple_IO12 = CONSTANT: 8// simple_IO9 = CONSTANT: 1// simple_port = CONSTANT: 64// spare1 = CONSTANT: 32// spare2 = CONSTANT: 64// spare3 = CONSTANT: 128// status_port = CONSTANT: 0// string_start = CONSTANT: 48// string_start_again = LABEL: 122// tx_full = CONSTANT: 2// tx_half_full = CONSTANT: 1// ucs_loop = LABEL: 140// upper_case = LABEL: 133// upper_case_string = LABEL: 139// warm_start = LABEL: 26/* Program Code */// #1: ; KCPSM3 Program - Pulse Width Modulation (PWM) Control on the Spartan-3E Starter Kit.// #2: ;// #3: ; Ken Chapman - Xilinx Ltd// #4: ;// #5: ; Version v1.00 - 22nd May 2006// #6: ;// #7: ; Provides control for 12 channels of PWM with a Pulse Repetition Frequency (PRF) of 1KHz// #8: ; and an 8-bit duty cycle resolution (256 steps). Control is provided for each channel// #9: ; via the UART interface to the PC running HyperTerminal or similar to enter simple text// #10: ; commands.// #11: ;// #12: ;**************************************************************************************// #13: ; Port definitions// #14: ;**************************************************************************************// #15: ;// #16: ;// #17: ;// #18: CONSTANT(LED_port,128) ;8 simple LEDs// #19: CONSTANT(LED0,1) ; LED 0 - bit0// #20: CONSTANT(LED1,2) ; 1 - bit1// #21: CONSTANT(LED2,4) ; 2 - bit2// #22: CONSTANT(LED3,8) ; 3 - bit3// #23: CONSTANT(LED4,16) ; 4 - bit4// #24: CONSTANT(LED5,32) ; 5 - bit5// #25: CONSTANT(LED6,64) ; 6 - bit6// #26: CONSTANT(LED7,128) ; 7 - bit7// #27: ;// #28: ;// #29: CONSTANT(simple_port,64) ;4 simple outputs// #30: CONSTANT(simple_IO9,1) ; Header IO9 - bit0// #31: CONSTANT(simple_IO10,2) ; IO10 - bit1// #32: CONSTANT(simple_IO11,4) ; IO11 - bit2// #33: CONSTANT(simple_IO12,8) ; IO12 - bit3// #34: ;// #35: ;// #36: ;// #37: CONSTANT(status_port,0) ;UART status input// #38: CONSTANT(tx_half_full,1) ; Transmitter half full - bit0// #39: CONSTANT(tx_full,2) ; FIFO full - bit1// #40: CONSTANT(rx_data_present,4) ; Receiver data present - bit2// #41: CONSTANT(rx_half_full,8) ; FIFO half full - bit3// #42: CONSTANT(rx_full,16) ; full - bit4// #43: CONSTANT(spare1,32) ; spare '0' - bit5// #44: CONSTANT(spare2,64) ; spare '0' - bit6// #45: CONSTANT(spare3,128) ; spare '0' - bit7// #46: ;// #47: CONSTANT(UART_read_port,1) ;UART Rx data input// #48: ;// #49: CONSTANT(UART_write_port,32) ;UART Tx data output// #50: ;// #51: ;// #52: ;// #53: ;**************************************************************************************// #54: ; Special Register usage// #55: ;**************************************************************************************// #56: ;// #57: NAMEREG(sF,UART_data) ;used to pass data to and from the UART// #58: ;// #59: ;// #60: ;// #61: ;**************************************************************************************// #62: ;Scratch Pad Memory Locations// #63: ;**************************************************************************************// #64: ;// #65: CONSTANT(PWM_duty_counter,0) ;Duty Counter 0 to 255 within 1KHz period (1ms)// #66: CONSTANT(PWM_channel0,1) ;PWM settings for each channel// #67: CONSTANT(PWM_channel1,2) ; Channels 0 to 7 = LEDs 0 to 7// #68: CONSTANT(PWM_channel2,3) ; Channels 8 to 11 = IO9 to IO12// #69: CONSTANT(PWM_channel3,4)// #70: CONSTANT(PWM_channel4,5)// #71: CONSTANT(PWM_channel5,6)// #72: CONSTANT(PWM_channel6,7)// #73: CONSTANT(PWM_channel7,8)// #74: CONSTANT(PWM_channel8,9)// #75: CONSTANT(PWM_channel9,10)// #76: CONSTANT(PWM_channel10,11)// #77: CONSTANT(PWM_channel11,12)// #78: CONSTANT(ISR_preserve_s0,13) ;preserve register contents during Interrupt Service Routine// #79: CONSTANT(ISR_preserve_s1,14)// #80: CONSTANT(ISR_preserve_s2,15)// #81: ;// #82: ;// #83: ;// #84: ;// #85: ;UART character strings will be stored in scratch pad memory ending in carriage return.// #86: ;A string can be up to 16 characters with the start location defined by this constant.// #87: ;// #88: CONSTANT(string_start,48)// #89: ;// #90: ;// #91: ;// #92: ;**************************************************************************************// #93: ;Useful data constants// #94: ;**************************************************************************************// #95: ;// #96: ;// #97: ;// #98: ;// #99: ;ASCII table// #100: ;// #101: CONSTANT(character_a,97)// #102: CONSTANT(character_b,98)// #103: CONSTANT(character_c,99)// #104: CONSTANT(character_d,100)// #105: CONSTANT(character_e,101)// #106: CONSTANT(character_f,102)// #107: CONSTANT(character_g,103)// #108: CONSTANT(character_h,104)// #109: CONSTANT(character_i,105)// #110: CONSTANT(character_j,106)// #111: CONSTANT(character_k,107)// #112: CONSTANT(character_l,108)// #113: CONSTANT(character_m,109)// #114: CONSTANT(character_n,110)// #115: CONSTANT(character_o,111)// #116: CONSTANT(character_p,112)// #117: CONSTANT(character_q,113)// #118: CONSTANT(character_r,114)// #119: CONSTANT(character_s,115)// #120: CONSTANT(character_t,116)// #121: CONSTANT(character_u,117)// #122: CONSTANT(character_v,118)// #123: CONSTANT(character_w,119)// #124: CONSTANT(character_x,120)// #125: CONSTANT(character_y,121)// #126: CONSTANT(character_z,122)// #127: CONSTANT(character_A,65)// #128: CONSTANT(character_B,66)// #129: CONSTANT(character_C,67)// #130: CONSTANT(character_D,68)// #131: CONSTANT(character_E,69)// #132: CONSTANT(character_F,70)// #133: CONSTANT(character_G,71)// #134: CONSTANT(character_H,72)// #135: CONSTANT(character_I,73)// #136: CONSTANT(character_J,74)// #137: CONSTANT(character_K,75)// #138: CONSTANT(character_L,76)// #139: CONSTANT(character_M,77)// #140: CONSTANT(character_N,78)// #141: CONSTANT(character_O,79)// #142: CONSTANT(character_P,80)// #143: CONSTANT(character_Q,81)// #144: CONSTANT(character_R,82)// #145: CONSTANT(character_S,83)// #146: CONSTANT(character_T,84)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?