- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十六课 单片机程序设计方法
程序设计是单片机开发最重要的工作 程序设计就是利用单片机的指令系统 根据应用系统即
目标产品的要求编写单片机的应用程序 其实我们前面已经开始这样做过了 这一课我们不是讲如何 来设计具体的程序 而是教您设计单片机程序的基本方法 不过在讲解之前还是有必要先了解一下单片
机的程序设计语言
一 程序设计语言
这里的语言与我们通常理解的语言是有区别的 它指的是为开发单片机而设计的程序语言 如果 您没有学过程序设计可能不太明白 我给大家简单解释一下 您知道微软的 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
- 十个让皮肤光滑细嫩的方法.doc
- 2012年中考语文第二轮复习第一部分积累与运用第四章名言名句课件人教新课标版.ppt
- 2012年双核大屏手机8月版评测.ppt
- 十二五河北省各地市能耗指标及能源审计情况.doc
- 2012年双核手机7月版评测.ppt
- 十二岁生日宴会主持词.doc
- 2012年安徽省中考英语考前指导.ppt
- 十二指肠溃疡病因和治疗方法.doc
- 2012年思品疑难肖像权与姓名权.do.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 宏观经济学计算题大全.doc VIP
- 苏教版数学四年级上册第八单元认识射线、直线和角(课件).pptx
- 某市棚户区改造中区市政道路建设工程路面天然砂砾垫层施工方案.doc
- 淀粉制品公司风险分级管控与隐患排查治理双体系双控手册2022-2024.doc
- 福建省 政和县志.pdf
- 知识产权对策、研究成果管理及合作权益分配.pdf VIP
- 人工智能对学习、教学和教育的影响-The Impact of Artificial Intelligence on Learning, Teaching, and Education.docx
- 中越边广西龙邦镇护龙村跨国婚姻问题研究及对策.doc VIP
- 小学道德与法治六年级下册《我们生存的家园》教学设计及反思.doc
- 宏观经济学计算题.docx VIP
文档评论(0)