Memoria

mayo 3, 2019 Desactivado Por admin

Memoria gy stherIE Aeza6pR 02, 2010 S pagos MEMORIA LE2 MODUL 3//esta es la memoria que yo hice piyando cosas de las otras que te he copiado. Esta todo bien y funciona pero hay cosas hechas «a mi manera» del plan chapuzilla así que no pongas copiar y pegar!! xD Un besito hipa! nkcW La memória d’aquest darrer módul l’hem estructurat de la següent manera: Primer hem adjuntat els esquemes que hem dissenyat (esquema general, esquema de les tecles del comandament, l’esquema dalgunes funcions implantades… ) Després hem explicat la distribució del projecte en fitxers, és a dir, que trabem dins dels diferents arxius de suports: timers. timers. c, ports. h. Hem inclàs els codis de Timers. c i Ports. c tots dos comentats. Hem inclàs el codl general al final. Finalment hem inte opcionals del módul ( ors to View nut*ge at es b un comentari es de les funcions ESQUEMA DEL FUNCIONAMENT GENERAL INICIALITZAR TECLA REBUDA? IDENTIFICACIÓ DE LA TECLA INICIALITZEM VARIABLES INICIALITZAEM PORTS INICIALITZEM TIMERS MOORE ROBOT obrir_plnca Comprobar que no ens trobem ja a l’inici. CRIDAR A LA FUNCIO «inici()» MOTORS EN POSICIO INICIAL CRIDEM A «Retard ()» PARAR MOTORS ESQUEMA PROCÉS MOURE ROBOT IDENTIFICACIO DE LA TECLA TECLA REBUDA

INTERRUPCIONS JA HABILITADES INTRODUIR LES DADES REBUDES EN LA VARIABLE LOCAL CRIDAR A LA FUNCIO Port2 MOURE MOTOR Retard (40) INTRODUIM UN RETARD DE 40ms. Durant un temps d’espera queden inhabilitades les interrupcions i no es poden rebre noves instruccions. PARAR MOTOR setP2(oxFF) PODEM NOVES INSTRUCCIONS DISTRIBUCIÓ DEL PROJECTE EN FITXERS: Expliquem breument el contingut dels diferents fitxers de suport que usarem en el projecte: Ports. h Cl Capçalera amb els prototips i les vanables de ports. c Ports. c Inclou les inicialitzacions dels ports.. Timers. Capçalera amb els prototips les variables de imers. c Timers. c C] Inclou les inici las interrupcions dels RI_IFS «timers» globals int iTick;//control del pas per la RSI de la base de temps // Inicialització dels temporitzadors void IniTimers(void) BYTE far *pbyReg;//punter a un registre //substituir el vector d’interrupció de la base de temps permetre cap interrupció setvect(INTBASETEMPS, RSIBaseTernps); enable(); //crear el punter al registre de control del processador PRC pbyReg = (BYTE far PRC); //modificar el registre PRC per a una int cada 2. 5 ms *pbyReg = 0x04;//RAM interna deshabilitada //Freqüància clk de 4 MHz /apuntar al registre TBIC pbYReg = (BYTE far TBIC); *pbyReg &= 0xBF;//activar interrupcions BT // Retorna després d’un retard de ‘i emps’ ticks de la base de temps. void Retard(int iTemps) //modlficar el valor de la variable de control disable(); iTick = iTemps; //esperar ‘iTemps’ 31_1fS del codi) #include ;embedded. ; #lnclude «register. h’ #include «typedefs. h» #include i’ports. h»//funcions de control dels ports // Inicialització dels ports // (actualment, només P2 i PT) void portsserie (void) //configurar SCMO, configurem en mode asíncron. pbyReg (BYTE far SCMO); *pbYReg = 0x41 ; /Tractem de configurar la transmissió serie a 512 Bauds. /configurem el registre BRGO pbYReg (BYTE BRGO); *pbyReg = 0x7A; //valor 122 //configurem el registre SCCO pbyReg – (BYTE far SCCO); *pbYReg = 0x05; nvalor 5 //habilitar interrupció SRICO, interrupció per recepció completada pbYReg = (BYTE far SRICO); *pbyReg OxBF; //habilitar interrupcions per recepcions pel canal serie SRFO void IniPorts(void) 406 S // Treure valor per P2 setP2(BYTE byval) BYTE far al port //crear el punter al registre P2 pbYP2 = (BYTE far P2); *pbyP2 – byValWP2 – byval BYTE GetPT(V0id) //crear el punter al registre PT pbyPT – (BYTE far PT); eturn(*pbyPT),WvaIor PT Comentaris de Ports. C Una de les modificacions importants ha estat programar el registre SCMO. L’hem programat amb el valor 0x41. Que en binari és: 01000001. Per tant, de la següent manera: Bit O C] L’hem pasata 1 per fixar el mode de treball a asíncron. Bit 1 L’hem posat a O, també per fixar el mode de treball a asíncron. Blt 2 C] L’hem posat a O, indica un bit de stop. Bit 3 C] L’hem posat a 0, s’encarrega de la longitud del caràcter de dades. Bit 4 C] L’hem posat a O (bit de paritat) Bit 5 C] L’hem pasata O (b’ SI_IFS Bit 6 L’hem posata 1, a it de control de recepció, i