资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 1 目目 录录 一 前言一 前言 2 二 总体设计方案二 总体设计方案 3 2 12 1 方案论证方案论证 3 2 22 2 方案比较及选择方案比较及选择 4 三 单元模块设计三 单元模块设计 6 3 13 1 电压调节电路电压调节电路 6 3 23 2 LM317 标准电路标准电路 6 3 3 数码管显示电路数码管显示电路 7 3 4 ST89C52 最小系统最小系统 8 四 实验程序四 实验程序 10 4 1 延时模块延时模块 10 4 2 键盘扫描键盘扫描 10 4 3 数码管显示程序数码管显示程序 11 4 4 利用按键调节输出电压值程序利用按键调节输出电压值程序 12 五 硬件调试五 硬件调试 16 六 心得体会六 心得体会 17 七 参考文献七 参考文献 18 八 附录八 附录 19 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 2 一 前言一 前言 随着现代科技的不断进步 高质量的生活无疑是人们追求的目标之一 如 今这个世界已近进入数字化的时代 数字化的产品也层出不穷 它已经深深的 融入人们的日常生活 工作和学习当中 它所给人带来的方便也是不可否定的 而且它让我们的生活更加简单 所以人们对数字化的电子产品要求与需要都不 断提高 要为现代人工作 科研 生活 提供更好的更方便的设施就需要一切 向着数字化控制 智能化控制方向发展 其中基于单片机的电子计算器就是一个典型的例子 它是以单片机为控制 核心的智能仪器并且在各行各业中应用越来越广泛 基于单片机控制的电子计 算器具有体积小 功能强 精确度高等优点 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 3 二 总体设计方案二 总体设计方案 2 12 1 方案论证方案论证 方案一 方案一 此方案采用 8051 4X4 键盘 74LS373 6264 液晶显示器 LCD1602 组成 其中 74LS373 是地址锁存器 它实质是一个是带三态缓冲输出的 8D 触发器 在单片机系统中为了扩展外部存储器 通常需要一块 74ls373 芯片 6264 是 8K 8 位静态随机存储器芯片 采用 CMOS 工艺制造 单一 5V 供电 额定功耗 200mW 典型存取时间 200ns 28 线双列直插式封装 方框图如图 1 所示 626474LS373 8051Lcd16024X6 键盘 图图 1 1 原理方框图原理方框图 方案二 方案二 此方案采用 4X4 键盘 STC89C52 数码管组成 在该方案中我们利用 A DC0832 将模拟信号转化为数字信号并与数码管相连将相应的电压值显示出 来 方框图如图 2 所示 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 4 STC89C524X4 键盘数码管 图图 2 2 原理方框图原理方框图 方案三 方案三 此方案采用 PS2 键盘 STC89C52 LCD1602 组成 方案三利用 PS2 键盘 作为数字以及符号的输入 并通过单片机来控运算的过程 计算的过程以及结 果由 LCD1602 显示出来 方框图如图 3 所示 STC89C52 PS2 键盘 LCD1602 图图 3 3 原理方框图原理方框图 2 22 2 方案比较及选择方案比较及选择 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 5 方案一由于用了 4X6 键盘所以外加了地址锁存器 6264 采用的是 5V 的电源 电路连接比较复杂 因而不采用一方案 方案二虽然可以利用 4X4 键盘来实现电路中必要数字符号的的输入 从而 来达到计算的目的 且实验电路简单 但数码管的显示功能不强 显示的数字 位数有限 因此不宜选择方案二 方案三 电路原理简单 成本低 方案简单易行 固选用方案三 三 单元模块设计三 单元模块设计 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 6 3 1 液晶显示电路液晶显示电路 1602 可以显示 2 行 每行显示 16 个 ASCII 字符 并且可以自定义图形 只 需要写入相对应字符的 ASCII 码就可以显示 使用上相对数码管更能显示丰富 的信息 我们主要通过 1602 的显示程序来学习一下如何看时序图 下面是 1602 各引脚的功能 具体不同厂家生产的引脚可能不一样 大家使 用前要注意看厂家提供的资料 图一 D0 D7 端为 8 位数据口 进行数据传送 而 RS R W E 端则配合 可以做出不同的操作 对 1602 进行操作主要有四种 如下 1 读状态 输入 RS L RW H E H 输出 D0 D7 状态字 2 写指令 输入 RS L RW L D0 D7 指令 E 高脉冲 输 出 无 3 读数据 输入 RS H RW H E H 输出 D0 D7 数据 4 写数据 输入 RS H RW L D0 D7 数据 E 高脉冲 输 出 无 从以上可以看出 如果想对 1602 进行何种操作 只要按其相对应的 操作规程来做即可 虽然以上有四种操作 但实际上归类起来只有二种 一种读一种写 好了 我们接着看看 进行读与写时时序图 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 7 这张图初学者看起来可能有点晕 其实我们只要关注的地方是中间 的 Valid Data 即有效数据区 我们进行读或写 无非都是想进行数据的 传送 在时序图中 为了看起来更清楚些 我们画上两根红色 大家注 意这个位置各个引脚的状态 先看读操作时序 在进行读操作的时候 RW 置于 1 RS 则根据读的内容 状态或数据 置为 1 或 0 注意看图中的 A 和 B 两根红线 在 A 位置 E 置为 1 经过 td 时间后 可以在数据口读到正确的数据 由于 td 的时间极短 ns 级 我们的单片机操作一般是 us 级 所以可以不考虑这个时间差 在将 E 置为 1 之后 就可以紧跟着指令去读取数据 在读到数据后 再将 E 置 为 0 经过 THD2 时间后 数据口上的数据失效 在进行写操作的时候 RW 要置为 0 RS 根据写的内容不同 指令或 数据 置为 1 或 0 同时 大家注意 C 和 D 两根红线 我们在将 E 置为 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 8 1 之前 要先将数据送到数据口上 然后 在 C 位置 将 E 置为 1 经过 tPW 延时后 再将 E 置为 0 在这个时间段内必须保证数据口上的数据稳 定不变 为有效的数据 同理 由于 tPW 这些延时相对较短 ns 级 所以在单片里也不必考虑延时问题 我们下面来看看 程序上如何做到 我们看下面两个子程序 Read1602 用于读取 1602 的状态 读数据比较少用 这里不写了 大家 自己改改就可以 并且将状态判断也写在这个子函数里面 Write1602 用于写入数据到 1602 里面 写指令 数据共用一个函数 大家对照图二的时序图看看是否一致 为了防止读忙状态里陷入死循环 在 Read1602 函数里加入一个循 环变量 i 在读状态时 数据线最高位是由 1602 内部拉为低电平的 表 示空闲 当器件发生问题或者 1602 没有接好时 程序就会在这里等待 所以 加入一定时间限制是有必要的 以上是两个基本的函数 在使用 1602 之前 必须对其进行初始化操 作 初始化过程是往 1602 固定写入一定的指令 里面包括指定使用模式 清屏等等 各种指令的含义我们在课程后附上详细说明 来看下面的程 序 mDelay 函数和以前课程一样 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 9 有了以上三个函数 我们就可以把 1602 控制起来了 在 1602 上 分 为二行 每行有 16 个字符位置 如何来在我们需要的位置上显示出对应 的字符呢 我们先来看看这两行对应的地址是什么 上图是 1602 显示 RAM 缓冲区对应的地址 要在对应的位置显示出字 符 首先要写入一个设置数据地址的指令码 80H 地址 然后紧跟着 写入要显示的数据即可 应用我们上面的 Write1602 指令 执行下面 二条指令 写指令 Write1602 0 x80 地址 0 写数据 Write1602 字符 ASCII 码 1 为了更直观的应用 我们编写下面两个函数 使用起来就更方便了 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 10 WrByt e1602 用于在固定位置写入一个字符 一次只能写一个 WrString1602 则是 用来整行写入字符串的 一次只能写一行 字符串需要先定义好 这样 我们基本上就掌握了 1602 的控制显示了 另外还有自定义图形的应 用 一些扩展指令的使用 大家可以看看详细的技术资料 自己尝试 这里不 再逐一说明 这一课程到此结束 这课没有提供完整的程序 只有几个子函数 相信大 家经过这么多课的学习 自己编写一下应该不难了 大家实际试试 作为课后 作业 3 2 ST89C52 最小系统最小系统 STC89C52 系列单片机是宏晶科技推出的新一代超强抗干扰 高速 低功耗的 单片机 指令代码完全兼容传统 8052 单片机 12 时钟 其周期和 6 时钟 机器周 期可任意选择 最新的 D 版本内部集成 MAX810 专用复位电路 选用 STC85C52 单片机的理由 降低成本 提升性能 原有程序直接使用 硬件无 须改动 所以此次试验选择此款单片机 STC89C52 芯片引脚图如图 7 所示 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 11 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C52 图图 7 STC89C52 芯片引脚图芯片引脚图 四 实验程序四 实验程序 4 1 延时模块延时模块 该延时函数利用两个 for 循环来实现 void delay uint n uchar m for n 0 n for m 0 m 100 m 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 12 送液晶屏显示子程序 void display uchar C switch C case 0 clear break case 1 prodis alldata cursor 0 wrdata 0 break case 2 显示等号结果 prodis wrdata kind kind 10 position2 cursor datajs remove0 data3dis break case 3 prodis kind kind 1 加法运算 kind 1 position1 cursor 09 10 寒假培训综合设计 第 19 组 王映娟 何艳 顾金龙 罗小勇 第 页 13 wrdata break case 4 prodis alldata cur
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号