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

服务器用来做网站空间天津大寺网站建设

服务器用来做网站空间,天津大寺网站建设,wordpress熊掌号提交数据,怎么引导做淘宝的客户做官方网站51单片机应用从零开始(一)-CSDN博客 51单片机应用从零开始(二)-CSDN博客 51单片机应用从零开始(三)-CSDN博客 详解 KEIL C51 软件的使用建立工程-CSDN博客 详解 KEIL C51 软件的使用设置工程编绎与连接程序…

51单片机应用从零开始(一)-CSDN博客

51单片机应用从零开始(二)-CSDN博客

51单片机应用从零开始(三)-CSDN博客

详解 KEIL C51 软件的使用·建立工程-CSDN博客

详解 KEIL C51 软件的使用·设置工程·编绎与连接程序-CSDN博客

目录

5.  通过对 P3 口地址的操作流水点亮 8 位 LED

6.  用不同数据类型控制灯闪烁时间


5.  通过对 P3 口地址的操作流水点亮 8 位 LED

        前面,我们已经通过P3进行了8位流水灯的控制,现在我们通过对 P3 口地址的操作流水点亮 8 位 LED。

使用操作寄存器的方式:

(1)首先需要定义 P3 口的地址,即将 P3 口的地址存入一个寄存器中,比如说:

        MOV A, #90H ; 将 P3 口的地址 90H 存入 A 寄存器中 MOV R0, A ; 将 A 寄存器中的值存入 R0 寄存器中

 (2)然后需要将 P3 口配置为输出模式,这可以通过将 P3CON 寄存器的相应位设置为 1 来实现,比如说:

        MOV A, #80H ; 将 P3CON 寄存器的地址 80H 存入 A 寄存器中 MOV R1, A ; 将 A 寄存器中的值存入 R1 寄存器中 MOV A, #FFH ; 将 P3 端口配置为输出模式,即将 P3CON 的第 7 位设置为 1 ANL R1, A ; 将 R1 寄存器中的值与 FFH 按位与运算,将第 7 位设置为 1 MOVX @DPTR, R1 ; 将 R1 寄存器中的值存入 P3CON 寄存器中

 (3)接下来就可以对 P3 口进行操作了,比如说点亮 LED。可以通过将 8 个 LED 的状态存入一个寄存器中,再将该寄存器的值存入 P3 端口,实现点亮 8 个 LED。代码示例:

        MOV A, #0FFH ; 将需要点亮的 8 个 LED 的状态存入 A 寄存器中 MOV R2, A ; 将 A 寄存器中的值存入 R2 寄存器中 MOVX @R0, R2 ; 将 R2 寄存器中的值存入 P3 端口,即点亮 8 个 LED

 (4)最后可以添加延时等操作,使 LED 闪烁或者呈现其他效果,比如说:

        DELAY: MOV R3, #FFH LOOP1: DJNZ R3, LOOP1 DJNZ R2, DELAY RET

使用C语言的代码示例:

#include<reg51.h> //包含单片机寄存器的头文件
sfr x=0xb0; //P3 口在存储器中的地址是 b0H, 通过 sfr 可定义 8051 内核单
片机//的所有内部 8 位特殊功能寄存器,对地址 x 的操作也就是对 P1 口的
操作
/**************************************** 
函数功能:延时一段时间
*****************************************/ 
void delay(void) { unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++) ; //利用循环等待若干机器周期,从而延时一段时间} 
/***************************************** 
函数功能:主函数 
******************************************/ 
void main(void) 
{ while(1) { x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数 }
}

6.  用不同数据类型控制灯闪烁时间

51单片机可以使用不同的数据类型来控制灯闪烁时间,其中包括:

  1. 整型变量:可以使用int型或者unsigned int型来控制灯的闪烁时间,比如:

    int time = 1000; // 定义一个int型变量time,表示灯闪烁的时间为1000ms
    
  2. 长整型变量:可以使用long型或者unsigned long型来控制灯的闪烁时间,比如:

    unsigned long time = 5000; // 定义一个unsigned long型变量time,表示灯闪烁的时间为5000ms
    
  3. 浮点型变量:可以使用float型或者double型来控制灯的闪烁时间,比如:

    float time = 0.5; // 定义一个float型变量time,表示灯闪烁的时间为0.5s
    

    需要注意的是,在使用浮点型变量控制灯的闪烁时间时,需要将其转换为整型,比如:

    int time = (int)(0.5 * 1000); // 将0.5s转换为500ms,然后定义一个int型变量time,表示灯闪烁的时间为500ms
    

不同的数据类型可以用于不同的应用场景,需要根据具体情况进行选择。

代码示例:

#include<reg51.h> //包含单片机寄存器的头文件
/****************************************************** 
函数功能:用整形数据延时一段时间
******************************************************/ 
void int_delay(void) //延时一段较长的时间
{ unsigned int m; //定义无符号整形变量,双字节数据,值域为 0~65535 for(m=0;m<36000;m++) ; //空操作 
} 
/****************************************************** 
函数功能:用字符型数据延时一段时间
******************************************************/ 
void char_delay(void) //延时一段较短的时间
{ unsigned char i,j; //定义无符号字符型变量,单字节数据,值域 0~255 for(i=0;i<200;i++) for(j=0;j<180;j++) ; //空操作
} 
/****************************************************** 
函数功能:主函数
******************************************************/ 
void main(void) 
{ unsigned char i; while(1) { for(i=0;i<3;i++) { P1=0xfe; //P1.0 口的灯点亮int_delay(); //延时一段较长的时间P1=0xff; //熄灭int_delay(); //延时一段较长的时间} for(i=0;i<3;i++) { P1=0xef; //P1.4 口的灯点亮char_delay(); //延时一段较长的时间P1=0xff; //熄灭char_delay(); //延时一段较长的时间} } }

        51单片机流水灯是一个简单的练手项目,可以帮助初学者熟悉51单片机的基本操作和编程知识。以下是一些总结:

  1. 流水灯是一种基本的LED控制应用。将多个LED连接在一起,依次点亮和熄灭,形成一个动态的灯光效果。

  2. 51单片机流水灯的原理是将多个LED连接在单片机的输出端口上,通过编写程序控制输出端口的高低电平,从而实现LED的控制。

  3. 在编写51单片机流水灯程序时,需要掌握51单片机的单片机指令和汇编语言,以及用到的GPIO控制相关的寄存器。

  4. 51单片机流水灯有多种实现方式,包括轮流点亮每个LED和依次点亮每个LED两种方式。

  5. 编写51单片机流水灯程序时,需要注意硬件电路的连接和电气特性,如LED的电流限制和电阻的选取等。

  6. 通过实现51单片机流水灯项目,可以加深对单片机GPIO控制和编程知识的理解和掌握。同时,也可以为后续更复杂的项目打下基础。

更多推荐:

时光の尘_千题千解·Java面试宝典,Linux学习,C++学习-CSDN博客

http://www.yayakq.cn/news/794297/

相关文章:

  • 新网站外链怎么做企业免费网站系统
  • 北京市建设资格与执业资格注册中心网站用jsp做的网站源代码下载
  • 主机宝 建设网站争对银行排队做一网站
  • 万州论坛网站建设公关公司排行
  • 介绍移动互联网的网站有哪些本机iis网站
  • 自己设置免费网站设计平台交互设计专业世界大学排名
  • 元素网站买一个网站多少钱
  • 网站布局优化策略门户网站建设中标结果
  • 网站推广计划至少应包括仿系统之家网站源码
  • 深圳企业网站建设公司哪家好自己有服务器怎么搭建网站
  • 办一个购物网站要多少钱wordpress清除原图
  • 响应式网站的排版做设计.不抠图网站
  • 建设部特种作业证网站查询内容相同的 网站
  • 重网站建设修改wordpress自带小工具
  • 网络营销企业网站网站开发毕业生报告
  • 网站如何启用gzip压缩微淘客网站建设
  • 好的产品设计网站做微课的网站
  • 个人在网站怎么做什么叫网站建设方案书
  • 深圳企业网站制作哪家好北京建设工程信息网查询
  • 天津网站制作机玩法部关于学校网站建设经费的申请
  • 医疗营销的网站怎么做最后两年会出妖
  • 网站空间租用和自己搭建服务器衡水做网站的地方
  • 企业网站定制多少钱网络营销的功能
  • 焦作网站建设哪家好网站开发设计流程图
  • 消费者联盟网站怎么做桂林生活网爆料
  • 营销型网站套餐vs做网站如何输出
  • 如何给网站文字做超链接如何做外贸网站推广
  • 新浪网网站的建设费用预算网站集约建设原因
  • 怎么建设推广网站网站通栏图片代码
  • 网站开发人员工工资网站服务器的费用