已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章c51程序设计 1 c51存储类型2 特殊功能寄存器的c51定义3 绝对地址单元的c51访问4 集成开发环境uvision2 本章学习要求 单片机原理及应用 4 1c51程序设计语言概述 4 1c51程序设计语言概述 机器语言 用二进制代码表示的指令 也是cpu唯一能够接受的指令形式 如 mova r0 机器语言 机器码 为 1110 1000bmovr1 a 机器码为 1111 1001b汇编语言 汇编语言就是用助字符表示的指令 与机器语言指令一一对应 如 两个寄存器相加汇编语言指令 adda r0c51语言 语法同标准c语言 开发效率高 可读性强 是目前使用最为广泛的单片机开发语言 一条c语言通常需要由多条机器语言组成 4 1c51程序设计语言概述 1 降低学习难度 仅需要掌握存储器接口 2 打破不同单片机之间的界限 3 程序可读性强 可移植性强 开发效率高 1 单片机的程序存储器做得越来越大 越来越便宜 2 单片机的主频越来越高 现在51单片机很多都可以做到40m 80m 100m 而且还有很多是单周期的 是否存在不好之处 c51设计单片机的好处 1 生成机器语言代码冗余 占用较多程序存储单元 2 程序的执行效率不高 导致运行速度慢 4 2c51程序设计基础 4 2 1c51变量 常量存储类型 c51存储类型定义举例 unsignedchardatax y z 在内部ram区定义了3个无符号字节型变量x y z unsignedintdatai j k 在内部ram区定义了3个无符号整型变量i j k unsignedcharcodepfb 10 0 1 4 9 16 25 36 49 64 81 在程序存储器里定义了10字节的常量数组 4 2c51程序设计基础 4 2c51程序设计基础 4 2 2特殊功能寄存器的c51定义 特殊功能寄存器的定义方法 sfr特殊功能寄存器名 地址常数 例如 sfrp0 0 x80 定义p0口地址为80h 为了在c51程序中能够直接访问位于内部数据存储器中的21字节sfr以及其中11字节可位选址的位 c51语言提供了与标准c语言不兼容的定义方法 扩充了关键字 sfr 和 sbit 利用这种扩充的关键字可以在c51程序中直接操作21字节的特殊功能寄存器和11字节可位寻址的位 方法三 sbit位变量名 特殊功能寄存器地址 位位置 例如 sbitp10 0 x90 0 方法一 sbit位变量名 位地址常数 例如 sbitov 0 xd2 特殊功能寄存器中可位寻址位的定义有三种方法 方法二 sbit位变量名 特殊功能寄存器名 位位置 必须先用sfr定义特殊功能寄存器名 例如 sfrpsw 0 xd0 sbitcy psw 7 4 2c51程序设计基础 说明 1 我们并不需要动手使用sfr和sbit定义每一个特殊功能寄存器和位 因为在c51编译器里提供了一个 reg51 h 的头文件 在该头文件里已经定义好所有特殊功能寄存器和可寻址位2 只要在程序开始处增加一条包含指令 include 4 2c51程序设计基础 4 2 3绝对地址单元的c51访问 4 2c51程序设计基础 unsignedchardatarval 定义变量rval 位于内部数据存储器rval cbyte 0 x0002 将程序存贮器的0002h地址单元的值赋给rvalrval dbyte 0 x32 将内部数据存储器的32h地址单元的值赋给rvalrval xbyte 0 x0002 将外部数据存储器的0004h地址单元的值赋给rval 说明 1 c51编译器里头文件 absacc h 定义有多个地址直针 包括cbyte dbyte pbyte xbyte cword dword pword xword 可以通过单元地址直接访问程序存储器 内部数据存储器 分页寻址外部数据存储器 外部数据存储器 2 使用这些指针之前 必须要在程序中增加一条包含指令 include 4 2c51程序设计基础 4 2 4c51运算符与常用语句 4 2c51程序设计基础 表4 2算术运算符 4 2c51程序设计基础 表4 3关系运算符 4 2c51程序设计基础 表4 4逻辑运算符 表4 5位运算符 4 2c51程序设计基础 表4 6常用语句 4 2c51程序设计基础 表4 6常用语句 4 3c51程序举例 例1 设变量放在片内ram20h单元 其取值范围为0 5 要求编制一段程序 查出变量的平方值 并放入片内ram21h单元 分析 该例需要掌握如何访问一个指定地址的存储单元 include include defineucharunsignedcharvoidmain void ucharnumber ucharcodetable 6 0 1 4 9 16 25 number dbyte 0 x20 switch number case0 dbyte 0 x21 table 0 continue case1 dbyte 0 x21 table 1 continue case2 dbyte 0 x21 table 2 continue case3 dbyte 0 x21 table 3 continue case4 dbyte 0 x21 table 4 continue case5 dbyte 0 x21 table 5 continue default break while 1 4 3c51程序举例 include defineucharunsignedcharvoidmain void uchardatax y x dbyte 0 x30 if x 100 y 0 x20 elseif x 100 y x elsey x 49dbyte 0 x30 y while 1 例2 设变量x以无符号单字节数形式存放在内部ram30h单元 函数y与x有如下关系 试编制程序 根据x的大小求出y并放回原单元 4 3c51程序举例 include defineucharunsignedcharvoidmain void uchardatax y x dbyte 0 x50 y dbyte 0 x51 if x y dbyte 0 x60 x elsedbyte 0 x60 y while 1 例3 试编写程序 将片内ram50h和51h单元两个无符号单字节数中较小的数存放到60h单元 4 3c51程序举例 例4 把外部数据ram中从地址2000h单元开始的100个有符号数逐一取出 若为正数则放回原单元 若为负数则求补后放回 include defineucharunsignedchar defineuintunsignedcharvoidmain void uchardatanumb 0 uchardatai uintdataxadd 0 x2000 for i 0 i 100 i if xbyte xadd 0 numb xbyte xadd 1 xbyte xadd numb xddr 4 3c51程序举例 例5 假定有两个无符号二进制数分别存放于内部ram40h和41h单元 编写程序求这两个数的和 并将和存放在42h单元 include defineucharunsignedcharucharsum ucharx1 ucharx2 voidmain void ucharnumber1 ucharnumber2 ucharval number1 dbyte 0 x40 number2 dbyte 0 x41 val sum number1 number2 dbyte 0 x42 val whilie 1 ucharsum ucharx1 ucharx2 ucharx x x1 x2 returnx 4 3c51程序举例 例6 假定p1口连接有8只供阴极发光二极管 试编写程序 以1秒为间隔 依次选环点亮每只发光管 include defineucharunsignedcharvoiddela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路面维修保障合同范本
- 转让移动电源合同范本
- 转让物业项目合同范本
- 返租乡村民宿合同范本
- 退股归还本金合同范本
- 通风气楼采购合同范本
- 道路亮化维护合同范本
- 酒吧资源总监合同范本
- 酒店管理个人合同协议
- 酒店贴膜翻新合同范本
- 中国宋朝服装介绍
- 体检重要异常结果规范管理
- 2025年少先队辅导员技能大赛考试测试题及参考答案(共四套)
- 2025湖南常德金鹏印务有限公司招聘拟录用人员笔试历年典型考点题库附带答案详解2套试卷
- 人教版数学六年级上册第一、二单元测试卷(含解析)
- 留置胃管的操作流程及注意事项
- 2025新版中学生入团考试试题及答案
- 2025年秋人教 PEP 版小学英语四年级上册期中检测试卷及答案(共3套)
- 粉尘清扫安全管理制度完整版
- 体育单招数学知识点系统串讲讲义
- 第15课+货币的使用与世界货币体系的形成+课件-2025-2026学年高二上学期历史统编版选择性必修1国家制度与社会治理
评论
0/150
提交评论