第5章单片机的C语言程序设计
第5章 单片机的C语言程序设计
单片机的编程语言1.常用的编程语言:汇编语言、C语言2.两类语言的特点汇编语言:利用助记符代替2进制数,依靠硬件进行程序设计:C语言:可读性好,易于理解;3.KEILμvision2集成开发环境基于Windows操作系统的MCS-51系列单片机的集成开发环境之一,集项目管理、源程序的编辑、汇编、编译、连接、程序的仿真、运行调试功能于一体,应用广泛
单片机的编程语言 1. 常用的编程语言:汇编语言、C语言 2. 两类语言的特点 汇编语言:利用助记符代替2进制数,依靠硬件进行 程序设计; C语言:可读性好,易于理解; 3. KEIL µVision2集成开发环境 基于Windows操作系统的MCS-51系列单片机的集成开 发环境之一,集项目管理、源程序的编辑、汇编、编译、 连接、程序的仿真、运行调试功能于一体,应用广泛
5.1单片机的C语言51系列单片机C语言:全称C51语言,专用于51系列单片机软件程序开发的一种高级语言。1.C51与汇编语言相比的优势编程效率高:程序的可移植性好、可读性好、可维护性好;便于应用程序的模块化设计:相对于汇编语言简单易学、便于使用。2.C51与ANSIC的差异C51可直接对单片机的硬件进行操作C51增加了数据类型变量的存储模式:C51具有较强的位操作功能:C51对库函数进行了扩充;开发工具齐全
5.1 单片机的C语言 51系列单片机C语言:全称C51语言,专用于51系列单片机 软件程序开发的一种高级语言。 1. C51与汇编语言相比的优势 编程效率高; 程序的可移植性好、可读性好、可维护性好; 便于应用程序的模块化设计; 相对于汇编语言简单易学、便于使用。 2. C51与ANSI C的差异 C51可直接对单片机的硬件进行操作; C51增加了数据类型; 变量的存储模式; C51具有较强的位操作功能; C51对库函数进行了扩充; 开发工具齐全
C51的数据类型和存储类型5.21.C51的数据类型名称长度值域数据类型单字节无符号字符型unsigned char0~255单字节有符号字符型signed char-128~+127双字节无符号整型0~65535unsigned int有符号整型双字节signed int32768~+32767四字节无符号长整型unsigned long0~4294967295四字节有符号长整型signed long-2147483648~+2147483647浮点型四字节float±1.175494E-38~±3.402823E+381位位变量0或1bit单字节sfr0~2558位特殊功能寄存器双字节sfr1616位特殊功能寄存器0~655351位0或1sbit特殊功能位
5.2 C51的数据类型和存储类型 1.C51的数据类型 数据类型 名称 长度 值域 unsigned char signed char unsigned int signed int unsigned long signed long float bit sfr sfr 16 sbit 无符号字符型 单字节 0~255 有符号字符型 单字节 -128~+127 无符号整型 有符号整型 无符号长整型 有符号长整型 浮点型 位变量 8位特殊功能寄存器 16位特殊功能寄存器 特殊功能位 双字节 双字节 四字节 四字节 四字节 1位 单字节 双字节 1位 -32 768~+32 767 0~4 294 967 295 -2 147 483 648~+2 147 483 647 ±1.175 494E-38~±3.402 823E+38 0或1 0~255 0~65 535 0或1 0~65 535
表5-280C51单片机的特殊功能寄存器的地址符号地址符号注释地址注释IPPO并口PO0xD8中断优先控制寄存器0x80P1并口P1PCON0x900x87波特率选择寄存器P2OxA0并口P2SCON0x98串行口控制器P3并口P3OxBO串行数据缓冲器SBUF0x99PSW0x88OxD0程序状态字TCON定时器控制寄存器累加器ACCOxEO0x89TMOD定时器方式选择寄存器BOxFO乘除法寄存器0x8A定时器0低8位TLO堆栈指针SP0x81TL1Ox8B定时器1低8位0x82数据指针低8位0x8C定时器0高8位DPLTHO0x83数据指针高8位Ox8D定时器1高8位DPHTH1IE0xA8中断充允许控制寄存器
表5-2 80C51单片机的特殊功能寄存器的地址 符号 地址 注释 符号 地址 注释 P0 IP P1 PCON P2 SCON P3 SBUF PSW TCON ACC TMOD B TL0 SP TL1 DPL TH0 DPH TH1 IE 0x80 0x90 0xA0 0xB0 0xD0 0xE0 0xF0 0x81 0x82 0x83 0xA8 0xD8 0x87 0x98 0x99 0x88 0x89 0x8A 0x8B 0x8C 0x8D 并口P0 并口P1 并口P2 并口P3 程序状态字 累加器 乘除法寄存器 堆栈指针 数据指针低8位 数据指针高8位 中断允许控制寄存器 中断优先控制寄存器 波特率选择寄存器 串行口控制器 串行数据缓冲器 定时器控制寄存器 定时器方式选择寄存器 定时器0低8位 定时器1低8位 定时器0高8位 定时器1高8位