单片机课程设计

发布 2022-10-04 21:22:28 阅读 3432

枣庄学院。

题目 8位a/d、d/a转换系统的设计。

院别机电工程学院

专业班级机械设计制造及其自动化14级。

升本1班 姓名马鹏程。

学号 201415310121

指导教师杨中国。

8位a/d、d/a转换系统的设计。

一、 设计要求。

在单片机的智能仪器仪表、数据采集以及实时控制系统中,被控制对象往往是一些连续变化的模拟量,例如温度、压力、形变、位移、流量等。这些非电的模拟量必须通过传感器转换成电模拟量,再转化成数字量后,才能输入到计算机处理。有时还要求处理结果转换成模拟量以实现对被控对象的控制,并要求通过键盘置数、显示、打印等。

本系统设计能完成上述各方面要求。通过修改和增加软件还可以扩展功能。故本系统是一个通用的,且可进一步开发应用的8位a/d,d/a转换系统。

二、 原理框图如图2所示。

图2三、系统的硬件设计。

1)系统的组成。

8位a/d、d/a转换系统以at89c51单片机为主机,由于内部有数据和程序存储器,根据需求,无需外扩存储器,tlc549的8位输入a/d从p1口输入,经0832的d/a转换从p0口输出数据,用p0、p1、p2口的组合实现4x3的键盘输入和标准打印机口。p3口的txd和rxd引脚与max232芯片相接组成标准rs-232接口实现通信,系统设计由24c02和数字温度传感器,可以随时测量环境温度并记录到24c02中。

2)系统工作原理。

主机at89c51借助tlc549进行转换,通过ds18b20对系统周围温度进行检测,并对采样数据修正,结果存入24c02中,同时将数据送入显示缓存区,经led显示,送d/a转换器输出,再经打印机接口记录结果。

3)系统硬件设计。

1)显示键盘电路显示键盘电路如图3-2 所示,由显示电路和键盘电路两部分组成。其中显示电路由p0口、p2口低4位和4位共阳极led显示器,4只9015三极管组成。根据共阳极数码管低电平点亮原则,真值表如图3-1所示:

表3-1 七段码字形表。

图3-2 显示键盘电路。

段选有p0口控制,位选由p2.0-p2.3口经9015分别对应千、百、十、个位,根据共阳极原理,位选信号经9015驱动从vcc送入显示阳极,因此得到选择码,而千位、百位、十位、个位对应的位选码分别为0eh、0dh、0bh、07h,从而分别送出字形,并从千位到个位依次显示,而由于人眼的惰性,会观察到四位同时显示。

键盘电路由p2口低4位和p1口高3位组成4x3矩阵形式的12个键组成,包括10个数字键和2个功能山地车键。键盘扫描电路中,p2.0-p2.

3用作扫描行线的输出口,p1.5-p1.7用作控制键列线的输入口。

p2.0-p2.3四线中先送p2.

3线为0,其余位送全1(07h),读p1口,若有键按下,则p1.5-p1.7中必有一线为0,分别送0bh、0dh、0eh和读p1口值,达到扫描键盘作用。

键所在的行列值决定闭合键的键值。

2)ds18b20,24c02电路

选用数字温度传感器ds18b20测量系统环境温度,选用24c02串行来记录a/d的转换结果和温度变化值。由ds18b20与p1口低3位构成高精度数字传感器接口电路,24c02与p1.2低3位实现外扩功能。

电路如图3-3所示。

图3-3 单片机与ds18bc02接口电路。

3)a/d、d/a转换器电路。

a/d、d/a转换器电路如图所示。由p1口低3位和转换器tlc549实现8位a/d转换接口功能。在tlc549的cs端加低电平后,a/d转换器启动,此时在clk上必须送入移位脉冲,将sda的转换结果经过c进位送入累加器a中。

dac0832由8位数据输入寄存器,8位dac寄存器和8位d/a转换器组成。可以将输入的数字量转换成模拟电流量输出。而在单片机的应用系统中,往往需要电压信号输出,所以将电流经过运算放大器lm2904得到转换电压输出。

本系统采用单缓冲方式连接,p0口送8位数据,p3.6作为选通信号。

图3-4 a/d、d/a转换电路。

4)并行输出打印电路和串行输出rs-232电路

本系统选用标准并口打印口输出,用p0口输出并行数据,p3.7作为打印口的选通信号,当打印机正在打印时,其状态输出线busy为高电平,空闲时送出低电平,p2.4引脚连到打印口busy信号,供cpu查询使用。

在系统中我们为mcs-51串行接口配置了max232来实现rs-232标准信号,使系统可与上位机联机,实现网络功能,如图3-5。

图3-5 串行输出ds-232,并行输出标准打印口电路图。

8位a/d、d/a转换系统总体逻辑图如图3-6。

图3-6四、系统的软件设计。

整个程序由主程序、显示、键盘扫描、测温、a/d d/a转换、rs-232通信模块构成。由于cpu内部含有4kb的快擦写可编程只读存储器可作为监控程序单元使用,系统外扩24c02作为存取随机数据的单元,系统使用地址单元分配如下:

1)显示缓冲区:61h、62h、63h、64h单元。

(2)键盘行扫描:40h、41h、42h、43h单元。

3)键盘**:44h~4fh单元。

我们采用数字**与命令执行键(#),退出命令执行键(*)组合而成。具体方法为:取低二位数值(即led显示器的低二位中的内容)作为命令键不同的键值,在按下“#”后程序转入命令键处理,完成(63h)x16+62h操作到的命令键,并且做如下定义:

1)12h对应a/d d/a转换功能,21h对应打印功能。

2)31h对应串口通信功能,41h对应测温功能。

对应八位**列表如表4-1所示。程序流程框图如图4-2所示。

表4-1图4-2

1) 主程序。

org 0000h

ajmp main

org 0023h

org 0100h

main: mov 40h,#07h键行扫描码赋予40h-43h

mov 41h,#0bh

mov 42h,#0dh

mov 43h,#0eh

mov 44h,#4eh键值码赋予44h-4fh

mov 45h,#27h

mov 46h,#47h

mov 47h,#87h

mov 48h,#2bh

mov 49h,#4bh

mov 4ah,#8bh

mov 4bh,#2dh

mov 4ch,#4dh

mov 4dh,#8dh

mov 4eh,#2eh

mov 4fh,#8eh

mov 60h,#00h

main0: mov sp,#68h设置sp指针。

mov r0,#61h

ml0: mov a,#00h显示缓冲区清零。

mov @r0,a

inc r0

cjne r0,#65,ml0

ml1: mov r0,#64h

mov r3,#00h

ml2: acall display调用显示子程序。

acall key1调用键盘扫描子程序。

cjne a,#0bh,ml4 ;不是命令执行键转数字键处理。

mov a,63h是,进行命令键处理。

swap a形成命令字。

anl a,#0f0h

mov b,a

mov a,62h

add a,b

cjne a,#12h,ml3不是a/d、d/a命令转到ml3

ajmp adc执行a/d、d/a子程序。

ml3: cjne a,#41h,ml4 ;不是测温命令转到数字键出理。

ajmp b20main执行测温子程序。

ml4: ajmp ml2是数字键b,转显示程序。

2) 键盘显示功能程序。

1)本程序段使用显示缓存区为内部ram中的64h(千位h(百位h(十位h(个位)。程序流程框图如图4-3所示。

图4-3显示子程序:

display: mov dptr,#numtab ;取七段码首地址。

setb c

mov r7,#0feh ;位选择置处置(从千位开始)

mov r0,#64h ;显示缓冲区首地址送r0

mov r4,#04h ;设循环次数(4位)

show : mov a,@r0 ;取显示缓冲区要显示的数值。

movc a,@a+dptr ;查七段表,取七段码。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...