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

📄 24路编码.c

📁 在Keil上实现的24输入编码功能源代码
💻 C
字号:
#include<reg51.h>

#define  uchar unsigned char
#define  WAKE_FLAG P3^3
#define  _01_IN_   P1
#define  _2_IN_    P3
void  main()
{
    uchar sig_in_first_;
    uchar code_24_out=0;
    do{
         //while(!WAKE_FLAG)                                //等待主控cpu的唤醒信号
	 //{
            sig_in_first_=_01_IN_;                        //I/O口读取0~15路信号
	    if(sig_in_first_=~sig_in_first_)              //0~15 路信号中存在有效信号
	    {
                if(sig_in_first_16&0x1d!=0){              //0~7 路信号中存在有效信号
                    code_24_out=(sig_in_first_16&0x1c)>>2;//输出编码0~7
                    break ;
                }
                else{                                     //8~15 路信号中存在有效信号
                    code_24_out=8+(sig_in_first_16>>5);   //输出编码8~15
                    break ;
                }
            }
            else if((sig_in_first_=_2_IN_ )!=0xf0)      //I/O口读取16~23路信号,若真,则16~23 路信号中存在有效信号
            {
                sig_in_first_=~sig_in_first_;
                code_24_out=16+(sig_in_first_>>4);        //输出编码16~23
            }
            else  code_24_out=24;                         //此时24路信号中无有效信号
         //}
      }while(1);

}

⌨️ 快捷键说明

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