欢迎来到天天文库
浏览记录
ID:17411758
大小:1.01 MB
页数:55页
时间:2018-08-31
《51单片机c语言开发与应用技术案例详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、魏伟中国化学工业出版社单片机C语言开发与应用案例详解151系列单片机开发的基础知识单片机软件开发工具LED显示模块液晶显示模块D/A转换与A/D转换模块MCS-51单片机与键盘接口串行接口模块单相交流多用表设计实例程控直流电压电流表设计实例主要内容2第1章51系列单片机开发的基础知识单片机应用系统的一般硬件组成由于单片机主要用于工业测控,其典型应用系统应包括单片机系统、用于测控目的前向传感器输入通道,后向伺服控制输出通道以及基本的人机对话通道。大型复杂的测控系统是一个多机系统,还包括机与机之间进行通信的互相通道。典型单片机应用系统结构如图1.1所示。1.1单片机应用系统开发3图1.1典型单
2、片机应用系统结构41.2单片机应用系统开发过程单片机应用系统开发流程如图1.3所示。其开发过程如下:(1)系统需求与方案调研。(2)可行性分析。(3)系统方案设计。(4)系统详细设计与制作。(5)系统调试与修改。(6)生产样机。(7)生成正式系统或产品。5图1.3单片机应用系统开发流程图61.3单片机应用系统的一般开发流程1确定系统的功能与性能2确定系统基本结构3单片机应用系统硬、软件的设计原则4硬件设计5软件设计6资源分配71.4单片机应用系统调试1.单片机应用系统调试工具单片机开发系统万用表逻辑笔逻辑脉冲发生器与模拟信号发生器示波器逻辑分析仪2.单片机应用系统的一般调试方法硬件调试软件
3、调试8第2章单片机软件开发工具2.1Keil软件简介Keil软件公司的8051单片机软件开发工具可用于众多的8051派生器件以实现嵌入式应用。Keil提供工业用的8051开发工具。为了帮助你熟悉我们是如何分配工具的,下面介绍工具套件的概念。工具套件是几个应用程序的集合,这些程序用来创建8051应用系统。使用汇编器汇编8051汇编程序,使用编译器将C源代码编译成目标文件,使用连接器创建一个绝对目标文件模块供仿真器使用。92.28051开发工具1.8051开发工具2.KeilC51编译器3.A51宏汇编器102.38051开发工具的使用μVision是一个集成软件开发平台。其中包含了编辑器、项
4、目管理器和程序生成器。μVision支持所有的Keil8051,251和166工具。μVision提供以下特性帮助用户加快嵌入式应用的开发过程:双击KeilμVisionIDE的图标,启动KeilμVisionIDE程序,你会得到图2.2所示的KeilμVision2IDE的主界面。通过用Project菜单中的NewProject命令建立项目文件,过程如下:11图2.2KeilμVisionIDE的主界面12第3章LED显示模块该例子的功能是要在51单片机系统中使用专用的LED显示芯片实现8位LED数码管的显示,主要可以分为三个部分:LED显示驱动芯片和单片机的接口电路LED显示驱动芯片和
5、8位数码管的接口电路单片机控制LED显示驱动芯片实现8位数码管显示的C语言程序3.1实例说明133.2设计思路分析MAX7219是一种串行接口的8位LED数码管显示驱动器。它与通用微处理器只有3根串行线相连,最多驱动8个共阴级数码管或64个发光二级管。它内部有可存储显示信息的8×8静态RAM,动态扫描电路,以及段、位驱动器。其主要特点包括:串行接口的传输速率可达10MHz;独立的发光二极管控制;译码与非译码两种显示方式可选;数字与模拟两种亮度控制方式;可以级联使用。由于MAX7219集成度高,驱动能力强,亮度可调,编程容易,与单片机接口十分简单,占用单片机的接口资源少,成为单片机应用系统中
6、首选的LED显示接口电路。143.3硬件电路设计MAX7219与8051单片机连接采用三线串行接口,典型应用电路如图3.4所示。具体连接方式参见图3.5和图3.6。图3.4MAX7219与8051应用电路原理图15图3.5基于MAX7219的8位数码管显示电路单片机部分163.4软件设计软件设计是本章的重点,在软件设计之前应仔细阅读3.2节有关MAX7219时序和内部寄存器部分。在这里,仅给出相关程序代码。源程序如下://max7219leddriveprogram#include/*********************************************
7、*****************///通用符号宏定义#defineHIGH1#defineLOW0#defineTRUE1#defineFALSE0#defineZERO0#defineMSB0x80#defineLSB0x01//max7219part#defineDECODE_MODE0x09#defineINTENSITY0x0A#defineSCAN_LIMIT0x0B#defineSHUT_DOWN0x0C#
此文档下载收益归作者所有