电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机素材课件

125页
  • 卖家[上传人]:F****n
  • 文档编号:88146090
  • 上传时间:2019-04-19
  • 文档格式:PPT
  • 文档大小:2.13MB
  • / 125 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、,培训内容,第一部分:C语言基础 1、C51特点 2、C51开发环境安装与简介 3、C语言基本语法 4、编程风格 第二部分:常用接口模块编程 1、键盘接口 2、数码管显示 3、温度传感器18B20使用 4、LCD1602使用 5、时钟芯片1302使用与编程,C51知识,C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。,C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机、DSP、ARM等. C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。 C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。,C-51的特点,C-51与ASM-51相比,有如下优点: 1. 对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解; 2. 寄存器分配、

      2、不同存贮器的寻址及数据类型等细节可由编译器管理; 3. 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化; 4. 提供的库包含许多标准子程序,具有较强的数据处理能力; 5. 由于具有方便的模块化编程技术,使已编好程序可容易地移植;,汇编语言与C语言对比举例 (1),1、在一个C语序中必须有一个void main()函数,此函数是整个程序的入口,函数体由括起。 2、C语言中的大小写是敏感的。 3、C程序是由语句构成,一个语句必须由“;”号结束。 4、#include命令的功能是把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。:系统路径查找 “”:源文件路径查找 通常有:reg51.h reg52.h math.h stdio.h 常用有:reg51.h reg52.h(定义特殊功能寄存器和位寄存器),基本C程序结构,C语言基础知识,下面我们开始学习C语言基本知识,一、常量 常量是在程序运行过程中不能改变值的量 常量表示: 1 整型常量十进制表示如123,0,89等。十六进制表示则以0x开头如0x34,-0x3B等。 2 浮点型常量。十

      3、进制由数字和小数点组成,如0.888,3345.345,0.0等, 3 字符型常量是单引号内的字符,如a,d等, 4 字符串型常量由双引号内的字符组成,如“test“,“OK“等。,二、变量 程序执行过程中其值能不断变化的量,放在RAM中。 例如你要对P1.1口输入的脉冲进行计数,就需要一个地方存这个数。 1、定义一个普通变量的格式如下: 数据类型 变量名表 例如:unsigned int a,b,c; 变量名,只能以字母或下划线开头,由字符组成,不能与关键字重名。 常见的数据类型:,C语言基础知识,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed) int,16,-3276832767,(signed) short,16,-3276832767,(signed) long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,do

      4、uble,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,举例说明 2,C关键字(保留),2、定义一个特殊功能寄存器变量的格式如下: sfr 特殊功能寄存器名= 特殊功能寄存器地址常数; 例如:sfr P0 = 0x80; 3、定义一个可位寻址对象变量的格式如下: sbit 位变量名位地址 例如:sbit P0.0 = 0x80; sbit P0.0 = P00; 举例说明作用 4、位变量定义 bit 位变量名,三、运算符 1、赋值运算符 赋值运算符就是赋值符号“=” 2、算术运算符 加法运算符 减法运算符 乘法运算符 除法运算符 模运算或取余运算符 为自增运算符 为自减运算符。,3、复合赋值运算符 , , 例如: a+=b 等价于a=(a+b) x*=a+b 等价于x=(x*(a+b) 4、位运算符 & 按位与 相当于ANL指令 | 按位或 相当于ORL指令 按位异或 相当于XRL指令 按位取反 相当于CPL指令 右移 相当于RR指令,按位与 (&),运算规则 0 用途 按位清零 保留某些指定位,按位与举例,运算举

      5、例 1010,1101 (0xAD) & 0110,1001 (0x69) 0010,1001 (0x29) 按位清零、其他位不变 xxxx,xxxx_ & 0110,0010 (0x62) 0xx0,00x0_,按位或 (|),运算规则 0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1; 用法 按位置一,按位或举例,运算举例 1010,1101 (0xAD) | 0110,1001 (0x69) 1110,1101 (0xED) 按位置一 xxxx,xxxx_ | 0110,0010 (0x62) x11x,xx1x_,按位异或 (),运算规则 0 0 = 0; 0 1 = 1; 1 0 = 1; 1 1 = 0; 说明 相“异”则为1,相“同”则为0 相当于按位且无进位的加法,按位异或用法举例,特定位翻转 1010,1101 (0xAD) 0110,1001 (0x69) 1100,0100 (0xC4) 与0相异或,保持原值不变。 与1相异或,翻转其值。(翻转特定位) 与自身相异或,则全部位清零 交换两个整数值 a=ab; b=ba; a=ab

      6、;,按位取反 (),运算规则 0 = 1; 1 = 0; 用法 所有位翻转,按位取反举例,运算举例 1010,1101 (0xAD) 0101,0010 (0x52) 所有位翻转,左移 (),运算规则 i n 把i各位全部向左移动n位 最左端的n位被移出丢弃 最右端的n位用0补齐 用法 若没有溢出,则左移n位相当于乘上2n 运算速度比真正的乘法和幂运算快得多,左移举例,运算举例 1010,1101 3 (101)0110,1000_ 溢出举例 若左移后的数据超出表示范围,则发生溢出 int i, j; i = 0x2431; j = i2; /* j=-0x6F3C, 溢出 */ j = i3; /* j= 0x2188, 溢出 */,右移 (),运算规则 i n 把i各位全部向右移动n位 最右端的n位被移出丢弃 最左端的n位用0补齐(逻辑右移) 或最左端的n位用符号位补齐(算术右移) 用法 右移n位相当于除以2n,并舍去小数部分 运算速度比真正的除法和幂运算快得多,右移举例,运算举例 0101,1101 3 0000,1011(101),5、关系运算符 小于 小于等于 大于 大于等于

      7、 等于 ! 不等于,实例分析,6、逻辑运算符 & 逻辑与 | 逻辑或 ! 逻辑非,实例分析,四、程序流程控制 1、顺序结构 依次执行的语句。 2、选择语句 (1)、if语句 以下三种形式: if(表达式)语句; if(表达式)语句1; else 语句2;,嵌套使用: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else if(表达式m) 语句m; else 语句 n;,三种形式的简明示意图,例1: if (p1!=0) c=20; 例2: if (p1!=0) c=20; else c=0; 例3: if (a=1) c=10; else if (a=2) c=20; else if (a=3) c=30; else if (a=4) c=40; else c=0;,if语句中注意的问题,if关键字之后的表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至可以是一个变量。 例如:if(a=5);if(b)语句;都是允许的。只要表达式的值为非0,即为“真”,那么其后的语句就要执行。在if语句中,条件判断

      8、表达式必须用括号括起来,在语句之后必须加分号。 在if语句的3种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用括起来组成一个复合语句。但要注意的是在“”之后不能再加分号。,上机练习: 根据按键亮灯,当按下一个铵键后,灯亮,松开后,灯灭。,(2)、switch/case语句 switch/case语句的一般形式如下: switch(表达式) case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; case 常量表达式n:语句n; break; default :语句n+1; break语句又称间断语句,它的功能是终止当前语句的执行,使程序跳出switch语句。,switch语句说明,(1)switch括号后面的表达式,允许为任何类型。 (2)当“表达式”的值与某个case后面的常量表达式的值相等时,就执行此case后面的语句。如果表达式的值与所有常量表达式都不匹配,就执行default后面的语句(如果没有default就执行跳出switch,执行switch语句后面的语句)。 (3)各个常量表达式的值

      9、必须互不相同,否则出现矛盾。 (4)各个case,default出现的顺序不影响执行结果。,(5)执行完一个case后面的语句后,流程控制转移到下一个case中的语句继续执行。此时,“case 常量表达式”只是起到语句标号的作用,并不在此处进行条件判断。在执行一个分支后,可以使用break语句使流程跳出switch结构,即终止switch语句的执行(最后一个分支可以不用break语句)。 (6)case后面如果有多条语句,不必用括起来。 (7)多个case可以共用一组执行语句。(注意break使用的位置),switch语句说明,switch 语句应用举例,#include #include extern serial_initial( ); void main( ) int a,b; serial_initial( ); printf(“please input b=”); scanf(“%d”, ,3、循环语句 许多问题的求解归结为重复执行的操作,比如数值计算中的方程迭代求根,非数值计算中的对象遍历。重复执行就是循环。重复工作是计算机特别擅长工作之一。 重复的动作是受控制的,比如满足一定条件继续做,一直做直到某个条件满足,做多少次结束。也就是说重复工作需要进行控制-循环控制。,(一) while语句(当型循环),注意事项,(1)while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。 (2)当循环体为多个语句组成,必须用括起来,形成复合语句。 (3)在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。,while语句应用举例,例:利用while语句,编写程序计算1+2+3+100。 流

      《单片机素材课件》由会员F****n分享,可在线阅读,更多相关《单片机素材课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.