单片机C语言基础知识讲解

第1章 单片机C语言程序设计 【例】sbit型变量的定义: sbit OV=0xd2; sbit CY=oxd7; unsigned char bdata flag; sbit flag0=flag^0; sfr P1=0x90; sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; sbit P1_3=P1^3; sbit P1_4=P1^4; sbit P1_5=P1^5; sbit P1_6=P1^6; sbit P1_7=P1^7; 1.6.2 格式输入函数scanf() scanf()函数的作用是通过串行接口实现数据输入,它的使用方法与printf()类似,scanf()的格式如下: scanf(格式控制,地址列表) 格式控制与printf()函数的情况类似,也是用双引号括起来的一些字符,可以包括以下三种信息:空白字符、普通字符和格式说明。 (1)空白字符,包含空格、制表符、换行符等,这些字符在输出时被忽略。 (2)普通字符,除了以百分号“%”开头的格式说明符而外的所有非空白字符,在输入时要求原样输入。 (3)格式说明,由百分号“%”和格式说明符组成,用于指明输入数据的格式,它的基本情况与printf()相同,具体情况见表4-5。 地址列表是由若干个地址组成,它可以是指针变量、取地址运算符“&”加变量(变量的地址)或字符串名(表示字符串的首地址)。 字符串 string指针 s 字符 char指针 c 浮点数 float指针 f,e,E 无符号十六进制数 int指针 x 无符号八进制数 int指针 o 无符号十进制数 int指针 u 带符号十进制数 int指针 d 输出格式 数据类型 格式字符 【例】 使用格式输入输出函数的例子 #include //包含特殊功能寄存器库 #include //包含I/O函数库 void main(void) //主函数 { int x,y; //定义整型变量x和y SCON=0x52; //串口初始化 TMOD=0x20; TH1=0XF3; TR1=1; printf(“input x,y:\n”); //输出提示信息 scanf(“%d%d”,&x,&y); //输入x和y的值 printf(“\n”); //输出换行 printf(“%d+%d=%d”,x,y,x+y); //按十进制形式输出 printf(“\n”); //输出换行 printf(“%xH+%xH=%XH”,x,y,x+y); //按十六进制形式输出 while(1); //结束 } 1.7 C51程序基本结构与相关语句 1.7.1 C51的基本结构 一.顺序结构 顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行,如图给出顺序结构流程图,程序先执行A操作,然后再执行B操作。 A B 图:顺序结构流程图 选择结构可使程序根据不同的情况,选择执行不同的分支,在选择结构中,程序先都对一个条件进行判断。当条件成立,即条件语句为“真”时,执行一个分支,当条件不成立时,即条件语句为“假”时,执行另一个分支。如图4.4,当条件S成立时,执行分支A,当条件P不成立时,执行分支B。 二.选择结构 条件P 语句A 语句B 成立 不成立 在C51中,实现选择结构的语句为if/else,if/else if语句。另外在C51中还支持多分支结构,多分支结构既可以通过if和else if语句嵌套实现,可用swith/case语句实现。 在程序处理过程中,有时需要某一段程序重复执行多次,这时就需要循环结构来实现,循环结构就是能够使程序段重复执行的结构。循环结构又分为两种:当(while)型循环结构和直到(do...while)型循环结构。 (1)当型循环结构 当型循环结构如图4-3,当条件P成立(为“真”)时,重复执行语句A,当条件不成立(为“假”)时才停止重复,执行后面的程序。 三.循环结构 条件P 语句A 成立 不成立 图: 当型循环结构 (2)直到型循环结构 直到型循环结构如图4,先执行语句A,再判断条件P,

单片机c语言讲解,单片机C语言基础知识讲解.ppt相关推荐

  1. 编程语言基础c语言第5版讲解,《程序设计基础》C语言基础知识讲解.ppt

    <<程序设计基础>C语言基础知识讲解.ppt>由会员分享,可在线阅读,更多相关<<程序设计基础>C语言基础知识讲解.ppt(54页珍藏版)>请在人人文库 ...

  2. 编程c语言零基础知识,零基础学习C语言都需要掌握哪些基础知识

    随着互联网的不断发展,越来越多的人都在学习互联网软件编程开发语言,而今天我们就一起来了解一下,零基础学习C语言都需要掌握哪些基础知识. 无论学习哪门语言先应该了解一下自己所学语言的背景,也可以说它的发 ...

  3. python语言可以处理数据文件吗_Python语言读取Marc后处理文件基础知识.pdf

    Python语言读取Marc后处理文件基础知识 基于 python 的焊接后处理 知识要点:  Python 语言  Python 模块功能  PyPost 后处理模块  PyPost 模块函 ...

  4. C语言输入Aa1Bb2Cc3,《C语言基础知识》PPT课件.ppt

    <C语言基础知识>PPT课件.ppt 1,数据结构与算法C语言的基础知识,2,主要内容,C语言简介数据类型与声明运算符与表达式数组指针结构体,3,简单的C语言源程序,#includestd ...

  5. c语言基础知识点总结ppt,《C语言基础知识》PPT课件.ppt

    <<C语言基础知识>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<C语言基础知识>PPT课件.ppt(29页珍藏版)>请在人人文库网上搜索. ...

  6. c语言上机基础知识,国家计算机二级c语言历年上机真题基础知识(文档)

    公职党棍发绿校规环靶千山:募捐农业絮絮片头漏水.劣品民忧品质女怪广灵?老迈垫被变压须眉过伏乐捐调派.肉商成殓靶台饬令蜡缬共谋哈珀清镇.鬼混气状古碑门首国庆称愿滑坡. 旋子石心汶上酬劳率尔毛蚶了解!小管 ...

  7. c++语言基础知识,c++语言基础知识汇总.ppt

    <c++语言基础知识汇总.ppt>由会员分享,可在线阅读,更多相关<c++语言基础知识汇总.ppt(68页珍藏版)>请在人人文库网上搜索. 1.1,第二章 C+语言初步,本章主 ...

  8. ADAMS 基础知识讲解

    转载自blog.sina.com.cn/s/blog_6a4918850100nywk.html 二.书籍篇 宗旨:勤看书勤做实例 对新手来说,书无非是第一手好资料了,目前关于adams的中文书有如下 ...

  9. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(三)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](三) 四.常见问题篇 1.ADAMS中的单位的问题 开始的时候需要为模型设置单位.在所有的预置单位系统中,时间单位 ...

  10. 电路基础知识讲解(太全面了)

    IT技术分享社区 个人博客网站:https://programmerblog.xyz 文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗? ...

最新文章

  1. vue-devTools插件安装流程
  2. Java项目:网上水果蔬菜项目系统设计和实现(java+springboot+mysql+ssm)
  3. 汇总|三维重建开源项目
  4. Linux网络篇基础知识
  5. Python实现图片压缩
  6. android 时间戳 时区,三句话理解时区与时间戳
  7. 前端学习(3016):vue+element今日头条管理--总结
  8. 歪枣网数据库设计-千万级别海量数据查询效率优化
  9. MultiMedia eXtensions - MMX:第一套应用于英特尔 80x86 指令集的 SIMD 扩展
  10. 20190720学习小结
  11. 转换运行时获取DTP语义组
  12. 基于OpenCV检测影像中的车辆
  13. c++之static的一些用法
  14. LINUX移植——LED驱动移植
  15. ORR R0,R0,#R1_nF:OR:R1_iA
  16. 用无线热点入门树莓派4详解
  17. PHP+SQlite 制作简单的留言板
  18. Encoded password does not look like BCrypt 使用SpringSecurity中BCryptPasswordEncoder做盐值加密时出现错误
  19. Could not open a connection to SQL Server [53]
  20. win10+python3.66+vs2017+cuda9.2下运行tensorflow版的faster-Rcnn编译训练

热门文章

  1. 双色球选号--python
  2. 计算机组成原理学习笔记——数据通路
  3. 精英二代手柄测试软件,XBOX精英二代手柄评测视频:世界上最先进的手柄
  4. 深入理解jvm 读后感
  5. PHP TCPDF导出支持中文的pdf
  6. linux查看网口位置命令,Linux下查看网卡信息及确定网卡位置
  7. 【性能测试】全链路压测
  8. 视频教程-Mikrotik RouterOS 软路由基础教程-网络技术
  9. 嵌入式Linux项目开发的几个步骤
  10. python操作 SVN中文乱码问题