没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第 3 章 单片机最小系统设计制作训练
3.1 单片机最小系统设计制作
3.1.1 单片机最小系统电路板硬件设计
单片机的主要功能是负责整个系统的控制,不承担复杂的数据处理任务,因此在设计单片机最小系
统时通常选用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持ISP功能)等型号的8位单片
机作为MCU。
一个典型的单片机最小系统一般由时钟电路、复位电路、片外 RAM、片外 ROM、按键、数码管、
液晶显示器、外部扩展接口等部分组成,图 3.1 、图 3.2 分别给出了单片机最小系统的结构框图、原理
图。
图 3.1 单片机最小系统的结构框图
图 3.2 原理图
单片机最小系统时钟、复位、译码电路简介
1、时钟源电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚 XTALl和XTAL2跨接石英
晶 体 和 两 个 补 偿 电 容 构 成 自 激 振 荡 器 , 结 构 如 图 2 中 Y1 、 C16 、 C17 。 可 以 根 据 情 况 选 择
6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
2、复位电路
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接
通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关
操作使单片机复位。其结构如图 2 中 R24、R26、C18 和 K17。上电自动复位通过电容 C18 充电来实现。
手动按键复位是通过按键将电阻 R26 与 VCC 接通来实现。
3、地址译码电路
最小系统上的全部硬件除 EEPROM 以外均是采用总线方式进行扩展的,每一个硬件均占用特定
的物理地址。为了减少芯片的使用数量和降低 PCB 板布线的复杂度,本系统使用小规模可编程逻辑器
件 GAL 代替 74 系列芯片实现译码电路。具体硬件见图 2 中 U24。
3.2 键盘显示电路设计
3.2.1键盘接口电路及程序设计
单片机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑
关系。也就是说,它能提供标准的 TTL 逻辑电平,以便与通用数字系统的逻辑电平相容。小系统上设
置了一个 2 行乘 8 列的阵列式键盘,系统硬件电路如图 4 所示。电路结构采用总线扩展方式进行设计,
同时使用 P13 和 P14 进行行选择,按键信号通过一片 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 = 0,second_row
= 0,M_key = KEY,判断M_key的值是否为0xFF,如果等于0xFF说明没有按键按下,如果不等于
0xFF说明有按键按下。
(2)去除按键的机械抖动影响。通过设置状态标志位first_getkey来判断连续两次扫描键盘是否都
检测到有按键按下。如果没有连续两次都检测到按键按下则按照键抖动处理;否则,认为确实有按键
按下。
(3)准确输出按键值keynum,并提供获得有效按键标志getkey。
(4)防止按键冲突。在获得有效按键以后设定状态标志位keyon来实现每次只处理一个按键,且
无论一次按键时间有多长,系统仅执行一次按键功能程序。
键盘识别程序流程如图 3.4 所示。程序代码将在介绍完数码管显示器以后统一给出。
图 3.4 键盘识别程序流程
剩余22页未读,继续阅读
资源评论
- 一切都烧起来~2016-09-12还行吧,不过可没有AD的原理图文件呢
polk00929
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功