- 4
- 0
- 约1.37万字
- 约 28页
- 2015-08-09 发布于湖北
- 举报
单片机程序设计方法.doc
第十六课 单片机程序设计方法
程序设计是单片机开发最重要的工作 程序设计就是利用单片机的指令系统 根据应用系统即
目标产品的要求编写单片机的应用程序 其实我们前面已经开始这样做过了 这一课我们不是讲如何 来设计具体的程序 而是教您设计单片机程序的基本方法 不过在讲解之前还是有必要先了解一下单片
机的程序设计语言
一 程序设计语言
这里的语言与我们通常理解的语言是有区别的 它指的是为开发单片机而设计的程序语言 如果 您没有学过程序设计可能不太明白 我给大家简单解释一下 您知道微软的 VB VC 吗 VB VC 就是为 某些工程应用而设计的计算机程序语言 通俗地讲 它是一种设计工具 只不过这种工具是用来设计计
算机程序的 要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计 语言基本上有三类
1 完全面向机器的机器语言
机器语言就是能被单片机直接识别和执行的语言 计算机能识别什么 以前我们讲过--是数字 0
或 1所以机器语言就是用一连串的 0 或 1 来表示的数字 比如 MOV A 40H 用机器语言 来表示就是0100000 很显然 用机器语言来编写单片机的程序不太方便 也不好记忆 我
们必须想办法用更好的语言来编写单片机的程序 于是就有了专门为单片机开发而设计的语言
2 汇编语言
汇编语言也叫符号化语言 它使用助记符来代替二进制的 0 和 1比如 刚才的 MOV A
40H 就是汇编语言指令 显然用汇编语言写成的程序比机器语言好学也好记 所以单片机的指令普遍采 用汇编指令来编写 用汇编语言写成的程序我们就叫它源程序或源代码 可是计算机不能识别和执行用 汇编语言写成的程序啊 怎么办 当然有办法 我们可以通过 翻译 把源代码译成机器语言 这个过 程就叫做汇编 汇编工作现在都是由计算机借助汇编程序自动完成的 不过在很早以前 它是靠手工来 做的 道听途说 我也没经历过 呵呵
值得注意的是 汇编语言也是面向机器的 它仍是一种低级语言 每一类计算机都有它自己的汇 编语言 比如 51 系列有它的汇编语言 PIC 系列也有它的汇编语言 微机也有它自己的汇编语言 它 们的指令系统是各不相同的 也就是说 不同的单片机有不同的指令系统 它们之间是不通用的 这就 是为什么世界上有很多单片机类型的缘故了 为了解决这个问题 人们想了很多的办法 设计了许多的 高级计算机语言 而现在最适合单片机编程的要数 C 语言
3 C 语言—高级单片机语言
C 语言是一种通用的计算机程序设计语言 它既可以用来编写通用计算机的系统程序 也可以用 来编写一般的应用程序 由于它具有直接操作计算机硬件的功能 所以非常适合用来编写单片机的程序
与其他的计算机高级程序设计语言相比 它具有以下的特点
1语言规模小 使用简单
在现有的计算机设计程序中 C 语言的规模是最小的 ANSIC 标准的 C 语言一共只有 32 个关键字
9 种控制语句 然而它的书写形式却比较灵活 表达方式简洁 使用简单的方法就可以构造出相当复杂 的数据类型和程序结构
2可以直接操作计算机硬件
C 语言能够直接访问单片机的物理空间地址KEIL C51 软件中的 C51 编译器更具有直接操作 51
单片机内部存储器和 I/O 口的能力亦可直接访问片内或片外存储器 还可以进行各种位操作
3表达能力强 表达方式灵活
C 语言有丰富的数据结构类型 可以采用整型 实型 字符型 数组类型 指针类型 结构类型
联合类型 枚举类型等多种数据类型来实现各种复杂数据结构的运算 利用 C 语言提供的多种运算符
我们可以组成各种表达式 还可以采用多种方法来获得表达式的值 从而使程序设计具有更大的灵活性
55
----------------
4可进行结构化设计
结构化程序是单片机程序设计的组成部分 C 语言中的函数相当于汇编语言中的子程序 KEIL
C51 的编译器提供了一个函数库 其中包含有许多标准函数 如各种数学函数 标准输入输出函数等
此外还可以根据用户需要编制满足某种特殊需要的自定义函数 C 语言程序就是由许多个函数组成的
一个函数即相当于一个程序模块 所以 C 语言可以很容易地进行结构化程序设计
5可移植性
前面我们讲过 由于单片机的结构不同 所以不同类型的单片机就要用不同的汇编语言来编写程
序 而 C 语言则不同 它是通过汇编来得到可执行代码的 所以不同的机器上有 80%的代码是公用的
下册中专门来讲解 C 语言的应用及其编程原理
不过作为单片机初学者想要学会 C 语言也并不是一件容易的事 因此对于大多数人来说 汇编语 言仍是编写单片机程序的主要语言 我们上册的教程将全部以汇编语言来编写单片机的程序 了解了单 片机编程的设计语言 下面我们来看单片机编程的基本过程
您可能关注的文档
- 单板造波机控制软件使用说明.doc
- 单核GHz比拼款CPU架构效率对比测试.doc
- 单源最短路径问题-Dijkstra.doc
- 单源最短路径问题徐林林).doc
- 单源最短路径问题徐林林.doc
- 单源最短路径问题徐林林4.doc
- 单激变压器设计.doc
- 单点式X光机.doc
- 单点控制.doc
- 单点教程双头数控磨床H-BD.doc
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
最近下载
- 附录B规范性附录AGC性能指标计算及补偿-中国电力企业联合会.DOC
- 山东省烟台市蓬莱区2022-2023学年六年级上学期期末数学试题(五四学制) (含答案解析).docx VIP
- YQ-15-烟用材料许可使用物质名 单系列标准.pdf VIP
- 2019-2020学年四川成都锦江区五年级上册语文期末试卷及答案.pdf
- 基于ABAQUS的动力总成悬置支架仿真分析方法研究.docx VIP
- 【三套试卷】【浙教版】小学三年级数学上册第一单元教材检测题附答案.pdf VIP
- EMT会议管理制度.docx VIP
- 十年(2016-2025)高考物理真题分类汇编(全国通用)-专题23 法拉第电磁感应定律.docx VIP
- 渠道维护工高级技师考试答案(强化练习).docx VIP
- 动量和能量中的滑板块模型专题.docx VIP
原创力文档

文档评论(0)