




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机常规应用综合设计一、课程设计的目的和要求 运用单片机原理及其常规常用电路等知识,根据题目要求对各种功能进行软件仿真和制作硬件电路,并在电路板上实际调试实现。从而加深对本专业综合知识的理解 , 把学过的比较零碎的知识 系统化,比较系统的学习开发单片机应用系统的基本步骤和基本方法,使学生应用知识能力、设计 能力、调试能力以及报告撰写能力等有一定的提高。单片机常规应用综合设计要求如下:(1)按键部分:能通过数码管显示所有20 个按键值(能区别就可以)(2)LED 部分:要实现 8个 LED 灯的轮流点亮(跑马灯)(3)LCD 部分:液晶屏 1602 只需要显示自己的学号, 12864 的液晶屏
2、上还需要显示自己的 中文姓名。显示要求如: XB123200101 张三( 4) DA 数摸转换电路:要求通过 DAC0832 芯片,控制一个红色的发光二极管,从亮到灭 逐渐变化的过程(5)AD 模数转换电路:通过调节电位器,改变模拟输入电压,通过ADC0804 ,进行电压采集转换,并在数码管上简单实时显示( 0255 之间)。(6)串口 232 通信:实现电脑与单片机的通讯(能实现程序下载就可以)。(7)EEPROM :能够改变 AT24C02 某个单元的内容,并显示到数码管上如:对 AT24C02 里某个特定单元每隔一秒加一,并实时显示数值( 8) 实时时钟:能够控制时钟芯片 DS1302
3、,读写当前日期,并显示到 LCD 上显示要求 如: 2012/10/2608:18:00( 9) 温度检测:利用传感器 DS18B20 检测温度。并在 LCD 上显示最高温度,最低温度和当 前温度,显示要求如: TEMP : 25.5 OC总体设计和各功能模块设计一)、总体设计LCD1602 显示模块跑马灯行列式键 盘模块ADC0804 模数 转换模块AT24C02EEPROM 模块DS18B20 温度模块DS1302 时钟 模块DAC0832DA 数模转换模块LED 显示模块图 1. 总体设计框图本次课程设计在基于89C52单片机的基础上,和其他多种芯片配合实现了多种功能。一)、按键部分设计
4、电路图(部分)硬件电路设计思想二)、 LED 部分: LED 灯的轮流点亮硬件电路设计思想使用的芯片 74HC573 进行数据所存,当 LE 锁存使能端 为高时,这些器件的锁存对于数据是透明的(也就是说 输出同步)。单片机的 P1 口进行控制输入信号,电平置 低,灯点亮。三)、 LCD 部分:液晶屏显示学号设计电路图(部分)硬件电路设计思想使用芯片 LCD1602 ,第四脚 RS 为寄存器选择, 高电平时 选择数据寄存器、 低电平时选择指令寄存器; 第五脚 R/W 为读写信号线,高电平时进行读操作,低电平时进行写 操作;第六脚 E 为使能端,当 E 端由高电平跳到低电平 时,液晶模块执行命令。
5、选择 1602的优点是 1602是字符 型液晶,显示字母和数字比较方便,控制简单,成本较 低。四)、 DA 数模转换电路:控制发光二极管由亮到暗设计电路图(部分)硬件电路设计思想此模块使用了 DAC0832 ,电流放大器和反相器。 DAC0832是采样频率为八位的 D/A 转换芯片,集成电路内有两级 输入寄存器,使 DAC0832 芯片具备双缓冲、单缓冲和直 通三种输入方式,以便适于各种电路的需要。管脚 ILS 输入所存允许信号,高电平有效; CS 片选信号,低电平 有效; WR1 写信号 1,低电平有效; I0UT1 模拟电流输出 端 1 ,当输入数字为全“ 1”时,输出电流最大,约为 25
6、5VEF/256RFB; 全为“ 0”时,输出电流为 0。U1 为反 相器,把芯片输出的负电流转换为正电流; U2 为电流放 大器,放大输出电流, 点亮发光二极管 (开启电压为 2V )。五)、 AD 模数转换电路:电压采集转换设计电路图(部分)硬件电路设计思想4*4 矩阵键盘又称行列式键盘, 它是用 4 条 I/O 口线作为 行线, 4条 I/O 线作为列线组成的键盘。在行线和列线的 每一个交叉点上,设置一个按键,这样的个数就是 4*4 个。其优点是能够有效地提高单片机系统中 I/O 的利用 率。模数转换使用芯片 ADC0804,AD 转换是将输入的模拟量 转换成数字量, ADC0804 是
7、 8 位 CMOS 依次逼近型的转 换。模拟输入电压范围为 0+5V ,分辨率: 8 位,即分 辨率为 1/2=1/256 ,转换值介于 0255之间。 0804 将滑 变改变的电压值模拟信号转换成单片机处理器能够识别 的数字二进制形式,然后又由单片机程序控制二进制形 式的电压值还原成待测的外界信号值,并且由 74HC573 控制数码管的段码和位码,再由单片机控制显示部件八 段数码管将这个值显示出来。(六)、串口 232 通信芯片 MAX232 :电脑串口 rs232电平是 -10v +10v ,而一般的单片机应用系统的信号电压是ttl 电平 0+5v,max232 就是用来进行电平转换的 ,
8、该器件包含 2驱动器、 2 接收器和一个电压发生器电路提供 TIA/EIA-232-F 电平。COMPIM 器件:COM Port Physical Interface model 串口物理端口模型; 用来实际的串口和外部通信。(七)、EEPROM :能够改变 AT24C02 某个单元的内容,并显示到数码管上芯片 24C02 介绍:此芯片是电可擦除 PROM ,采用 256*8bit 的组织结构以及两线串行接口。电压 可允许低至 1.8V ,待机电流和工作电流分别是 1UA 和 1MA 。支持 I2C 总线传输协议。 I2C 是一 种双向、两线串行通讯接口,分别是串行数据,线 SDA 和串行时
9、钟线 SCL 。两根线都必须通过一 个上拉电阻接到电源。芯片 24C02 工作方式: 数据和时钟线都为高则称总线处在空闲状态, 当 SCL 为高电平时 SDA 的下 降沿(高到低叫做起始条件) , SDA 的上升沿(低到高)则叫做停止条件。总线上发送数据的期间 被称作发送器,接收数据的器件被称作接收器。控制信息交换的器件被成为主器件,受主器件控制 的器件则被称为从器件。主器件产生串行时钟SCL,控制总线的访问状态,产生 START 和 STOP条件。 24C02在 I2C 总线上作为从器件工作。总有当总线处于空闲状态才可以启动数据传输,每 次数据传输均开始于 START 条件,结束与 STOP
10、 条件,二者之间的数据字节数是没有限制的,由 总线上的主器件决定,信息以字节( 8 位)位单位传输,第九位时有接收器产生应答。(八)、实时时钟:能够控制时钟芯片 DS1302 ,读写当前日期,并显示到 LCD 上设计电路图(部分)硬件电路设计思想DS1302 是一种高性能、低功耗、带 RAM 的实时时钟电 路,它可以对年、月、日、周日、时、分、秒进行计时, 具有闰年补偿功能, 工作电压为 2.5V 5.5V。采用三线接 口与 CPU 进行同步通信,并可采用突发方式一次传送多 个字节的时钟信号或 RAM 数据。 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器。九)、温
11、度检测:利用传感器 DS18B20 检测温度设计电路图(部分)硬件电路设计思想DS18B20 智能温度传感器。他与单片机连接的仅需要一 条口线就可以实现微处理器与 DS18B20 的双向通信二、程序设计(一)、按键部分1. 键盘扫描方式:行里式键盘是将 IO 口分为行线( P3口低位)和列线( P3口高位)。行列式键盘 的工作方式是先用行线发送扫描字,然后读取列线的状态,查看是否有按键按下。我们采用的扫描 方式是反转法: 将 P3.4 P3.7设为列输入线, P3.0 P3.3设为行输出线, 并使 I O输出信号为 F0。 若有键按下,列线输入端变为低电平,表示键盘中有键按下。与此同时,P3.
12、4 P3.7的数据输入到内存中的某一单元中, 其中 0位对应的是被按下键的列位置。 然后将第一步中的传送方向反转过来, 即将 P3.0 P3.3设为输入线, P3.4P3.7设为输出线。使 I O口输出数据为 N 单元中的数(即 P3.4 P3.7 为按下键的列位置) ,然后读入 I O 口数据,并送入内存 N 1单元中存放,该数据的P3.0 P3.3位中 0电平对应的位是按下键的行位置。 的 P3.0 P3.3 拼接起来就是按下键的键值。最后, 将 N 单元中的 P3.4 P3.7 与 N 1单元中主要扫描程序:P3=0xf0; / cord_l=P3&0xf0; / if(cord_l!=
13、0xf0) / delay(100); / if(cord_l!=0xf0) delay(100); / cord_l=P3&0xf0; / P3=cord_l|0x0f; / cord_h=P3&0x0f; / return(cord_h+cord_l);/ / 返回该值行线输出全为 0 读入列线值 , 行不变 先检测有无按键按下去抖去抖读入列线值反转读入行线值键盘最后组合码值2.LED 数码管显示:采用共阴数码管,低电平亮。通过P2.7 口控制位码, P2.6 口控制段码,都是高选通,低锁存。(二)、 LCD部分图 1. LCD 显示程序框图在进行 LCD显示程序汇编时,需要注意的是关于现
14、实的字码问题,以及显示位置地址,比如第一行 第一位地址为 0x80。三)、 AD模数转换5V 时,A/D 输出为 FFH,即输入电压 =AD数据*(5/255)=AD 数据图 2.AD 模数转换程序框图 数据处理程序解释:当输入电压为 /(255/5)=AD 数据 /51 (四)、串口 232 通信 程序解释:将与串口通信有关的特殊功能寄存器初始化TMOD=0x20;/把定时器 1 设定为工作方式 2TH1=0xfd;/ 设定串口通信的波特率为 9600TR1=1;/ 把定时器 1 的控制位赋为 1 以开启定时器 1REN=1;/ 允许串行口接受数据SM0=0; SM1=1;/ 置串行口工作方
15、式为 8 位异步收发,波特率可变EA=1;/ 开总中断ES=1;/ 开中断允许寄存器 IE 中的串行口中断允许位 设置标志位,判断若串口中断已执行,则ES=0;/ 关闭串口中段,下面开始发数据SBUF=x+1;/ 发送串口发送寄存器中的数据 ( 即 X)while(!TI);/ 数据发送完TI=0;/ 发射中断标志位置 0 停止申请中段ES=1;/ 关闭串口中段(五)、 EEPROM图 3.EEPROM软件设计在这里 AT24C02在进行数据写入时的工作方式 是:先启动数据传输,然后写入控制字,满八位 后得到应答。然后写入存取地址,得到应答后写 入存取数据,得到应答,停止传输。相关程序: vo
16、id write_add(uchar address,uchar date) start(); /启动数据传输write byte(0xa0); /写入控制字AT24C02在进行数据读取时的工作方式是:先启 动数据传输,写入写入控制字,应答,写入读取 地址,应答,写入读取控制字,应答,读取该地 址数据, 结束数据传输, 返回数据值。 相关程序: uchar read_add(uchar address)uchar date; start();write byte(0xa0);- 5 -respons(); / 应答 write_byte(address); / 写入存取地址 respons()
17、; / 应答 write_byte(date); / 写入存取数据 respons(); / 应答 stop(); / 停止数据传输应答确认时序:respons();write_byte(address);respons();write_byte(0xa1); / 读取控制字 respons();date=read_byte(); / 读取数据 stop(); return date; 控制字确认,在这里控制码为 A,存储块选择位为 000 ,当操作读的时候,写入的控制字为 操作写的时候控制字为 0xa0 。写操作时序图:六)、实时时钟- 6 -图 4. 时钟软件设计DS1302工作时为了对任
18、何数据传送进行初始化,需要将复位脚(RST)置为高电平且将 8 位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前 8 位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作输出数据,写操作时输出数据。在对 DS1302输出 的数据进行处理后将其显示在LCD上。DS1302内部寄存器分布表七)、温度检测图5.DS18B20 工作方式流程图 在进行温度采样的时候需要进行滤波,我设计了每采样 10 次取平均值的滤波方式。为实现最高温 度和最低温度的显示,需要进行温度比较,并设定允许的误差范围。(八)、红外接收VS1838B红外接收头接收到的是一串方波,其发送波形如下图:在最初的引导码后面是 8 位的用户码,然后是 8 位用户码反码,接下来是 8 位数据码,然后是 8 位 数据码反码。如左图所示接收到的 “ 0”时间是 1.125ms,“1”的时间是 2.25ms。 在分析通过定时器得到的时间值时的计算公式为:晶振频率( 11.059MHZ)/12 分频 *时间下降沿触发三、调试及结果对得到的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电岗位专业试题及答案
- 《烹饪原料初加工工艺》项目二鲜活原料的初加工
- JavaEE轻量级框架Struts2 spring Hibernate整合开发 第3章Struts2标签库及使用
- 吉林省四平市普通高中2024-2025学年高一上学期第一次月考生物学试卷(有答案)
- 墙垛式护栏施工方案
- 福建省泉州市安溪县2024-2025学年高二上学期11月期中考试生物试卷(含答案)
- 欧式别墅大门施工方案
- 金属加工行业深度市场报告
- 济南水泥荷兰砖施工方案
- 江西省南昌市零模2026届高三上九月测试思想政治试卷(含答案)
- 福特锐界2018款说明书
- 幼儿园海军知识
- 塑料厂应急预案
- 第八章工程建设执业资格法规
- 计算机科学与技术专业毕业论文
- JJF 1685-2018紫外荧光测硫仪校准规范
- UL实用标准电子线常用规格表
- 大学预算绩效管理办法(试行)模板
- 西方音乐史全套完整教学课件
- 血液净化治疗临床应用
- 年产12000吨水合肼(100%)项目环评报告书
评论
0/150
提交评论