单片机原理与应用技术6.ppt

单片机原理与应用技术6.ppt

ID:49225377

大小:128.00 KB

页数:22页

时间:2020-02-02

单片机原理与应用技术6.ppt_第1页
单片机原理与应用技术6.ppt_第2页
单片机原理与应用技术6.ppt_第3页
单片机原理与应用技术6.ppt_第4页
单片机原理与应用技术6.ppt_第5页
资源描述:

《单片机原理与应用技术6.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六讲:C-51程序设计本讲重点:C-51的数据类型和存储类型;指针和中断的使用;通过实例消化理解C-51的编程方法;尝试将实验课中的ASM-51程序转为C-51程序.《单片机原理与应用技术》教学课件C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。㈠C-51简介《单片机原理与应用技术》教学课件C-51与ASM-51相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有

2、初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5.提供的库包含许多标准子程序,具有较强的数据处理能力;6.由于具有方便的模块化编程技术,使已编好程序可容量地植入新程序;《单片机原理与应用技术》教学课件㈢C-51的数据类型常用的数据类型有:㈡C-51的程序结构与一般C语言的结构相同,以main()函数为程序人口,程序体中包含若干语句还可以包含若干函数。位型字符型整型长整型浮点型bitcharintlongintf

3、loat1位1字节2字节4字节4字节数组型指针型《单片机原理与应用技术》教学课件㈣C-51数据的存储类型名存储空间位置长度数据范围data直接寻址片内RAM8位0~255bdata可位寻址片内RAM1位0/1idata间接寻址片内RAM8位0~255xdata片外RAM16位0~65535㈤C-51的包含的头文件通常有:reg51.hmath.hctype.hstdio.hstdlib.habsacc.h常用有:reg51.h(定义特殊功能寄存器和位寄存器);math.h(定义常用数学运算);《单片机原理与应用技术》教学课件㈥C-51的运算符与C语言基本相同:+-*/

4、(加减乘除)>>=<<=(大于大于等于小于小于等于)==!=(测试等于测试不等于)&&

5、

6、!(逻辑与逻辑或逻辑非)>><<(位右移位左移)&

7、(按位与按位或)^~(按位异或按位取反)《单片机原理与应用技术》教学课件㈦C-51的基本语句与标准C语言基本相同:if选择语言switch/case多分支选择语言while循环语言do-while循环语言for循环语言《单片机原理与应用技术》教学课件㈧实例ORG0000HMOVR0,#0DCH;指向字形口MOVA,#80H;确定字形代码MOVX@R0,A;输出字形代码MOVR1,#0DDH;指向字位口MOVA,#20H;从最高位

8、开始LEDO:MOVX@R1,A;输出字位代码MOVR2,#18H;确定延时常数ACALLDEYS;调延时子程序RLA;右移一位SJMPLEDO;循环演示;延时子程序DEYS:PUSH02HDEY0:PUSH02HDEY1:PUSH02HDJNZR2,$POP02HDJNZR2,DEY1POP02HDJNZR2,DEY0POP02HDJNZR2,DEYSRETEND例1.“8”字符循环演示(字形口为DCH;字位口为DDH)★汇编语言程序《单片机原理与应用技术》教学课件#include#include#defineucharunsi

9、gnedchar/*字形口*/#definePORTAXBYTE[0xffdc]/*字位口*/#definePORTBXBYTE[0xffdd]/*延时1MS子程序*/voidmsce(unsignedintx){unsignedcharj;while((x--)!=0){for(j=0;j<60;j++);}}main(){ucharrr,i;for(;;){rr=0x01;/*从最右一位开始*/for(i=0;i<6;i++){PORTA=0x80;/*输出字形代码*/PORTB=rr;/*输出字位代码*/msce(150);/*调延时子程序*/rr=rr<<1;

10、/*循环左移一位*/}}★“8”字符循环演示的C-51程序《单片机原理与应用技术》教学课件★C-51程序#includemain(){inti;unsignedcharxdata*p=0x2000;/*指针指向2000H单元*/for(i=0;i<256;i++)/*清零2000H-20FFH单元*/{*p=0;p++;}}例2.清零程序(将2000H—20FFH的内容清零)★汇编语言程序ORG0000HSE01:MOVR0,#00HMOVDPTR,#2000H;(0000H)送DPTRLOO1:CLRAMOVX@DPTR,A;0送

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。