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

📄 main.c

📁 基于ARM的温度显示程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
const uint32 LED = 0xff<<18;
const uint32 HONG = 0x0f;
const uint32 LIE = 0x0f<<4;
const uint32 BEEN = 0x01<<8;



/********************************************************************************************************/

int main(void)
{
  uint32 temp;
  uint32 key;
  uint32 i,j;
  
  key = 0xf0;
  
  PINSEL0 = 0X00000000;
  PINSEL2 = PINSEL2 & (~0X08);
  
  IO0DIR = LIE;
  IO0DIR = BEEN;
  IO1DIR = LED;
  IO0SET = BEEN;
  IO1SET = LED;
  
  
  while(1)
  {
     IO0SET = LIE;                                        //列输出高电平
     IO0CLR = LIE;                                        //列输出的电平
     
     while((IO0PIN & HONG)==0);                           //等待按键按下
     
     if((IO0PIN & HONG)!=0)                               //假如有按键按下,执行下面程序
     {
        for(i=100;i>0;i--)                                //按键去抖
           for(j=2000;j>0;j--);
        
        if((IO0PIN & HONG)==0)
            return;                        //如果是干扰,返回;
        else
         { 
           IO0SET = LIE;                                  //列,第一列输出为低
           IO0CLR = 1<<4;
           temp = IO0PIN & HONG;                          //检查行的输入电平
           if(temp!=0)
              switch(temp)
               {
              case 0x0e:  
                key=0x88;  
                break;  
              case 0x0d:  
                key=0x80;  
                break;  
              case 0x0b:  
                key=0x08;  
                break;  
              case 0x07:  
                key=0x00;  
                break;  
               }
               
               
           IO0SET = LIE;                                   //列,第二列输出为低
           IO0CLR = 1<<5;
           temp = IO0PIN & HONG;                           //检查行的输入电平
           if(temp!=0)
              switch(temp)
               {
               case 0x0e:  
                 key=0x90;  
                 break;  
               case 0x0d:  
                 key=0x81;  
                 break;  
               case 0x0b:  
                 key=0x10;  
                 break;  
               case 0x07:  
                 key=0x01;  
                 break;  
               }
               
               
           IO0SET = LIE;                                   //列,第三列输出为低
           IO0CLR = 1<<6;
           temp = IO0PIN & HONG;                           //检查行的输入电平
           if(temp!=0)
              switch(temp)
               {
              case 0x0e:  
                key=0xa0;  
                break;  
              case 0x0d:  
                key=0x82;  
                break;  
              case 0x0b:  
                key=0x20;  
                break;  
              case 0x07:  
                key=0x02;  
                break;  
               } 
               
               
           IO0SET = LIE;                                   //列,第四列输出为低
           IO0CLR = 1<<7;
           temp = IO0PIN & HONG;                           //检查行的输入电平
           if(temp!=0)
              switch(temp)
               {
                  case 0x0e:  
                    key=0xc0;  
                    break;  
                  case 0x0d:  
                    key=0x84;  
                    break;  
                  case 0x0b:  
                    key=0x40;  
                    break;  
                  case 0x07:  
                    key=0x04;  
                    break;  
               }
               
            }   
          key = 0x31;                                      //检测程序的运行情况
          
    }
    
    key = 0xcc;                                            //检测程序的运行情况
    break;
 }
 
 while((IO0PIN & HONG)!=0);                                //等待按键松开
 
 IO1SET = LED;                                             //指示灯显示
  for(i=500;i>0;i--)
     for(j=100;j>0;j--);
 IO1CLR = LED & (key<<18);
 
 
 IO0SET = BEEN;                                            //蜂鸣器蜂鸣
  for(i=500;i>0;i--)
     for(j=100;j>0;j--);
 IO0CLR = BEEN;
  for(i=800;i>0;i--)
     for(j=10000;j>0;j--);
 IO0SET = BEEN;
 
 
 return 0;
  
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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