Я  думаю, что прочитав теоретическую часть, в которой не всё сразу понятно, лучше сразу потихонечку приступим к практике.
Схему приемника и передатчика DMX, которую я предлагаю изучить, можно найти в просторах интернета, но она заброшена.
Мне кажется, что человек, который её придумал, пошел дальше и ему это устройство стало неинтересно.  А нам, как начинающим, познавать этот микроконтроллерный мир, в самый раз  
![winked]()
 .
Какой микроконтроллер лучше, а какой хуже, спор вечный, это также как на чём лучше писать программы на Ассемблере, VB, СИ или Delphi. 
Да выбирайте, какой вам по душе, все они хороши, если знаешь что с ними делать.
Для меня, как начинающего, по душе сейчас простой PIC16F84, Proteus, Ассемблер и Delphi. 
Ну и конечно набор программ, облегчающий жизнь программиста.
Содержание статьи / Table Of Contents
   
Передатчик состоит из набора резисторов, пару конденсаторов, кварцевого резонатора, кнопочек и соответственно самого «мозга» микроконтроллера PIC16F84A. 
1.	Кнопки-переключатели (любые) - 12 шт.
2.	R1-R12 			10k
3.	R13				4.7k
4.	C1-C2				15p
5.	D1				1N4148
6.	U1				PIC16F84A
🎁
asm.zip
 21.52 Kb ⇣ 106
    Наш файловый сервис предназначен для полноправных участников сообщества "Datagor Electronics".
    Для получения файла зарегистрируйтесь и войдите на сайт с паролем.
 
;Asm файл для pic16c84 или 16f84, работает с кварцем 1MHz
;12 входов, управление переключателями (резисторы на «землю», перекл. на +5v)
; DMX выход с 1 по 12 канал, включаются (FFh), все остальные коды отключают канал.
; port A0 - DMX выход, соединяют с микросхемой  sn75176 dmx driver (в другой схеме ;будет)
	
list p=16F84;
	#include 
	__config  _CP_OFF & _HS_OSC & _WDT_OFF & _PWRTE_ON
Reg_1 equ 0x00
Reg_2 equ 0x00
ch1	equ	0x10
ch2	equ	0x11
ch3	equ	0x12
ch4	equ	0x13
ch5	equ	0x14
ch6	equ	0x15
ch7	equ	0x16
ch8	equ	0x17
ch9	equ	0x18
ch10	equ	0x19
ch11	equ	0x1A
ch12	equ	0x1B
	org	0x00
	goto	start
	org	0x05
start	
	CLRF	PORTA		;NEW 
	CLRF	PORTB		;NEW 
	
	bsf	STATUS,RP0
	movlw	0xFF		; port b input
	movwf	TRISB
	movlw	0xFE		; portA0 output, other bits input
	movwf	TRISA
	movlw	b'11010000'
	movwf	OPTION_REG
	movlw	b'00100000'	; don't allow interrupt
	movwf	INTCON
	bcf	STATUS,RP0
begin	movlw	0x00
	movwf	ch1
	movwf	ch2
	movwf	ch3
	movwf	ch4
	movwf	ch5
	movwf	ch6
	movwf	ch7
	movwf	ch8	
	movwf	ch9
	movwf	ch10
	movwf	ch11
	movwf	ch12
	movlw	0xff
	btfsc	PORTB,0
	movwf	ch1
	btfsc	PORTB,1
	movwf	ch2
	btfsc	PORTB,2
	movwf	ch3
	btfsc	PORTB,3
	movwf	ch4
	btfsc	PORTB,4
	movwf	ch5
	btfsc	PORTB,5
	movwf	ch6
	btfsc	PORTB,6
	movwf	ch7
	btfsc	PORTB,7
	movwf	ch8
	btfsc	PORTA,1
	movwf	ch9
	btfsc	PORTA,2
	movwf	ch10
	btfsc	PORTA,3
	movwf	ch11
	btfsc	PORTA,4
	movwf	ch12
	;---------------------------------------------------
dmxout	
	;---------------------------------------------------
	;delay 2 cycle = 8uS 
	;---------------------------------------------------
	bsf	PORTA,0				; PORTA =0000 0001
	bsf	PORTA,0				; PORTA =0000 0001
	;---------------------------------------------------
	;delay 22 cycle = 88uS BREAK
	;---------------------------------------------------
	bcf	PORTA,0				; PORTA =0000 0000
		movlw       0x06			; PORTA =0000 0000
        movwf       Reg_1				; PORTA =0000 0000
wr      decfsz      Reg_1, F				; PORTA =0000 0000
        goto        wr					; PORTA =0000 0000
		nop					; PORTA =0000 0000
		nop					; PORTA =0000 0000 88uS BREAK
	;---------------------------------------------------
	;delay 2 cycle = 8uS 
	;-----------------------------------------------
	bsf	PORTA,0				; PORTA =0000 0001
	bsf	PORTA,0				; PORTA =0000 0001
	;---------------------------------------------------
	;delay 9 cycle = 36uS  begin startcode
	;-----------------------------------------------
	bcf	PORTA,0 ;startbit			; PORTA =0000 0000
	;delay = 8 machine cycles
	nop
	nop
	movlw       .2
        	movwf       Reg_2
wr1      decfsz      Reg_2, F
        	goto        wr1
        	nop
	;-----------------------------------------------
	bsf	PORTA,0 ;stopbits
	bsf	PORTA,0
	bsf	PORTA,0
	;-----------------------------------------------
	movlw	0x10
	movwf	FSR
chanel	
	movf	INDF,w	
	;---------------------------------------------------
	;delay 8 cycle ????
	;-----------------------------------------------
	bcf	PORTA,0
	movwf	PORTA
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	;-----------------------------------------------
	bsf	PORTA,0
	bsf	PORTA,0
	bsf	PORTA,0
	;-----------------------------------------------
	bcf	STATUS,2
	clrwdt
	incf	FSR	
	movf	FSR,w
	xorlw	0x1C
	btfss	STATUS,2
	goto	chanel
	goto	begin
	end
Камрад, рассмотри датагорские рекомендации
  🌼 Полезные и проверенные железяки, можно брать
  Опробовано в лаборатории редакции или читателями.