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

📄 main.c

📁 将单片机的IOA0~IOA7分别接按键S1~S8连接到高电平上。此时
💻 C
字号:
//===============================================================
//
//        The information contained herein is the exclusive property of
//      Sunplus Technology Co. And shall not be distributed, reproduced,
//      or disclosed in whole in part without prior written permission.
//
//            (C) COPYRIGHT 2001   SUNPLUS TECHNOLOGY CO.
//                           ALL RIGHTS RESERVED
//
//    The entire notice above must be reproduced on all authorized copies.
//
//==============================================================

//============================================================
//  工程名称:   IO-6.spj
//
//  功能描述:    实现IOB0~IOB15的状态随着IOA0输入电平的不同而变化,
//		 当IOA0输入高电平时,IOB0~IOB15输出高电平;
//		 当IOA0输入低电平时,IOB0~IOB15输出低电平。 
//            
//  文件来源:   《61板傻瓜书》第六章
//  IDE环境:   SUNPLUS u'nSPTM  IDE 1.8.0(or later)
//
//  涉及的库:	(a) C-Lib:  (CMacro.lib);
//            	
//  组成文件:    main.c
//    			 			 
//  日期:        2005-3-25
//===========================================================
#define P_IOA_Data     (volatile unsigned int *)0x7000        // 定义P_IOA_Data指针,使其指向0x7000的地址单元
#define P_IOA_Buffer   (volatile unsigned int *)0x7001        // 定义P_IOA_Buffer指针,使其指向0x7001的地址单元
#define P_IOA_Dir      (volatile unsigned int *)0x7002        // 定义P_IOA_Dir指针,使其指向0x7002的地址单元
#define P_IOA_Attrib   (volatile unsigned int *)0x7003        // 定义P_IOA_Attrib指针,使其指向0x7003的地址单元
#define P_IOB_Data     (volatile unsigned int *)0x7005        // 定义P_IOB_Data指针,使其指向0x7005的地址单元
#define P_IOB_Buffer   (volatile unsigned int *)0x7006        // 定义P_IOB_Buffer指针,使其指向0x7006的地址单元
#define P_IOB_Dir      (volatile unsigned int *)0x7007        // 定义P_IOB_Dir指针,使其指向0x7007的地址单元
#define P_IOB_Attrib   (volatile unsigned int *)0x7008        // 定义P_IOB_Attrib指针,使其指向0x7008的地址单元
#define ClearWatchdog  (volatile unsigned int *)0x7012        // 定义ClearWatchdog指针,使其指向0x7012的地址单元

int main() 
{
    *P_IOA_Data = 0x0000;    //设置IOA0~IOA15为带下拉的低电平输入
    *P_IOA_Dir = 0x0000;
    *P_IOA_Attrib = 0x0000;

    *P_IOB_Data  = 0x0000;   //设置IOB0~IOB15为带数据缓存的低电平输出
    *P_IOB_Dir = 0xffff;
    *P_IOB_Attrib = 0xffff;

    while(1)
    {
             if(*P_IOA_Data==0x0001)  //IOA0输入为高电平时IOB0~IOB15输出高电平
                {
					*P_IOB_Data  = 0xffff;
    				*P_IOB_Dir = 0xffff;
    				*P_IOB_Attrib = 0xffff;  }
    				
    		if(*P_IOA_Data==0x0000)   //IOA0输入为低电平时IOB0~IOB15输出低电平
    		   {
    				*P_IOB_Data  = 0x0000;
    				*P_IOB_Dir = 0xffff;
    				*P_IOB_Attrib = 0xffff;    		   
    		   }
    		*ClearWatchdog = 0x0001;  //请看门狗
     } 
}

⌨️ 快捷键说明

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