51单片机的C语言应用基础程序设计ppt课件.ppt
《51单片机的C语言应用基础程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《51单片机的C语言应用基础程序设计ppt课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 单片机的C语言应用程序设计 1 C51数据类型及在数据类型及在51中的存储方式中的存储方式2 C51数据的存储类型与数据的存储类型与51存储结构存储结构3 51特殊功能寄存器特殊功能寄存器(SFR)的的C51定义定义4 51并行接口的并行接口的C51定义定义5 位变量的位变量的C51定义定义1.6 中断应用的中断应用的C语言编程语言编程2.7 定时器定时器/计数器的应用编程计数器的应用编程8 51片外扩展的片外扩展的C语言编程语言编程9 51机串行通信的
2、机串行通信的C语言编程语言编程10 键盘和数码显示人机交互的键盘和数码显示人机交互的C语言编程语言编程 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能1.C51数据类型及在数据类型及在51中的存储方式中的存储方式1.1 C51的数据类型的数据类型 C51编译器具体支持的数据类型有:位型(bit)、无符号字符(unsigned char)、有符号字符(singed char)、无符号整型(unsigned int)、有符号整型(signed int)、无符号长整型(unsigned long)、有符号长整
3、型(signed long)、浮点型(float)和指针类型等。单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能C51的数据类型的数据类型数据类型长度(bit)长度(byte)值域bit110,1unsigned char810255signed char81128127unsigned int 162065535signed int 1623276832767unsigned long32404294967295signed long 32421474836482147483647float 3241.
4、176E383.40E+38(6位数字)double6481.176E383.40E+38(10位数字)一般指针243存储空间065535 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能1.2 C51数据的存储类型与数据的存储类型与51存储结构存储结构C51存储类型与存储类型与MCS-51存储空间的对应关系存储空间的对应关系存储类型与存储空间的对应关系 data 直接寻址片内数据存储区,访问速度快(128字节)bdata 可位寻址片内数据存储区,允许位与字节混合访问(16字节)idata 间接寻址片内数
5、据存储区,可访问片内全部RAM地址空间(256字节)pdata 分页寻址片外数据存储区(256字节)由MOV Ri访问(i=0,1)xdata 片外数据存储区(64 KB)由MOVX DPTR访问 code 程序存储器64 KB空间,由MOVC DPTR访问 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能C51存储类型及其数据长度和值域存储类型及其数据长度和值域存储类型长度(bit)长度(byte)值域范围data810255idata810255pdata810255xdata162065 535co
6、de162065 535 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能带存储类型的变量的定义的一般格式为 数据类型 存储类型 变量名带存储类型的变量定义举例:char data var1;bit bdata flags;float idata x,y,z;unsigned int pdata var2;unsigned char vector34;单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能1.3 51特殊功
7、能寄存器特殊功能寄存器(SFR)的的C51定义定义 MCS-51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H0FFH。SFR中有11个寄存器具有位寻址能力,它们的字节地址都能被8整除,即字节地址是以8或0为尾数的。为了能直接访问这些SFR,C51提供了一种自主形式的定义方法,这种定义方法与标准C语言不兼容,只适用于对MCS-51系列单片机进行C语言编程。特殊功能寄存器C51定义的一般语法格式如下:sfr sfr-name=int constant;单片机的C语言应用程序设计 为深入学习习近平
8、新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 sfr是定义语句的关键字,其后必须跟一个MSC-51单片机真实存在的特殊功能寄存器名,=后面必须是一个整型常数,不允许带有运算符的表达式,是特殊功能寄存器sfr-name的字节地址,这个常数值的范围必须在SFR地址范围内,位于0 x800 xFF。例如:sfr SCON=0 x98;/*串口控制寄存器地址98H*/sfr TMOD=0 x89;/*定时器/计数器方式控制寄存器地址89H*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充
9、分发挥中小学图书室育人功能 对于位寻址的SFR中的位,C51的扩充功能支持特殊位的定义,像SFR一样不与标准C兼容,使用“sbit”来定义位寻址单元。有三种表达方式 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 第一种格式:sbit bit-name=sfr-nameint constant;sbit是定义语句的关键字,后跟一个寻址位符号名(该位符号名必须是MCS-51单片机中规定的位名称),=后的sfr-name必须是已定义过的SFR的名字,后的整常数是寻址位在特殊功能寄存器sfr-name中的位号
10、,必须是07范围中的数。例如:sfr PSW=0 xD0;/*定义PSW寄存器地址为D0H*/sbit OV=PSW2;/*定义OV位为PSW.2,地址为D2H*/sbit CY=PSW7;/*定义CY位为PSW.7,地址为D7H*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 第二种格式:sbit bit-name=int constantint constant;=后的int constant为寻址地址位所在的特殊功能寄存器的字节地址,符号后的int constant为寻址位在特殊功能寄存器中的位
11、号。例如:sbit OV=0XD02;/*定义OV位地址是D0H字节中的第2位*/sbit CY=0XD07;/*定义CY位地址是D0H字节中的第7位*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 第三种格式:sbit bit-name=int constant;=后的int constant为寻址位的绝对位地址。例如:sbit OV=0XD2;/*定义OV位地址为D2H*/sbit CY=0XD7;/*定义CY位地址为D7H*/特殊功能位代表了一个独立的定义类,不能与其它位定义和位域互换。单片机的
12、C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能1.4 51并行接口的并行接口的C51定义定义 MCS-51系列单片机并行I/O接口除了芯片上的4个I/O口(P0 P3)外,还可以在片外扩展I/O口。MCS-51单片机I/O口与数据存储器统一编址,即把一个I/O口当作数据存储器中的一个单元来看待。对于MCS-51片内I/O口按特殊功能寄存器方法定义。例如:sfr P0=0 x80;/*定义P0口,地址为80H*/sfr P1=0 x90;/*定义P1口,地址为90H*/单片机的C语言应用程序设计 为深入学习习近平
13、新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 对于片外扩展I/O口,则根据硬件译码地址,将其视作为片外数据存储器的一个单元,使用#define语句进行定义。例如#include#define PORTA XBYTE 0 xFFC0 absacc.h是C51中绝对地址访问函数的头文件,将PORTA定义为外部I/O口,地址为 FFC0H,长度为8位。一旦在头文件或程序中对这些片外I/O口进行定义后,在程序中就可以自由使用变量名与其实际地址的联系,以便使程序员能用软件模拟51的硬件操作。单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主
14、义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能1.5 51内部资源使用的内部资源使用的C语言编程语言编程 (1)中断应用的中断应用的C语言编程语言编程 C51编译器支持在C源程序中直接开发中断程序。中断服务程序是通过按规定语法格式定义的一个函数。中断服务程序的函数定义的语法格式如下:返回值 函数名(参数)interrupt m using n 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能MCS-51中断源编号中断源编号编 号中 断 源入 口 地 址0外部中断00003H1定
15、时器/计数器0000BH2外部中断10013H3定时器/计数器1001BH4串行口中断0023H 单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 using n 选项用于实现工作寄存器组的切换,n是中断服务子程序中选用的工作寄存器组号(0 3)。在许多情况下,响应中断时需保护有关现场信息,以便中断返回后,能使中断前的源程序从断点处继续正确地执行下去。这在MCS-51单片机中,能很方便地利用工作寄存器组的切换来实现。即在进入中断服务程序前的程序中使用一组工作寄存器,进入中断服务程序后,由using n切换
16、到另一组寄存器,中断返回后又恢复到原寄存器组。这样互相切换的两组寄存器中的内容彼此都没有被破坏。单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能扩展多个中断源扩展多个中断源 例例 下图示是利用优先权解码芯片,在单片机8031的一个外部中断INT1上扩展多个中断源的原理电路图。图中是以开关闭合来模拟中断请求信号。当有任一中断源产生中断请求,能给8031的INT1引脚送一个有效中断信号,由P1的低3位可得对应中断源的中断号。单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神
17、,贯彻全国教育大会精神,充分发挥中小学图书室育人功能 在中断服务程序中仅设置标志,并保存I/O口输入状态。C51编译器提供定义特定MCS-51系列成员的寄存器头文件。MCS-51头文件为reg51.h。C51程序如下:#include unsigned char status;bit flag;void service_int1()interrupt 2 using 2 /*INT1中断服务程序,使用第2组工作寄存器*/flag=1;/*设置标志*/status=p1;/*存输入口状态*/void main(void)IP=0 x04;/*置INT1为高优先级中断 */IE=0 x84;/*I
18、NT1开中断,CPU开中断*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能for(;)if(flag)/*有中断*/switch(status)/*根据中断源分支*/case 0:break;/*处理IN0*/case 1:break;/*处理IN1*/case 2:break;/*处理IN2*/case 3:break;/*处理IN3*/default:;flag=0;/*处理完成清标志*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,
19、充分发挥中小学图书室育人功能 1.6 定时器定时器/计数器计数器(T/C)应用的应用的C语言编程语言编程 例例 设单片机的fosc=12 MHz晶振,要求在P1.0脚上输出周期为2 ms的方波。周期为2 ms的方波要求定时时间隔1 ms,每次时间到P1.0取反。机器周期=12/fosc=1 s 需计数次数=1000/(12/fosc)=1000/1=1000 由于计数器是加1计数,为得到1000个计数之后的定时器溢出,必须给定时器置初值为-1000(即1000的补数)。单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图
20、书室育人功能(1)用定时器0的方式1编程,采用查询方式,程序如下:#include sbit P1_0=P10;void main(void)TMOD=0 x01;/*设置定时器1为非门控制方式1*/TR0=1 ;/*启动 T/C0*/for(;)TH0=-(1000/256);/*装载计数器初值*/TL0=-(1000%256);while(!TF0);/*查询等待TF0置位*/P1_0=!P1_0;/*定时时间到P1.0反相*/TF0=0;/*软件清 TF0*/单片机的C语言应用程序设计 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室
21、育人功能(2)用定时器0的方式1编程,采用中断方式。程序如下:#include sbit P1_0=P10;void time(void)interrupt 1 using 1 /*T/C0中断服务程序入口*/P1_0=!P1_0;/*P1.0取反*/TH0=-(1000/256);TL0=-(1000%256);/*重新装载计数初值*/void main(void)TMOD=0 x01;/*T/C0工作在定时器非门控制方式1*/P1_0=0;TH0=-(1000/256);/*预置计数初值*/TL0=-(1000%256);EA=1;/*CPU中断开放*/ET0=1;/*T/C0中断开放*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 语言 应用 基础 程序设计 ppt 课件
限制150内