📄 mprintf.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 + -