⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mprintf.c

📁 TMS320LF2407A
💻 C
字号:
#include "F2407_c.H" 
//========================发送字节子程===========================//

void baye_send(int i)  
      {  
         if(i&0x0001)       D0_UP;            
         else               D0_DN;
        
         if(i&0x0002)       D1_UP;            
         else               D1_DN;

         if(i&0x0004)       D2_UP;            
         else               D2_DN;

         if(i&0x0008)       D3_UP;            
         else               D3_DN;

         if(i&0x0010)       D4_UP;            
         else               D4_DN;

         if(i&0x0020)       D5_UP;            
         else               D5_DN;
         
         if(i&0x0040)       D6_UP;            
         else               D6_DN;

         if(i&0x0080)       D7_UP;            
         else               D7_DN;

//dsp和mcu有效联络信号
 
        DSP_MCU_OE;                           //通知MCU接收数据IOPF1---T1(低电平有效)
        while(MCU_DSP_OE);                    //等待MCU回应T0---IOPE1(低电平有效)
         
//dsp和mcu无效联络信号
 
        DSP_MCU_NOE;                          //通知MCU无效IOPF1----T1(高电平有效)
        while(MCU_DSP_NOE);                   ////MCU回应T0---IOPE1(高电平有效)
    }  
      


void LCDIO_OUTPUT()		                 /*设置DSP与51通信端口为输出*/
{
	PADATDIR |= 0x0400;		         /*A2 (OUTPUT) LD7*/
	PCDATDIR |= 0x0300;		         /*C0,C1 (OUTPUT) LD6,LD5*/
	PFDATDIR |= 0x7800;		         /*0111 1000 F3,F4,F5,F6 (OUTPUT) LD4,LD3,LD2,LD1*/
	PDDATDIR |= 0x0100;	                 /*D0 (INPUT) LD0 */
}


void  print_init()                                //向MCU发送初始化子程序
{

        MCRA &= 0X3F5B;
        MCRA |= 0X2000;                           //B5(喇叭)
        MCRB &= 0XFEFC; 
        MCRC &= 0X85F8; 

       PADATDIR &= 0X5FFF;                        //A5(run键)、A7(dowmload键)为输入
       PBDATDIR |= 0XC000;                        //B6(DIR)、B7(OE)为输出
       PEDATDIR |= 0X0500;                        //E2(液晶灯)、E0(run指示)为输出
       PEDATDIR &= 0XFD00;                        //E1(T0 51-DSP)输入
       PFDATDIR |= 0X0200;                        //F1(T1 DSP-51)输出

       PBDATDIR &= 0XFF5F;                        //B7(4245 OE)低电平有效,B5(喇叭)输出低电平不发声
       PEDATDIR |= 0X0004;                        //e2液晶背光有效
       PEDATDIR &= 0XFFFE;                        //E0(run指示)低电平发光
       PFDATDIR |= 0X0002;                        //F1(T1 DSP-51)输出高电平,无效

}
 

               
      

void  mprintf(unsigned int x,unsigned int y,char *char_lcd,unsigned int datax)   //向MCU发送显示子程序
          {  
             unsigned int data_num=0,data1,data2,data3;

             LCDIO_OUTPUT();		                                             /*设置DSP与51通信端口为输出*/
             DSP_MCU;	                                                           /*DSP-->51*/
             x=x*8;
             baye_send(x);                                            //发送行和列
             asm(" nop ");
             baye_send(y);
             asm(" nop ");
             
             
            while(!((*char_lcd=='%')&&(*(char_lcd+1)=='d')))
                  {
                    baye_send(*char_lcd);                            //发送字符串
                    asm(" nop ");
                    char_lcd++;
                  }                 
             data1=datax/100;                                             //将数据转换为十进制
             data2=datax%100/10;
             data3=datax%10;
             if(data1!=0)                                                    //发送数据
                   {                     
                    data1=data1+48;
                    data2=data2+48;
                    data3=data3+48;
                    baye_send(data1);
                    baye_send(data2);
                    baye_send(data3);
                   }
             else if(data2!=0)
                        {
                         data2=data2+48;
                         data3=data3+48;
                         baye_send(data2);
                         baye_send(data3);
                        }
                  else 
                        {
                         data3=data3+48;
                         baye_send(data3);
                        }
                         
              baye_send(0);                                                 //发送结束标志
         } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -