(完整版)单片机实时数据采集显示系统设计毕业论文.doc_第1页
(完整版)单片机实时数据采集显示系统设计毕业论文.doc_第2页
(完整版)单片机实时数据采集显示系统设计毕业论文.doc_第3页
(完整版)单片机实时数据采集显示系统设计毕业论文.doc_第4页
(完整版)单片机实时数据采集显示系统设计毕业论文.doc_第5页
免费预览已结束,剩余50页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南阳理工学院本科生毕业设计(论文)学院:电子与电气工程学院专业:电气工程及其自动化学生:赵晓婷指导教师:朱清慧完成日期2014年5月南阳理工学院本科生毕业设计(论文)单片机实时数据采集显示系统设计Design of Real Time Data Acquisition and DisplaySystemUsing MCU总计:29页表格:2个插图:18幅南阳理工学院本科毕业设计(论文)单片机实时数据采集显示系统设计Design of Real Time Data Acquisition and DisplaySystemUsing MCU学院:电子与电气工程学院专业:电气工程及其自动化学生姓名

2、:赵晓婷指 导 教 师(职称):朱 清 慧 (教授)评阅教师:完成日期:南阳理工学院Nanyang Institute of Technology单片机实时数据采集显示系统设计电气工程及其自动化专业赵晓婷摘要 本文介绍了单片机控制的实时数据采集系统的硬件和软件设计与仿真过程。硬件部分设计采用单片机AT89C51、字符液晶显示器( HD44780 控制器)、图形液晶显示器( KS0108 控制器)以及A/D 转换器 AD1674 等组成一个完整的单片机控制系统,并且使用8255A 芯片对AT89C51 的 I/O 口进行了扩展。系统程序采用模块化的编程思路,通过C语言进行编程设计,主要程序为A/

3、D 转换模块和液晶显示模块。最后,在Proteus 平台上进行了软件与硬件交互仿真,实现了系统各项性能指标要求。关键字 实时数据采集; AT89C51;液晶显示; C 语言Design of Real Time Data Acquisition and DisplaySystemUsing MCUElectrical Engineering and Automation Specialty ZHAO Xiao-tingAbstract:Thispaper introduces thedesignand simulation ofhardware and software of real tim

4、e data acquisition systemcontrolled bysingle chip microcomputer. The hardware design uses a single chip AT89C51, character liquid crystal display (HD44780 controller), LCD display (KS0108 controller) and A/D converter AD1674 to form a complete microcomputer control system, and using the 8255A chip h

5、as expanded the AT89C51 I/O port. System uses a modular design concept, through the C programming language, the main program for the A/D conversion module and liquid crystal display module. Finally, system conducts the software and hardware simulation on the Proteus platform, realizing the requireme

6、nts of performance indicatorsabout the system.Key words:Real time data acquisition;AT89C51;LCD ;C language目 录1 引 言 .2 系统方案设计 .2.1系统设计框图 . .2.2器件的选择 . .3 系统硬件组成及接口电路设计. .3.1系统硬件组成 . .3.2系统接口电路设计 . .3.2.1 AD1674 与 AT89C51的接口电路 .3.2.2 8255A与 AT89C51的接口电路 .3.2.3 KS0108 与 8255A的接口电路 .3.2.4 HD44780 与 8255

7、A的接口电路 .4 系统软件设计 .4.1系统主程序 . .4.2 AD1674 转换程序 .4.3 LCD12864 显示程序 .4.3.1温度曲线显示程序.4.3.2汉字显示程序 . .4.4 LCD1602 字符显示程序.5 系统仿真 .5.1软件介绍 .5.2 Proteus仿真 .结束语 .参考文献 .附录 .致谢 .1 引 言数据采集系统起始于20 世纪中期,在过去的几十年里, 随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。各种领域都用到了数据采集,在科学实验、地震数据采集等领域已经得到应用。我国的数字地震观测系统主要

8、采用TDE-124C 型 TDE-224C 型地震数据采集系统。近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的 TDE-324C 型地震数据采集系统。该数据采集对拾震计输出的电信号模拟放大后送至 A/D 数字化, A/D 采用同时采样,采样数据经 DSP 数字滤波处理后,变成数字地震信号。该数据采集系统具备 24 位 A/D 转化位数,采样频率有 50Hz、100Hz、200Hz。由美国 PASCO 公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由三部分组成:( 1)传感器:利用先进的传感技术可实时采集物理实验中各物理量的数据;( 2)计算机接口:

9、将来自传感器的数据信号输入计算机, 采样速率最高为 25 万次每秒;( 3)软件:中文及英文的应用软件。同时工业生产控制系统中离不开显示,而液晶显示控制器的应用越来越广泛。此课题结合工业控制系统中常用的几种液晶显示控制器,用单片机对其进行控制。以Proteus 为设计和仿真平台,对字符液晶显示器和图形液晶显示器进行各种显示控制设计,目的在于扩展单片机控制系统知识,熟练掌握几种常用的液晶显示器的控制原理和使用方法,为日后综合控制系统中液晶显示器的使用打下坚实基础。本设计分为 A/D 转换部分和 LCD 液晶显示部分两部分设计:A/D 转换部分是通过选择一路模拟通道输入,进入 A/D 转换器进行转

10、换,转换后送入单片机进行处理,同时通过滑动变阻器进行数值的变换。LCD 液晶显示部分分曲线图显示部分和数值字符显示部分,通过其控制器与单片机的接口编程实现正确显示。而本设计具体的技术要求如下:双液晶屏显示,一个显示数值字符,一个实时绘图(二维),温度用一位小数和两位整数表示,并能显示负值;要求 A/D 转换器的精度在 12 位;单片机采用 AT89C51,在 Keil 中用汇编或 C 语言进行编程;在 Proteus对系统进行仿真并调试出结果。要做到以上要求就需要对设计需要的每一个元件其作用十分清楚,进行正确的单片机接口电路的设计,再通过软件编程实现实时数据的显示。2 系统方案设计2.1系统设

11、计框图系统设计框图如图1 所示。图 1 系统设计框图系统是以单片机为核心器件,控制LCD 进行图形和字符的显示。采用 A/D 转换器将输入的模拟信号转换成数字信号后送入单片机进行处理,后由单片机送出,通过 I/O 扩展芯片将采集转换后的数据分别送入字符液晶显示器和图形液晶显示器进行显示。当然两个液晶显示器的一些引脚还要受单片机的控制,这样不断改变采集数值,实现实时采集系统的设计。2.2器件的选择( 1)单片机的选择单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路( I/O 口),还有可能包括定时 / 计数器

12、、串行通信口、显示驱动电路( LCD 和 LED 驱动电路)、脉宽调制电路、 模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机系统。单片机要使用特定的组译和编译软件编译程序,再用Keil C 把程序下载到单片机内。考虑到应用的灵活性,方便性,在此设计中选择AT89C51单片机 1。( 2) A/D 转换器的选择A/D 转换器根据需要有8 位、 10 位、 12 位、 16 位等,位数越多分辨率越高,价格也就越昂贵,因此就有了以下几种分类:逐次逼近型:它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。积分型:此类型其优点是用简

13、单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。并行比较型:此类型采用多个比较器,仅作一次比较而实行转换,又称 Flash( 快速 ) 型。由于转换速率极高, n 位的转换需要 2n-1 个比较器,因此电路规模也极大,一般情况下不建议使用。根据以上几种分类的介绍以及所了解的实际应用情况,在此采用逐次逼近型的。又考虑到设计所需要的精度要求在此选择了12 位 A/D 转换器AD1674。( 3) LCD 显示器的选择由于设计技术的要求和应用广泛性的要求在此选择了采用LGM12641BS1R ( KS0108 控制器)进行汉字和图形的显示, 采用 LM016L( HD4

14、4780 控制器)进行数值字符的显示,即为温度数值的显示。这部分采用 8255A 芯片来扩展单片机的输入输出口, 从而实现将同一数据进行字符和图形的显示,同时显示的汉字和图形所用的代码是通过点阵取模软件获得的。3 系统硬件组成及接口电路设计3.1系统硬件组成本设计中采用单片机AT89C51 、12 位 A/D 转换器 AD1674、字符液晶显示器( HD44780 控制器) LM016L 、图形液晶显示器( KS0108 控制器)LGM12641BS1R 、可编程扩展I/O 口芯片 8255A、74LS373 地址锁存器,74LS138 译码器等器件组成。通过对各自的控制,实现系统的设计。系统

15、硬件接线原理图见附录所示。AT89C51 是硬件电路组成的核心器件,所有的器件都要通过它来工作,所以在此先简单介绍一下。AT89C51 是美国 ATMEL 公司生产的低电压, 高性能 CMOS8 位单片机,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统。片内置通用8 位中央处理器( CPU)和 Flash 存储单元,功能强大。 AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:4k 字节可重擦写 Flash 闪速存储器;1000 次擦写周期;全静态操作: 0Hz 24MHz ;1288 字节内部 RAM ;

16、32 个可编程 I/O 口: P0 P3,每一个 I/O 口都有 8 位;2 个 16 位定时 / 计数器;5 个中断源;可编程串行 UART 通道;低功耗空闲和掉电模式;除此之外它本身具有振荡器和时钟电路,掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位;空闲方式停止 CPU 的工作,但允许 RAM ,定时 / 计数器,串行通信口及中断系统继续工作 2。AT89C51 引脚结构图如图 2 所示。图 2 AT89C51 引脚结构图如图所示它共有 40 个引脚,其中 40 和 20 引脚分别为 VCC 和 GND , 在此隐藏了。 P0 口是一组 8 位漏极

17、开路型双向 I/O 口,也是地址 / 数据总线复用口; P1、P2 和 P3 全是内部带上拉电阻的8 位双向 I/O 口;P3 口除了作为一般的 I/O 口线外,还可以作控制端口;在访问外部程序存储器或16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据;RST :复位输入;ALE :当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节;:程序储存允许输出 , 是外部程序存储器的读选通信号;:外部访问允许使能端;XTAL1 :反相振荡放大器及内部时钟发生器的输入端;XTAL2 :反相振荡放大器的输出端。3.2系统接口电路设计3.2.1AD167

18、4与 AT89C51的接口电路AD1674 是美国 AD 公司推出的一种12 位带并行微机接口的逐次逼近型模 /数转换芯片。该芯片内部自带采样保持器( SHA )、 10 伏基准电压源、时钟源以及可和微处理器总线直接接口的暂存 / 三态输出缓冲器 3 。AD1674 的基本特点和参数如下:采样频率为 100kHz;转换时间为 10s;具有 1/2LSB 的积分非线性( INL )以及 12 位无漏码的差分非线性( DNL );满量程校准误差为0.125%;内有 +10V 基准电源,也可使用外部基准源;四种单极或双极电压输入范围分别为5V ,10V,0V 10V 和 0V20V;数据可并行输出,

19、采用8/12 位可选微处理器总线接口;采用双电源供电:模拟部分为12V/ 15V ,数字部分为 +5V;使用温度范围 :AD1674A/B 为-40 85( I 级);采用 28 脚密封陶瓷 DIP 封装形式。AD1674 的引脚结构图如图3 所示。图 3 AD1674 的引脚结构图12/:数据输出位选择输入端。当该端输入为低时,数据输出为双8 位字节;当该端输入为高时,数据输出为单12 位字节;CS:片选信号输入端;CE :操作使能端;输入为高时,芯片开始进行读/ 转换操作;STS:转换状态输出端。输出为高时表明转换正在进行;输出为低时表明转换结束。VCC :+12V/+15V 模拟供电输入

20、;VEE :-12V/-15V 模拟供电输入;AGND :模拟接地端;R/ :读 / 转换状态输入端。在完全控制模式下,输入为高时为读状态;输入为低时为转换状态;在独立工作模式下,在输入信号的下降沿时开始转换。A0:位寻址 / 短周期转换选择输入端。在转换开始时,若A0为低,则进行12 位数据转换;若A0为高,则进行周期更短的8 位数据转换;当R/=1 且 12/=0 时,若 A0 为低,则在高 8 位( DB4 DB11)作数据输出;若 A0 为高,则在 DB0 DB3 和 DB8 DB11 作数据输出,而 DB4DB7置零;DB11 DB8:在 12 位输出格式下,输出数据的高4 位;在

21、8 位输出格式下,A0 为低时也可输出数据的高4 位;10VIN :10V 范围输入端,包括20VIN :20V 范围输入端,包括REF IN :基准电压输入端,在0V 10V 单极输入或 5V 双极输入;0V 20V 单极输入或 10V 双极输入10V 基准电源上接 50? 电阻后连于此端;REF OUT : +10V 基准电压输出端;BIP OFF :双极电压偏移量调整端,该端在双极输入时可通50? 电阻REF OUT 端相连。AD1674 控制逻辑真值表如表1 所示 3。表 1AD1674 控制逻辑真值表CECSR/12/A0执行操作0无操作1无操作1000启动 12 位数据转换1001

22、启动 8 位数据转换1011允许 12 位并行输出10110允许高8 位并行输出10101允许低4 位并行输出在本次设计中采用的是双极性输入模式,其与单片机的接口电路如图4 所示。图 4 AD1674 与 AT89C51 的接口电路图中显示采用的是双极性接法,所以加了正负电源,模拟输入采用量程为 10V 即为双极 5V 双极输入。电压偏移量调整端在双极输入时通过50? 电阻与 REF OUT 端相连。 DB0 DB11 为 12 位数据输出端, 转换过后通过控制 A0 的状态来控制输出,此位由单片机的P3.1 来控制。为了实现分两次送出正确的的数据到达单片机,P1 口加了上拉电阻。 同时也为了

23、防止单片机发热引起的可靠性降低,使得最终显示状态发生问题,从而加入排阻,也因此得出如上图的连接 4。3.2.2 8255A与 AT89C51的接口电路8255A 是一种可编程的I/O 接口芯片,可以与MCS-51 系统单片机以及外设直接相连,广泛用作外部并行I/O扩展接口。8255A 引脚结构图如下图5 所示。图 5 8255A 引脚结构图( 1) 8255A 引脚功能:D0-D7 :数据总线共 8 条, 用于传送 CPU 和 8255A 间的数据、命令和状态字;RESET :复位线,高电平有效;:片选线,低电平有效;、:为读命令线,为写命令线,皆为低电平有效;A0、A1:地址输入线:用于选中

24、PA、 PB、 PC 口和控制寄存器中哪一个工作;PA7PA0: A 组, 支持工作方式 0、1、2,常作数据端口;PB7PB0: B 组,支持工作方式0、 1 常作数据端口;PC7 PC0: C 组,仅支持工作方式0,可作数据、状态和控制端口,分两个 4 位每位可独立操作控制最灵活,最难掌握;( 2) 8255A 控制字和状态字8255A 通过控制字可设定为3 种工作模式:方式0,方式 1,方式 2。工作方式 0 为基本的输入 / 输出工作方式;方式 1 为选通输入 / 输出工作方式,在这种工作方式下,选通信号与输入 / 输出数据一起传送,由选通信号对数据进行选通;方式 2 为带选通双向总线

25、 I/O 方式,所以方式 2 又称为双向传输方式 2。控制字有两个,一个是工作方式控制字,用于8255A 的初始化;另一个是 C 口位控制字,用于C 口的位操作。这两个控制字使用同一口地址,由最高位 D7 区分,若 D7 为 1,此控制字为 8255A 的工作方式控制字; 若D7 为 0,此控制字为 8255A 的 C 口的位控制字。方式控制字用于设定8255A三个端口工作于什么方式, 是输入还是输出方式。 C 口置位 / 复位控制字可以使 C 口各位单独置位或复位,以实现某些控制功能。( 3) 8255A 与单片机 AT89C51 的接口电路连接如图6 所示。图 6 8255A 与单片机 A

26、T89C51 的接口电路单片机 AT89C51 的 P0 口做输出口时,需要加上拉电阻,从而得图中连接;同时 8255A 作 I/O 口扩展时需要加锁存器和译码器,此决定8255A芯片选通,并决定其输出口PA、PB、PC 哪路输出数据。这样可将同一数据同时送于不同的液晶显示器进行显示,除此之外利用译码器可以选择哪路数据选通,当外接电路较复杂时,任务分配较清晰,控制方便2。3.2.3 KS0108 与 8255A的接口电路KS0108 是一种点阵液晶图形显示控制器,具有 512 字节的显示 RAM和 8 位并行数据总线。 Proteus中内置 KS0108 控制器的 12864 图形液晶显示器如

27、图 7 所示。图 7KS0108 控制器的液晶显示器结构图中,图形液晶显示器共有18 个引脚,其中 DB0DB8 为 8 位并行数据总线,- Vout 为负电压输出,与调压输入端 Vo 及滑动变阻器一起连接,作为 LED背光调压使用。是低电平复位端。 E 为使能端, R/W 、DI 分别为读 / 写选择端和命令 / 数据选择端, VCC ( 4.5V 5.5V) 和 GND 为电源端。CS1 和 CS2 分别为左右半屏的片选信号,高电平有效5。KS0108 控制器的指令汇总如以下表 2 所示。指令名称控制状态指令代码DIR/D7DD5D4DDDD0W6321显示开关设置000011111D显示

28、起始行设0011L5L4L3L2LL0置1页面地址设置0010111P2PP01列地址设置0001C5C4CCCC0321读取状态字01BUSY0ON/OFRES0000FET写显示数据10数据读显示数据11数据表 2 KS0108 控制器的指令表( 1) BUSY=1 表示 KS0108 正在处理计算机发来的指令或数据;BUSY=0 表示 KS0108 接口控制电路已处于“准备好”状态,等待计算机的访问。( 2)ON/OFF :表示当前显示状态,为 1 表示关显示状态,为 0 表示开显示状态。( 3) RESET :表示当前 KS0108 的工作状态,即反映 RST 端的电平状态。当 RST

29、 为低电平状态时, KS0108 处于复位工作状态, RESET=1 ;当 RST 为高电平状态时, KS0108 处于正常工作状态, RESET=0 。( 4) L5L0 为显示起始行的地址,取值在 0 3FH ( 1 64) 范围内。( 5)P2P0 确定当前所要选择的页面地址,取值在07H , 代表 18 页。( 6)C5 C0=0 3FH ( 1 64) 代表某一页面上的某一单元地址, 随后的一次读或写数据将在这个单元上进行。KS0108 控制器与 8255A 的接口电路如图8 所示 6。图 8 KS0108 控制器与 8255A 的接口电路DB0DB8 与 PB0PB7 相连接送数据

30、,用 8255A 的 PC2 来选通此控制器,让其进行工作,用 PC1 和 PC0 分别控制读 / 写选择端和命令 / 数据选择端。 CS1 和 CS2 控制屏的显示范围, 这里有单片机的引脚进行控制。 3.2.4 HD44780 与 8255A的接口电路HD44780 是一种点阵液晶显示控制器,用来控制字符液晶显示器, 目前应 用比较广泛。它有以下特点:内置 CGROM 字符发生器,含192 个固定字符,可供用户显示调用;内置 CGRA M字符发生器,用户通过编程设计最多8 个自定义字符,存放其中,供显示调用;内置 DDRAM 显示数据存储器, 可以存放最多 80 个显示字符, 把CGROM

31、 或 CGRAM 中的显示数据调入DDRAM ,便可在显示屏上显示,DDRAM 中的单元和显示屏的位置存在一一对应关系;自动复位上电功能;双向 8 位或 4 位总线接口;丰富的控制指令: 清显存、光标位置设置、 数据输入时光标或数据移位设置、开或关显示屏等;HD44780 模块有两个寄存器,一个用来输入指令,另一个用来读写数据。指令用来告诉模块怎样存放或哪里存放数据 6。Proteus中内置 HD44780 控制器的字符液晶显示器如下图9 所示。图 9HD44780 控制器的字符液晶显示器RS: 命令或数据选择端, 当 RS=0 时,总线上传送的是命令; 当 RS=1 时,总线上传送的是数据。

32、RW :读 / 写选择端,当RW=0 时,为写操作;当RW=1 时,为读操作。D0D7:总线数据,可以传送命令, 也可以传送数据, 由 RS 来控制。HD44780 控制器与 8255A 的接口电路如图10 所示。图 10 HD44780 控制器与 8255A 的接口电路由于 8255A 在此设计中只用到了 A 口和 B 口用作数据端口, 因而 C 口就作了控制端口,从而有图可知 HD44780 控制器的使能端 E 和命令或数据选择端 RS 受 8255A 的 PC5 和 PC7 控制。D0D7 与 PA0 PA7 相连接,将数据送入显示器进行显示。4 系统软件设计4.1系统主程序软件设计时,

33、需要先搞清楚总体的设计方案,从而用流程图来展示主程序。当信号输入时,主程序启动,根据内部设定的条件逐步运行,达到设计目的。主程序执行的流程图如下图11 所示。开始初始化显示设定值启动A/D转换数值处理显示实际温度显示温度曲线图图 11主程序执行流程图由上的流程图可知,程序先从主函数开始即main()函数。在主函数中进行变量的定义和赋值,以及子函数的调用指令,即所谓的初始化。之后进行定义数组,将所要显示的设定值赋予此数组,这样一上电就可显示设定值,也就定义了显示范围。此后调用A/D 转换子函数,进行模 / 数转换,由于单片机只能处理8 位数据,所以要进行两次数据的送入单片机,即所谓的数值处理。

34、12 位转换值通过 8255A 进行 I/O 扩展,后同时送入液晶显示器进行温度曲线图和温度数值的实时显示 7。4.2 AD1674 转换程序AD1674 是 12 位 AD 转换器, AT89C51 只能一次接收 8 位数据,所以要分两次转换。首先要对其进行初始化,使得CE =0 关闭数据采集,后令CE =1, CS=0,RC =1,12/=1, A0=0,允许高八位数据并行输出,读取转换结果的高8 位,后送入P1 口,使CE = 0,芯片使能关闭。再令CE =1, CS=0, RC =1, 12/=0, A0=1,允许低四位数据并行输出,再读取转换结果的低 4 位,关闭芯片,再对读取的数据

35、进行整合成12 位数据。之后对数值进行判断,进行正确的显示。由此得出流程图如图12 所示。开始初始化A0=1?否是高8位数据低 4位数据整合数值Biaozhiwei=0?否显示正值是显示负值图 12 AD1674 转换流程图4.3 LCD12864 显示程序4.3.1温度曲线显示程序温度曲线显示程序流程图如图13 所示。查忙LCD12864 写指令LCD12864 写数据LCD12864 读指令LCD12864 读数据画坐标显示温度曲线图图 13 温度曲线显示程序流程图执行此程序前先要检查LCD 是否在忙,若忙不执行,不忙执行写指令,准备数据的写入,有了写命令后,进行数据的写入。数据写入之后,

36、此控制器要读取其值以便进行显示,所以执行读指令和读数据。数据读入正确后,执行坐标函数,进行描点,之后可得显示图形。LCD12864 的读 /写依靠控制端CS1 和 CS2 进行控制,而CS1 和 CS2 是由单片机的 P3.4和 P3.5 进行控制,此端口控制屏的显示范围。其最主要的是坐标函数,需要规定首行和首列,以及页码。规定好后进行描点,而点的代码通过点阵取模软件绘图获得 8。4.3.2 汉字显示程序汉字显示程序流程图如图14 所示。初始化LCD12864写指令页列值设置LCD12864写数据曲线图汉字显示图 14汉字画显坐示标函数流程图此部分程序主要是执行汉字显示函数void show(

37、),在这显示之前,显示温度曲线图先需要对要显示的汉字进行初始化,之后执行LCD12864 写指令,后再 设定汉字的页码,因而在此设定显示首页地址为0xb8,首列地址为0x40,列地址会自动加 1, 执行后执行曲线图点阵代码,即所获得需要的汉字,后执行显示函数,这样得以实现曲线图的显示功能,从而完成此部分设计8。4.4 LCD1602 字符显示程序此部分程序包括对1602 的初始化函数、写命令函数、写数据函数和LCD160 2 的实时显示函数几部分组成,所以可得流程图如图15 所示。开始1602 初始化1602 写命令1602 写数据Biaozhiwei=0?否是显示正值显示负值图 15 LCD

38、1602 字符显示流程图由流程图可知要想显示数值,首先要定义变量,之后进入主函数main() 。接下来要规定哪一行进行显示,在这里选择第一行,占用前16个字节进行温度值的显示, 这就是 1602 的初始化。定义好预设值后要进行显示这就需要取值,每一位显示什么,这需要对采集转换好的数值进行处理,将每一位取出来, 综合后实时显示。 完成之后要先执行1602 写命令和写数据函数,当打开屏幕时,通过判断温度标志位为1 还是 0,进行正确数值的显示,当标志位为0 时显示负温度值,为1 时显示正温度值,这样完成显示。5 系统仿真5.1软件介绍进行系统仿真之前首先要完成硬件和软件两部分,在此之前先要了解一些

39、软件。( 1) C51 集成开发软件 Keil C此软件是美国 Keil Software 公司出品的 51 系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,因此使用起来十分方便 9。( 2) Proteus软件Proteus是由 LabcenterElectronics开发的功能强大的单片机仿真软件,与其他的仿真软件相比较,在下面的优点:能仿真模拟电路、数字电路、数模混合电路;能绘制原理图、 PCB 图;几乎包括实际中

40、所有使用的仪器其最大的亮点在于能够对单片机进行实物级的仿真。从程序的编写,编译到调试,目标版的仿真一应俱全。支持汇编语言和 C 语言的编程 , 还可配合 Keil C 实现程序的联合调试,将 Proteus中绘制的原理图作为实际中的目标板,而用 Keil C 集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同,并且支持多显示器的调试5。( 3)点阵取模软件此软件是为了进行液晶显示而设计的,只要输入所需要的图片或汉字,点击取模方式,就可得到所需要的点阵代码,之后写入 LCD 模块中指定的位置执行显示函数就可以实现所需要的功能。例如将其显示汉字“赵”字,这样需要先在输入口

41、输入此字,后选择输出格式,从而获得所需代码,获取图如图16 所示 8。图 16 取字代码获取图5.2 Proteus仿真打开 Proteus ISIS,进入 Proteus ISIS 编辑环境,将所需要的元器件调用出来后进行正确连接,连接好后进行保存。在点阵取模软件中绘制所需要的图形和汉字,之后选择取模方式,在这里选择 C51 方式获得点阵代码。在 Keil Vision4编程软件中进行C 语言程序的编写,然后在Keil 中生成的“ *. hex”程序文件。步骤是选择工程管理窗口的Target1,再选择Project-Option for Target Target1,打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target 选项卡中设置晶振频率。选择Output 选项卡,然后选中Create HEX File,其它选项卡内容一般可取默认值。工程设置后按F7 键(或点击编译工具栏上相应图标)进行编译生成“ *. hex”十六进制的目标文件。HEX 文件生成窗口如图17 所示 1011。图 17HEX 文件生成窗口将在 Keil C 中生成的 . he

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论