下面是查询方式下的键盘程序,程序中没有使用散转指令,也没有软件防抖动措施,只包括按键查询、键功能程序转移。FP0~FP7为功能程序入口地址标号,PROM0~PROM7分别为每个按键的功能程序。
程序清单(设I/O口为P1口)如下:
由此程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。
本节所讲的模块中,在按键按下或弹起时经常会出现一些毛刺,所以在首次检测到输入的值后应添加一个延时程序DELAY。
这个延时程序延时100ms左右,延时后再检测输入的值,如果改变了,则证明此时按键按下或弹起时读出的值是不准确的,再调用延时程序DELAY,延时100ms之后,再继续查看。
本例采用4MHz的品振,时钟周期是250ms,由于PIC单片机的指令周期是4倍时钟周期,即1μs,要延时100ms,可以设置两层循环,另外,跳转指令GOTO需要两个指令周期,自减1并且判断指令DECFSZ需要一个指令月期,所以要进行100000/(2+1)约为33333个指令周期。
现设内部循环为256次,则外部循环约为130次,因为本例对延时的精度要求并不很高,所以本例中的设计只进行了近似的计算,程序流程如图所示。
图 程序流程
(1)主程序。
首先设置端口C为输入口,端口D为输出口,然后循环检测端口C的状态,若有键按下,则延时去抖动,再由端口D显示。[page]
(2)延时子程序
入口参数:COUNT1存放外部循环次数,COUNT2存放内部循环次数。
关键字:PIC单片机 人机接口 独立式按键
引用地址:
PIC单片机人机接口模块独立式按键的程序设计
推荐阅读最新更新时间:2024-03-16 13:20
基于PIC单片机的智能低电阻测量仪
引言
低电阻测凰仪按其测试电流的大小可分为两类:一类测试电流较大,主要用于接插件、开关、导体等产品的直流低电阻的测量,另-类测试电流很小(一般为1mA左右),用于电雷管、点火具或其他危险易爆场合的接插件、开关等元器件的直流低电阻的测量。该种测量仪对安全性能要求很高,必须增加多种保护电路。在PCB吸设计布线时也要考虑安全性和可靠性。89年至今,我们不断改进完善电路设计,设计生产了四个型号的低电阻测量仪,这里介绍的是最新的DZC-4型智能旺电阻测量仪。
一、 总体方案和技术指标
仪器可分为五个部分:电源供应、精密恒流源、精密电压放大器、A/D转换器、单片机控制器。见图l主要技术指标:
1、测试范围:0~20
[单片机]
PIC单片机的外接电压检测复位电路举例
1.设计思路 有许多型号单片机的内部均不具备掉电复位功能,即使对于内部包含该功能的PIC单片机,其复位门槛电压值是固定不可更改的,有时不能满足用户的需求,因此,外加电压检测复位电路也是较常见的设计方案。 对于片内带有掉电复位功能BOR的PIC单片机,在使用外接电压检测复位电路时,就必须将内部BUR功能禁止,方法是将系统配置字的BUDEN位设置为0。 对于内部不带BOR功能的PIC单片机,其电源控制寄存器PCUN没有BOR标志位,无法准确识别由外接电压检测复位电路引起的单片机复位,因此在程序执行过程中在MCLR引脚施加了人工复位信号引起的复位。 与外接电压检测复位电路相关的单片机片内等效电路如图1所示,从
[单片机]
pic单片机多路ad切换程序与循环程序设计
pic单片机是最重要的单片机种类之一,对于pic单片机,小编曾带来诸多介绍,如pic单片机的优势、pic单片机选型等。而在本文中,小编将为大家介绍两种pic单片机程序:一是pic单片机多路ad切换程序,二是pic单片机循环程序。如果你对这两类程序存在一定兴趣,不妨继续往下阅读。 一、pic单片机简介 pic单片机(Peripheral Interface Controller)是一种用来开发和控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。PIC 单片机是一个小的计算机。PIC单片机有计算功能和记忆内存像CPU并由软件控制运行。然而,处理
[单片机]
PIC单片机控制LED点阵显示屏
本实验在proteus软件上模拟完成。 实验器件:20片8X8LED点阵显示屏,10片74LS164移位寄存器,10片74LS273数据锁存器,2片74LS138译码器,1片PIC16F877A单片机。 proteus元件库中中没有16X80点阵显示屏,所以用20片8X8LED点阵屏拼装而成。 10片74LS164移位寄存器和10片74LS273数据锁存器用于传送和保存一行数据。 2片74LS138构成4选16译码器用于行选。 实验截图: 源程序: list p=16f877A ; list directive to define processor #include p16f87
[单片机]
基于PIC单片机的智能目标跟踪系统设计方案
摘 要: 通过借鉴嵌入式系统在电子技术、信号处理以及计算机等领域应用的成功经验,在分析目标检测与跟踪算法的基础上,将目标检测与跟踪算法与嵌入式技术相结合,设计一种基于嵌入式PIC32单片机的目标检测与跟踪系统,可以实现目标检测跟踪系统的小型化,智能化,并以具体飞行目标为例进行了目标的识别和跟踪。 研究目的 随着现代社会对军用和民用设备需求的不断扩大及要求的不断提高,运动目标的识别和跟踪技术已经迅速发展成为现代信息处理领域中一项非常重要的技术,也是无人机野外战场侦察技术中的重点和难点,并在许多领域内发挥着不可替代的作用。目前,基于PC 机的目标检测与跟踪技术已趋于成熟,但其在嵌入式平台的应用研究还处于初级阶段。由于嵌入式系统具有
[单片机]
用Pic单片机控制8路MG995舵机(servo motor)的实现方法
一个PIC16F877A单片机有1个16位定时器TIMER1,我们用来控制8个舵机(即顺序脉冲输出),这样一个单片机就可以控制8个舵机。用8个IO口来控制舵机,舵机控制的信号周期为20mS,而正脉冲最大只有2.5mS,这样有17.5mS是空的。可以采用这种方法:在RD0口输出一个0.5~2.5mS的脉冲,控制一号舵机。完成后,用端口RD1口输出另外一个脉冲,控制2号舵机,就这样下去.....在一号舵机需要第二个脉冲之前,可以输出 20/2.5=8个脉冲,可以用来控制8个舵机,当然,需要用8个IO口。但是一般来说不可能正好有8个2.5mS的脉冲来填满20mS,这样就需要对输出脉冲的总宽度进行累加补偿,然后再用低电平填满20mS中剩下
[单片机]
PIC单片机在直流电机无级调速系统的设计
现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZ—D拖动系统,取代了笨重的发电动一电动机的F—D系统,又伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。本调速系统采用PIC16F874单片机作为中心处理器,充分利用了PIC16F874单片机捕捉、比较、模/数转换模块的特点作为触发电路,其优点是:结构简单,能与主电路同步,能平稳移相且有足够的移相范围,控制角调整量可达10000步,能够实现电机的无级平滑控制,脉冲前沿陡且有足够的幅值,脉宽可设定,稳
[单片机]
单片机扩展触摸屏人机接口的应用实例
触摸屏 如图1,典型触摸屏的工作部分一般由三部分组成:两层透明的阻性导体层、两层导体之间的隔离层、电极。阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。 图1 触摸屏 触摸屏工作时,上下导体层相当于电阻网络。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上
[单片机]