【例3-13】 设x位于片内RAM 30H单元,y位于片内RAM 40H单元。编程实现 y= 解: main(){ char x,*R0,*y; R0=0×30; y=0×40; { x=* R0; if(x0) *y=1 if(x= =0) *y=x/2 if(x0) *y=x } } 【例3-14】 采用递归调用求正数n的阶乘程序如下: int factorial(n) int n; { int result; if(n= =0) result=1, else result=n*factorial(n--1); result(result); } main() { int x; for (x=0;xb;++x) printf(%d !=%d\n,x,factorial(x)); } 程序运行结果: 0!=1 1!=1 2!=2 3!=3 4!=24 5!=120 【例3-15】 使用switch语句的分支程序。 switch (n){ case 0; vr0 ();break; case 1; vr1 ();break; case2; vr2 ();break; case m vrm ();break; default; break; } 相应汇编分支程序为: MOV A,#data MOV DPTR,#TABLE JMP @A+DPTR ;AJMP是2字节指令,A中内容为偶数 TABLE: AJMP V0 ;A=0转 AJMP V1 ;A=2转 AJMP V2 AJMP V n 3.5.3 循环结构设计 C51提供的循环语句有三种:while语句、do_while语句和for语句。 1.while语句 while语句的格式为: while(表达式) { 语句 /*循环体*/ } 表达式是能够继续循环的条件,用大括号括起来的语句是循环体。如果表达式的值为“真”,就重复执行循环体语句;如果表达式的值为“假”,则退出循环体,执行下一条语句。while语句的流程图如图3-3所示。 头文件absacc.h中的函数有: CBYTE (访问code区,字符型,char) DBYTE (访问data区,字符型) PBYTE (访问pdata区或I/O口,字符型) XBYTE (访问xdata区或I/O口,字符型) CWORD (访问code区,整型,int) DWORD (访问data区,整型) PWORD (访问pdata区或I/O口,整型) XWORD (访问xdata区或I/O口,整型) 3.3.3 位寻址变量的C51定义 Franklin C51编译器对位寻址变量的定义方法有3种。 第一种,支持“bit”数据类型,例如: bit lock; /*将lock定义为位变量,位地址由C51安排在可位寻址的bdata区*/ bit number_pointer; /*将number_pointer定义为位变量*/ 第二种,先定义变量的数据类型,再用“sbit”定义其中的位,例如: bdata int ibase; /*将ibase定义成bdata整型变量*/ sbit my9=ibase^9; /*my9定义为ibase的第9位*/ sbit my14=ibase^14; /*my14定义为ibase的第14位*/ 第三种,使用头文件reg51.h和sbit定义符,这种方法用于定义特殊功能寄存器SFR中没有位名字的可寻址位。头文件reg51.h由C51建立,该文件中不仅对所有可寻址位进行了sbit定义,还对所有SFR进行了sfr定义。例如: #includereg51.h sbit P0_3=P0^3; /*定义P0_3是P0口的第3位*/ sbit ac=ACC^7; /*定义ac是A的第7位*/ 也可以在头文件reg51.h后直接用位名,例如: #includereg51.h EA=1; /*IE.7赋值为1*/ EX0=1; /*IE.0赋值为0*/ 也可以不用头文件reg51.h,先用sfr定义寄存器的地址,再用sbit定义位。例如: sfr PSW=0×d0; /*定义PSW地址D0H*/ sfr RS1=PSW^4; /*定义RS1是PSW的D4位*/ sfr RS0=PSW^3; /*定义RS0是PSW的D3位*/ 3.3.4 C51的运算符定义 1.C51的基本算术运算符 C51的基本算术运算符有5种:+(加或
您可能关注的文档
- 实用电路分析及应用第5章电机驱动电路.pptx
- 单片机原理与应用技术第1章单片机原理.ppt
- 单片机原理与应用技术第2章单片机汇编语言编程技术.ppt
- 单片机原理与应用技术第4章单片机输入输出与中断控制技术.ppt
- 单片机原理与应用技术第5章单片机片外存储扩展技术.ppt
- 单片机原理与应用技术第6章单片机片外接口技术.ppt
- 单片机原理与应用技术第7章单片机开发应用技术.ppt
- 单片机原理与应用技术第八章显示器及键盘接口电路.ppt
- 单片机原理与应用技术第九章单片机应用系统设计.ppt
- 单片机原理与应用技术第六章串行通信.ppt
- 中国国家标准 GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具.pdf
- 《GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具》.pdf
- GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 中国国家标准 GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 《GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求》.pdf
- 《GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法》.pdf
- GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用.pdf
- 《GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用》.pdf
最近下载
- 2025年全真模拟房地产经纪人协理考试试题及答案.doc VIP
- GB∕T 2421-2020 环境试验 概述和指南.pdf
- 高中数学 《高中数学知识要点及解题方法精粹》.docx VIP
- 麦克维尔变频螺杆式风冷热泵机组PM-MHSV-C004.pdf
- 山东省济南市槐荫区2024-2025学年二年级上册期末测试数学试卷(含答案).pdf VIP
- 《GB_T 17626.5-2019电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验》专题研究报告.pptx
- CTT2000LM用户手册(维护分册)教程文件.docx VIP
- 2025年山东专升本计算机真题及答案.docx VIP
- 工业和信息化领域数据安全风险评估实施细则.pptx VIP
- 江西省“三新”协同教研共同体2025届高三12月联考生物学试卷(含答案).docx VIP
原创力文档

文档评论(0)