#define PD4 (*((volatile unsigned long *)0x )) #define PE3 (*((volatile unsigned long *)0x ))

Size: px
Start display at page:

Download "#define PD4 (*((volatile unsigned long *)0x )) #define PE3 (*((volatile unsigned long *)0x ))"

Transcription

1 //Table 1: Character LCD pins with 1 Controller //**********************************************// //1 VSS Power supply (GND) //2 VCC Power supply (+5V) //3 VEE Contrast adjust //4 RS 0 = Instruction input //1 = Data input //5 R/W 0 = Write to LCD module //1 = Read from LCD module //6 EN Enable signal //7 D0 Data bus line 0 (LSB) //8 D1 Data bus line 1 //9 D2 Data bus line 2 //10 D3 Data bus line 3 //11 D4 Data bus line 4 //12 D5 Data bus line 5 //13 D6 Data bus line 6 //14 D7 Data bus line 7 (MSB) //*********************************************// //#include "inc/tm4c123gh6pm.h" #define PD2 (*((volatile unsigned long *)0x )) #define PD3 (*((volatile unsigned long *)0x )) #define PD4 (*((volatile unsigned long *)0x )) #define PD7 (*((volatile unsigned long *)0x )) #define PE1 (*((volatile unsigned long *)0x )) #define PE2 (*((volatile unsigned long *)0x )) #define PE3 (*((volatile unsigned long *)0x )) // Encoder A Pin // Encoder B Pin // RESET DDS // Encoder C Pin // Encoder D Pin #define RS (*((volatile unsigned long *)0x )) #define E (*((volatile unsigned long *)0x )) #define D0 (*((volatile unsigned long *)0x )) #define D1 (*((volatile unsigned long *)0x )) #define D2 (*((volatile unsigned long *)0x )) #define D3 (*((volatile unsigned long *)0x )) #define D4 (*((volatile unsigned long *)0x )) #define D5 (*((volatile unsigned long *)0x )) #define D6 (*((volatile unsigned long *)0x )) #define D7 (*((volatile unsigned long *)0x )) // Flash ROM addresses must be 1k byte aligned, e.g., 0x8000, 0x8400, 0x #define FLASH 0x10000 // location in flash to write; make sure no program code is in this block #define FLASH1 0x10010 #define FLASH2 0x10020 #define FLASH3 0x10060 #define FLASH4 0x10040 #define FLASH5 0x10050 #define FLASH6 0x10070 //fonctions// void interrupt_portd(void); void interrupt_porte(void); int Lcd_Cmd(int portb); int lcd_display(char *disp); int void Lcd_Init(void);

2 void write_ftw0_in_flash(); //float f_affichage; float f_affichage_bis; char s[20]; void ssi0putdata( int instruction,long data,int num_byte); int i; int j; uint32_t FTW0_memory[1]; uint32_t FTW1_memory[1]; uint32_t POW0_memory[1]; uint32_t POW1_memory[1]; uint32_t ACR0_memory[1]; uint32_t ACR1_memory[1]; uint32_t read_byte2; uint32_t read_flash2; uint32_t read_byte; uint32_t read_flash; uint32_t read_byte3; uint32_t read_flash3; uint32_t read_byte4; uint32_t read_flash4; uint32_t read_byte5; uint32_t read_flash5; uint32_t read_byte6; uint32_t read_flash6; unsigned char encoder_a; unsigned char encoder_b; unsigned char encoder_c; unsigned char encoder_d; float result = 0; float result_bis = 0; int OSK_value; int OSK; char test[9]='0','0','0','0','0','0','0','0'; char OSK_bis[5]='2','0','4','8'; long OSK1_affichage; long OSK1_affichage_bis; long OSK0_affichage; long OSK0_affichage_bis; long POW1_affichage; long POW1_affichage_bis; /* DDS AD9959 */ short FR1_ADRESS = 0x01; // AD9959 FR1 adresss Byte long FR1_NUM_BYTE = 0x03; // AD9959 byte number by FR1 long FR1 = 0xD00000; // VCO high gain, PLLx20 short CFR_ADRESS = 0x03; fonction registers long CFR; // AD9959 long CFR_NUM_BYTE = 0x03; short CSR_ADRESS = 0x00; long CSR0 = 0x10; long CSR1 = 0x20; long CSR2 = 0x40; long CSR3 = 0x80; // A9959 CFR address Byte channel // AD9959 byte number by CFR // AD9959 CSR adresss Byte // AD9959 CH0 MSB first // AD9959 CH1 MSB first // AD9959 CH2 MSB first // AD9959 CH3 MSB first

3 int CSR_NUM_BYTE = 0x01; short FTW_ADRESS = 0x04; float FTW0; float FTW1; int FTW_NUM_BYTE = 0x04; short POW_ADDRESS = 0x05; int POW_NUM_BYTE = 0x02; int POW0 = 0x0000; int POW1; int POW2 = 0x0000; int POW3 = 0x0000; // AD9959 byte number by CSR // AD9959 FTW adresss Byte // AD9959 byte number by FTW // AD9959 POW adresss Byte // AD9959 byte number by POW short ACR_ADDRESS = 0x06; // AD9959 ACR (Amp Ctrl Register)addresss Byte int ACR_NUM_BYTE = 0x03; // AD9959 byte number by ACR int ACR0 = 0x1250; // full DAC 10bits OV output int ACR1 = 0x1250; int ACR2 = 0x1050; int ACR3 = 0x1050; unsigned long Encoder_A(void) return PD3; // 0x08 if pressed, 0x00 if not pressed unsigned long Encoder_B(void) return PD2; // 0x04 if pressed, 0x00 if not pressed unsigned long Encoder_C(void) return PE2; // 0x04 if pressed, 0x00 if not pressed unsigned long Encoder_D(void) return PE3; // 0x08 if pressed, 0x00 if not pressed unsigned long Switch_Input(void) return PF4; // return 0x10(pressed) or 0(not pressed) //*********************************************************************** ****** #ifdef DEBUG void error (char *pcfilename, uint32_t ui32line) #endif void interrupt_portd(void) if (GPIOIntStatus(GPIO_PORTD_BASE, false) & PD3) GPIOIntRegister(GPIO_PORTD_BASE, interrupt_portd); // Register our handler function for port D GPIOIntTypeSet(GPIO_PORTD_BASE, PD3,GPIO_RISING_EDGE); // Configure PD3 for rising edge trigger

4 GPIOIntClear(GPIO_PORTD_BASE, PD3); // Clear interrupt flag result = atoi(test); if(pa0 ==0x00 && PA1 ==0x00) if(pe1==0x00 && PE2==0x00 && PE3==0x00) if (Encoder_A()) if(encoder_b()) if( test[1]<'9') test[1] ++; result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[1]=='9' && test[0]<='9') test[0] ++; test[1]= '0'; result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[1]=='9' && test[0]=='9') else if( test[0]<='9' && test[1]<='9') if(test[1]>'0') test[1] --; result = atoi(test); //PC5 =0x00; if(test[1]=='0') if(test[0]>'0') test[0]--; test[1] = '9'; result = atoi(test); //PC5 =0x00;

5 result_bis = result/ ; lcd_display(" FREQ AD9959"); sprintf(s,"f(mhz)=%f",result_bis); FTW0 = result* / ; FTW1 = result* / ; if(pe1==0x02) if (Encoder_A()) if(encoder_b()) if( test[3]<'9') test[3] ++,test[4] = '0',test[5] = '0',test[6] = '0',test[7] = '0',result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[3]=='9' && test[2]<'9') test[2] ++,test[3]= '0',test[4] = '0',test[5] = '0',test[6] = '0',test[7] = '0',result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[3]=='9' && test[2]=='9') else if( test[3]<='9' && test[2]<='9') if(test[3]>'0') test[3] --,test[4] = '0',test[5] = '0',test[6] = '0',test[7] = '0',result = atoi(test); //PC5 =0x00; if(test[3]=='0') if(test[2]>'0') test[2]--,test[3] = '9',test[4] = '0',test[5] = '0',test[6] = '0',test[7] = '0',result = atoi(test);

6 //PC5 =0x00; result_bis = (float)result/ ; lcd_display(" FREQ AD9959"); sprintf(s,"f(mhz)=%f",result_bis); FTW0 = result* / ; FTW1 = result* / ; if(pe2==0x04) if (Encoder_A()) if(encoder_b()) if( test[5]<'9') test[5] ++,test[4] = '0',test[6] = '0',test[7] = '0',result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[5]=='9' && test[4]<'9') test[4] ++,test[5]= '0',test[6] = '0',test[7] = '0'; result = atoi(test); PC4 =0x10; // make PF3 high PC4 =0x00; if(test[4]=='9' && test[5]=='9') if(test[3]>'0') test[3] ++,test[4]= '0',test[5]= '0',test[6]= '0',test[7]= '0'; else if( test[4]<='9' && test[5]<='9') if(test[5]>'0') test[5] --,test[6] = '0',test[7] = '0',result = atoi(test);

7 //PC5 =0x00; if(test[5]=='0') if(test[4]>'0') test[4]--,test[5]= '9',test[6]= '0',test[7]= '0'; result = atoi(test); //PC5 =0x00; result_bis = (float)result/ ; lcd_display(" FREQ AD9959"); sprintf(s,"f(mhz)=%f",result_bis); FTW0 = result* / ; FTW1 = result* / ; if(pe3==0x08) if (Encoder_A()) if(encoder_b()) if( test[7]<'9') test[7] ++; result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[7]=='9' && test[6]<'9') test[6] ++,test[7]= '0'; result = atoi(test); //PC4 =0x10; // make PF3 high //PC4 =0x00; if(test[6]=='9' && test[7]=='9') if(test[4]>'0') test[4] ++,test[6]= '0',test[7]= '0';

8 else if( test[6]<='9' && test[7]<='9') if(test[7]>'0') test[7] --,result = atoi(test),result = atoi(test); //PC5 =0x00; if(test[7]=='0') if(test[6]>'0') test[6]--,test[7] = '9',result = atoi(test); //PC5 =0x00; result_bis = (float)result/ ; lcd_display(" FREQ AD9959"); sprintf(s,"f(mhz)=%f",result_bis); FTW0 = result* / ; FTW1 = result* / ; //phase offset word POW1 AD9959// if(pa1 ==0x02) if (Encoder_A()) if(encoder_b()) POW1 ++; PC4 =0x10; // make PF3 high PC4 =0x00; else POW1 --; PC5 =0x20; // make PF3 high PC5 =0x00;

9 POW1_affichage = ( POW1 *16384)/360; lcd_display(" PHASE CH1/CH0"); sprintf(s,"phase(deg)= %d",pow1); //amplitude ACR0 AD9959// if(pa0 ==0x01 && PE3==0x00) if (Encoder_A()) if(encoder_b()) ACR0+=10; ACR0 ++; //PC4 =0x10; // make PF3 high //PC4 =0x00; else ACR0-=10; ACR0 --; //PC5 =0x00; OSK0_affichage = ACR0; lcd_display("amp CH0 AD9959"); OSK0_affichage_bis = OSK0_affichage - 0x1050; sprintf(s,"(0-1024) = %d",osk0_affichage_bis); //amplitude ACR1 AD9959// if(pa0 ==0x01 && PE3==0x08) if (Encoder_A()) if(encoder_b()) ACR1+=10; ACR1 ++; //PC4 =0x10; // make PF3 high //PC4 =0x00;

10 else ACR1-=10; ACR1 --; //PC5 =0x00; OSK1_affichage = ACR1; lcd_display("amp CH1 AD9959"); OSK1_affichage_bis = OSK1_affichage - 0x1050; sprintf(s,"(0-1024) = %d",osk1_affichage_bis); //*********************************************************************** ****** // // SSI0 SERIAL PORT // //*********************************************************************** ****** void ssi0putdata( int instruction,long data,int num_byte) int i=0; SSI0_DR_R = instruction; while( num_byte ) while(!(ssi0_sr_r & SSI_SR_TNF)) // wait until there is space to write in the buffer SSI0_DR_R = data >>(num_byte-1-i)*8; num_byte--; void PortA_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x ; // 1) activate clock for Port A delay = SYSCTL_RCGC2_R; // allow time for clock to start GPIO_PORTA_AMSEL_R &= ~0x80; // 3) disable analog on PA7 GPIO_PORTA_PCTL_R &= ~0xF ; // 4) PCTL GPIO on PA7 GPIO_PORTA_DIR_R = 0xC0; // 5) PA7-PA6 out PA0 PA1 in //GPIO_PORTA_DIR_R = 0xC8; // PA7 PA6 PA3 out GPIO_PORTA_AFSEL_R &= ~0x80; // 6) disable alt funct on PA7 GPIO_PORTA_DEN_R = 0xC3; // 7) enable digital I/O on PA7-PA6 //GPIO_PORTA_DEN_R = 0xC8;

11 void PortB_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x ; // 1) activate clock for Port B delay = SYSCTL_RCGC2_R; // allow time for clock to start GPIO_PORTB_AMSEL_R = 0x00; // 3) disable analog on PB GPIO_PORTB_PCTL_R = 0x ; // 4) PCTL GPIO on PB0 GPIO_PORTB_DIR_R = 0xFF; // 5) PB0-PB7 is out //GPIO_PORTB_AFSEL_R &= ~0x01; // 6) disable alt funct on PB0 GPIO_PORTB_AFSEL_R &= ~0xFF; // 6) disable alt funct on PB0-PB7 GPIO_PORTB_DEN_R = 0xFF; // 7) enable digital I/O on PB0-PB7 void PortC_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x ; // port C Clock Gating Control delay = SYSCTL_RCGC2_R; // allow time for clock to start GPIO_PORTC_DIR_R = 0x30; // make PC5 PC4 output (PC5 built-in LED) GPIO_PORTC_DEN_R = 0x30; // enable digital I/O on PC5 PC4 void PortD_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x ; // 1) activate clock for Port D delay = SYSCTL_RCGC2_R; // allow time for clock to start // 2) no need to unlock PD3-0 GPIO_PORTD_AMSEL_R &= ~0x0F; // 3) disable analog functionality on PD3-0 GPIO_PORTD_AFSEL_R &= ~0x0F; // 6) regular port function GPIO_PORTD_PCTL_R &= ~0x0000FFFF; // 4) GPIO //GPIO_PORTD_DIR_R = 0x00; // 5) make PD3-0 in GPIO_PORTD_DIR_R = 0x13; //PD1 PD0 PD4 output --PD2 PD3 input //GPIO_PORTD_DEN_R = 0x0F; // 7) enable digital I/O on PD3-0 GPIO_PORTD_DEN_R = 0x1F; void PortE_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x10; // activate clock for Port E delay = SYSCTL_RCGC2_R; // wait 3-5 bus cycles GPIO_PORTE_DIR_R &= ~0x0F; // PE3,2,1,0 input GPIO_PORTE_AFSEL_R &= ~0x0F; // not alternative GPIO_PORTE_AMSEL_R &= ~0x0F; // no analog GPIO_PORTE_PCTL_R &= ~0x0000FFFF; // bits for PE3,PE2,PE1,PE0 GPIO_PORTE_DEN_R = 0x0F; // enable PE3,PE2,PE1,PE0 //// PF4 is input SW1 and PF2 is output Blue LED void PortF_Init(void) volatile unsigned long delay; SYSCTL_RCGC2_R = 0x ; // 1) activate clock for Port F delay = SYSCTL_RCGC2_R; // allow time for clock to start GPIO_PORTF_LOCK_R = 0x4C4F434B; // 2) unlock GPIO Port F GPIO_PORTF_CR_R = 0x1F; // allow changes to PF4-0 // only PF0 needs to be unlocked, other bits can't be locked GPIO_PORTF_AMSEL_R = 0x00; // 3) disable analog on PF GPIO_PORTF_PCTL_R = 0x ; // 4) PCTL GPIO on PF4-0

12 //GPIO_PORTF_DIR_R = 0x0E; // 5) PF4,PF0 in, PF3-PF1 out GPIO_PORTF_DIR_R = 0x0A; // 5) PF4,PF2,PF0 in, PF3-1 out GPIO_PORTF_AFSEL_R = 0x00; // 6) disable alt funct on PF7-0 //GPIO_PORTF_PUR_R = 0x11; // enable pull-up on PF0 and PF4 GPIO_PORTF_DEN_R = 0x1F; // 7) enable digital I/O on PF4-0 void init_spi0(void) // Enable Peripheral SSI0 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); //Enable GPIO port A pins which are used for SSI0. SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0); GPIOPinConfigure(GPIO_PA2_SSI0CLK); GPIOPinConfigure(GPIO_PA5_SSI0TX); GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5 GPIO_PIN_2); SSIConfigSetExpClk(SSI0_BASE, , SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, , 8); SSIEnable(SSI0_BASE); // Enable the SSI void PeripheralEnableInit(void) SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); int Lcd_Port(int portb) GPIO_PORTB_DATA_R = portb; return 0; // Function for sending command to LCD int Lcd_Cmd(int portb) RS = 0x00; // => RS = 0 Lcd_Port(portB); E = 0x40; // Enable = 1 SysCtlDelay(15000); E = 0x00; // Enable = 0 return 0; // Function for sending data to LCD int Lcd_data(int portb) Lcd_Port(portB); RS = 0x80; // RS = 1 E = 0x40; //Enable = 1 SysCtlDelay(15000); E = 0x00; // Enable = 0 return 0; int Lcd_Clear() Lcd_Cmd(0); Lcd_Cmd(1); return 0;

13 void Lcd_display_off() Lcd_Cmd(0); Lcd_Cmd(0x0C); void Lcd_Shift_Right() Lcd_Cmd(0x01); Lcd_Cmd(0x18); void Lcd_Shift_Left() Lcd_Cmd(0x01); Lcd_Cmd(0x1C); void LCD_busy() D7 = 0x80; //Make D7th bit of LCD as i/p E = 0x40; //Enable = 1 RS = 0x80; // RS = 1 //Selected command register while(d7) //read busy flag again and again till it becomes 0 E = 0x00; // //Enable H->L E = 0x40; //Enable = 1 // Function for initializing LCD void Lcd_Init() SysCtlDelay(10000); Lcd_Cmd(0x38); //Function set: 2 Line, 8-bit, 5x7 dots SysCtlDelay(10000); Lcd_Cmd(0x0c); SysCtlDelay(10000); Lcd_Cmd(0x01); //Clear LCD SysCtlDelay(10000); Lcd_Cmd(0x06); //Entry mode, auto increment with no shift SysCtlDelay(10000); Lcd_Cmd(0x83); // DDRAM addresses 0x80..0x8F + 0xC0..0xCF are used. SysCtlDelay(10000); // Function for sending string to LCD int lcd_display(char *disp) int x=0; while(disp[x]!=0) Lcd_data(disp[x]); x++; return 0; int main(void)

14 SysCtlClockSet(SYSCTL_SYSDIV_4 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_16MHZ); // Set the clocking to run at 50MHz from the PLL. PeripheralEnableInit(); PortA_Init(); PortB_Init(); PortC_Init(); PortD_Init(); PortE_Init(); PortF_Init(); init_spi0(); PD4 =0x10; // reset DDS SysCtlDelay(200000); PD4 =0x00; Lcd_Init(); SysCtlDelay(20000); SysCtlDelay(400000); lcd_display("welcome to"); lcd_display("cnrs-lpl-ig-up13"); SysCtlDelay( ); //37.5ns * = 1,875 s SysCtlDelay(400000); Lcd_Cmd(0x84); lcd_display("atelier"); Lcd_Cmd(0xc2); lcd_display("electronique"); SysCtlDelay( ); //37.5ns * = 1,875 s float k = / ; float f_affichage; read_byte = *(unsigned long *)FLASH; //read FLASH for FTW0 read_flash = read_byte; read_byte4 = *(unsigned int *)FLASH3; read_flash4 = read_byte4; read_byte5 = *(unsigned int *)FLASH4; read_flash5 = read_byte5; read_byte6 = *(unsigned int *)FLASH5; read_flash6 = read_byte6; //read FLASH3 for POW1 //read FLASH4 for ACR0 //read FLASH5 for ACR1 if(pa0==0x00 && PA1==0x00) //frequency select f_affichage = (read_flash*k)/ ; SysCtlDelay( ); //37.5ns * = 1,875/ s SysCtlDelay(400000); lcd_display(" FREQ AD9959");

15 sprintf(s,"f(mhz)=%f",f_affichage); if(pa1==0x02 && PA0==0x00) // phase select POW1_affichage = (read_flash4 *16384)/360; SysCtlDelay( ); //37.5ns * = 1,875/ s SysCtlDelay(400000); lcd_display(" PHASE CH1/CH0"); POW1_affichage_bis = (read_flash4 *360) / 16384; sprintf(s,"phase(deg)= %d",pow1_affichage_bis); if(pa1==0x00 && PA0==0x01 && PE3==0x08) //amplitude ch1 select OSK1_affichage = read_flash6; SysCtlDelay(400000); lcd_display("amp CH1 AD9959"); OSK1_affichage_bis = OSK1_affichage ; sprintf(s,"(0-1024) = %d",osk1_affichage_bis); if(pa1==0x00 && PA0==0x01 && PE3==0x00) //amplitude ch0 select OSK0_affichage = read_flash5; SysCtlDelay(400000); lcd_display("amp CH0 AD9959"); OSK0_affichage_bis = OSK0_affichage ; sprintf(s,"(0-1024) = %d",osk0_affichage_bis); // Interrupt setup GPIOIntDisable(GPIO_PORTD_BASE, PD3); PD3 (in case it was enabled) GPIOIntClear(GPIO_PORTD_BASE, PD3); for PD3 // Disable interrupt for // Clear pending interrupts GPIOIntRegister(GPIO_PORTD_BASE, interrupt_portd); // Register our handler function for port D GPIOIntTypeSet(GPIO_PORTD_BASE, PD3,GPIO_FALLING_EDGE); // Configure PD3 for falling edge trigger GPIOIntEnable(GPIO_PORTD_BASE, PD3); // Enable interrupt for PD3 ssi0putdata(fr1_adress,fr1,fr1_num_byte); //PLL activé X20 ssi0putdata(csr_adress,csr0,csr_num_byte);

16 read_byte = *(unsigned long *)FLASH; //read FLASH for FTW0 read_flash = read_byte; FTW0 = read_flash; ssi0putdata(ftw_adress,(long)read_flash,ftw_num_byte); ssi0putdata(csr_adress,csr1,csr_num_byte); read_byte2 = *(unsigned long *)FLASH1; //read FLASH1 for FTW1 read_flash2 = read_byte2; FTW1 = read_flash2; ssi0putdata(ftw_adress,read_flash2,ftw_num_byte); read_byte3 = *(unsigned int *)FLASH2; //read FLASH2 for POW0 read_flash3 = read_byte3; POW0 = read_flash3; ssi0putdata(csr_adress,csr0,csr_num_byte); ssi0putdata(pow_address,read_flash3,pow_num_byte); read_byte4 = *(unsigned int *)FLASH3; //read FLASH3 for POW1 read_flash4 = read_byte4; POW1_affichage = read_flash4; ssi0putdata(csr_adress,csr1,csr_num_byte); ssi0putdata(pow_address,read_flash4,pow_num_byte); read_byte5 = *(unsigned int *)FLASH4; //read FLASH4 for ACR0 read_flash5 = read_byte5; OSK0_affichage = read_flash5; ssi0putdata(csr_adress,csr0,csr_num_byte); ssi0putdata(acr_address,read_flash5,acr_num_byte); read_byte6 = *(unsigned int *)FLASH5; //read FLASH5 for ACR1 read_flash6 = read_byte6; OSK1_affichage = read_flash6; ssi0putdata(csr_adress,csr1,csr_num_byte); ssi0putdata(acr_address,read_flash6,acr_num_byte); PD1 =0x02; // AD9959 I/O update PD1 =0x00; while(1) if(pf2==0x04) if(pa0==0x00 && PA1==0x00) ssi0putdata(csr_adress,csr0,csr_num_byte); ssi0putdata(ftw_adress,(long)ftw0,ftw_num_byte); ssi0putdata(csr_adress,csr1,csr_num_byte); ssi0putdata(ftw_adress,(long)ftw1,ftw_num_byte); PD1 =0x02; // AD9959 I/O update

17 PD1 =0x00; if(pa1==0x02 && PA0==0x00) ssi0putdata(csr_adress,csr0,csr_num_byte); ssi0putdata(pow_address, POW0, POW_NUM_BYTE); ssi0putdata(csr_adress,csr1,csr_num_byte); ssi0putdata(pow_address, POW1_affichage, POW_NUM_BYTE); PD1 =0x02; // AD9959 I/O update PD1 =0x00; if( PA0==0x01 && PA1==0x00 && PE3==0x08) ssi0putdata(csr_adress,csr1,csr_num_byte); ssi0putdata(acr_address, OSK1_affichage, ACR_NUM_BYTE); PD1 =0x02; // AD9959 I/O update PD1 =0x00; if( PA0==0x01 && PA1==0x00 && PE3==0x00) ssi0putdata(csr_adress,csr0,csr_num_byte); ssi0putdata(acr_address, OSK0_affichage, ACR_NUM_BYTE); PD1 =0x02; // AD9959 I/O update PD1 =0x00; // data put in memory flash FlashErase(FLASH); FTW0_memory[0] = (long)ftw0; FTW1_memory[0] = (long)ftw1; FlashProgram(FTW0_memory, FLASH, sizeof(ftw0_memory)); read_byte = *(unsigned long *)FLASH; read_flash = read_byte; FlashProgram(FTW1_memory, FLASH1, sizeof(ftw1_memory)); read_byte2 = *(unsigned long *)FLASH1; read_flash2 = read_byte2; POW0_memory[0] = POW0; POW1_memory[0] = POW1_affichage; FlashProgram(POW0_memory, FLASH2, sizeof(pow0_memory)); read_byte3 = *(unsigned int *)FLASH2; read_flash3 = read_byte3; FlashProgram(POW1_memory, FLASH3, sizeof(pow1_memory)); read_byte4 = *(unsigned int *)FLASH3; read_flash4 = read_byte4; ACR0_memory[0] = OSK0_affichage; ACR1_memory[0] = OSK1_affichage;

18 FlashProgram(ACR0_memory, FLASH4, sizeof(acr0_memory)); read_byte5 = *(unsigned int *)FLASH4; read_flash5 = read_byte5; FlashProgram(ACR1_memory, FLASH5, sizeof(acr1_memory)); read_byte6 = *(unsigned int *)FLASH5; read_flash6 = read_byte6;

Asservissement en température numérique d'une cavité ultra-stable au LPL pour le Strontium

Asservissement en température numérique d'une cavité ultra-stable au LPL pour le Strontium Asservissement en température numérique d'une cavité ultra-stable au LPL pour le Strontium condition de stabilité +/- 10mK Résultas obtenus : 1mk sur la journée Compte tenu des constantes de temps d'intégration

More information

Hibernation Module. Introduction. Agenda

Hibernation Module. Introduction. Agenda Hibernation Module Introduction In this chapter we ll take a look at the hibernation module and the low power modes of the M4F. The lab will show you how to place the device in sleep mode and you ll measure

More information

CprE 288 Introduction to Embedded Systems

CprE 288 Introduction to Embedded Systems CprE 288 Introduction to Embedded Systems Instructors: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1 Overview Announcements Bitwise Operations Set, clear, toggle and invert bits Shift bits Test

More information

Lab Experiment 9: LCD Display

Lab Experiment 9: LCD Display Lab Experiment 9: LCD Display 1 Introduction Liquid Crystal Displays (LCDs) provide an effective way for processors to communicate with the outside world. The LPC2148 board used in the lab is equipped

More information

LCDs. Embedded Systems Interfacing. 20 September 2011

LCDs. Embedded Systems Interfacing. 20 September 2011 20 September 2011 How Polarizers Work How work How Color Work Other Technologies Reflective Nematic (no back light) Cholesteric Liquid Crystal Organic LED/Polymer LED Vacuum Florescent Display Display

More information

// sets the position of cursor in row and column

// sets the position of cursor in row and column CODE: 1] // YES_LCD_SKETCH_10_14_12 #include //lcd(rs, E, D4, D5, D6, D7) LiquidCrystal lcd(8, 9, 4, 5, 6, 7); int numrows = 2; int numcols = 16; void setup() Serial.begin(9600); lcd.begin(numrows,

More information

LCD. Configuration and Programming

LCD. Configuration and Programming LCD Configuration and Programming Interfacing and Programming with Input/Output Device: LCD LCD (liquid crystal display) is specifically manufactured to be used with microcontrollers, which means that

More information

The modules in this lab room are 4 line by 16 character display modules. The data sheet/users manual for the module is posted on My.Seneca.

The modules in this lab room are 4 line by 16 character display modules. The data sheet/users manual for the module is posted on My.Seneca. LCD Modules A common output display device used with low cost embedded systems is a character LCD display. The displays are available as complete modules with a standard microprocessor parallel interface.

More information

Time now to look at how main causes the three LaunchPad LEDs to flash in sequence.

Time now to look at how main causes the three LaunchPad LEDs to flash in sequence. Time now to look at how main causes the three LaunchPad LEDs to flash in sequence. Here is main again (Figure 1). Figure 1 main listing from Lab2 I ve already covered the #include statements and the basic

More information

EMBEDDED HARDWARE DESIGN. Tutorial Interfacing LCD with Microcontroller /I

EMBEDDED HARDWARE DESIGN. Tutorial Interfacing LCD with Microcontroller /I EMBEDDED HARDWARE DESIGN Tutorial Interfacing LCD with Microcontroller 2009-10/I LCD (Liquid Crystal Display) has become very popular option for displaying in Embedded Applications. Since they are very

More information

EE445L Fall 2012 Quiz 2B Page 1 of 6

EE445L Fall 2012 Quiz 2B Page 1 of 6 EE445L Fall 2012 Quiz 2B Page 1 of 6 Jonathan W. Valvano First: Last: November 16, 2012, 10:00-10:50am. Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator,

More information

Exam 1. EE319K Spring 2013 Exam 1 (Practice 1) Page 1. Date: February 21, 2013; 9:30-10:45am. Printed Name:

Exam 1. EE319K Spring 2013 Exam 1 (Practice 1) Page 1. Date: February 21, 2013; 9:30-10:45am. Printed Name: EE319K Spring 2013 Exam 1 (Practice 1) Page 1 Exam 1 Date: February 21, 2013; 9:30-10:45am Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this

More information

TI ARM Lab 4 Digilent Orbit Board

TI ARM Lab 4 Digilent Orbit Board TI ARM Lab 4 Digilent Orbit Board National Science Foundation Funded in part, by a grant from the National Science Foundation DUE 1068182 Acknowledgements Developed by Craig Kief, Brian Zufelt, and Jacy

More information

Exam 1 Fun Times. EE319K Fall 2012 Exam 1A Modified Page 1. Date: October 5, Printed Name:

Exam 1 Fun Times. EE319K Fall 2012 Exam 1A Modified Page 1. Date: October 5, Printed Name: EE319K Fall 2012 Exam 1A Modified Page 1 Exam 1 Fun Times Date: October 5, 2012 Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will

More information

Embedded System Design

Embedded System Design ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ Embedded System Design Chapter 3: C Programming for ARM Microcontroller 1. C Program Basics 2. ARM Cortex-M

More information

Laboratory 3 Working with the LCD shield and the interrupt system

Laboratory 3 Working with the LCD shield and the interrupt system Laboratory 3 Working with the LCD shield and the interrupt system 1. Working with the LCD shield The shields are PCBs (Printed Circuit Boards) that can be placed over the Arduino boards, extending their

More information

LABORATORY MANUAL Interfacing LCD 16x2, Keypad 4x4 and 7Segment Display to PIC18F4580

LABORATORY MANUAL Interfacing LCD 16x2, Keypad 4x4 and 7Segment Display to PIC18F4580 LABORATORY MANUAL Interfacing LCD 16x2, Keypad 4x4 and 7Segment Display to PIC18F458 1. OBJECTIVES: 1.1 To learn how to interface LCD 16x2, Keypad 4x4 and 7Segment Display to the microcontroller. 1.2 To

More information

Application Note. Interfacing to a Graphics LCD from PSoC. Summary This Application Note describes how to control a graphic LCD in a PSoC application.

Application Note. Interfacing to a Graphics LCD from PSoC. Summary This Application Note describes how to control a graphic LCD in a PSoC application. Application Note AN2147 Interfacing to a Graphics LCD from PSoC Author: Pham Minh Tri Associated Projects: Yes Associated Part Family: CY8C27xxx PSoC Designer Version: 4.0 Associated Application Notes:

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note a EE-219 Technical notes on using Analog Devices DSPs, processors and development tools Contact our technical support at dsp.support@analog.com and at dsptools.support@analog.com

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller

Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller ELCE 3040/3050 Lab Session 2 (write-up on course web page) Important References (on course web page): Tutorial: C programming

More information

Exam 1. Date: February 23, 2016

Exam 1. Date: February 23, 2016 Exam 1 Date: February 23, 2016 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will you help others to cheat on this exam:

More information

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION PR 121 rev. 0 11/11/2011 Pagina 1 di 9 ELECTRICITY ENERGY METER FIRMWARE 1.6 Conto D2 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 2.0 DATA MESSAGE DESCRIPTION 2.1 Data field description 2.2 Data format

More information

EEC 134 Application Note Tiva Programming. Patrick Huynh

EEC 134 Application Note Tiva Programming. Patrick Huynh EEC 134 Application Note Tiva Programming Patrick Huynh Introduction This application note will cover Tiva programming for radar signal processing. The intended audience are students that have a bit of

More information

TI ARM Lab 8 Accelerometers

TI ARM Lab 8 Accelerometers TI ARM Lab 8 Accelerometers National Science Foundation Funded in part, by a grant from the National Science Foundation DUE 1068182 Acknowledgements Developed by Craig Kief, Brian Zufelt, and Jacy Bitsoie

More information

Systems Programming. Lecture 4 Z16 Architecture and Programming

Systems Programming.   Lecture 4 Z16 Architecture and Programming Systems Programming www.atomicrhubarb.com/systems Lecture 4 Z16 Architecture and Programming Section Topic Where in the books Zilog Zilog Zilog Zilog UM197 (ZNEO Z16F Series Flash Microcontroller Contest

More information

Programming I 2 S on the Stellaris Microcontroller

Programming I 2 S on the Stellaris Microcontroller Programming I 2 S on the Stellaris Microcontroller Application Note Ryan Hunt Design Team 6 November 13, 2011 1 Contents Abstract... 3 Keywords... 3 Introduction and Background... 3 Objective... 4 Programming

More information

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION MODBUS PROTOCOL COMMUNICATION MODBUS PROTOCOL CE4DMID31 / CE4DMID21 CONTO D4 Pd MID PR123 20/10/2016 Pag. 1/9 Contents 1.0 ABSTRACT... 2 2.0 DATA MESSAGE DESCRIPTION... 3 2.1 Parameters description... 3 2.2 Data format...

More information

Two Wire Interface (TWI) also commonly called I2C

Two Wire Interface (TWI) also commonly called I2C (TWI) also commonly called I2C MSP432 I2C 2 tj MSP432 I2C ARM (AMBA Compliant) 8 bit transmission word 7/10 bit addressing Multi-master/slave modes 4 slave addresses 4 eusci-b modules 3 tj Overview 8 bit

More information

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION MODBUS PROTOCOL COMMUNICATION MODBUS PROTOCOL CE4DT36 CONTO D4 Pd (3-single phase) PR134 20/10/2016 Pag. 1/11 Contents 1.0 ABSTRACT... 2 2.0 DATA MESSAGE DESCRIPTION... 3 2.1 Parameters description... 3 2.2 Data format...

More information

LCD AND KEYBOARD INTERFACING

LCD AND KEYBOARD INTERFACING LCD AND KEYBOARD The 8051 Microcontroller and Embedded Systems: Using Assembly and C Mazidi, Mazidi and McKinlay Chung-Ping Young 楊中平 Home Automation, Networking, and Entertainment Lab Dept. of Computer

More information

ELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller

ELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller The objective of this laboratory session is to become more familiar with the process for creating, executing and

More information

Designing Your Own Soft Modules

Designing Your Own Soft Modules 4 Objectives Learn how to create circuit schematics with OrCAD Learn how to export a circuit from OrCAD as an EDIF netlist. Learn how to import an EDIF netlist into the FastChip library as a new soft module.

More information

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX CP2130 INTERFACE SPECIFICATION 1. Introduction The Silicon Labs CP2130 USB-to-SPI bridge is a device that communicates over the Universal Serial Bus (USB) using vendor-specific control and bulk transfers

More information

Program Structure (2A) Young Won Lim 5/28/18

Program Structure (2A) Young Won Lim 5/28/18 Program Structure (2A) Copyright (c) 2014-2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or

More information

Embedded programming, AVR intro

Embedded programming, AVR intro Applied mechatronics, Lab project Embedded programming, AVR intro Sven Gestegård Robertz Department of Computer Science, Lund University 2017 Outline 1 Low-level programming Bitwise operators Masking and

More information

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION MODBUS PROTOCOL COMMUNICATION MODBUS PROTOCOL BOZZA_V04 Conto D6-Pd 05/12/2017 Pag. 1/15 CONTENTS 1.0 ABSTRACT... 2 2.0 DATA MESSAGE DESCRIPTION... 3 2.1 Parameters description... 3 2.2 Data format... 4 2.3 Description

More information

Program Structure (2A) Young Won Lim 3/8/18

Program Structure (2A) Young Won Lim 3/8/18 Program Structure (2A) Copyright (c) 2014-2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or

More information

CPCI-AD32. Intelligent DSP Based 32 Channel Analog Input Card for 3U CompactPCI systems REFERENCE MANUAL Version 1.

CPCI-AD32. Intelligent DSP Based 32 Channel Analog Input Card for 3U CompactPCI systems REFERENCE MANUAL Version 1. CPCI-AD32 Intelligent DSP Based 32 Channel Analog Input Card for 3U CompactPCI systems REFERENCE MANUAL 751-10-000-4000 Version 1.0 September 1998 ALPHI TECHNOLOGY CORPORATION 6202 S. Maple Avenue #120

More information

Texas Instruments Microcontroller HOW-TO GUIDE Interfacing Keypad with MSP430F5529

Texas Instruments Microcontroller HOW-TO GUIDE Interfacing Keypad with MSP430F5529 Texas Instruments Microcontroller HOW-TO GUIDE Interfacing Keypad with MSP430F5529 Contents at a Glance PS PRIMER MSP430 kit... 3 Keypad... 4 Interfacing keypad... 4 Interfacing keypad with MSP430F5529...

More information

Exam 1. Date: March 1, 2019

Exam 1. Date: March 1, 2019 Exam 1 Date: March 1, 2019 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will you help others to cheat on this exam: Signature:

More information

EE445L Fall 2014 Final Version A Page 1 of 7

EE445L Fall 2014 Final Version A Page 1 of 7 EE445L Fall 2014 Final Version A Page 1 of 7 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes. When you are done, you turn in the closed-book part

More information

PCI-4IPM Revision C. Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA

PCI-4IPM Revision C. Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA PCI-4IPM Revision C Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA REFERENCE MANUAL 781-21-000-4000 Version 2.1 April 2003 ALPHI

More information

TPMC Channel Motion Control. User Manual. The Embedded I/O Company. Version 1.0. Issue 1.3 March 2003 D

TPMC Channel Motion Control. User Manual. The Embedded I/O Company. Version 1.0. Issue 1.3 March 2003 D The Embedded I/O Company TPMC118 6 Channel Motion Control Version 1.0 User Manual Issue 1.3 March 2003 D76118800 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek / Germany Phone: +49-(0)4101-4058-0

More information

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly.

EE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly. More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the MC9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of MC9S12 hardware subsystems

More information

COMMUNICATION MODBUS PROTOCOL

COMMUNICATION MODBUS PROTOCOL COMMUNICATION MODBUS PROTOCOL MFD4E06 - NEMO-D4e PR146 08/03/2018 Pag. 1/16 CONTENTS 1.0 ABSTRACT... 2 2.0 DATA MESSAGE DESCRIPTION... 3 2.1 Parameter description... 3 2.2 Data format... 4 2.3 Description

More information

ArduCAM-M-2MP Camera Shield

ArduCAM-M-2MP Camera Shield 33275-MP ArduCAM-M-2MP Camera Shield 2MP SPI Camera Hardware Application Note Rev 1.0, Mar 2015 33275-MP ArduCAM-M-2MP Hardware Application Note Table of Contents 1 Introduction... 2 2 Typical Wiring...

More information

LCD Display. Other I/O. LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC. 2-line, 16 character LCD display

LCD Display. Other I/O. LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC. 2-line, 16 character LCD display Other I/O LCD display Flash ROM SPI EPROM Keyboard (PS/2) UART connectors DAC ADC LCD Display 2-line, 16 character LCD display 4-bit interface Relatively easy to use once you have it mapped into your processor

More information

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION

CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 11/11/2011 Pagina 1 di 11 ELECTRICITY ENERGY METER FIRMWARE 1.3 CE4DMID01 COMMUNICATION PROTOCOL CONTENTS 1.0 INTRODUCTION 2.0 DATA MESSAGE DESCRIPTION 2.1 Data field description 2.2 Data format 2.3 Description

More information

C66x KeyStone Training HyperLink

C66x KeyStone Training HyperLink C66x KeyStone Training HyperLink 1. HyperLink Overview 2. Address Translation 3. Configuration 4. Example and Demo Agenda 1. HyperLink Overview 2. Address Translation 3. Configuration 4. Example and Demo

More information

Application Note. Connecting standard LCD modules to. the MB90670/5 series. History 01 th Feb. 97 MM V1.0 started 28 th June 00 TKa V1.

Application Note. Connecting standard LCD modules to. the MB90670/5 series. History 01 th Feb. 97 MM V1.0 started 28 th June 00 TKa V1. Application Note Connecting standard LCD modules to the MB90670/5 series Fujitsu Microelectronics Europe GmbH, Microcontroller Application Group History 01 th Feb. 97 MM V1.0 started 28 th June 00 TKa

More information

Introduction to the MC9S12 Hardware Subsystems

Introduction to the MC9S12 Hardware Subsystems Setting and clearing bits in C Using pointers in C o Program to count the number of negative numbers in an area of memory Introduction to the MC9S12 Hardware Subsystems o The MC9S12 timer subsystem Operators

More information

M16C/26 APPLICATION NOTE. Interfacing with 1-Wire Devices. 1.0 Abstract. 2.0 Introduction Wire Interface. 3.1 Hardware

M16C/26 APPLICATION NOTE. Interfacing with 1-Wire Devices. 1.0 Abstract. 2.0 Introduction Wire Interface. 3.1 Hardware APPLICATION NOTE M16C/26 1.0 Abstract The following article introduces and shows an example of how to interface Renesas 16-bit microcontrollers (MCU) to a 1-wire device. A demo program developed for the

More information

EE445L Fall 2016 Quiz 2A Solution Page 1

EE445L Fall 2016 Quiz 2A Solution Page 1 EE445L Fall 2016 Quiz 2A Solution Page 1 Jonathan W. Valvano First: Last: Solution November 18, 2016, 10:00-10:50am. Open book, open notes, calculator (no laptops, phones, devices with screens larger than

More information

Interfacing Graphics LCD (GLCD)

Interfacing Graphics LCD (GLCD) Indian Institute of Technology Bombay CS684/CS308 Embedded Systems Interfacing Graphics LCD (GLCD) E.R.T.S. Lab 1 Lab Objective The objective of this lab is to introduce you to interfacing 128x64 Graphics

More information

DIO-64/DIO-48. User s Manual

DIO-64/DIO-48. User s Manual DIO-64/DIO-48 User s Manual Warranty All products manufactured by ICP DAS are warranted against defective materials for a period of one year from the date of delivery to the original purchaser. Warning

More information

CODA Online Data Formats

CODA Online Data Formats CODA Online Data Formats Evio Header Formats Bank : 32 bits MSB (31) LSB (0) Length (32 bit words, exclusive) Tag (16 bits) (2) Type (6) Num (8) Segment : Padding Tag (8 bits) (2) Type (6) Length (16)

More information

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!!

If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! If we can just send 1 signal correctly over the SPI MOSI line, then Lab 4 will work!!! Design and implementation details on the way to a valid SPI-LCD interface driver Slides 3 to 13 are old versions of

More information

TL0313. LCD driver IC. Apr VER 0.0. lsi. ( 5.5V Specification ) 65COM / 132SEG DRIVER & CONTROLLER FOR STN LCD. TOMATO LSI Inc.

TL0313. LCD driver IC. Apr VER 0.0. lsi. ( 5.5V Specification ) 65COM / 132SEG DRIVER & CONTROLLER FOR STN LCD. TOMATO LSI Inc. LCD driver IC Apr. 2001 VER 0.0 lsi 65COM / 132SEG DRIVER & CONTROLLER ( 5.5V Specification ) FOR STN LCD TOMATO LSI Inc. 1. INTRODUCTION The is a driver and controller LSI for graphic dot-matrix liquid

More information

C66x KeyStone Training HyperLink

C66x KeyStone Training HyperLink C66x KeyStone Training HyperLink 1. HyperLink Overview 2. Address Translation 3. Configuration 4. Example and Demo Agenda 1. HyperLink Overview 2. Address Translation 3. Configuration 4. Example and Demo

More information

IP-48DAC channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL Version 1.

IP-48DAC channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL Version 1. IP-48DAC-16 48-channel 16-bit Digital/Analog Converter With memory Industry Pack Module PROGRAMMING MANUAL 828-10-000-4000 Version 1.0 January 2007 ALPHI TECHNOLOGY CORPORATION 1898 E. Southern Ave Tempe,

More information

RFID A1 Module User Manual V1.183

RFID A1 Module User Manual V1.183 RFID A1 Module User Manual V1.183 Table of Contents 1 Introduction... 4 1.1 Device Overview... 4 1.2 Pinout... 5 1.3 Application... 6 2 Electrical Characteristics... 7 2.1 Test Conditions... 7 2.2 Absolute

More information

;Compiler Options.NOLIST.INCLUDE "C:\Program Files (x86)\atmel\avr Tools\AvrAssembler2\Appnotes\m8515def.inc"

;Compiler Options.NOLIST.INCLUDE C:\Program Files (x86)\atmel\avr Tools\AvrAssembler2\Appnotes\m8515def.inc ;* CharTest.asm ;* ;* Created: 28/06/2017 9:37 p.m. ;* Author: ob1 ;ST7820 128 x 64 graphics mode character display 8 lines x 21 characters ;Modification and redistribution under provisions of GNU general

More information

OLED DISPLAY MODULE. Application Notes. DD-12833YW-1A with EVK board PRODUCT NUMBER

OLED DISPLAY MODULE. Application Notes. DD-12833YW-1A with EVK board PRODUCT NUMBER OLED DISPLAY MODULE Application Notes PRODUCT NUMBER DD-12833YW-1A with EVK board TABLE OF CONTENTS 1 EVK SCHEMATIC... 4 2 SYMBOL DEFINITION... 5 3 TIMING CHARACTERISTICS... 6 3.1 MODE (I²C INTERFACE)...

More information

University of Texas at El Paso Electrical and Computer Engineering Department

University of Texas at El Paso Electrical and Computer Engineering Department University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 07 Flash Controller Goals: Bonus: Pre Lab Questions: Familiarize yourself

More information

EE445L Fall 2014 Final Version A solution Page 1 of 7

EE445L Fall 2014 Final Version A solution Page 1 of 7 EE445L Fall 2014 Final Version A solution Page 1 of 7 Jonathan W. Valvano Solution This is the closed book section. You must put your answers in the boxes. When you are done, you turn in the closed-book

More information

ARM HOW-TO GUIDE Interfacing GLCD with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing GLCD with LPC2148 ARM ARM HOW-TO GUIDE Interfacing GLCD with LPC2148 ARM Contents at a Glance ARM7 LPC2148 Evaluation Board... 3 GLCD (Graphical Liquid Crystal Display)... 3 Interfacing GLCD... 4 Description of GLCD... 5 Interfacing

More information

ED1021 I/O Expander with UART interface & analog inputs

ED1021 I/O Expander with UART interface & analog inputs Preliminary Highlights 4.5V 5.5V power supply range. 12 GPIOs. Up to 40mA maximum current in each output except GPIO8 (up to a total device current of 175mA). Most GPIOs can be an input to a 10bit ADC.

More information

EE 456 Fall, Table 1 SPI bus signals. Figure 1 SPI Bus exchange of information between a master and a slave.

EE 456 Fall, Table 1 SPI bus signals. Figure 1 SPI Bus exchange of information between a master and a slave. EE 456 Fall, 2009 Notes on SPI Bus Blandford/Mitchell The Serial Peripheral Interface (SPI) bus was created by Motorola and has become a defacto standard on many microcontrollers. This is a four wire bus

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 04 Timer Interrupts Goals: Learn about Timer Interrupts. Learn how to

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680 Application Note Getting Started with ESPI Interface Using the Z8 Encore! XP F1680 AN027301-0308 Abstract This application note demonstrates how to use the Enhanced Serial Peripheral Interface (ESPI) in

More information

Exam 1. Date: March 1, 2019

Exam 1. Date: March 1, 2019 Exam 1 Date: March 1, 2019 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will you help others to cheat on this exam: Signature:

More information

ECE 4510/5530 Microcontroller Applications Week 9

ECE 4510/5530 Microcontroller Applications Week 9 ECE 45/553 Microcontroller Applications Week 9 Dr. Bradley J. Bazuin Associate Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Lab 7 & 8 Elements

More information

MicroToys Guide: PS/2 Mouse N. Pinckney April 2005

MicroToys Guide: PS/2 Mouse N. Pinckney April 2005 Introduction A computer mouse provides an excellent device to acquire 2D coordinate-based user input, since most users are already familiar with it. Most mice usually come with two or three buttons, though

More information

Using the FADC250 Module (V1C - 5/5/14)

Using the FADC250 Module (V1C - 5/5/14) Using the FADC250 Module (V1C - 5/5/14) 1.1 Controlling the Module Communication with the module is by standard VME bus protocols. All registers and memory locations are defined to be 4-byte entities.

More information

AN1745. Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas. Introduction

AN1745. Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas. Introduction Order this document by /D Interfacing the HC705C8A to an LCD Module By Mark Glenewinkel Consumer Systems Group Austin, Texas Introduction More and more applications are requiring liquid crystal displays

More information

Interrupt vectors for the 68HC912B32. The interrupt vectors for the MC9S12DP256 are located in memory from 0xFF80 to 0xFFFF.

Interrupt vectors for the 68HC912B32. The interrupt vectors for the MC9S12DP256 are located in memory from 0xFF80 to 0xFFFF. Interrupts The Real Time Interrupt Interrupt vectors for the 68HC912B32 The interrupt vectors for the MC9S12DP256 are located in memory from 0xFF80 to 0xFFFF. These vectors are programmed into Flash EEPROM

More information

Embedded Systems. October 2, 2017

Embedded Systems. October 2, 2017 15-348 Embedded Systems October 2, 2017 Announcements Read pages 267 275 The Plan! Timers and Counter Interrupts A little review of timers How do we keep track of seconds using a timer? We have several

More information

e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interfacing External Devices using Embedded C Module No: CS/ES/22

e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interfacing External Devices using Embedded C Module No: CS/ES/22 e-pg Pathshala Subject: Computer Science Paper: Embedded System Module: Interfacing External Devices using Embedded C Module No: CS/ES/22 Quadrant 1 e-text In this lecture interfacing of external devices

More information

CPCI-AD Channel High Performance Analog Data Acquisition Card for 6U CompactPCI systems REFERENCE MANUAL

CPCI-AD Channel High Performance Analog Data Acquisition Card for 6U CompactPCI systems REFERENCE MANUAL CPCI-AD320 16-32 Channel High Performance Analog Data Acquisition Card for 6U CompactPCI systems REFERENCE MANUAL 767-13-000-4000 Version 1.3 March 2001 ALPHI TECHNOLOGY CORPORATION 6202 S. Maple Avenue

More information

Application Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission

Application Note One Wire Digital Output. 1 Introduction. 2 Electrical Parameters for One Wire Interface. 3 Start and Data Transmission Application Note One Wire Digital Output 1 Introduction The pressure transmitter automatically outputs pressure data, and when appropriate temperature data, in a fixed interval. The host simply waits for

More information

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers Application Note, V1.0, Jul. 2006 AP16095 XC16x Interfacing the XC16x Microcontroller to a Serial SPI EEPROM Microcontrollers Edition 2006-07-10 Published by Infineon Technologies AG 81726 München, Germany

More information

UART. Introduction. Agenda

UART. Introduction. Agenda UART Introduction This chapter will introduce you to the capabilities of the Universal Asynchronous Receiver/Transmitter (UART). The lab uses the LaunchPad board and the Stellaris Virtual Serial Port running

More information

TPMC x ADC, 16x/0x DAC and 8x Digital I/O. Version 1.0. User Manual. Issue May 2018

TPMC x ADC, 16x/0x DAC and 8x Digital I/O. Version 1.0. User Manual. Issue May 2018 The Embedded I/O Company TPMC533 32x ADC, 16x/0x DAC and 8x Digital I/O Version 1.0 User Manual Issue 1.0.1 May 2018 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany Phone: +49 (0) 4101 4058

More information

NUC123xxxAN Series Errata Sheet. Errata Sheet for 32-bit NuMicro Family Rev May 19, 2016

NUC123xxxAN Series Errata Sheet. Errata Sheet for 32-bit NuMicro Family Rev May 19, 2016 NUC123xxxAN Series Errata Sheet Errata Sheet for 32-bit NuMicro Family Rev. 1.04 May 19, 2016 Document Information Abstract Apply to This errata sheet describes the functional problems known at the release

More information

MIDI.C December 8, 2002 Page 1

MIDI.C December 8, 2002 Page 1 MIDI.C December 8, 2002 Page 1 /* Midi.c These are the functions that provide the interface to the midi port */ #include #include #include "smb.h" #include "midi.h" #pragma interrupt_handler

More information

SISTEMI EMBEDDED. The C Pre-processor Fixed-size integer types Bit Manipulation. Federico Baronti Last version:

SISTEMI EMBEDDED. The C Pre-processor Fixed-size integer types Bit Manipulation. Federico Baronti Last version: SISTEMI EMBEDDED The C Pre-processor Fixed-size integer types Bit Manipulation Federico Baronti Last version: 20180312 The C PreProcessor CPP (1) CPP is a program called by the compiler that processes

More information

ED1021 I/O Expander with UART interface & analog inputs

ED1021 I/O Expander with UART interface & analog inputs Preliminary Highlights 2.7V 5V power supply range. 12 GPIOs. Up to 40mA maximum current in each output except GPIO8 (up to a total device current of 175mA). Most GPIOs can be an input to a 10bit ADC. Simple

More information

ACR8000 Hardware Manual

ACR8000 Hardware Manual p/n YPM08119 Automation ACR8000 Hardware Manual Effective: October 7, 2002 This page intentionally left blank. ACR8000 Hardware Manual P/N PM08119 Version Change: From: Version 1.02, Dated 7/8/1999 To:

More information

IF96017 MODBUS COMMUNICATION PROTOCOL

IF96017 MODBUS COMMUNICATION PROTOCOL CONTENTS 1.0 ABSTRACT 04/07/14 Pagina 1 di 9 MULTIFUNCTION FIRMWARE 1.00 COMMUNICATION PROTOCOL IF96017 MODBUS COMMUNICATION PROTOCOL 2.0 DATA MESSAGE DESCRIPTION 2.1 Parameters description 2.2 Data format

More information

LEGO RCX Hitachi H8/3292

LEGO RCX Hitachi H8/3292 LEGO RCX Hitachi H8/3292 LISHA/UFSC Fauze Valério Polpeta Prof. Dr. Antônio Augusto Fröhlich {fauze guto}@lisha.ufsc.br http://www.lisha.ufsc.br/~{fauze guto} March 2003 March 2003 http://www.lisha.ufsc.br

More information

EE319K Spring 2016 Exam 1 Solution Page 1. Exam 1. Date: Feb 25, UT EID: Solution Professor (circle): Janapa Reddi, Tiwari, Valvano, Yerraballi

EE319K Spring 2016 Exam 1 Solution Page 1. Exam 1. Date: Feb 25, UT EID: Solution Professor (circle): Janapa Reddi, Tiwari, Valvano, Yerraballi EE319K Spring 2016 Exam 1 Solution Page 1 Exam 1 Date: Feb 25, 2016 UT EID: Solution Professor (circle): Janapa Reddi, Tiwari, Valvano, Yerraballi Printed Name: Last, First Your signature is your promise

More information

BV4218. I2C-LCD & Keypad. Product specification. December 2008 V0.a. ByVac 2006 ByVac Page 1 of 9

BV4218. I2C-LCD & Keypad. Product specification. December 2008 V0.a. ByVac 2006 ByVac Page 1 of 9 Product specification December 2008 V0.a ByVac 2006 ByVac Page 1 of 9 Contents 1. Introduction...3 2. Features...3 3. Electrical Specification...3 4. I2C set...4 5. The LCD Set...5 5.1. 1...5 5.2. 2...5

More information

EE319K Exam 1 Summer 2014 Page 1. Exam 1. Date: July 9, Printed Name:

EE319K Exam 1 Summer 2014 Page 1. Exam 1. Date: July 9, Printed Name: EE319K Exam 1 Summer 2014 Page 1 Exam 1 Date: July 9, 2014 UT EID: Printed Name: Last, First Your signature is your promise that you have not cheated and will not cheat on this exam, nor will you help

More information

Queued SSC V

Queued SSC V TriCore AP32172 Application Note V1.0 2011-09 Microcontrollers Edition 2011-09 Published by Infineon Technologies AG 81726 Munich, Germany 2011 Infineon Technologies AG All Rights Reserved. LEGAL DISCLAIMER

More information

Objective: Create an interface to the LCD display, internal timer functions, and interface with the SDRAM memory as well as on chip memory.

Objective: Create an interface to the LCD display, internal timer functions, and interface with the SDRAM memory as well as on chip memory. Lab 2 LCD display and external memory interfacing Objective: Create an interface to the LCD display, internal timer functions, and interface with the SDRAM memory as well as on chip memory. Topics Covered:

More information

Nuvoton Touch Key Series NT1160 Datasheet

Nuvoton Touch Key Series NT1160 Datasheet Nuvoton Touch Series Datasheet The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced without permission from Nuvoton.

More information

EE 308 Spring A software delay

EE 308 Spring A software delay A software delay To enter a software delay, put in a nested loop, just like in assembly. Write a function delay(num) which will delay for num milliseconds void delay(unsigned int num) volatile unsigned

More information

TIP120. Motion Controller with Incremental Encoder Interface. Version 1.0. User Manual. Issue August 2014

TIP120. Motion Controller with Incremental Encoder Interface. Version 1.0. User Manual. Issue August 2014 The Embedded I/O Company TIP120 Motion Controller with Incremental Encoder Interface Version 1.0 User Manual Issue 1.0.5 August 2014 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany www.tews.com

More information