单片机C语言开发与应用技术案例详解课件

上传人:汽*** 文档编号:570285952 上传时间:2024-08-03 格式:PPT 页数:55 大小:981.50KB
返回 下载 相关 举报
单片机C语言开发与应用技术案例详解课件_第1页
第1页 / 共55页
单片机C语言开发与应用技术案例详解课件_第2页
第2页 / 共55页
单片机C语言开发与应用技术案例详解课件_第3页
第3页 / 共55页
单片机C语言开发与应用技术案例详解课件_第4页
第4页 / 共55页
单片机C语言开发与应用技术案例详解课件_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《单片机C语言开发与应用技术案例详解课件》由会员分享,可在线阅读,更多相关《单片机C语言开发与应用技术案例详解课件(55页珍藏版)》请在金锄头文库上搜索。

1、魏伟中国化学工业出版社中国化学工业出版社单片机单片机C语言语言开发与应用案例详解开发与应用案例详解 1单片机C语言开发与应用技术案例详解51系列单片机开发的基础知识单片机软件开发工具LED显示模块液晶显示模块D/A转换与A/D转换模块MCS-51单片机与键盘接口串行接口模块单相交流多用表设计实例程控直流电压电流表设计实例主要内容主要内容2单片机C语言开发与应用技术案例详解第第1 1章章 51系列单片机开发的基础知识单片机应用系统的一般硬件组成由于单片机主要用于工业测控,其典型应用系统应包括单片机系统、用于测控目的前向传感器输入通道,后向伺服控制输出通道以及基本的人机对话通道。大型复杂的测控系统

2、是一个多机系统,还包括机与机之间进行通信的互相通道。典型单片机应用系统结构如图1.1所示。1.1 单片机应用系统开发单片机应用系统开发3单片机C语言开发与应用技术案例详解图1.1 典型单片机应用系统结构 4单片机C语言开发与应用技术案例详解1.2单片机应用系统开发过程单片机应用系统开发过程单片机应用系统开发流程如图1.3所示。其开发过程如下:(1)系统需求与方案调研。(2)可行性分析。(3)系统方案设计。(4)系统详细设计与制作。(5)系统调试与修改。(6)生产样机。(7)生成正式系统或产品。5单片机C语言开发与应用技术案例详解图 1.3 单片机应用系统开发流程图 6单片机C语言开发与应用技术

3、案例详解1.3单片机应用系统的一般开发流程单片机应用系统的一般开发流程1确定系统的功能与性能确定系统的功能与性能2确定系统基本结构3单片机应用系统硬、软件的设计原则4硬件设计5软件设计6资源分配7单片机C语言开发与应用技术案例详解1.4单片机应用系统调试单片机应用系统调试1.单片机应用系统调试工具单片机开发系统单片机开发系统万用表万用表逻辑笔逻辑笔逻辑脉冲发生器与模拟信号发生器逻辑脉冲发生器与模拟信号发生器示波器示波器逻辑分析仪逻辑分析仪2.单片机应用系统的一般调试方法硬件调试硬件调试软件调试软件调试8单片机C语言开发与应用技术案例详解第2章单片机软件开发工具2.1Keil软件简介软件简介Ke

4、il软软件件公公司司的的8051单单片片机机软软件件开开发发工工具具可可用用于众多的于众多的8051派生器件以实现嵌入式应用。派生器件以实现嵌入式应用。Keil提提供供工工业业用用的的8051开开发发工工具具。为为了了帮帮助助你你熟熟悉悉我我们们是是如如何何分分配配工工具具的的,下下面面介介绍绍工工具具套套件件的的概概念念。工工具具套套件件是是几几个个应应用用程程序序的的集集合合,这这些些程程序序用用来来创创建建8051应应用用系系统统。使使用用汇汇编编器器汇汇编编8051汇汇编编程程序序,使使用用编编译译器器将将C源源代代码码编编译译成成目目标标文文件件,使使用用连连接接器器创创建建一一个个

5、绝绝对对目目标标文件模块供仿真器使用。文件模块供仿真器使用。9单片机C语言开发与应用技术案例详解2.28051开发工具开发工具1.8051开发工具2.KeilC51编译器3.A51宏汇编器10单片机C语言开发与应用技术案例详解2.38051开发工具的使用开发工具的使用Vision是一个集成软件开发平台。其中包含了编辑器、项目管理器和程序生成器。Vision支持所有的Keil8051,251和166工具。Vision提供以下特性帮助用户加快嵌入式应用的开发过程:双击KeilVisionIDE的图标,启动KeilVisionIDE程序,你会得到图2.2所示的KeilVision2IDE的主界面。通

6、过用Project菜单中的NewProject命令建立项目文件,过程如下:11单片机C语言开发与应用技术案例详解图2.2 Keil Vision IDE的主界面12单片机C语言开发与应用技术案例详解第3章 LED显示模块该例子的功能是要在51单片机系统中使用专用的LED显示芯片实现8位LED数码管的显示,主要可以分为三个部分:LED显示驱动芯片和单片机的接口电路LED显示驱动芯片和8位数码管的接口电路单片机控制LED显示驱动芯片实现8位数码管显示的C语言程序3.13.1实例说实例说明明13单片机C语言开发与应用技术案例详解3.2设计思路分析MAX7219是一种串行接口的8位LED数码管显示驱动

7、器。它与通用微处理器只有3根串行线相连,最多驱动8个共阴级数码管或64个发光二级管。它内部有可存储显示信息的88静态RAM,动态扫描电路,以及段、位驱动器。其主要特点包括:串行接口的传输速率可达10MHz;独立的发光二极管控制;译码与非译码两种显示方式可选;数字与模拟两种亮度控制方式;可以级联使用。由于MAX7219集成度高,驱动能力强,亮度可调,编程容易,与单片机接口十分简单,占用单片机的接口资源少,成为单片机应用系统中首选的LED显示接口电路。14单片机C语言开发与应用技术案例详解3.3硬件电路设计MAX7219与8051单片机连接采用三线串行接口,典型应用电路如图3.4所示。具体连接方式

8、参见图3.5和图3.6。图3.4 MAX7219与8051应用电路原理图15单片机C语言开发与应用技术案例详解图3.5基于MAX7219的8位数码管显示电路单片机部分 16单片机C语言开发与应用技术案例详解3.4软件设计软件设计软件设计是本章的重点,在软件设计之前应仔细阅读3.2节有关MAX7219时序和内部寄存器部分。在这里,仅给出相关程序代码。源程序如下:/max7219leddriveprogram#include/*/通用符号宏定义#defineHIGH1#defineLOW0#defineTRUE1#defineFALSE0#defineZERO0#defineMSB0x80#def

9、ineLSB0x01/max7219part#defineDECODE_MODE0x09#defineINTENSITY0x0A#defineSCAN_LIMIT0x0B#defineSHUT_DOWN0x0C#defineDISPLAY_TEST0x0F17单片机C语言开发与应用技术案例详解第4章液晶显示模块4.1实例说明实例说明对于现在流行的嵌入式电子产品,如便携式仪对于现在流行的嵌入式电子产品,如便携式仪表、智能电器、消费类电子产品等,显示输出表、智能电器、消费类电子产品等,显示输出模块是必不可少的。液晶显示已得到广泛地应模块是必不可少的。液晶显示已得到广泛地应用。用。本章将介绍如何在本

10、章将介绍如何在51单片机系统中实现液晶显单片机系统中实现液晶显示。总的来说,本例是要实现这样的功能:示。总的来说,本例是要实现这样的功能:在在51单片机上运行单片机上运行C语言程序,通过单片机与语言程序,通过单片机与液晶模块靡靡之间的接口电路,控制液晶模块,液晶模块靡靡之间的接口电路,控制液晶模块,显示需要的内容,并控制显示的格式。显示需要的内容,并控制显示的格式。18单片机C语言开发与应用技术案例详解4.3硬件电路设计本例中液晶显示模块选用图形液晶显示模块GXM12864,它内含KS0108B/HD61202控制器,是一种采用低功耗CMOS技术实现的点阵图形LCD模块,有8位的微处理器接口,

11、通过内部的DDRAM实现128点64点大小的平板显示。该液晶显示模块使用KS0108B作为列驱动器,同时使用KS0107B作为行驱动器。KS0107B不与CPU发生联系,只要提供电源就能产生行驱动信号和各种同步信号,比较简单。GXM12864的内部逻辑电路如图4.2所示。19单片机C语言开发与应用技术案例详解图4.2液晶显示模块GXM12864内部逻辑电路图20单片机C语言开发与应用技术案例详解由于内部液晶控制器的存在,单片机可直接与GXM12864相连,不必使用其它的接口芯片。单片机采用Atmel公司的AT89C52,将液晶模块作为存储器的一部分,直接进行I/O操作。其工作原理如图4.4所示

12、。图4.4单片机模块工作原理图21单片机C语言开发与应用技术案例详解4.4软件设计软件设计本例软件设计的重点在于对液晶显示模块的驱动。由于内含GXM12864控制驱动器,所以需要了解控制器的指令集并掌握如何使用。本例中经常用到液晶显示,包括屏幕提示、键盘输入值的显示以及行驶中状态信息的显示。要编写正确的液晶显示程序,必须掌握所用液晶模块的指令集。22单片机C语言开发与应用技术案例详解第5章D/A转换与A/D转换模块一般来说,自然界中存在的物理量大都是连续变化的物理量,如温度、时间、角度、速度、流量、压力等。由于数字电子技术的迅速发展,尤其是计算机在控制、检测以及许多其他领域中的广泛应用,用数字

13、电路处理模拟信号的情况非常普遍。这就需要将模拟量转换为数字量,这种转换称为模数转换,用A/D表示(AnalogtoDigital);而将数字信号变换为模拟信号叫做数模转换,用D/A表示(DigitaltoAnalog)。带有模数和数模转换电路的测控系统大致可用图5.1所示的框图表示。23单片机C语言开发与应用技术案例详解图5.1一般测控系统框图24单片机C语言开发与应用技术案例详解5.1基于基于MAX527的并行的并行D/A转换器设计实例转换器设计实例5.2设计思路分析设计思路分析本例实现的是基于本例实现的是基于51单片机控制的单片机控制的D/A转换系转换系统,设计这样的系统时,需要着重考虑下

14、面统,设计这样的系统时,需要着重考虑下面3个方面的内容。个方面的内容。1.如何针对系统需求选择合适的如何针对系统需求选择合适的D/A转换器件;转换器件;2.如何根据所选的如何根据所选的D/A转换器件设计外围电路转换器件设计外围电路以及与单片机的接口电路以及与单片机的接口电路;3.如何编写控制如何编写控制D/A转换器件实现转换器件实现D/A转换的转换的接口程序。接口程序。25单片机C语言开发与应用技术案例详解5.4硬件电路设计硬件电路设计本例选用Maxim公司出品的4路12位电压输出型高精度D/A转换器MAX527。MAX527采用5V供电,8位数据总线(D0D3复用产生12位输入的高4位),数

15、据通过两次写操作(低8位LSB,高位MSB)装入各输入寄存器,并通过异步装载输入信号将寄存器中的数据再装入DAC寄存器。MAX527芯片的引脚分布如图5.4所示。26单片机C语言开发与应用技术案例详解图5.4MAX527芯片的引脚分布27单片机C语言开发与应用技术案例详解5.5软件设计单片机实现D/A转换程序的流程如图5.8所示。图5.8单片机实现D/A转换的程序流程28单片机C语言开发与应用技术案例详解5.7A/D转换器的接口设计实例转换器的接口设计实例5.7.2设计思路分析设计思路分析本例要实现的一个51单片机A/D转换系统,设计这样的系统时,需要着重考虑下面几个方面的内容。1.如何针对系

16、统需求选择合适的A/D转换器件;2.如何根据所选的A/D转换器件设计外围电路以及与单片机的接口电路;3.如何编写控制A/D转换器件实现A/D转换的接口程序。29单片机C语言开发与应用技术案例详解5.9MAX195电路设计电路设计图图5.23为为AT89C51与与MAX195接口的硬件电路图。接口的硬件电路图。图5.23AT89C51与MAX195接口电路图30单片机C语言开发与应用技术案例详解第6章MCS-51MCS-51单片机与键盘接口单片机与键盘接口键盘是嵌入式系统中人机交互界面不可缺少的外围设备,是最常用的输入设备。在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入指令、命令控

17、制、程序生成以及对系统进行调试执行,实现简单的人机通信。常用的按键接口方式有中断方式、查询方式、矩阵扫描方式等。31单片机C语言开发与应用技术案例详解6.2硬件电路设计硬件电路设计按键与单片机的中断接口是一种常用的按键与单片机接口方式。这种方式的最大优点是不占用程序运行时间,响应快。按键的中断的接口方式的实现方法有多种,图6.4是中断方式的按键接口电路,图6.4(a)中采用二极管实现中断申请中的或逻辑关系,只要有键按下,就会出现中断申请新号。在中断服务程序中,通过查询I/O口的状态确定哪个按键按下后,再去做相应的处理。图6.4(b)中使用常用按键开关的一组触点作输入,另外一组触点作中断申请。触

18、点直接并联实现或逻辑的关系,只要有键按下就会产生中断申请,然后在中断服务程序中进行按键的处理。32单片机C语言开发与应用技术案例详解(a)(b)图6.4中断方式的按键接口33单片机C语言开发与应用技术案例详解行扫描法又称逐行扫描查询法,是一种最常用的按键识别方法,图6.6所示键盘工作过程如下。在每组行输出时读取P1.0P1.3,若全为“1”,则表示没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或者查表法将闭合键的行值和列值转换成所定义的键值。为了保证键每闭合一次依次CPU仅作一次处理,必须去除键释放时的抖动。由于处理过程是按照一行一行或一列一列的扫描方式进行的,所以也称

19、这种按键的处理方式是键盘扫描。键盘扫描的流程图如图6.8所示。34单片机C语言开发与应用技术案例详解图6.8键盘扫描程序流程图35单片机C语言开发与应用技术案例详解第7章串行接口模块7.1实例说明实例说明目前,在测控领域,计算机的应用越来越广泛。使用目前,在测控领域,计算机的应用越来越广泛。使用计算机做远程控制、数据采集和数据处理等十分方便。计算机做远程控制、数据采集和数据处理等十分方便。计算机在完成这些任务时,需要和外部设备进行通信。计算机在完成这些任务时,需要和外部设备进行通信。由于一般的计算机上都集成有串行接口,其接口标准由于一般的计算机上都集成有串行接口,其接口标准为标准,可以采用串行

20、接口和外部设备进行通信。为标准,可以采用串行接口和外部设备进行通信。51系列单片机内部也集成有一个全双工的串行异步通信系列单片机内部也集成有一个全双工的串行异步通信接口,因此,可以通过单片机作为桥梁,实现计算机接口,因此,可以通过单片机作为桥梁,实现计算机与外部设备的通信。与外部设备的通信。在本章中将通过计算机读写静态芯片的实例,来介绍在本章中将通过计算机读写静态芯片的实例,来介绍如何通过单片机实现计算机与外部设备的通信。在本如何通过单片机实现计算机与外部设备的通信。在本章的实例中系统采用串行接口和外部设备进行通信,章的实例中系统采用串行接口和外部设备进行通信,其接口标准为标准,这个系统设计简

21、单同时具有比较其接口标准为标准,这个系统设计简单同时具有比较高的实用性。高的实用性。整个系统结构原理图如图整个系统结构原理图如图7.1所示。所示。36单片机C语言开发与应用技术案例详解图7.1系统结构原理图37单片机C语言开发与应用技术案例详解7.3硬件电路设计硬件电路设计由于计算机的串行接口属于RS-232标准,接口信号的电平不是TTL电平,所以不能和单片机的串行接口直接连接。根据前面的介绍,这里采用Maxim公司的MAX232作为电平转换器。单片机与RS-232C接口示意图,如图7.24所示。38单片机C语言开发与应用技术案例详解图7.24单片机与RS-232接口示意图39单片机C语言开发

22、与应用技术案例详解7.4软件设计软件设计AT89C52主程序的流程图,如图7.26所示。图7.26主程序流程图40单片机C语言开发与应用技术案例详解7.5小结本章详细地介绍了基于单片机AT89C52、接口标准为标准的上位机与单片机之间的数据传输系统的硬件、软件设计。掌握了这一系统,任何基于的数据传输系统问题都可以举一反三,迎刃而解。整个系统的数据流向是,上位机将数据通过接口逐个发送给单片机,单片机接收到数据后,将数据依次写入外部静态芯片的存储单元,直至写满;当数据发送完毕后,单片机再将数据从中读出来,并送回上位机,以验证中数据的正确性。在本章的实例中采用并行接口读写芯片,该实例的设计思想简单清

23、晰、易于实现,可以为读者开发时所借鉴。41单片机C语言开发与应用技术案例详解第第8章章单相交流多用表设计实例单相交流多用表设计实例8.2设计思路分析设计思路分析本仪表系统功能由硬件和软件两大部份协调完本仪表系统功能由硬件和软件两大部份协调完成,硬件部分主要完成各种传感器信号的采集、成,硬件部分主要完成各种传感器信号的采集、转换,各种信息的显示等;软件主要完成信号转换,各种信息的显示等;软件主要完成信号的处理及控制功能等。设计出合适的硬件电路的处理及控制功能等。设计出合适的硬件电路及其相关的软件程序。及其相关的软件程序。本仪表系统工作原理是本仪表系统工作原理是51单片机依次查询各传单片机依次查询

24、各传感器的输出信号感器的输出信号(电压、电流等模拟传感器输电压、电流等模拟传感器输出的模拟信号需要经过出的模拟信号需要经过TLC7135进行模数转换进行模数转换);然后;然后89C52对输入信号进行相应处理后通过对输入信号进行相应处理后通过显示模块显示模块HC595输出,同时还可输出各种告警输出,同时还可输出各种告警信号。信号。42单片机C语言开发与应用技术案例详解8.3硬件电路设计硬件电路设计图8.1为该仪表系统硬件基本组成原理图,该系统硬件主要包括以下几个模块:89C52主控模块、传感器模块、TLC7135模数转换模块、HC595显示模块等。其中89C52主要完成外围硬件的控制以及一些运算

25、功能,传感器完成信号的采样功能,TLC7135完成将模拟信号转换成数字信号的功能,HC595显示模块完成字符、数字的显示功能。43单片机C语言开发与应用技术案例详解图8.1硬件原理框图44单片机C语言开发与应用技术案例详解8.4软件设计软件设计软件设计是设计任务中的另一个重要部分,仪表的主要功能依赖于软件来实现。本系统中的软件设计采用模块法来进行设计,把一个长的程序分成若干个小程序模块进行设计和调试,然后把各个模块连接起来,组成一个完整的程序。该系统软件主要由主程序、中断子程序、数据采集与AD转换子程序、显示子程序、告警子程序等组成。主程序主要完成硬件初始化、子程序调用等功能,主程序流程图如图

26、8.12所示。45单片机C语言开发与应用技术案例详解图8.12主程序流程图46单片机C语言开发与应用技术案例详解8.5小结本设计重点是研究了智能型仪表的工作原理,并设计出符合设计要求的智能仪表系统。首先是根据微处理器在智能仪表中的重要地位,选择了89C52单片机芯片作为系统的核心部件,并对单片机的主要工作方式,性能就行了研究。再根据实际情况选取了各种外围的配合器件如TLC7135ADC等器件来配合单片机以求达到智能仪表系统的性能要求。本次设计采取的是模块法来对系统的各个部分来进行软硬件设计,这样就可以更加全面的对部件功能进行分析,研究,也可以使设计变得更加的直观,简单。本次设计着重研究了智能仪

27、表系统的测量电路,A/D转换接口,主机电路,显示器接口这几个模块的原理,结构,功能,并更多的采用软件程序来替代硬件电路,这样使仪表系统的电路简单化,也弥补了一些硬件上的不足,更好的优化了智能仪表系统的性能。47单片机C语言开发与应用技术案例详解第第9章章程控直流电压电流表设计实例程控直流电压电流表设计实例9.2设计思路分析设计思路分析这里介绍了一种程控直流数字仪表的设计,通过单片机实这里介绍了一种程控直流数字仪表的设计,通过单片机实时控制电子模拟开关自动切换量程,它能根据输入电压的时控制电子模拟开关自动切换量程,它能根据输入电压的大小,快速、方便、准确地测量被测信号,并具有较强的大小,快速、方

28、便、准确地测量被测信号,并具有较强的扩展性。扩展性。这种新的仪表具有以下这几个特点:1.成本低,在这种仪表系统中,每个测量都是由插件完成的,成本低,在这种仪表系统中,每个测量都是由插件完成的,不再象智能仪器那样需要微处理器、显示装置和键盘输入不再象智能仪器那样需要微处理器、显示装置和键盘输入等等,所以成本能得到大大的降低。等等,所以成本能得到大大的降低。2.使用方便,在个人仪使用方便,在个人仪器中,标准的仪器功能写入操作软件中,并备有简单的清器中,标准的仪器功能写入操作软件中,并备有简单的清单。用户根据清单进行选择,无需编制程序就能完成各种单。用户根据清单进行选择,无需编制程序就能完成各种测试

29、任务,操作方便。测试任务,操作方便。3.制造方便,仪器插件卡与个人计算制造方便,仪器插件卡与个人计算机之间的关系远不如智能仅器中微处理器与测量部件之间机之间的关系远不如智能仅器中微处理器与测量部件之间的关系密切,而价廉物美的个人计算机可以购买,仪器制的关系密切,而价廉物美的个人计算机可以购买,仪器制造厂可集中精力研制、生产测试插件卡,生产周期短,制造厂可集中精力研制、生产测试插件卡,生产周期短,制造方便。造方便。4.实时交互作用。个人仪器是通过微机的系统总线实时交互作用。个人仪器是通过微机的系统总线连接的,因而相互间可进行实时的交互作用。连接的,因而相互间可进行实时的交互作用。48单片机C语言

30、开发与应用技术案例详解9.3硬件电路设计硬件电路设计本仪表硬件主要包括以下几个模块:AT89C2051主控模块、CD4052模拟开关模块、TLC1543模数转换模块、显示模块等。图9.1为该系统硬件原理图。其中89C2051主要完成外围硬件的控制以及一些运算功能,CD4052模拟开关完成输入信号(衰减/放大)即量程自动切换的功能,TLC1543完成将模拟信号转换成数字信号的功能,显示模块完成字符、数字的显示功能。49单片机C语言开发与应用技术案例详解图9.1硬件原理框图50单片机C语言开发与应用技术案例详解9.4软件设计软件设计该程控直流数字仪表软件主要由主程序、中断子程序、数据采集与AD转换

31、子程序、显示子程序、告警子程序等六大模块组成,因为C语言编写的软件易于实现模块化,生成的机器代码质量高、可读性强、移植好,所以本系统的软件采用C语言编写,在KeilVision3Demo版本的集成开发环境下进行编译连接。主程序主要完成硬件初始化、子程序调用等功能,主程序流程图如图9.12所示。51单片机C语言开发与应用技术案例详解图9.12主程序流程图52单片机C语言开发与应用技术案例详解9.5小小结这里提出利用89C205l单片机控制模拟开关的量程自动转换电路,简单、方便,它采用模一数相结合,可适应于各种数字式仪表。这种程控直流数字仪表从开始设计完成到完善用了一年的时间,在随后的时间里全面在电工类实验教学中应用,得到了同学和教师的一致好评,并且越来越成熟了。这种新型数字仪表可靠性高、使用方便,测量稳定性好,且可达到较高的精度,读数准确直观。有着良好的自适应能力,智能化程度较高,给用户提供更大的方便。53单片机C语言开发与应用技术案例详解54单片机C语言开发与应用技术案例详解55单片机C语言开发与应用技术案例详解

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号