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

做网站ftp网站建设从哪入手

做网站ftp,网站建设从哪入手,网站主页,android 登录wordpress从这篇文章开始#xff0c;我们不再只研究单一的外设工作#xff0c;而是将LED、数码管、开关、按键搭配在一起研究#xff0c;这篇文章主要介绍LED和开关能擦出怎样的火花#xff0c;同时也介绍一些函数封装的知识。 由于开关有闭合与打开两种状态#xff0c;LED有左移流…从这篇文章开始我们不再只研究单一的外设工作而是将LED、数码管、开关、按键搭配在一起研究这篇文章主要介绍LED和开关能擦出怎样的火花同时也介绍一些函数封装的知识。 由于开关有闭合与打开两种状态LED有左移流水灯、右移流水灯、全部闪烁、高低位点亮、奇偶位点亮和内外位点亮等状态它们之间两两组合的情况十分复杂所以我们首先要介绍一下函数封装的思想以简化代码。 函数封装是将一段代码逻辑封装在一个函数中以便在需要时可以重复使用。封装函数有以下几个优点 提高代码的复用性将一段常用的代码逻辑封装成函数后可以在不同的地方进行调用提高代码的复用性。 简化代码结构将一段复杂的代码逻辑封装成函数后可以通过函数名来调用该逻辑使代码结构更加清晰简洁。 提高代码的可维护性将代码逻辑封装到函数中可以方便地对该逻辑进行修改和维护不影响其他部分的代码。 函数封装的基本步骤如下 定义函数名选择一个合适的函数名一般采用动词开头的命名方式表示该函数所完成的操作。 定义函数参数根据函数的需求定义合适的参数列表可以有多个参数也可以没有参数。 编写函数体在函数体中编写具体的代码逻辑实现函数的功能。 返回结果如果函数需要返回结果使用 return 语句返回结果。 //头文件 #include reg52.h #includeintrins.h //宏定义 #define uchar unsigned char //变量定义 sbit SWP3^0; uchar temp; //函数定义 void Delay() {uchar i, j;for (i0;i255;i)for (j0;j255;j); } void leftmove() //执行流水灯左移操作 {P1 temp;temp _crol_(temp,1);Delay();Delay();Delay(); } void rightmove() //执行流水灯右移操作 {P1 temp;temp _cror_(temp,1);Delay();Delay();Delay(); }void shine() //执行LED闪烁 {temp 0;P1 temp;Delay();Delay();Delay();temp 0xff;P1 temp;Delay();Delay();Delay(); } void highorlow() //执行高低位切换 {temp 0x0f;P1 temp;Delay();Delay();Delay();temp 0xf0;P1 temp;Delay();Delay();Delay(); } void oddoreven() //执行奇偶位切换 {temp 0x55;P1 temp;Delay();Delay();Delay();temp 0xaa;P1 temp;Delay();Delay();Delay(); } void inorout() //执行内外位切换 {temp 0x3c;P1 temp;Delay();Delay();Delay();temp 0xc3;P1 temp;Delay();Delay();Delay(); } void main() {P1 0xff; //上电全灭temp 0xfe; //共阳极接法//temp 0x01; //采用取反操作初值比较好设置while(1){//P1 ~temp;{//按键判断if(SW1){leftmove(); //需要执行什么操作封装成函数即可//shine();//oddoreven();}else{rightmove();//highorlow();//inorout();}} } } 需要注意左右移动流水灯的初值在while1循环外其他模式的初值都在相应的封装函数中。这是因为流水灯的temp值无法直接指定而是在每次判断SW数值时由库函数赋予。大家在编写代码时要注意这点。 电路如图所示和之前的流水灯电路相比在右侧多加了一个控制开关 开关控制LED点亮模式 另外笔者在学习过程中觉得老师发的这一段代码很有意思是一个能够自动调整的奇偶位流水灯在函数封装里用一行顺序流水灯代码调整了奇偶位置发出来和大家一起学习。 #includereg52.h #includeintrins.h typedef unsigned int uint; typedef unsigned char uchar; sbit swP3^0; uint fl0; uchar tmp; void delay(ui t) {ui i,j;for(i0;it;i){for(j0;j225*225;j){}} } void get_lf() {if(tmp0x80)tmp0x01;else tmptmp1;delay(3); } void get_rt() {if(tmp0x01)tmp0x80;else tmptmp1;delay(3); } void odd() {if(fl1)get_rt();if(tmp0x40)tmp0x01;else tmptmp2;delay(3); } void eve() {if(fl0)get_rt();if(tmp0x80)tmp0x02;else tmptmp2;delay(3); } void main() {P10xff; tmp0x01;while(1){P1~tmp;if(sw1){ odd();fl0;}else {eve();fl1;}} } 开关控制LED点亮的内容就介绍到这里谢谢大家。
http://www.hkea.cn/news/14471378/

相关文章:

  • 在线捐款网站开发网站效果图设计方案
  • 自助建站平台源码wordpress纯代码屏蔽谷歌字体
  • 设计网站接单wordpress漫画小说
  • 怎样建手机网站深圳营销策划公司
  • 网站制作费一般多少不同网站相似的页面百度不收录吗
  • 哪里有做网站的公司专门做民宿的网站
  • 直播是网站怎么做网站费用构成
  • 制作网站的最新软件是什么查找人网站 优帮云
  • 学校门户网站建设工作做网站找个人还是公司
  • 唐河网站制作打开百度首页
  • 网站logo素材互联网排名前100的公司
  • 西宁网站建设最好的公司北京市公共资源交易服务平台
  • 做网站资源管理是高校网站模板
  • wordpress多站点批量添加wordpress不用主题
  • 龙岩网站建惠州市网站开发
  • 国外论文类网站有哪些长春专业网站建设公司
  • 沈阳企业网站怎样制作网站建设课程简介
  • 自己创建网站容易吗商标查询小程序
  • 扁平化 网站wordpress模板后门
  • 福州哪里做网站烘焙甜点培训学校
  • 做食品网站需要什么资质吗vps 搭建wordpress
  • 做网站需要用什么语言开发从零开始建设企业网站
  • .net网站项目有哪些陈村九江网站建设
  • 如何建设网站导航内链接重庆网捷网站建设技术有限公司
  • 网站建设推广优化排名开发网站公司的简介
  • 什么网站比较少人做二级域名备案流程
  • 网站开发的工作对象福田网站建设-信科网络
  • 个人如何建立网站买机票便宜的网站建设
  • 一般做企业网站需要什么wordpress喜欢插件
  • 网件路由器做网站免费企业官网模板