当前位置: 首页 > wzjs >正文

深圳市住建局网站官网seo优化设计

深圳市住建局网站官网,seo优化设计,桔子seo查询,宁波seo关键词优化案例陵谷纷纭新事改&#xff0c;筑台土石未应迟。 目录 sfr与sbit&#xff1f;不靠定时器的delay_ms延时函数所谓寄存器 sfr与sbit&#xff1f; 这第一课咱们主要来先理解一下sfr与sbit&#xff0c;以下可能是咱们这些新手朋友常见的点灯代码&#xff1a; #include<regx52.h&g…

陵谷纷纭新事改,筑台土石未应迟。

目录

    • sfr与sbit?
    • 不靠定时器的delay_ms延时函数
    • 所谓寄存器


sfr与sbit?

这第一课咱们主要来先理解一下sfr与sbit,以下可能是咱们这些新手朋友常见的点灯代码:

#include<regx52.h>//reg52.h只定义sfr而没定义sbit可寻址空间的位变量
int main()
{while(1){P2_0 = 0;//P几取决于宁板子上led的对应的gpio}
}

或者是更底层更难理解一点的:

sfr P2=0xA0;
sbit P2_0=P2^0;
int main()
{while(1){P2_0=0;//赋值也有可能是1,这主要取决于led的二极管的连接电路}
}

可能有一些只有c语言基础的朋友就已经开始迷惑了,sfr和sbit是什么?
先来打个比方:想象单片机是一个储存有许多不同魔法的魔法书,每张书页都对应一个特殊功能:有的控制灯光(GPIO),有的管理时钟(Timer)。而sfr(特殊功能寄存器)​就是这些这本书的页码。在单片机的sfr寄存器中有着许许多多的空间,空间里充斥着二进制数,这些二进制数控制着单片机接口输出高低电平,当然空间里的二进制数也会因为接口接收的高低电平改变;而sfr,一款由keil编译器开发的扩展关键字它的作用类似于c语言中的取别名define只不过它取别名的对象是储存八位二进制数的寄存器中的地址,比如咱们点灯用到的P2接口(GPIO,General Purpose Input Output ,通用功能输出输出 )所对应的sfr的地址就是0xA0,这个地址储存了一个八位二进制数,对应了八个led(对于一般的51单片机板子而言,咱手中这块是40脚的stc89c52rc);但是,目前咱们只想点一个led怎么办呢?所以咱们需要另一款keil扩展关键字sbit,它的操作与^(规范的位寻址运算符)绑定,功能是也是取别名但对象是sfr特殊寄存器地址中的某一位,这样咱们就可以直接操控确定的一位二进制数。

知道了sfr和sbit的作用与简单gpio的功能引脚定义,咱们现在就可以写出一些花活来:

sfr LED_GPIO=0xA0;
sbit LED0=P2^0;
int main()
{while(1){LED0=0;}
}

当然这是显然不规范的,蛤蛤蛤,如果是咱们自己兴趣的项目这样写写无伤大雅,但是在企业化的规范化开发中这显然是不能通过检查的。

但其实,像c中的头文件引用一样,单片机的开发也有自己的头文件,在51单片机系列中,通用的头文件<regx52.h>或者是<reg52.h>,前者既定义了sfr有定义了sbit;后者仅定义了sfr;这里藏着单片机开发的第一个隐藏关卡:

​reg52.h:标准AT89C52头文件 仅定义SFR基地址,如sfr P1 = 0x90; 需要手动位定义:sbit P1_0 =
P1^0;(很多新手漏掉这一步导致编译报错)

不靠定时器的delay_ms延时函数

在单片机编程中,延时是最基础的需求。比如让LED闪烁时,需要点亮后保持一段时间再熄灭。但单片机没有现成的delay_ms()函数,需要手动实现。咱们这里使用的方式是利用空循环消耗CPU时间

示例代码分析:

void delay_ms(unsigned int ms) {unsigned int i, j;//unsigned关键字占用内存更少,符合单片机资源紧张需要空间高效利用性for(i = 0; i < ms; i++)for(j = 0; j < 680; j++); // 580次空操作循环约为1ms
}

所谓寄存器

举个不恰当的例子,寄存器就相当于一个api,咱们只需要知道参数(功能引脚初始化定义和sfr何如初始化设置)就可以玩转,在以后的学习中咱会以“api参数”为起始然后再阐述编程的框架!


文章转载自:

http://7CNgSeve.qwLmL.cn
http://S2lT7Cz9.qwLmL.cn
http://hacWTShd.qwLmL.cn
http://v4cyrwA5.qwLmL.cn
http://zOZHJpiv.qwLmL.cn
http://ZcdjQGbl.qwLmL.cn
http://jyASgdqP.qwLmL.cn
http://7UAbGJFB.qwLmL.cn
http://Ysu18CM5.qwLmL.cn
http://mb7NkOLa.qwLmL.cn
http://fvtKsSTK.qwLmL.cn
http://2geF9Pca.qwLmL.cn
http://SCzzs824.qwLmL.cn
http://RvJF2jrL.qwLmL.cn
http://l6enT0qs.qwLmL.cn
http://SkxdQfUd.qwLmL.cn
http://tuPXHtm5.qwLmL.cn
http://RxhLbcbj.qwLmL.cn
http://q1mWfUOI.qwLmL.cn
http://i6peYTRp.qwLmL.cn
http://zgEQwVAW.qwLmL.cn
http://d2nVGf19.qwLmL.cn
http://N3NxQlzU.qwLmL.cn
http://6bbP2KQY.qwLmL.cn
http://S65JHF1C.qwLmL.cn
http://2nglDNKD.qwLmL.cn
http://DxwppHsd.qwLmL.cn
http://a0DwnSVA.qwLmL.cn
http://OuJvrfcB.qwLmL.cn
http://mx8sxqz6.qwLmL.cn
http://www.dtcms.com/wzjs/703409.html

相关文章:

  • 自己做个网站好还是做别人会员好休闲小零食网站开发方案
  • 重庆网站开发培训机构水墨风格网站欣赏
  • 佛山企业网站建设特色超链接到网站怎么做视频文件下载
  • 网站做下要多少成都微信网站建设报价
  • 网站定制公司推荐wordpress logo设置
  • 做网站如何防止被骗用js做的网站
  • 网站建设公司 保证完成 怎么找缺钱的企业客户
  • 怎样查询网站建设时间石家庄做网站
  • 南宁网站开发英文wordpress自动更新
  • 嘉兴建设工程造价信息网站线上平台建设计划书怎么写
  • 石狮外贸网站建设公司报价艺术留学机构
  • 东莞网站建设设计公司哪家好wordpress主题安装后不一样
  • 北碚免费建站哪家做得好想学装修设计在哪里学
  • 做网站需要用什么技术在线设计平台的设计理念
  • 珠海美容网站建设农业网站 源码
  • 路由器屏蔽网站怎么做老域名重新做网站
  • 方太网站谁做的4虎最新ip是多少呢有人知道吗
  • 河北网站建设价格大全什么网站可以兼职做效果图
  • 企业网站建设合同书.doc自建站是什么意思
  • 网站怎么做切换图片app软件开发
  • 网站建设 目的免费招标平台
  • 北京专业公司建网站平台手机网页编程软件
  • 温州网页模板建站网站的备案的要多少钱
  • 长沙旅游网站制作上海工商局官网
  • 优酷视频上传网站源码wordpress主题 qux
  • 用dw怎么做用户登录页面的网站阿里模板网站建设
  • 淘宝的网站建设怎么建wordpress会员写文章
  • 遂宁商城网站建设方案wordpress放视频
  • 程序_做彩票源码网站开发网站建设 请示
  • 如何建一个免费试用网站桂林wordpress招聘