《单片机应用技术》.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据D/A转换芯片DAC0832的工作时序,20ms进行一次D/A转 换,可以利用定时器T0定时,基本定时时间为5ms,控制软计数器 的累计次数为4次,20ms(4*5ms)定时到时,产生定时器T0中断, 在定时器T0中断服务子程序中调用DA转换子程序进行D/A采样转换, 然后调用计算D/A转换值子程序把DA转换值转换成相应的ASCII码, 最后通过LCD显示D/A转换值子程序把DAC转换的模拟电压值 (0V~5V)显示在液晶LCD1602上,并从DA输出座子输出DAC转 换的模拟电压,可用万用表测量。
【项目实践】
当前的DA变量DABL定义为片内数据存储器的30H单元; 输出值显示的百位LEDBAI定义为片内数据存储器的31H单元; 输出值显示的十位LEDSHI定义为片内数据存储器的32H单元; 输出值显示的个位LEDGE定义为片内数据存储器的33H单元;
通过按键K1、K2实现DAC值的加减,并且在LCD1602 上显示出来。DAC转换的模拟电压值从DA输出座子输出 (用万用表测量)。
【项目实践】
【活动一】总体设计
本系统功能由硬件和软件两大部份协调完成,硬件部分主要 完成信息的显示;软件主要完成信号的处理及控制功能等。
本系统的硬件采用模块化设计,以AT89S52单片机为核心, 与LCD显示电路、键盘电路、D/A转换电路组成控制系统。该系 统硬件主要包括以下几个模块:AT89S52主控模块、LCD显示模 块、键盘输入模块、D/A模块等。其中AT89S52主要完成外围硬 件的控制以及一些运算功能;LCD显示模块完成字符、数字的显 示功能;键盘电路主要实现DAC值的加减;D/A模块由D/A芯片和 放大电路组成,DAC转换的模拟电压值从DA输出座子输出,可 用万用表测量。
LCD显示模块选用1602字符型LCD模块,具体设计请参见项目6。 3.键盘输入模块设计
键盘输入使用独立式按键K1、K2,具体设计请参见项目3。 4.串口通信电路模块设计
串口通信电路模块的具体设计请参见项目7。 5.D/A转换模块设计
D/A模块由D/A芯片和放大电路组成,通过按键K1、K2实现DAC值的 加减,范围在0~255之间,并且在LCD1602上显示出来。DAC转换的模 拟电压值从DA输出座子输出,可用万用表测量。
【项目实践】
系统组成方框图如图9.1所示。
电源电路
LCD显示电路
单
键盘电路
时钟电路
片
wk.baidu.com
复位电路
机
D/A转换电路
串口通信电路
图9.1 D/A转换控制系统组成方框图
【项目实践】
应用软件采用模块化设计方法。该系统软件主要由主程序、定时器
T0中断服务子程序、D/A转换子程序、计算D/A转换值子程序、按键扫 描子程序、串口中断服务子程序、LCD显示子程序、LCD显示A/D转换 值子程序等模块组成,系统软件结构框图如图9.2所示。
【项目实践】
图9.3 D/A模块与单片机的接口电路原理图
【项目实践】
【活动三】软件设计
1.算法设计
由PC机发送到单片机串口的值作为数字量初始值,通过按键 K1、K2实现DAC值的加减,按键K1实现数字量初始值加1,按键 K2实现数字量初始值减1,使数字量在20~200的范围内变化,从 而模拟数字信号的输入。
按键扫描子 程序
D/A转换子 程序
计算D/A转换 值子程序
LCD显示D/A转 换值子程序
串口中断服务子程序
定时器T0中断服务子程序
LCD显示子程序
主程序
图9.2 系统软件结构框图
【项目实践】
【活动二】硬件设计
1.主控模块设计 本项目采用ATMEL公司生产的AT89S52单片机,主控模块的具体设计
参见项目1。 2.LCD显示模块设计
【工作任务】
采用8位的D/A转换芯片DAC0832来完成数模转换过 程,DAC0832是电流输出型D/A转换芯片,因此,后面 接有集成运放LM358来完成电流到电压的转换。其中的 数字信号的输入从“D0-D7”端口输入,控制DAC0832 工作的控制信号由“WR-CS” 端口输入,模拟量的输 出从“DA输出”端口输出,由于LM358工作在双电源条 件下,因此要给LM358加入±12V电压,从+12,-12V的 电源的由MAX232来产生。
《单片机应用技术》
项目9 调压电路设计
《单片机应用技术》精品课程组 泸州职业技术学院机电工程系
本讲主要内容
1 教学目标 2 工作任务 3 项目实践 4 相关知识 6 项目考核
【教学目标】
1、终极目标: 制作一个基于单片机控制的调压电路系统。 2、促成目标: (1) 了解D/A转换芯片的基本工作原理及特 性; (2) 了解D/A转换器的技术指标; (3) 掌握常用D/A芯片与单片机的接口方法; (3) 掌握D/A转换程序设计方法;
【项目实践】
在本项目中,D/A芯片选用DAC0832芯片来完成数模转 换过程,该芯片的详细介绍请参考本项目的“相关知识” 部 分。DAC0832是电流输出型D/A转换芯片,因此,后面接有 集成运放LM358来完成电流到电压的转换。其中的数字信号 的输入从“D0 -D7”端口输入,控制DAC0832工作的控制信 号由“WR-CS”端口输入,模拟量的输出从“DA输出”端 口输出,由于LM358工作在双电源条件下,因此要给LM358 加入±12V电压,从+12,-12V的电源的由MAX232来产生。 D/A模块与单片机的接口电路如图9.3所示。
【项目实践】
2.数据结构设计
1602LCD使能信号E 定义为P2口线的P2.2; 1602LCD读/写选择信号R/W定义为P2口线的P2.1,0为写数据信号, 1为读数据信号; 1602LCD 数据/命令选择信号RS定义为P2口线的P2.0,0为命令信号; 1为数据信号; 1602LCD的8位双向数据线DB7~DB0信号LCDPORT定义为P0口线; 1602LCD写命令入口参数CMD_BYTE定义为片内数据存储器的2EH 单元; 1602LCD写显示数据入口参数DAT_BYTE定义为片内数据存储器的 2FH单元; D/A芯片DAC0832的片选信号DAC_CS定义为P3口线的P3.3; D/A芯片DAC0832的写信号DAC_WR定义为P3口线的P3.4;
【项目实践】
当前的DA变量DABL定义为片内数据存储器的30H单元; 输出值显示的百位LEDBAI定义为片内数据存储器的31H单元; 输出值显示的十位LEDSHI定义为片内数据存储器的32H单元; 输出值显示的个位LEDGE定义为片内数据存储器的33H单元;
通过按键K1、K2实现DAC值的加减,并且在LCD1602 上显示出来。DAC转换的模拟电压值从DA输出座子输出 (用万用表测量)。
【项目实践】
【活动一】总体设计
本系统功能由硬件和软件两大部份协调完成,硬件部分主要 完成信息的显示;软件主要完成信号的处理及控制功能等。
本系统的硬件采用模块化设计,以AT89S52单片机为核心, 与LCD显示电路、键盘电路、D/A转换电路组成控制系统。该系 统硬件主要包括以下几个模块:AT89S52主控模块、LCD显示模 块、键盘输入模块、D/A模块等。其中AT89S52主要完成外围硬 件的控制以及一些运算功能;LCD显示模块完成字符、数字的显 示功能;键盘电路主要实现DAC值的加减;D/A模块由D/A芯片和 放大电路组成,DAC转换的模拟电压值从DA输出座子输出,可 用万用表测量。
LCD显示模块选用1602字符型LCD模块,具体设计请参见项目6。 3.键盘输入模块设计
键盘输入使用独立式按键K1、K2,具体设计请参见项目3。 4.串口通信电路模块设计
串口通信电路模块的具体设计请参见项目7。 5.D/A转换模块设计
D/A模块由D/A芯片和放大电路组成,通过按键K1、K2实现DAC值的 加减,范围在0~255之间,并且在LCD1602上显示出来。DAC转换的模 拟电压值从DA输出座子输出,可用万用表测量。
【项目实践】
系统组成方框图如图9.1所示。
电源电路
LCD显示电路
单
键盘电路
时钟电路
片
wk.baidu.com
复位电路
机
D/A转换电路
串口通信电路
图9.1 D/A转换控制系统组成方框图
【项目实践】
应用软件采用模块化设计方法。该系统软件主要由主程序、定时器
T0中断服务子程序、D/A转换子程序、计算D/A转换值子程序、按键扫 描子程序、串口中断服务子程序、LCD显示子程序、LCD显示A/D转换 值子程序等模块组成,系统软件结构框图如图9.2所示。
【项目实践】
图9.3 D/A模块与单片机的接口电路原理图
【项目实践】
【活动三】软件设计
1.算法设计
由PC机发送到单片机串口的值作为数字量初始值,通过按键 K1、K2实现DAC值的加减,按键K1实现数字量初始值加1,按键 K2实现数字量初始值减1,使数字量在20~200的范围内变化,从 而模拟数字信号的输入。
按键扫描子 程序
D/A转换子 程序
计算D/A转换 值子程序
LCD显示D/A转 换值子程序
串口中断服务子程序
定时器T0中断服务子程序
LCD显示子程序
主程序
图9.2 系统软件结构框图
【项目实践】
【活动二】硬件设计
1.主控模块设计 本项目采用ATMEL公司生产的AT89S52单片机,主控模块的具体设计
参见项目1。 2.LCD显示模块设计
【工作任务】
采用8位的D/A转换芯片DAC0832来完成数模转换过 程,DAC0832是电流输出型D/A转换芯片,因此,后面 接有集成运放LM358来完成电流到电压的转换。其中的 数字信号的输入从“D0-D7”端口输入,控制DAC0832 工作的控制信号由“WR-CS” 端口输入,模拟量的输 出从“DA输出”端口输出,由于LM358工作在双电源条 件下,因此要给LM358加入±12V电压,从+12,-12V的 电源的由MAX232来产生。
《单片机应用技术》
项目9 调压电路设计
《单片机应用技术》精品课程组 泸州职业技术学院机电工程系
本讲主要内容
1 教学目标 2 工作任务 3 项目实践 4 相关知识 6 项目考核
【教学目标】
1、终极目标: 制作一个基于单片机控制的调压电路系统。 2、促成目标: (1) 了解D/A转换芯片的基本工作原理及特 性; (2) 了解D/A转换器的技术指标; (3) 掌握常用D/A芯片与单片机的接口方法; (3) 掌握D/A转换程序设计方法;
【项目实践】
在本项目中,D/A芯片选用DAC0832芯片来完成数模转 换过程,该芯片的详细介绍请参考本项目的“相关知识” 部 分。DAC0832是电流输出型D/A转换芯片,因此,后面接有 集成运放LM358来完成电流到电压的转换。其中的数字信号 的输入从“D0 -D7”端口输入,控制DAC0832工作的控制信 号由“WR-CS”端口输入,模拟量的输出从“DA输出”端 口输出,由于LM358工作在双电源条件下,因此要给LM358 加入±12V电压,从+12,-12V的电源的由MAX232来产生。 D/A模块与单片机的接口电路如图9.3所示。
【项目实践】
2.数据结构设计
1602LCD使能信号E 定义为P2口线的P2.2; 1602LCD读/写选择信号R/W定义为P2口线的P2.1,0为写数据信号, 1为读数据信号; 1602LCD 数据/命令选择信号RS定义为P2口线的P2.0,0为命令信号; 1为数据信号; 1602LCD的8位双向数据线DB7~DB0信号LCDPORT定义为P0口线; 1602LCD写命令入口参数CMD_BYTE定义为片内数据存储器的2EH 单元; 1602LCD写显示数据入口参数DAT_BYTE定义为片内数据存储器的 2FH单元; D/A芯片DAC0832的片选信号DAC_CS定义为P3口线的P3.3; D/A芯片DAC0832的写信号DAC_WR定义为P3口线的P3.4;