; test sw ; mikrokontroler AT89C2051, krystal @24MHz, ; M-IDE Studio $NOMOD51 $include (89C2051.MCU) ; Konfiguracia I/O pinov ;------------------------------------------------------------------ serial_pin equ p3.0 ; vystupny pin ser. dat ;------------------------------------------------------------------ dseg ;datovy segment org 20h ; data v bitovo adr oblasti data_bit_0 bit 0 data_bit_1 bit 1 data_bit_2 bit 2 data_bit_3 bit 3 data_bit_4 bit 4 data_bit_5 bit 5 data_bit_6 bit 6 data_bit_7 bit 7 data_bit_8 bit 8 data_bit_9 bit 9 data_bit_10 bit 10 data_bit_11 bit 11 data_bit_12 bit 12 data_bit_13 bit 13 data_bit_14 bit 14 data_bit_15 bit 15 data_bit_16 bit 16 data_bit_17 bit 17 data_bit_18 bit 18 data_bit_19 bit 19 data_bit_20 bit 20 data_bit_21 bit 21 data_bit_22 bit 22 data_bit_23 bit 23 data_bit_24 bit 24 data_bit_25 bit 25 data_bit_26 bit 26 data_bit_27 bit 27 data_bit_28 bit 28 data_bit_29 bit 29 data_bit_30 bit 30 data_bit_31 bit 31 data_bit_32 bit 32 data_bit_33 bit 33 data_bit_34 bit 34 data_bit_35 bit 35 data_bit_36 bit 36 data_bit_37 bit 37 data_bit_38 bit 38 data_bit_39 bit 39 ; ;------------------------------------------------------------------ cseg ; programovy segment org 0h sjmp start ;org 00Bh ;reti ;------------------------------------------------------------------ org 30h ; program ulozeny vo flash pamati od adr #30h start: mov sp,#90 ; zasobnik v ram od adr 90dec mov 20h, #10 ; pociatocne hodnoty mov 21h, #20 mov 22h, #30 mov 23h, #40 mov 24h, #50 ;------------------------------------------------------------------ ;Hlavna slucka ;------------------------------------------------------------------ main: acall send_data ;posli sjmp main ; ; ;------------------------------------------------------------------ ;Podprogramy ;------------------------------------------------------------------ ; posle data "data_byte" z ram seriovo na prislusny pin cas vykonavania send_data: ; prvym bajtom ... mov c, data_bit_0 ; 0,5us mov serial_pin, c ; 1us mov c, data_bit_1 mov serial_pin, c mov c, data_bit_2 mov serial_pin, c mov c, data_bit_3 mov serial_pin, c mov c, data_bit_4 mov serial_pin, c mov c, data_bit_5 mov serial_pin, c mov c, data_bit_6 mov serial_pin, c mov c, data_bit_7 mov serial_pin, c mov c, data_bit_8 mov serial_pin, c mov c, data_bit_9 mov serial_pin, c mov c, data_bit_10 mov serial_pin, c mov c, data_bit_11 mov serial_pin, c mov c, data_bit_12 mov serial_pin, c mov c, data_bit_13 mov serial_pin, c mov c, data_bit_14 mov serial_pin, c mov c, data_bit_15 mov serial_pin, c mov c, data_bit_16 mov serial_pin, c mov c, data_bit_17 mov serial_pin, c mov c, data_bit_18 mov serial_pin, c mov c, data_bit_19 mov serial_pin, c mov c, data_bit_20 mov serial_pin, c mov c, data_bit_21 mov serial_pin, c mov c, data_bit_22 mov serial_pin, c mov c, data_bit_23 mov serial_pin, c mov c, data_bit_24 mov serial_pin, c mov c, data_bit_25 mov serial_pin, c mov c, data_bit_26 mov serial_pin, c mov c, data_bit_27 mov serial_pin, c mov c, data_bit_28 mov serial_pin, c mov c, data_bit_29 mov serial_pin, c mov c, data_bit_30 mov serial_pin, c mov c, data_bit_31 mov serial_pin, c mov c, data_bit_32 mov serial_pin, c mov c, data_bit_33 mov serial_pin, c mov c, data_bit_34 mov serial_pin, c mov c, data_bit_35 mov serial_pin, c mov c, data_bit_36 mov serial_pin, c mov c, data_bit_37 mov serial_pin, c mov c, data_bit_38 mov serial_pin, c mov c, data_bit_39 mov serial_pin, c ; hotovo : ret ; naspat 1 us ;-------------------------------------------------------------------------------- end