3148|0

112

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

最小系统2 [复制链接]

1时钟源电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALlXTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构如图2 Y1C16C17。可以根据情况选择6MHz12MHz24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
2复位电路
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如图2 R24R26C18K17。上电自动复位通过电容C18充电来实现。手动按键复位是通过按键将电阻R26VCC接通来实现。
3地址译码电路
最小系统上的全部硬件除EEPROM以外均是采用总线方式进行扩展的,每一个硬件均占用特定的物理地址。为了减少芯片的使用数量和降低PCB板布线的复杂度,本系统使用小规模可编程逻辑器件GAL代替74系列芯片实现译码电路。具体硬件见图2 U24

3.2
键盘显示电路设计
3.2.1键盘接口电路及程序设计
单片机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。小系统上设置了一个2行乘8列的阵列式键盘,系统硬件电路如图4所示。电路结构采用总线扩展方式进行设计,同时使用P13P14进行行选择,按键信号通过一片74LS245挂接到数据总线上,片选信号为KEY_CS,为其分配的物理地址为0xA100

3.3 键盘接口电路
由于系统的键盘接口采用的是总线方式,因此读取按键数值变得相当方便,下面是使用C编写的读取键盘程序:
#define KEY XBYTE [0xA100] //键盘地址
sbit first_row = P1^4; //键盘第一行控制
sbit second_row = P1^3; //键盘第二行控制
uchar M_key//键盘数值暂存单元
first_row = 0//读取第一行键盘数值
second_row = 1
M_key = KEY;
first_row = 1//读取第二行键盘数值
second_row = 0
M_key = KEY;
系统采用定时扫描的方式(扫描间隔为4ms,内部定时器定时中断间隔为2ms,每两次定时中断进行一次键盘扫描)进行键盘识别,设计程序时通常要进行以下四个方面的处理:
1)每隔4ms读取一次键盘的数值,判断有无按键按下。具体方法是令first_row = 0second_row = 0M_key = KEY,判断M_key的值是否为0xFF,如果等于0xFF说明没有按键按下,如果不等于0xFF说明有按键按下。
2)去除按键的机械抖动影响。通过设置状态标志位first_getkey来判断连续两次扫描键盘是否都检测到有按键按下。如果没有连续两次都检测到按键按下则按照键抖动处理;否则,认为确实有按键按下。
3)准确输出按键值keynum,并提供获得有效按键标志getkey
4)防止按键冲突。在获得有效按键以后设定状态标志位keyon来实现每次只处理一个按键,且无论一次按键时间有多长,系统仅执行一次按键功能程序。
键盘识别程序流程如图3.4所示。程序代码将在介绍完数码管显示器以后统一给出。

3.4键盘识别程序流程
此帖出自电源技术论坛
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表