📄 microprodlg.cpp
字号:
temp+="0101:中断向量高位到内部总线";
temp+="\r\n";
temp+="0110:中断向量低位到内部总线";
temp+="\r\n";
temp+="0111:无操作";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo54()
{
m_ctrlMicroShow.Clear();
CString temp;
temp+="0000:复位";
temp+="\r\n";
temp+="0001:条件转PL子程序";
temp+="\r\n";
temp+="0010:跳转MAP";
temp+="\r\n";
temp+="0011:条件跳转PL";
temp+="\r\n";
temp+="0100:压入/条件装入计数器";
temp+="\r\n";
temp+="0101:条件转P/PL子程序";
temp+="\r\n";
temp+="0110:条件跳转向量";
temp+="\r\n";
temp+="0111:条件跳转P/PL";
temp+="\r\n";
temp+="1000:R!=0,重复本条指令";
temp+="\r\n";
temp+="1001:R!=0,重复本条指令";
temp+="\r\n";
temp+="1010:条件返回";
temp+="\r\n";
temp+="1011:条件跳转PL和弹出";
temp+="\r\n";
temp+="1100:装入计数器和连续";
temp+="\r\n";
temp+="1101:测试循环结束";
temp+="\r\n";
temp+="1110:连续";
temp+="\r\n";
temp+="1111:R!=0,重复本条指令三路分支";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo55()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="0000:必转";
temp+="\r\n";
temp+="0010:/INT=0时,转";
temp+="\r\n";
temp+="0100:RC JRNC JRZ JRNZ条件不成立时,转";
temp+="\r\n";
temp+="0101:JRS、JRNS条件不成立时,转";
temp+="\r\n";
temp+="0110:IRH2=0时,转";
temp+="\r\n";
temp+="0111:IRHO=1时,转";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo56()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="0000:内存写信号,低电平有效";
temp+="\r\n";
temp+="0001:内存读信号,低电平有效";
temp+="\r\n";
temp+="0010:I/O写信号,低电平有效";
temp+="\r\n";
temp+="0011:I/O读信号,低电平有效";
temp+="\r\n";
temp+="0100:无读写操作";
temp+="\r\n";
temp+="0101:无读写操作";
temp+="\r\n";
temp+="0110:无读写操作";
temp+="\r\n";
temp+="0111:无读写操作";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo57()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="000:数据来源A和Q";
temp+="\r\n";
temp+="001:数据来源A和B";
temp+="\r\n";
temp+="010:数据来源0和Q";
temp+="\r\n";
temp+="011:数据来源0和B";
temp+="\r\n";
temp+="100:数据来源0和A";
temp+="\r\n";
temp+="101:数据来源D和A";
temp+="\r\n";
temp+="110:数据来源D和Q";
temp+="\r\n";
temp+="111:数据来源D和0";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo58()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="0:A3~A0所指定的A口";
temp+="\r\n";
temp+="1:IRL7-IR4所指定的A口";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownCombo59()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="000:寄存器不存储、Q结果选F、Y输出选择F";
temp+="\r\n";
temp+="001:寄存器不存储、Q结果无、Y输出选择F";
temp+="\r\n";
temp+="010:寄存器结果F->B、Q结果无、Y输出选择A";
temp+="\r\n";
temp+="011:寄存器结果F->B、Q结果无、Y输出选择F";
temp+="\r\n";
temp+="100:寄存器结果F/2->B、Q结果Q/2->Q、Y输出选择F";
temp+="\r\n";
temp+="101:寄存器结果F/2->B、Q结果无、Y输出选择F";
temp+="\r\n";
temp+="110:寄存器结果2*F->B、Q结果2*Q->Q、Y输出选择F";
temp+="\r\n";
temp+="111:寄存器结果2*F->B、Q结果无、Y输出选择F";
m_ctrlMicroShow.SetWindowText(temp);
}*/
BOOL CMicroProDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN){
if(pMsg->wParam==VK_RETURN)
return TRUE;
if(pMsg->wParam==VK_ESCAPE)
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
void CMicroProDlg::OnDropdownClno1()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="1:双操作数单字指令,指令格式:OP DR SR";
temp+="\r\n";
temp+="3:无操作数指令,指令格式:OP";
temp+="\r\n";
temp+="5:单操作数单字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="6:单操作数双字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="21:单操作数单字指令,指令格式:OP BYTE";
temp+="\r\n";
temp+="22:单操作数单字指令,指令格式:OP SR";
temp+="\r\n";
temp+="23:单操作数单字指令,指令格式:OP DR";
temp+="\r\n";
temp+="41:双操作数双字指令,指令格式:OP DR DATA";
temp+="\r\n";
temp+="42:双操作数双字指令,指令格式:OP DR DATA[SR]";
m_ctrlMicroShow.SetWindowText(temp);
}
/*
void CMicroProDlg::OnDropdownClno2()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="1:双操作数单字指令,指令格式:OP DR SR";
temp+="\r\n";
temp+="3:无操作数指令,指令格式:OP";
temp+="\r\n";
temp+="5:单操作数单字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="6:单操作数双字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="21:单操作数单字指令,指令格式:OP BYTE";
temp+="\r\n";
temp+="22:单操作数单字指令,指令格式:OP SR";
temp+="\r\n";
temp+="23:单操作数单字指令,指令格式:OP DR";
temp+="\r\n";
temp+="41:双操作数双字指令,指令格式:OP DR DATA";
temp+="\r\n";
temp+="42:双操作数双字指令,指令格式:OP DR DATA[SR]";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownClno3()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="1:双操作数单字指令,指令格式:OP DR SR";
temp+="\r\n";
temp+="3:无操作数指令,指令格式:OP";
temp+="\r\n";
temp+="5:单操作数单字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="6:单操作数双字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="21:单操作数单字指令,指令格式:OP BYTE";
temp+="\r\n";
temp+="22:单操作数单字指令,指令格式:OP SR";
temp+="\r\n";
temp+="23:单操作数单字指令,指令格式:OP DR";
temp+="\r\n";
temp+="41:双操作数双字指令,指令格式:OP DR DATA";
temp+="\r\n";
temp+="42:双操作数双字指令,指令格式:OP DR DATA[SR]";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownClno4()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="1:双操作数单字指令,指令格式:OP DR SR";
temp+="\r\n";
temp+="3:无操作数指令,指令格式:OP";
temp+="\r\n";
temp+="5:单操作数单字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="6:单操作数双字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="21:单操作数单字指令,指令格式:OP BYTE";
temp+="\r\n";
temp+="22:单操作数单字指令,指令格式:OP SR";
temp+="\r\n";
temp+="23:单操作数单字指令,指令格式:OP DR";
temp+="\r\n";
temp+="41:双操作数双字指令,指令格式:OP DR DATA";
temp+="\r\n";
temp+="42:双操作数双字指令,指令格式:OP DR DATA[SR]";
m_ctrlMicroShow.SetWindowText(temp);
}
void CMicroProDlg::OnDropdownClno5()
{
m_ctrlMicroShow.Clear();
CString temp;
temp="1:双操作数单字指令,指令格式:OP DR SR";
temp+="\r\n";
temp+="3:无操作数指令,指令格式:OP";
temp+="\r\n";
temp+="5:单操作数单字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="6:单操作数双字转移指令,指令格式:OP ADDR";
temp+="\r\n";
temp+="21:单操作数单字指令,指令格式:OP BYTE";
temp+="\r\n";
temp+="22:单操作数单字指令,指令格式:OP SR";
temp+="\r\n";
temp+="23:单操作数单字指令,指令格式:OP DR";
temp+="\r\n";
temp+="41:双操作数双字指令,指令格式:OP DR DATA";
temp+="\r\n";
temp+="42:双操作数双字指令,指令格式:OP DR DATA[SR]";
m_ctrlMicroShow.SetWindowText(temp);
}*/
void CMicroProDlg::OnCont1()
{
this->UpdateData(TRUE);
int sign1=Check1();
if(m_strHch1==""||m_strClNo1==""||!sign1)
AfxMessageBox("没有完整的输入,请出新输入!");
else{
cont1=1;
this->UpdateData(TRUE);
char temp[10];
strcpy(temp,m_strEdit1_2);
if(temp[1]=='f'||temp[1]=='F'){
temp[0]+=1;
temp[1]='0';
}
else
temp[1]+=1;
if(temp[1]>'9'&&temp[1]<'A'){
temp[1]+=7;
}
if(temp[0]>'f'){
AfxMessageBox("入口地址输入错误!");
return ;
}
m_strEdit2_2=temp;
this->UpdateData(FALSE);
}
}
void CMicroProDlg::OnCont2()
{
this->UpdateData(TRUE);
int sign1=Check1();
int sign2=Check2();
if(m_strHch1==""||m_strClNo1=="")
AfxMessageBox("没有完整的输入,请出新输入!");
else if(!sign1||!sign2){
AfxMessageBox("没有完整的输入,请出新输入!");
}
else if(cont1==0){
AfxMessageBox("没有完整的输入,请出新输入!");
}
else{
cont2=1;
this->UpdateData(TRUE);
char temp[10];
strcpy(temp,m_strEdit2_2);
if(temp[1]=='f'||temp[1]=='F'){
temp[0]+=1;
temp[1]='0';
}
else
temp[1]+=1;
if(temp[1]>'9'&&temp[1]<'A'){
temp[1]+=7;
}
if(temp[0]>'f'){
AfxMessageBox("入口地址输入错误!");
return ;
}
m_strEdit3_2=temp;
this->UpdateData(FALSE);
}
}
void CMicroProDlg::OnCont3()
{
this->UpdateData(TRUE);
this->UpdateData(TRUE);
int sign1=Check1();
int sign2=Check2();
int sign3=Check3();
if(m_strHch1==""||m_strClNo1=="")
AfxMessageBox("没有完整的输入,请出新输入!");
else if(!sign1||!sign2||!sign3){
AfxMessageBox("没有完整的输入,请出新输入!");
}
else if(cont2==0)
AfxMessageBox("没有完整的输入,请出新输入!");
else{
cont3=1;
this->UpdateData(TRUE);
char temp[10];
strcpy(temp,m_strEdit3_2);
if(temp[1]=='f'||temp[1]=='F'){
temp[0]+=1;
temp[1]='0';
}
else
temp[1]+=1;
if(temp[1]>'9'&&temp[1]<'A'){
temp[1]+=7;
}
if(temp[0]>'f'){
AfxMessageBox("入口地址输入错误!");
return ;
}
m_strEdit4_2=temp;
this->UpdateData(FALSE);
}
// TODO: Add your control notification handler code here
}
/*
void CMicroProDlg::OnCont4()
{
this->UpdateData(TRUE);
int sign1=Check1();
int sign2=Check2();
int sign3=Check3();
int sign4=Check4();
if(m_strHch1==""||m_strClNo1=="")
AfxMessageBox("没有完整的输入,请出新输入!");
else if(!sign1||!sign2||!sign3||!sign4){
AfxMessageBox("没有完整的输入,请出新输入!");
}
else if(cont3==0)
AfxMessageBox("没有完整的输入,请出新输入!");
else{
cont4=1;
this->UpdateData(TRUE);
char temp[10];
strcpy(temp,m_strEdit4_2);
if(temp[1]=='f'||temp[1]=='F'){
temp[0]+=1;
temp[1]='0';
}
else
temp[1]+=1;
if(temp[1]>'9'&&temp[1]<'A'){
temp[1]+=7;
}
if(temp[0]>'f'){
AfxMessageBox("入口地址输入错误!");
return ;
}
m_strEdit5_2=temp;
this->UpdateData(FALSE);
}
// TODO: Add your control notification handler code here
}
*/
int CMicroProDlg::Check1(){
if(m_strEdit1_1==""||m_strEdit1_2==""||m_strEdit1_3==""||m_strCombo1_4==""||m_strCombo1_5==""||m_strCombo1_6==""||m_strCombo1_7==""||m_strCombo1_8==""||m_strCombo1_9==""||m_strCombo1_10==""||m_strCombo1_11==""||m_strCombo1_12==""||m_strCombo1_13==""||m_strCombo1_14==""||m_strCombo1_15==""||m_strCombo1_16==""||m_strCombo1_17==""||m_strCombo1_18==""){
return 0;
}
else
return 1;
}
int CMicroProDlg::Check2(){
if(m_strEdit2_2==""||m_strEdit2_3==""||m_strCombo2_4==""||m_strCombo2_5==""||m_strCombo2_6==""||m_strCombo2_7==""||m_strCombo2_8==""||m_strCombo2_9==""||m_strCombo2_10==""||m_strCombo2_11==""||m_strCombo2_12==""||m_strCombo2_13==""||m_strCombo2_14==""||m_strCombo2_15==""||m_strCombo2_16==""||m_strCombo2_17==""||m_strCombo2_18==""){
return 0;
}
else
return 1;
}
int CMicroProDlg::Check3(){
if(m_strEdit3_2==""||m_strEdit3_3==""||m_strCombo3_4==""||m_strCombo3_5==""||m_strCombo3_6==""||m_strCombo3_7==""||m_strCombo3_8==""||m_strCombo3_9==""||m_strCombo3_10==""||m_strCombo3_11==""||m_strCombo3_12==""||m_strCombo3_13==""||m_strCombo3_14==""||m_strCombo3_15==""||m_strCombo3_16==""||m_strCombo3_17==""||m_strCombo3_18==""){
return 0;
}
else
return 1;
}
int CMicroProDlg::Check4(){
if(m_strEdit4_2==""||m_strEdit4_3==""||m_strCombo4_4==""||m_strCombo4_5==""||m_strCombo4_6==""||m_strCombo4_7==""||m_strCombo4_8==""||m_strCombo4_9==""||m_strCombo4_10==""||m_strCombo4_11==""||m_strCombo4_12==""||m_strCombo4_13==""||m_strCombo4_14==""||m_strCombo4_15==""||m_strCombo4_16==""||m_strCombo4_17==""||m_strCombo4_18==""){
return 0;
}
else
return 1;
}
void CMicroProDlg::GetData1(CString &temp){
temp=m_strEdit1_1;
temp+=" ";
// temp1.Format("%x",m_strEdi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -