单片机C语言编程---课外自学内容三.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机C语言编程---课外自学内容三

单片机原理、接口及应用;内 容 提 要;;;;10.1 C51程序结构 ;C语言程序的组成结构如下所示: ;;10.2 C51的数据类型 ;10.2.1 C51变量的数据类型 ;;;10.2.2 关于指针型数据 ;;10.3 数据的存贮类型和存贮模式 ;表10-4 C51的变量的存贮类型 ;10.3.2 存贮器模式 ;10.3.3 变量说明举例 ;;;10.4 C51对SFR、可寻址位、存储器和I/O口的定义 ;10.4.2 对位变量的定义 ;;10.4.3 C51对存贮器和外接I/O口的绝对地址访问 ;例10-2 XWORD[0]=0x9988; 即将9988H(int类型)送入外部RAM的0号和1号单元。 使用中要注意:absacc.h一定要包含进程序,XBYTE必须大写。 2.对外部I/O口的访问 由于单片机的I/O口和外部RAM统一编址,因此对I/O口地址的访问可用XBYTE (MOVX @ DPTR )或PBYTE (MOVX @Ri)进行。 例10-3 XBYTE[0Xefff]]=0x10;将10H输出到地址为EFFFH端口 ;10.5 C51的运算符 ;4.C51的逻辑运算符有三种: (逻辑与); ||(逻辑或); !(逻辑非); 逻辑表达式和关系表达式的值相同,以0代表假,以1代表真。 以上三种运算的优先级见图10.1。 5.C51的按位操作的运算符有六种: (按位与);|(按位或); ^ (按位异或); ~ (位取反); (位左移);(位右移 ) (注:补零移位) 例1. a=0xf0H; 表达式a=~a值为0FH 例2. a=0xea; 表达式a2值为A8H,即a值左移两位,移位后空白位补0。 6. ? 自增、自减运算符: ++i,--i (在使用i之前,先使i值加1,减1) i++,i-- (在使用i之后,再使i值加1.,减1) 例设i原值为5 j=++i 则j值为6,i值也为6 j=i++ 则j值为5,i值为6 ;7.复合赋值运算符: +=;-=;*=;/=;%=;=;=;=;^=;|=。 例:a+=b相当于a=a+b。 a=7. 相当于a=a 7.。 8. 对指针操作的运算符: —取地址运算 *—间址运算符 例 a=b;取b变量的地址送变量a c=*b;将以b的内容为地址的单元的内容送c 这里要注意: ①“”与按位与运算符的差别,如果“”为“与”,的两边必须为变量或常量; ②“*”与指针定义时指针前的“*”的差别。如char *pt,这里的“*”只表示pt为指针变量,不代表间址取内容的运算。 ;10.6 函 数 ;10.6.2 函数的定义 ;10.6.3 函数的调用 ;10.6.4对被调函数的说明 ;;10.7 C语言编程实例 ;10.7.1 顺序程序的设计 ;;例10-6 片内RAM 20H单元存放着一个0~05H的数,用查表法,求出该数的平方值放入内部RAM 21H单元。    main() { char x,*p   char code tab[6]={0,1,4,9,16,25};   p=0x20; x=tab[*p]; p++; *p=x; } ;10.7.2 循环程序的设计 ;;10.7.3 分支程序的设计 ;;;;;10.8 单片机资源的C语言编程实例 ;程序中为方便反复观察,使用了死循环语句for(;;)只要用Ctrl+C即可退出死循环。 上面程序通过编译,生成的机器代码和反汇编程序如下: ;;10.8.2 并行口及键盘的C语言编程 ;;;;例10-15 以P1.0~P1.3作输出线,以P1.4~P1.7作输入线,如图4-6所示。 ;;10.8.3 C51中断程序的编制 ;;;;;10.8.4 定时/计数器的C语言编程 ;;;;10.8.6 外扩并行I/O 口的C语言编程 ;;;10.8.7 D/A的 C 语言编程 ;10.9 汇编语言和C语言的混合编程 ;表10.6 函数名的转换 ;10.9.1 C语言程序和汇编语言程序参数的传递 ;;10.9. 2 C 语言程序调用汇编语言程序举例 ;;;;;;10.9.3 C和汇编混合编程传递的参数多于三个的编程方法 ;;汇编语言程序CALLASM.ASM----完成50个数据采集并存于BUF为首址的单元 ;;10.10 C语言函数库的??理与使用 ;;;10.1

您可能关注的文档

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档