PIC单片机一个实用的按键处理程序

发布者:忠正最新更新时间:2015-06-24 来源: 51hei关键字:PIC单片机  按键处理 手机看文章 扫描二维码
随时随地手机看文章
程序实现功能:按键调光,按键带蜂鸣器响声。

 #include
__CONFIG(0X034);
#define KEY RC5
#define LED RC2
int b; 
void key(unsigned *p)
{
static bit valid=0;
static bit finish=0;
if(valid==0)
  {
  if(KEY==0)
    { 
      if(finish==0)
       {
         finish=1;
           
         RC0=1;//蜂鸣器接这里
         b=50;
         while(b--);
          RC0=0;

        if(*p>251)
         {
         *p=0x01;
         }
        else
         {
          *p+=50;
 
         }
       }
    }
   else
   {
  valid=0;
  finish=0;
   }
  }
else 
  {
 if(KEY==0)valid=1;
  }
}
void tiaoguang(unsigned PWM)
{
 unsigned char PwmH;
 unsigned char PwmL;
 unsigned char i;
 for(i=0;i<20;i++)
{
PwmH=PWM;
PwmL=255-PWM;
LED=1;
while(PwmH--);
LED=0;
while(PwmL--);
}
}
void main()
{
unsigned char PWM=0;
RC2=0;
TRISC=0b00100000;
while(1)
{
key(&PWM);
tiaoguang(PWM);
}
 
}

程序思路:设定PWM变量,每按一次,PWM增加50个单位,加到到250,归零。
关键字:PIC单片机  按键处理 引用地址:PIC单片机一个实用的按键处理程序

上一篇:PIC单片机实现流水灯
下一篇:PIC单片机点亮一个灯实验

推荐阅读最新更新时间:2024-03-16 14:04

基于PIC单片机的HT1621液晶显示控制器
0 引 言   HT1621液晶显示控制器是多功能全自动智能开关的显示部件,能实时、准确、在线监控供电线路的运行情况。一旦线路出现漏电、过载、短路、过压、欠压和缺相时,智能安全用电开关能立刻启动保护程序,并显示在HT1621液晶显示控制器上。在智能化楼宇、中高档家庭住宅、电力系统、工矿企业、国家重点消防单位以及石油化工、文教卫生、金融、电信等领域。基于单片机的HT1621液晶显示控制器应用广泛,其原理框图如图1所示。 美国MICROCHIP公司的PIC系列单片机主要有以下特点:(1)哈佛总线结构;(2)指令单字节化;(3)精简指令集;(4)寻址方式简单;(5)代码压缩率高;(6)运行速度高;(7)功耗低;(8)驱动
[单片机]
PIC单片机学习笔记
1.状态寄存器STATUS 2.实现间接寻址的寄存器INDF和FSR 3.与程序计数器PC相关的寄存器PCL和PCLATH 4.电源控制寄存器PCON PIC单片机的指令系统 PIC16F87X共有35条指令,均是长度为14位的单字节指令。所有指令按操作对象的不同又分为3类:面向字节操作类(17条);面向位操作类(4条);常数操作和控制操作类(14条)。 PIC配置字的设置 PIC的配置字设置方法到目前我学到两种: 1. 两个“_”紧跟CONFIG,后跟配置字设置后的数值; 2. 两个“_”紧跟CONFIG,后跟各配置字的位和状态,其格式如下: ;==============================
[单片机]
<font color='red'>PIC单片机</font>学习笔记
处理PIC单片机的中断服务程序时需要注意哪些问题
单片机中的中断系统对电子工程师来说是解决突发事件和多任务实时处理的最好方法,熟练掌握中断技术的应用是一个合格电子工程师必备的能力。 PIC与51系列单片机一个显著的区别就是:PIC只有一个中断入口地址(为04H),而51有多个中断源。这样对PIC来说,无论发生何种中断程序将自动转移执行04H处的程序语句,为了区分到底是哪种中断发生就必须在中断服务程序中通过判断中断标志位来确定并转移到相应的中断服务程序中。在发生中断时,断点地址被首先压入硬件堆栈,而现场的一些参数须用户通过软件保存,必须保存的寄存器包括W寄存器、程序寄存器的高位字节PCLATH及状态标志寄存器STATUS等,另外一些在中断服务程序和主程序中均使用到的寄存器也必须
[单片机]
在<font color='red'>处理</font><font color='red'>PIC单片机</font>的中断服务程序时需要注意哪些问题
PIC单片机人机接口模块独立式按键的程序设计
  下面是查询方式下的键盘程序,程序中没有使用散转指令,也没有软件防抖动措施,只包括按键查询、键功能程序转移。FP0~FP7为功能程序入口地址标号,PROM0~PROM7分别为每个按键的功能程序。   程序清单(设I/O口为P1口)如下:   由此程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。   本节所讲的模块中,在按键按下或弹起时经常会出现一些毛刺,所以在首次检测到输入的值后应添加一个延时程序DELAY。   这个延时程序延时100ms左右,延时后再检测输入的值,如果改变了,则证明此时按键按下或弹起时读出的值是不准确的,再调用延时程序DELAY,延时100ms之后,再继续查看。   本例采
[单片机]
<font color='red'>PIC单片机</font>人机接口模块独立式<font color='red'>按键</font>的程序设计
PIC单片机之关于超大数组问题
关于超大数组问题: 本实验用的编译器是xc16-gcc.exe,集成开发环境是MPLAB IDE v8.92,当前的编译器配置如下: -g -Wall -mlarge-code -mlarge-data -Os -fno-ivopts 如下图: 其中这里有一个超大的数组: 这时候编译会有这样的一个错误: 从提示可以知道,这是一个数据超出的错误,但是这里是超出了数据段,而不是说超出了芯片的flash,我们可以这样查看是否超过了flash,去掉这个数组编译看看占用了多少flash,如下: 也就是说占用的flash空间是:81459+7674=89133,但是单片机的flash却是这样的: 所以即是加上
[单片机]
<font color='red'>PIC单片机</font>之关于超大数组问题
【STM32 Cotex-M3处理器系列编程】外部按键中断
#include stm32f10x.h unsigned int TimingDelay; void Delay(unsigned int x) { TimingDelay=x; while(TimingDelay--); } void EXTI9_5_IRQHandler(void) //中断处理函数 { unsigned int tt; tt=6553500; if(EXTI_GetITStatus(EXTI_Line5)!=RESET) { GPIO_SetBits(GPIOC, GPIO_Pin_7); while(tt--); GPIO_ResetBits(GPIO
[单片机]
ICL7135与PIC单片机在温度变送器中的应用
引言 在智能仪表设计中,经常用到A/D转换器。在常用的A/D转换中,7135应用最为广泛,它具有41/2位A/D转换精度,抗干扰能力强,价格低廉,主要用于检测参数的测量显示,在智能仪器仪表中,常利用其A/D转换特性,与单片机串行连接,通过简单的人机界面实现对A/D转换数据的智能控制。本文以PIC单片机与ICL7135的实际工程应用为例,介绍一款智能温度控制仪表在温度变送器中的应用。 1 PIC单片机 PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:
[单片机]
ICL7135与<font color='red'>PIC单片机</font>在温度变送器中的应用
PIC单片机RS232串口通信程序(USART)
//★★★★★★★★★PIC单片机USART的应用(串口通信)★★★★★★★★★★★\\ //单征机型号:PIC16F877A //功能描述:PIC单片机USART的应用,串口调试助手发送数据给877,877收到后再转发回串口助手 //通过 串口调试助手 协助工作 #include pic.h //包含单片机内部资源预定义 __CONFIG(0xf73a); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 //======================================================================== //功能描述:
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved