Раздел: Документация
0 ... 31 32 33 34 35 36 37 ... 55 Установка названий бит RST:.reg pl.7 SCK:.reg pl.4 MOSI:.reg pl.3 MISO:.reg pi.2 ON:.reg p3.5 Макросы В МАКРОСАХ НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ РУССКИЙ ЯЗЫК В КОММЕНТАРИЯХ .!!!!!! Алгоритм ввода байта по RS232 INBYTE .mac го clr TxD jb RxD,$ setb TxD jnb ri,S mov a,sbuf clr ri . endm ;Enable transfer /Waiting start-bit /Disable transfer /Waiting set flag ri /Input byte from buffer /Clear flag ri Алгоритм вывода байта no RS232 OUTBYTE .macro jb RxD, $ mov sbuf,a jnb RxD,$ jnb ti,$ clr ti . endm /Waiting enable transfer /Output byte in buffer /Waiting disable transfer.WARNING! /Waiting output last bit (flag ti) /Clear flag ti Алгоритм вывода байта в AT89S8252 по SPI OUTBS .macro mov b,#8 МЕТО#: rlc а mov MOSI,с nop nop nop setb SCK nop nop nop nop Clr SCK djnz b,METO# . sndm Алгоритм ввода байта из AT89S8252 по SPI INBS METI#: .mac го mov b,#8 setb SCK nop nop nop mov c,MISO rlc a clr SCK nop nop djnz b,METI# .endm .DATA inpbequ lOh progbequ llh nequ 12h MEMAXequ 13h ;Ст. байт максимального ;объема памяти микросхемы. .CODE Начало кода org $ mov sp,#20h clr ON ;0N clr SCK clr RST call DEL2 5MS Инициал, поел, порта jmp INIT9600 Инициал, поел, порта на 115200 бод. INIT115: mov pcon,#0 /Частота приема/передачи НЕ УДВАИВАЕТСЯ, mov scon,#8eh;8 бит,2 стопа,REN=0(запрет приема ReciveENable=0), ;TI=0,RI=0,Vo6m=Fkb/64=7372800/64=115200 бод., ;SM0=l,SMl=0,SM2=0(#8ch) - режим 2. RB8=TB8=1. Инициализация таймеров ТО и Т1: ТО - как счетчика, Т1 - не используется ! Регистр TMOD: TI: GATEl=0-ynp,ot процессора;С/Т1=0-таймер,-Ml.1=0,МО.1=0-реж.0 =>0000Ь ТО: САТЕ0=1-управл. от INTO; С/Т0=1-счетчик;М1.0=0,М1.1=1-реж.1 =>1101Ь TMOD=00001101b или Odh mov tmod,#0dh jmp START Конец инициализации на 115200 бод. 0 ... 31 32 33 34 35 36 37 ... 55 |