PIC16F877 单片机的键盘和LED 数码显示接口 1 PIC16F877单片机与键盘和LED数码显示的硬件接口电路单片机的许多应用都需要进行人机对话,最简单的人机对话需要LED 数码管显示数字和少量字符;键盘是解决计算机输入的简单手段;借此可以向计算机输入程序、置数、送操作命令、控制程序的执行等等,所以使用非常广泛。图1 键盘、LED数码显示与PIC16F877 单片机的接口电路本例中采用8 个按键组成的小键盘,4 只共阴极的LED 数码管,采用4 片74LS373 驱动数码管,采用的驱动方法是静态方式。使用1 片74LS245 作为键盘的接口;这些外围器件与PIC16F877 单片机的接口电路如图1 所示,这种连接方法与51 系列的单片机连接方法一样,其他的连接方法还有好几种,PIC16F877 单片机的键盘输入接法还有其他特殊而十分方便好用的方式。8 键键盘通过74LS245 与单片机相连,键盘按键状态的数据输入由RC3 输出脚控制;当RC3=“0”时,键盘状态从74LS245 的A 端输出到单片机的PORTB口,此时读PORTB口的数据即为键盘状态。为了及时地响应键盘操作,需要经常对键盘进行扫描;扫描的方式有许多种,我们将键盘的扫描程序安排在主程序的循环执行过程中的方式,并采用20ms延迟来消除按键的抖动问题,此外,为了实现每按键一次只响应一次的功能,在执行相应的按键程序之前,必须确保按键已经松开;在本例中这一措施有效的防止了数据抖动过快的问题。LED 数码显示有动态扫描和静态显示两种方式(图1 采取的方式为静态方式),在动态扫描方式中,各数码显示是轮流点亮的,即控制数码显示的位选信号和相应的要显示的数码的字形代码同时逐一送出,反复不已,由于视觉的暂留现象,却好象全都点亮着,这种电路的接法以后再介绍。在静态方式中,只要将数据送出锁存以后,各数码显示的数据不需要刷新,只要数据不需改变,就可以不去管他,所以称为静态显示。在图1 电路中,输出显示的操作简化为对74LS373 的并口操作而已。由于静态方式的工作原理比较简单,编程也比较直观简单,程序间的相互关联很少。因此编程容易,但要增加硬件,成本较高;与之相比,动态扫描的编程虽然要复杂一些,但因其所用硬件少,成本低。由数码转化为字形代码可采用软件译码、硬件译码等两种方式。软件译码是将各数码的字形代码构成一个表格存储于内存之中,在显示数码时,通过执行查表程序而得到相应的字形代码,再将之送入数码显示输出电路进行显示,本例即采用这种方式,这种方式的编程与单片机有关,在程序中给出了PIC16F877 的编程例程,对需要熟悉PIC16F877 单片机的人员有一定的参考价值。硬件译码则采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD 码—7段锁存、译码、驱动芯片直接译出字形代码,点亮LED。74LS373 由LE 端对要显示的数据进行锁存控制,实现LED 的静态显示。采用了PIC16F877 的端口输出操作,模拟74LS373 的数据锁存时序,即由软件实现数据锁存,这种方法可以十分容易的改变时序和延迟长短,使高速设备可以与低速设备联系配合好,设计简单方便,不好的地方是编程较长和稍微复杂一点。这种编程方法在下面的程序中有很好的体现。
上传时间: 2013-10-29
上传用户:cuiyashuo
HOLTEK I/O 8-Bit MTP输入/输出型八位可多次编程单片机初学者工具使用手册 MTP(可多次烧写)使用者工具是一个认识HOLTEK 8 位微控制器的快捷便利、低成本途径。它也可以作为MTP 编程器和验证板。
上传时间: 2013-10-08
上传用户:xiaodu1124
本实验要求设计一个简易的频率计,实现对标准的方波信号进行频率测量,并把测量的结果送到8 位的数码管显示,所要求测量范围是1Hz~99999999Hz。整个设计的基本原理就是对1 秒钟之内输入的方波进行计数,把所得数据保存在计数器里,经过译码器处理之后,然后送往数码管显示。这里采用的方案是在采样时钟的上升沿开始计数,然后在下一个上升沿把计数器里的数据送往数码管,并且把计数器清零,让其重新计数。整个方案的实现主要分为四个模块:时钟分频(clk_div)模块、计数器模块(counter)、译码器模块(seg8)、扫描输出(saomiao)模块。
上传时间: 2013-11-08
上传用户:kaixinxin196
NCV8508是一款高精度的微功耗电源稳压器。输出电流可达250mA。该器件提供5.0V输出版本。支持RESET输出(带DELAY功能),可用于微处理器逻辑控制。当输出电压达到1.0V时,RESET电路即可正常工作。当电源上电及电压跌落于门槛电压时,RESET电路输出复位信号。芯片内置WDT看门狗功能,可以用于增强微处理器系统的可靠性。
上传时间: 2013-11-23
上传用户:kqc13037348641
NCV4279是一款5V、150mA低功耗低压差稳压器件。该器件输出电压精度为±2%,最大压差为0.5V(100mA)。该器件在1.0mA的负载下静态电流低至150μA,是电池供电设备的理想选择。
上传时间: 2013-10-24
上传用户:neu_liyan
NCV4275A是一个低功耗的低压差稳压器,可用在恶劣的环境中。NCV4275A的工作温度范围为:-40~150℃,输入电压范围为:-42~45V,输出电压为3.3V或5.0V,额定电流为450毫安,其中输出电压的稳定性与输出电容的ESR有关。此外该器件还提供了过流保护、过热保护和可编程器件复位等功能。
上传时间: 2013-11-13
上传用户:wang5829
用51单片机设计的时钟电路毕业论文第一章电路原理分析1-1 显示原理1-2 数码管结构及代码显示1-3 键盘及读数原理1-4 连击功能的实现第 二 章 程序设计思想和相关指令介绍2-1 数据与代码转换2-2 计时功能的实现与中断服务程序2-3 时间控制功能与比较指令2-4 时钟误差的分析附录A 电路图附录B 存储单元地址表附录C 输入输出口功能分配表附录D 定时中断程序流程图附录F 调时功能流程图附录G 程序清单
上传时间: 2013-10-29
上传用户:hoperingcong
带您从零学51单片机之数码管部分 目录1 数码管应用2 数码管内部结构及硬件原理图3 数码管硬件设计方法4 单片机驱动数码管方法5 WJ-V2.0数码管驱动方法实例6 74HC-595应用及程序设计7 WJ-V4.0数码管驱动方法实例
上传时间: 2013-10-08
上传用户:bqc1245824354
Nios 的用户定义接口逻辑实例 有许多人问我使用 Nios 的用户定义接口逻辑怎么用,想了几天决定设计一个实例来说明。该例为一个使用 user to interface logic 设计的 PWM 实例,其中包括三个文件: plus32.v 是一个为 32bit nios 设计的 pwm 实例。 plus16.v 是一个为 16bit nios 设计的 pwm 实例。 test.s 是一个使用中断调用 pwm 的汇编语言测试程序。以上模块和程序均调试通过,并可稳定工作。这里让大家参考是使大家通过该例来真正理解 user to interface logic 设计方法,和nios 中通过汇编调用中断的方法,所以超值喔。另外热烈欢迎大家的指导。 注:在设计 Nios 时,将你调用的 user to interface logic 插件重命名为 plus_0,这样我的 test.s 可不作任何改动,你就可用示波器通过 nios 的 plus 管脚观察到一个要求的输出。
上传时间: 2013-11-15
上传用户:cc1915
本文主要描述 PCF8563 的中断输出功能,并给出相应的范例。范例实现每1s 从/ INT脚产生一次中断输出的功能。用户可以修改范例中定时器时钟源和倒计数数值寄存器的值,以得到满足自己需要的中断输出周期,轻松实现PCF8563 中断输出功能。
上传时间: 2013-11-08
上传用户:阿谭电器工作室