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

扁平风网站抖音网红代运营

扁平风网站,抖音网红代运营,电商付费推广方式,百度免费推广有哪些方式一、单片机概述 注意#xff1a;个人学习笔记#xff0c;里面涉及到的C语言和进程转换相关的知识在C语言部分已经写了#xff0c;这里是默认都会的状态学习单片机。 1.什么是单片机 单片机#xff0c;英文Micro Controller Unit#xff0c;简称MCU。其内部集成了CPU、R…一、单片机概述 注意个人学习笔记里面涉及到的C语言和进程转换相关的知识在C语言部分已经写了这里是默认都会的状态学习单片机。 1.什么是单片机 单片机英文Micro Controller Unit简称MCU。其内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能。 我们可以依靠单片机的传感器采集相应的数据可以通过 CPU 处理数据还可以完成对硬件设备如LED蜂鸣器电机等的控制。 单片机相当于一台微型计算机相比于我们平时使用的电脑有优势也有劣势 缺点在性能上与计算机相差甚远处理数据的能力要远低于计算机优点单片机成本低、体积小、结构简单有其适用的领域比如智能家居、工业自动化控制等。并不一定说性能越高的就越好要看起使用需求合适的才是最好的。 2. 51单片机简介 2.1命名规范 2.2笔记使用单片机配置 本笔记学习使用的是普中科技 STC89C52RC 的开发板。 系列51单片机系列公司STC公司位数8位RAM512字节理解为电脑内存条断电丢失ROM8KFlash理解为电脑磁盘断电不丢失工作频率12MHz 二、LED 模块 1.认识LED LED发光二极管外文名(Light Emitting Diode)用于照明、广告灯、指引灯、屏幕等。 LED 具有单向导电性即电流只能从正极流向负极引脚较长的一端为正极引脚较短的一端为负极。 2.单片机中 LED 模块电路图 说明 LED 的电路图可以看出这是一个共阳极电路我们需要通过芯片从另外一端阴极控制 LED 的亮灭串联的电阻用于限流防止烧坏 LED单片机里用 1 表示高电平简单理解为给电0 表示低电平不给电当我们给阴极赋 1 的的时候两边都给电没有压差没有电势差无法形成电流 LED 就无法点亮因此这里给阴极赋 0 就可以点亮对应的LED而芯片控制 LED 对应线路的方式单片机的芯片引出一定数目的引脚此单片机 40 引脚分为几组也有独立的8个引脚为一组正好一字节数据也是 8 位。一组一个寄存器一个寄存器分为 8 个每个就是一个驱动器。我们通过代码的一字节数据给对应位赋 0 其它位赋 1 就能点亮我们想要点亮的 LED 灯泡了上图可以看到每条线路对应了一个编号如 P21 这里的 p2 就代表了使用 P2 号锁存器来控制 LED 后面的 1 对应的是锁存器的其中一个位选段具体到驱动几号 LED。 3. LED 实验 3.1点亮一颗 LED 代码演示 #include REGX52.Hvoid main() {P20xFE; // 1111 1110while(1); }说明 上面的演示效果是点亮了电路图中的 D1 号 LED在分析每位二进制的时候对应的 LED 灯泡从 D1 ~ D8 分别对应二进制中的由低位到高位代码里面显示的从右往左依次是低位到高位但是C语言里面没有二进制类型依次通过十六进制表示要想通过C语言调用对应的寄存器和驱动器需要包含头文件#include REGX52.H单片机里程序运行结束不会直接停止而是会反复去执行因此下面放一个死循环防止反复执行减小 CPU 占用但是实现效果上是没有区别的。 点亮指定多颗 LED #include REGX52.Hvoid main() {P20xAA; // 1010 1010while(1); }说明上面的代码点亮了D1 3 5 7 四颗 LED。 3.2 LED 闪烁 代码演示 #include REGX52.H #include INTRINS.H // _nop_需要的头文件void Delay500ms() //12.000MHz {unsigned char i, j, k;_nop_();i 4;j 205;k 187;do{do{while (--k);} while (--j);} while (--i); }void main() {while(1){P20xFE; // 1111 1110 亮Delay500ms(); // 延时500msP20xFF; // 1111 1111 灭Delay500ms();} }说明 上面的演示效果是实现了 D1 LED 每 0.5 秒闪烁一次的效果上面的延时函数可直接通过软件 STC-ISP 软件的延时计算器生成需要包含头文件#include INTRINS.H这里实现原理很简单即先点亮过 0.5s 熄灭再过 0.5s 点亮通过 while 实现循环。 3.3 LED 流水灯 代码演示 #include REGX52.H #include INTRINS.H// 自定义延时多少毫秒 void Delayxms(unsigned int xms) //12.000MHz {unsigned char i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;} }void main() {// 定义变量保存延时的毫秒数unsigned int time_ms 500;while(1){P20xFE; // 1111 1110Delayxms(time_ms);P20xFD; // 1111 1101Delayxms(time_ms);P20xFB; // 1111 1011Delayxms(time_ms);P20xF7; // 1111 0111Delayxms(time_ms);P20xEF; // 1110 1111Delayxms(time_ms);P20xDF; // 1101 1111Delayxms(time_ms);P20xBF; // 1011 1111Delayxms(time_ms);P20x7F; // 0111 1111Delayxms(time_ms);} }说明 代码运行结果会从 D1 ~ D8 号 LED 依次点亮 0.5s 如此循环和上面闪烁原理一样只不过交替闪烁而已需要计算出每个 LED 点亮对应的十六进制码就行了这里实现了自定义点亮时间即先生成一个一毫秒的延时函数然后在延时函数里放一个 while 循环将延时函数函数体放到循环里面要延时多少毫秒就循环多少遍函数体即可需要注意的是在单片机里int 类型占16位2字节。 三、按键控制 LED 1.认识独立按键模块 1.1独立按键介绍 按键的结构实物图 如图右边按键的底部有四个引脚左边两个是接通的右边两个是接通的左右两边不接通当我们按下的时候左图所示的金属弹片会将左右接通因此按下的时候四个引脚都是接通的。 1.2独立按键电路图 说明 如图所示这里的独立按键是一个共阴极电路前面讲到的寄存器除了可以将指令发送到 IO 口控制 LED 的亮灭还能读取线路中的高低电平状态返回到 IO 口因此按键按下的时候和 GND 接通回馈信号为 0 松开按键回馈信号为1这里使用的是 P3 锁存器1 ~ 4 位选段。 2.按键实验 2.1按键控制 LED 亮灭 代码演示 #include REGX52.Hvoid main() {while(1){// 按键按下回馈信号为0反之为1if(P3_10)P2_00;elseP2_01;} }说明 运行效果按键 K1 按下的时候LED 亮起松开 LED 熄灭除了上面 LED 实验里一次性对一个段的 8 位进行操作以外也能单独对某一位进行操作。 2.2按键控制 LED 状态 2.2.1按键抖动 前面提到的按键里面的金属弹片按键按下的时候弹片会将左右引脚接通但是机械触点也会产生振动虽然这振动对于宏观世界而言无关紧要。但从微观来看机械触点的弹性作用一个开关在闭合时不会马上稳定地接通在断开时也不会一下子断开所以在开关闭合及断开的瞬间会伴随一连串的抖动如下图 因此在按键按下和松开的时候各设置一个延时函数消抖即可。 2.2.2按键点亮 LED 代码演示 #include REGX52.H #include INTRINS.Hvoid Delayxms(unsigned int xms) //12.000MHz {unsigned char i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;} }void main() {while(1){if(P3_1 0){// 延时为了消除按键抖动Delayxms(20);// 如果按键不松开就一直循环while(P3_1 0);Delayxms(20);// 这一次值为上一次的取反即上一次灭这一次就亮P2_0 ~ P2_0;}}}说明 上面代码运行的效果按下松开 LED 点亮再次按下松开LED 熄灭在按下和松开的瞬间各设置一个延时消抖如果按下没有松开通过一个 while 循环阻塞直到松开按键循环解阻塞当前 LED 的亮灭状态为按键前的取反即按键前是亮则按下后是灭按下前是灭按下后是亮。 2.3按键控制 LED 以二进制显示 代码演示 #include REGX52.H #include INTRINS.Hvoid Delayxms(unsigned int xms) //12.000MHz {unsigned char i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;} }void main() {unsigned char LEDNum 0;while(1){if(P3_1 0){Delayxms(20);while(P3_1 0);Delayxms(20);LEDNum;P2 ~LEDNum;}}}说明 上面代码的运行效果每按下一次按键LED 就以二进制数值递增的方式显示定义一个局部变量用于存放每个 LED 的高低电平状态每按键一次对变量 1 因为 LED 模块是共阳极电路因此给 0 LED 才亮因此对局部变量按位取反实现真正的效果。 2.4按键控制 LED 左右移动 代码演示 #include REGX52.H #include INTRINS.Hvoid Delayxms(unsigned int xms) //12.000MHz {unsigned char i, j;while(xms){i 2;j 239;do{while (--j);} while (--i);xms--;} }void main() {unsigned char LEDNum 0;P2~0x01; // led默认开始在第一个while(1){// 实现灯号递增移动if(P3_1 0){Delayxms(20);while(P3_1 0);Delayxms(20);LEDNum;if(LEDNum 8)LEDNum 0;P2 ~(0x01LEDNum);}// 实现灯号递减少移动if(P3_0 0){Delayxms(20);while(P3_0 0);Delayxms(20);if(LEDNum 0)LEDNum 7;LEDNum--;P2 ~(0x01LEDNum);}} }说明 运行结果点按 K1 按键 LED 从低位向高位每按键一次移动一个点按 K2 按键LED 从高位向低位每按键一次移动一个这里设置 LED 默认点亮 D1 号定义一个变量用于保存下一次按键点亮 LED 的偏移量通过左移右移实现每按键一次左移或右移一个 LED 同时判断移动范围低位到高位移动最大偏移量为 7 当超过 7 的时候复位到最低位 LED 同理由高位到低位移动最低位偏移量为0先判断为 0复位到最高位 LED如此循环实现。
http://www.dnsts.com.cn/news/151463.html

相关文章:

  • 做阀门的网站青海餐饮网站建设
  • 子目录创建网站怎么评价一个网站做的好否
  • 做平面设计用哪个素材网站好seo外链工具
  • 如何用框架做网站微信小程序开发工具pc6
  • 网站首页上海网站建设公司中国工厂网
  • 高校网站建设的优势和不足建设一个小说网站
  • 网站建设项目流程脚本外链平台
  • 免费网站是html网页制作代码大全示范
  • 如何 做网站知乎seo
  • 信息化建设 网站为什么做免费视频网站
  • 建设厅网站实名制系统如何解聘免费新建网站
  • 仓库管理 erp网站seo优化主要有哪些手段
  • 织梦网站修改数据库表数据网页图片尺寸
  • ppt代做网站wordpress 优惠券 插件
  • 宜昌网站制作公司亿腾蚌埠网站关键词优化
  • 北京教育网站建设域名是什么?
  • 局网站建设意见做网站网站条件
  • 东莞网站建设推广品众宁波做网站哪家好
  • 做网站年入多少动画做视频在线观看网站
  • 向客户介绍网站建设gta5房产网站在建设
  • 知名seo网站优化公司wordpress本地上传头像插件
  • dedecms做手机网站网站建设方案前言
  • 公司网站招聘费如何做会计分录删除wordpress文章修订版本
  • 中信建设内部网站北京网站备案注销
  • 温州做网站建设多少钱wordpress 删除修订版本
  • 做网站的费用会计分录天津免费建网站
  • 做地方门户网站如何做口碑营销服务
  • 网站做漏洞扫描费用高校学风建设网站
  • 门户网站建设重建方案建网站中企动力
  • 松原市城乡建设局网站广州公司网页制作