




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编号: 毕业设计毕业设计( (论文论文) )说明书说明书题 目:基于基于 5151 单片机实验开发平台的研制单片机实验开发平台的研制 题目类型:题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2011 年 6 月 5 日摘 要设计一种基于s51单片机的开发平台,该开发板具有成本低、体积小、可靠性高、功能齐全、低功耗设计、操作方便等特点。本论文详细介绍了该开发平台的开发过程及相关硬件结构和软件设计。开发板以atmel公司的at89s51单片机为核心控制器,板上主要包括数据采集处理模块、液晶显示模块、键盘模块等。针对各个硬件模块开发了相应的软件模块,包括各个控制驱动程序、ad/d
2、a程序、液晶显示程序等。开发板可以作为主控制模块安装于控制系统中执行控制任务,也可以用作实验板,完成单片机各类通用实验,操作简单,控制结果可见,性价比高,可以应用于高校、科研院所的实验等场合,具有一定的使用价值和现实意义。由于单片机技术在各个领域正得到越来越广泛的应用,许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,at89s-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了市场,成为国内单片机应用领域中的主流。目前,可用于at89s-51系列单片机开发的产品越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资
3、源,开发出用于不同目的的各类应用系统。本课题设计了一款单片机实验开发系统,该系统可以实现专业基础课、专业课(单片机原理与应用,单片机接口技术等)、课程设计和毕业设计的实验。实验板是参考单片机教材中的实验内容设计的,能够实现简单的测试实验。本论文包括硬件系统的详细设计及汇编语言在基本控制中的应用。关键词:at89s51;实验系统;单片机;硬件;abstractabstractdesign a development board based on s51 mcu,the board has characteristics of low cost,small size,high reliabilit
4、y,full-featured,low-power design and easy to operate.this paper introduces the development process of the development board and related hardware and software design.development board using at89s51 of atmel corporation as core controller,resources on-board include data acquisition and processing modu
5、le,keyboard module.design software module corresponding to each hardware module,including the driver and control programs,da/ad programs, liquid crystal display programs and so on.development board can be used as the main control module installed in the control system to perform control tasks,also c
6、an be used as experimental board,complete all kinds os universal experiments os mcu,operated simply,control results can be seen,high cost performance,can be applied to universities,research institutes,laboratories and so on,has some practical value and practical significance.as the single chip micro
7、computer technic is used wider and wider in all areas, many manufacturers of integrated circuit have developped all kinds of single chip microcomputer one after another. among the many members of single chip microcomputer family, the s-51 series of single chip microcomputer has quickly gained the ma
8、rket share and become the main stream in the national application area of single chip microcomputer with their excellent performance, mature technic, high reliability and high cost performance. at present, there are more and more products that can be used to develop s-51 series single chip microcomp
9、uter, and the development systems and softwares matched to them are improved day by day. therefore, we can conveniently use available resources to develop all kinds of application system used for different aims.this project designs an experiment of single chip microcomputer development system which
10、can be applied to the experiments for specialized core course, professional course (principle and application of single chip microcomputer,interface technology of single chip microcomputer,etc), courses design and graduate design. the experimental borad is designed according to the experiment in the
11、 single chip microcomputer teaching material which can implement simple test experiments. this paper includes the detailed design of the hardware system and the application of assembly language in the basic control.keykey wordswords:at89s51;single chip microcomputer;experimental system; hardware;;ke
12、ypad目 录引言 .1绪论 .21系统方案 .31.1 总设计方案 .31.2 设计原则 .32硬件部分 .32.1 硬件结构框图 .32.2 硬件电路设计 .42.2.1at89s51 单片机主控制.42.2.2 键盘模块.52.2.3ad 模块.62.2.4da 模块.72.2.5 数码管模块.102.2.6 串口模块.112.2.7 点阵模块.123系统软件开发工具介绍 .123.1 编译软件 keil51 概述 .123.2keil c51 单片机编译开发系统的整日结构.133.3 系统硬件开发工具 protel99se 介绍.133.4 小结 .144 软件部分 .154.1 整体
13、程序设计 .154.2 分模块程序设计 .154.2.1 键盘模块程序设计 .154.2.2 ad 模块程序设计.164.2.3 串口通信模块程序设计 .174.2.4 数码管显示模块程序设计 .185 开发板设计及测试 .235.1 开发板 pcb 设计 .235.2 开发板测试 .236 结论 .24谢 辞 .25参考文献 .26附 录 .27引言单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的存储器 ram、只读存储器 rom、多种 i/o 口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。单片机具有成本低、体积小、可靠性高、具有
14、高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。因此拥有一块单片机开发板对于单片机学习具有极其重要的意义。但是单片机学习效果的优劣直接取决于单片机的选择,at89s51是一个低功耗,高性能 cmos 8位单片机,片内含4k bytes isp(in-system programmable)的可反复擦写1000次的 flash 只读程序存储器,器件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准 mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和 isp flash 存储单元,at89s51在众多嵌入式控制
15、应用系统中得到广泛应用。 单片机都是 8 位或 4 位的。其中最成功的是 intel 的 8031,因为简单可靠而性能不错获得了很大的好评。此后在 8031 上发展出了 mcs51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16 位单片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着 inteli960 系列特别是后来的 arm 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位单片机的性能也得到了飞速提高,处理能力比起 8
16、0 年代提高了数百倍。目前,高端的 32 位单片机主频已经超过 300mhz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 windows 和 linux 操作系统。 本课题设计的 s51单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象对所用的硬件也有了更深一步的认识,
17、因此该开发板具有一定的使用价值和现实意义。绪论 单片机最早被应用在工业控制领域,单片机由芯片内仅有 cpu 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和cpu 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。中国使用单片机的历史只有短短的 30 年,在初始的短短五年时间里 发展极为迅速。1986 年在上海召开了全国首届单片机开 发与应用交流会,很多地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,这还不包括国外的。电子界,在 2003 年
18、 7 月,91student 在上海、广州、北京等大城市所做的一次专业人才需求报告中,单片机人才的需求量位居第一。这是因为单片机比专用处理器更适合应用于 嵌入式系统,它得到了最多的应用。 纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能ic 卡、电子宠物等,这些都离不开单片机。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国 50 年
19、代开发的 74 系列,或者 60年代的 cd4000 系列这些纯硬件来搞定的话,电路一定是一块大 pcb 板。但是如果要是用美国 70 年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言,因为单片机没有家用计算机那样的 cpu,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十 k 的尺寸。二十世纪跨越了三个“电”的时代,即电气时代、电子时代和电脑时代。不过,这种电脑,通常是
20、指个人计算机,简称 pc 机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(也称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的里面。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机,智能型热水器等。现在有些工厂的技术人员或其它业余电子开发者
21、搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 1系统方案1.1 总设计方案本开发平台共分为 7 个模块,分别是:串口模块、点阵模块、ad 模块、da 模块、键盘模块、数码管模块、at89s51 单片机控制模块。其中以 s51 单片机作为核心控制器;键盘模块用来向单片机输入特定编码的信息;ad 模块用来实现模数转换;da 模块用来实现 da 转换;数码管模块用来显示简单的数字、字母;串口模块一般用于接一些特殊的外部设备。1.2 设计原则开发板系统的扩展和配置应遵循以下设计原则: (1)尽可能选择典型电路,并符合单片机常
22、规用法。为硬件系统的标准化、模块化打下良好的基础;(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发; (3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用 cpu 时间;(4)系统中的相关器件要尽可能做到性能匹配。如选用 cmos 芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品; (5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布
23、线、通道隔离等;(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载; (7)尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。2硬件部分2.1 硬件结构框图总体硬件结构主要包括:s51 单片机主控制模块、键盘模块、ad 模块、da 模块、数码管模块等。硬件结构图如图 1-1 所示: 图 1-1 硬件结构 2.2硬件电路设计2.2.1at89s51 单片机主控at89s51 最小系统包括:复位电路、晶振电路、时钟电路。51 原理图如图 2-1 所
24、示:at89s51 单片机主控制模块 串口模块 键盘模块 da 模块 ad 模块 数码管模块 点阵模块 图 2-1 51 原理2.2.2 键盘模块在键盘中按键数量较多时,为了减少 i/o 口的占用,通常将按键排列成矩阵形式,键盘原理图如图所 2-2 示: 图 2-2 键盘原理在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成4*4=16按键,比如直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,直接用端口线则只能多出一键(9键),在需要的按键数较多时,才用矩阵法来做键盘是合理的。2.2.3ad
25、 模块a/d 转换在单片机接口中应用广泛,串行 a/d 转换器具有功耗低、性价比高、芯片引脚少等特点。adc0809 是美国国家半导体公司生产的 cmos 工艺 8 通道,8 位逐次逼近式 a/d 转换器。其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 a/d 转换。是目前国内应用最广泛的 8 位通用 a/d 芯片。主要特性有:1)8 路输入通道,8 位 a/d 转换器,即分辨率为 8 位。2)具有转换起停控制端。3)转换时间为 100s(时钟为 640khz 时),130s(时钟为 500khz 时) 。4)单个+5v 电源供电 。5
26、)模拟输入电压范围 0+5v,不需零点和满刻度校准。6)工作温度范围为-40+85 摄氏度。7)低功耗,约 15mw。内部结构: adc0809 是 cmos 单片型逐次逼近式 a/d 转换器,它由 8 路模拟开关、地址锁存与译码器、比较器、8 位开关树型 a/d 转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 外部特性(引脚功能) :adc0809 芯片有 28 条引脚,采用双列直插式封装。下面说明各引脚功能。in0in7:8 路模拟量输入端。2-12-8:8 位数字量输出端。adda、addb、addc:3 位地址输入线,用于选通 8 路模拟输入中的一路 。ale:地址锁存允许信号,输入
27、,高电平有效。start: a/d 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 a/d 转换) 。eoc: a/d 转换结束信号,输出,当 a/d 转换结束时,此端输出一个高电平(转换期间一直为低电平) 。oe:数据输出允许信号,输入,高电平有效。当 a/d 转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。clk:时钟脉冲输入端。要求时钟频率不高于 640khz。ref(+) 、ref(-):基准电压。vcc:电源,单一+5v。gnd:地。adc0809 的工作过程首先输入 3 位地址,并使 ale=1,将地址存
28、入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。start 上升沿将逐次逼近寄存器复位。下降沿启动 a/d 转换,之后 eoc 输出信号变低,指示转换正在进行。直到 a/d 转换完成,eoc 变为高电平,指示 a/d 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 oe 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 a/d 转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认 a/d 转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 :对于一种 a/d 转换其来说,转换时
29、间作为一项技术指标是已知的和固定的。例如 adc0809 转换时间为 128s,相当于6mhz 的 mcs-51 单片机共 64 个机器周期。可据此设计一个延时子程序,a/d 转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式 :a/d 转换芯片由表明转换完成的状态信号,例如 adc0809 的 eoc 端。因此可以用查询方式,测试 eoc 的状态,即可确认转换是否完成,并接着进行数据传送。3)中断方式 :把表明转换完成的状态信号(eoc)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送
30、。首先送出口地址并以信号有效时,oe 信号即有效,把转换数据送上数据总线,供单片机接受。adc0809 芯片如图 2-3 所示: 图2-3adc0809芯片adc0809硬件实现,如图2-4所示: 图2-4adc0809硬件原理2.2.4da 模块dac0832是8分辨率的d/a转换集成芯片。这个da芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。d/a转换器由8位输入锁存器、8位dac寄存器、8位d/a转换电路及转换控制电路构成。dac0832的主要特性参数如下 :分辨率为8位,电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;
31、 单一电源供电(+5v+15v) ; 低功耗,20mw。 dac0832结构:d0d7:8位数据输入线,ttl 电平,有效时间应大于90ns(否则锁存器的数据会出错);ile:数据锁存允许控制信号输入线,高电平有效;cs:片选信号输入线(选通数据锁存器) ,低电平有效;wr1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由 ile、cs、wr1的逻辑组合产生 le1,当 le1为高电平时,数据锁存器状态随输入数据线变换,le1的负跳变时将输入数据锁存;xfer:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;wr2:dac 寄存器选通输入线,负脉冲(脉宽
32、应大于500ns)有效。由 wr2、xfer 的逻辑组合产生 le2,当le2为高电平时,dac 寄存器的输出随寄存器的输入而变化,le2的负跳变时将数据锁存器的内容打入 dac 寄存器并开始 d/a 转换。iout1:电流输出端1,其值随 dac 寄存器的内容线性变化; iout2:电流输出端2,其值与 iout1值之和为一常数;rfb:反馈信号输入线,改变 rfb 端外接电阻值可调整转换满量程精度;vcc:电源输入端,vcc 的范围为+5v+15v;vref:基准电压输入线,vref 的范围为-10v+10v;agnd:模拟信号地,dgnd:数字信号地。 dac0832的工作方式: 根据对
33、 dac0832的数据锁存器和 dac 寄存器的不同的控制方式,dac0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。dac0832引脚功能电路应用原理图 dac0832是采样频率为八位的 d/a 转换芯片,集成电路内有两级输入寄存器,使 dac0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路 d/a 异步输入、同步转换等)。所以这个芯片的应用很广泛,关于dac0832应用的一些重要资料:d/a 转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过 rfb端引用片内固有电阻,也可外接。d
34、ac0832逻辑输入满足 ttl 电平,可直接与 ttl 电路或微机电路连接。 dac0832引脚功能说明:di0di7:数据输入线,tll 电平。ile:数据锁存允许控制信号输入线,高电平有效。cs:片选信号输入线,低电平有效。wr1:为输入寄存器的写选通信号。xfer:数据传送控制信号输入线,低电平有效。wr2:为 dac 寄存器写选通输入线。iout1:电流输出线。当输入全为1时 iout1最大。iout2: 电流输出线。其值与 iout1之和为一常数。rfb:反馈信号输入线,芯片内部有反馈电阻.。vcc:电源输入线 (+5v+15v) 。wref:基准电压输入线 (-10v+10v),
35、agnd:模拟地,摸拟信号和基准电源的参考地。dgnd:数字地,两种地线在基准电源处共地比较好。(一) d/a 转换器 dac0832是采用 cmos 工艺制成的单片直流输出型8位数/模转换器。它由倒 t 型 r-2r 电阻网络、模拟开关、运算放大器和参考电压 vref 四大部分组成。运算放大器输出的模拟量 v0为:由上式可见,输出的模拟量 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。一个8位 d/a 转换器有8个输入端(其中每个输入端是8位二进制数的一位) ,有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只
36、能是256个可能值。d0d7:数字信号输入端。ile:输入寄存器允许,高电平有效。cs:片选信号,低电平有效。wr1:写信号1,低电平有效。xfer:传送控制信号,低电平有效。wr2:写信号2,低电平有效。iout1、iout2:dac 电流输出端。rfb:是集成在片内的外接运放的反馈电阻。vref:基准电压(-1010v) 。vcc:是源电压(+5+15v) 。agnd:模拟地 ngnd:数字地,可与 agnd 接在一起使用。dac0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。dac0832管脚如图2-4所示: 图2-4dac0832管脚lm324
37、简介:lm324 系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该放大器可以工作在低到 3.0 伏或者高到 32 伏的电源下,静态电流为 mc1741 的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图所示的符号来表示,它有 5 个引出脚,其中“+” 、 “-”为两个信号输入端,“v+” 、 “v-”为正、负电源端, “vo”为输出端。两个信号输入端中,vi-(-)为反相输入端,表示运放输出端 vo 的信号与该输入端的位相反;vi+(+)为同相输入端,表示运放输出
38、端 vo 的信号与该输入端的相位相同。 图 2-5 图 2-5 管脚连接2.2.5 数码管模块7 段 led 数码管的结构原理:单片机中经常使用 7 段 led 来显示数字,也就是用 7个 led 构成字型“8” ,并另外用一个圆点 led 来显示小数点,也就是说一共有 8 个led,构成了“8”的字型。7 段 led 分共阴级和共阳级两种,本论文选择的是共阴 led 数码管。共阴极 7 段led 的原理图和管脚配置如图 2-6 所示,实际中,各个型号的 7 段 led 的管脚配置可能不会是一样的,在实际应用中要先测试一下各个管脚的配置,再进行电路原理图的设计。 图 2-6led 管脚配置7
39、段 led 数码管动态显示原理:led 的静态显示虽然有编程容易、管理简单等优点,但是静态显示所要占得 i/o 口资源很多,所以在显示的 led 点较多的情况下,一般都采用动态显示方式。在多位 7 段 led 显示中,为了简化电路,降低成本,则将所有位的段选线并联在一起,刚好由 8 个 i/o 口来控制 8 个段。而公共端则分别由相应的 i/o口控制,以实现各个位的分时选通。原理图如 2-7 图所示: 图 2-7led 原理2.2.6 串口模块本文使用的是 max232 芯片来跟计算机通信。max232 芯片是美信公司专门为电脑的rs-232 标准串口设计的单电源电平转换芯片,使用+5v 单电
40、源供电。芯片如图 2-8 所示: 图 2-8max232 芯片第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给 rs-232 串口电平的需要。第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(r1in) 、12 脚(r1out) 、11 脚(t1in) 、14 脚(t1out)为第一数据通道。8 脚(r2in) 、9 脚(r2out) 、10 脚(t2in) 、7 脚(t2out)为第二数据通道。ttl/cmos 数据从t1in、t2in 输入转换成 rs-232 数
41、据从 t1out、t2out 送到电脑 db9 插头;db9 插头的rs-232 数据从 r1in、r2in 输入转换成 ttl/cmos 数据后从 r1out、r2out 输出。第三部分是供电。15 脚 gnd、16 脚 vcc(+5v) 。max232 的主要特点有:符合所有的 rs-232c 技术标准 ;只需要单一 +5v 电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10v 和-10v 电压 v+、v- ;功耗低,典型供电电流 5ma ;内部集成 2 个 rs-232c 驱动器;内部集成两个 rs-232c接收器。2.2.7 点阵模块led 点阵:随着 led 应用领域的扩
42、大,要求生产更为直接和方便的 led 显示器件。因而出现了数码管、字符管、led 点阵、电平管等多种 led 显示器。不管显示器的结构怎么变,它的核心部件仍然是发光半导体芯片。本文用的是 8*8 点阵,它是由 64 个发光二极管按一个规律组成的,如图 2-9 所示: 图 2-9 点阵原理硬件电路图如图 2-10 所示: 图 2-10 点阵硬件电路3系统软件开发工具介绍3. 编译软件 keil51 概述 keil c51编译器是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil
43、c51编译软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。.2 keil c51 单片机编译开发系统的整体结构c51工具包的整体结构,其中uvision与ishell分别是c51 for windows和for dos的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide本身或其它编辑器编辑c或汇编源文件。然后分别由c51及a51编译器编译生成目标文
44、件(.obj)。目标文件可由lib51创建生成库文件,也可以与库文件一起经l51连接定位生成绝对目标文件(.abs)。abs文件由oh51转换成标准的hex文件,以供调试器dscope51或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如eprom中。3.3 系统硬件开发工具 protel99se 介绍protel99se是应用于windows9x/2000/nt操作系统下的eda设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3d模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编
45、程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。 protel 99se的系统组成: 按照系统功能来划分,protel99se主要包含以下两大部分和6个功能模块。(1)电路工程设计部分电路原理设计部分(advanced schematic 99):电路原理图设计部分包括电路图编辑器(简称sch编辑器) 、电路图零件库编辑器(简称schlib编辑器)和各种文本编辑器。本系统的主要功能是:绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。 印刷电路板设计系统(advanced pcb 99):印刷电路板设计系统包括印刷电路板编
46、辑器(简称pcb编辑器) 、零件封装编辑器(简称pcblib编辑器)和电路板组件管理器。本系统的主要功能是:绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。 自动布线系统(advanced route 99):本系统包含一个基于形状(shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现pcb设计的自动化。 (2)电路仿真与pld部分电路模拟仿真系统(advanced sim 99):电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。 可编程逻辑设计系统(advanced
47、pld 99):可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(waveform) 。本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。利用pld系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。 高级信号完整性分析系统(advanced integrity 99):信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析pcb设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。(3)protel 99 se的功能特性。开放式集成化的设计管理体系 ;超强功能的、修改与编辑功能 ;强大的设计自动化功能。3.4 小结设计硬件电路必须了解单片机系统是
48、由哪些部分组成。在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,晶振易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路(rom、ram) ,如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。实际上,印制电路板走线、引脚连线和接线等都可能含有较大的电感效应。大的电感可能会在 vcc 走线上引起严重的开关噪声尖峰。防止 vcc 走线上开关噪声尖峰的唯一方法,是在 vcc 与电源地之间安放一个 0.1uf 的电子去耦电容。如果电路板上使用的是表面贴装元件,可
49、以用片状电容直接紧靠着元件,在 vcc 引脚上固定。最好是使用瓷片电容,这是因为这种电容具有较低的静电损耗(esl)和高频阻抗,另外这种电容温度和时间上的介质稳定性也很不错。尽量不要使用钽电容,因为在高频下它的阻抗较高。在单片机控制系统中,地线的种类有很多,有系统地、屏蔽地、逻辑地、模拟地等,地线是否布局合理,将决定电路板的抗干扰能力。在设计地线和接地点的时候,应该考虑以下问题: 逻辑地和模拟地要分开布线,不能合用,将它们各自的地线分别与相应的电源地线相连。在设计时,模拟地线应尽量加粗,而且尽量加大引出端的接地面积。一般来讲,对于输入输出的模拟信号,与单片机电路之间最好通过光耦进行隔离。 在设
50、计逻辑电路的印制电路板时,其地线应构成闭环形式,提高电路的抗干扰能力。地线应尽量的粗。如果地线很细的话,则地线电阻将会较大,造成接地电位随电流的变化而变化,致使信号电平不稳,导致电路的抗干扰能力下降。在布线空间允许的情况下,要保证主要地线的宽度至少在 23mm 以上,元件引脚上的接地线应该在1.5mm 左右。对元器件的了解有助于电路和程序的设计,认真阅读熟悉各芯片的资料,对系统的总体方案更加明确,在硬件电路成本允许的情况下,尽可能的选择集成度高、功能完备的芯片。购买芯片的时候,必须选择信誉好的卖家和厂商,这样更能保证不会花很多时间在芯片的质量问题上。最好选择进口的芯片,避免不必要的问题出现。4
51、 软件部分4.1 整体程序设计软件部分主要包括数码管程序、键盘程序、ad 程序、da 程序、点阵程序、串口通信程序、液晶程序和其他简单模块程序。4.2 分模块程序设计依据开发板上硬件资源,进行程序的开发,在软件的设计过程中,采用模块化的设计方法,依次分别为每个模块设计软件。下面分别介绍以上各个模块的程序设计。4.2.1 键盘模块程序设计矩阵式键盘的按键识别方法为:判断键盘中有无键按下:将全部行线 key0-key3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无键按下。
52、判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 矩阵式键盘的按键编码处理:将行线和列线依次进行数值编码,然后进行一定规则的运算,就是对键值的编码。键盘程序流程图如图 4-1 所示:开始键盘扫描有键按下取键值yn原有键值不变键值送 p0口选通数码管 图 4-1 键盘程序流程键盘采用的是行扫描法确定键值,在程序中具体是这样扫描键盘的:将键盘扫描码送入 p2 口,先是使行线依次为低
53、电平,顺序为 key1、key2、key3、key4,在某一行线为低电平的状态下,读取 p2 口的状态,将状态值依次右移四位,这样便 key5-key8的状态值移到了低四位,再将高四位状态值置一,将处理后的状态值与当前的扫描码比较,如果此时的状态值与四个扫描码中的一个相同,证明有键按下,此时保存扫描码的数组下标和与状态值相等的扫描码数组下标,并将两个值按照键盘编码值进行某一规则的四则运算后返回给主函数中的某一变量;如果在全部行线依次为低电平情况下的状态值与四个扫描码中没有一个相同,证明没有键按下,返回-1 到主函数。在主函数中调用键盘扫描函数对键盘进行扫描,判断返回键值,若返回值不为-1,证明
54、右键按下,在某一个数码管上显示键值,若返回值为-1,证明没有键按下,显示先前按下的按键键值。4.2.2ad 模块程序设计adc0809 是 cm0s 的 8 位 a/d 转换器,片内有 8 路模拟开关,可控制 8 个模拟量中的一个进入转换器中。adc0809 的分辨率为 8 位,含锁存控制的 8 路多路开关,输出由三态缓冲器控制,单 5v 电源供电。adc0809 的管脚及主要控制信号时序图。其中,start 是转换启动信号,高电平有效;ale 是 3 位通道选择地址(addc、addb、adda)信号的锁存信号(当模拟量送至某一输入端(如 in1 或 in2 等)时,由 3 位地址信号选择,
55、而地址信号由 ale 锁存) ;eoc 是转换情况状态信号,当启动转换约 100s 后,eoc 产生一个负脉冲,以示转换结束;在 eoc 的上升沿后 9 若使输出使能信号 oe 为高电平,则控制打开三态缓冲器,把转换好的 8 位数据结果输出至数据总线。adc0809 的工作时序图如图 4-2 所示: 图 4-2 adc0809 工作时序ad 程序流程图如图 4-3 所示:开始启动 ad 转换输入方式选择输入通道选择读取数据数据处理与显示 图 4-3a/d 程序流程依据操作时序对 adc0809 编程,包括转换启动和 ad 值读取函数,在 ad 转换函数中可以选择 adc0809 的转换通道和输
56、入方式,即通道 0 或通道 1,单通道输入或差分输入。在主函数中循环读取某一通道的模拟电压值,将采集到的数据在液晶或数码管上显示出来。4.2.3 串口通信模块程序设计单片机通过 max232 与 pc 机通讯程序流程图 4-5 所示: 开始串口初始化保存数据发送数据ri 等于1ynti 等于1ri 置零ti 置零yn图 4-5max232 与 pc 机通讯程序流程在 pc 机串口调试助手的发送窗口发送数据到单片机,单片机接收到数据后发送给pc 机,并在串口调试助手接收窗口中显示。4.2.4 数码管显示模块程序设计数码管程序:数码管的显示方式可以分为动态和静态的。动态的也叫扫描方式,是利用发光二
57、极管的余辉效应和人眼的视觉暂留效应来实现的,只要在在一定时间内数码管的笔段亮的频率够快,人眼就看不出闪烁,一般外围硬件较少,但是对单片机资源耗用巨大。静态的也叫锁存方式,单片机送出数据后控制外围锁存器件锁存数据,这样数码管笔段里的电流不变,数码管稳定显示,这样单片机可以干别的活不用管数码管了。这种方案的优点是对单片机的 p 口资源和时间耗用很少,但是数码管的外围辅助电路复杂。在本程序中使用动态扫描法控制数码管显示,数码管程序流程图如图 4-6 所示:开始“4”段码送 p0口位码送 p1 口选中第四位数码管“3”段码送 p0口位码送 p1 口选中第三位数码管“2”段码送 p0口位码送 p1 口选
58、中第二位数码管“1”段码送 p0口位码送 p1 口选中第一位数码管 图 4-6 数码管程序流程p0 口提供数码管显示所需的段码,4、3、2、1 四位数字对应的共阴数码管的段码分别赋给变量 dis0、dis1、dis2、dis3,在主函数中,依次将dis0、dis1、dis2、dis3 送至 p0 口,由于八个数码管的每个段所对应的连线连在一起,只有被片选的数码管才会点亮。因此在将段码送至 p0 口的同时,还要用 p1 口送出位码片选中要显示的数码管,这样片选中的数码管就会显示特定的数字。程序中由低位到高位循环点亮数码管显示 4、3、2、1。由于间隔时间的总和小于 0.1 秒,根据人眼的视觉暂留
59、效应,四个数码管看起来同时点亮。lcd1602 显示程序:1602 液晶模块内部的控制器共有 11 条控制指令,如表 4-7 所示:序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001*3置输入模式00000001i/ds4显示开/关控制0000001dcb5光标或字符移位000001s/c r/l*6置功能00001dlnf*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram)10要写的数据内容11从cgram或ddram读数11读出
60、的数据内容 表 4-7 控制指令 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1 为高电平、0 为低电平)指令 1清显示,指令码 01h,光标复位到地址 00h 位置。指令 2光标复位,光标返回到地址 00h。指令 3光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移.高电平表示有效,低电平则无效。指令 4显示开关控制。d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5光标或显示移位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 视听制作服务协议
- 澄清剂采购合同
- 粮油产品品牌故事与情感营销考核试卷
- 矿山带电工作与电气安全管理考核试卷
- 纸品抗菌涂层研究考核试卷
- 红外热成像仪在公共安全中的应用考核试卷
- 毛皮服装设计与时尚界大师访谈考核试卷
- 信用合作社法人治理优化考核试卷
- 肥料制造工程与自动化生产技术研究考核试卷
- 五金行业人才培养与产业转型升级研究考核试卷
- 《化工工艺概论》解析
- 山泉水水厂可行性方案
- 医疗器械经营安全培训必备知识
- 化工公司bluesign认证资料准备清单20201201
- 建设用地报批服务投标方案(技术方案)
- 短引线保护引出线保护以及T区保护
- 完美公司玛丽艳美的观念
- 浙摄影版(2020)信息技术三年级上册第一课认识计算机(课件)
- 校园安全常识测试题卷
- 建筑用玻璃ccc标准
- 第一课中国人民站起来了
评论
0/150
提交评论