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

如何自己免费建网站深圳专业建站公司

如何自己免费建网站,深圳专业建站公司,做网站开发的有外快嘛,用php做的大型网站有哪些目录 一、开发环境 1、Keil5和STC-ISP (1)keil5创建工程并设置生成.hex文件 (2)STC-ISP烧写keil编译生成的程序到单片机 二、点亮单片机的LED灯 1、关于sbit、sfr和bit 2、延时函数实现led闪烁 3、按键控制led亮灭(一开一关) ▶按键消抖方法&am…

目录

一、开发环境

1、Keil5和STC-ISP

(1)keil5创建工程并设置生成.hex文件

(2)STC-ISP烧写keil编译生成的程序到单片机

二、点亮单片机的LED灯

1、关于sbit、sfr和bit

2、延时函数实现led闪烁

3、按键控制led亮灭(一开一关)

▶按键消抖方法:

▶标志位控制灯:

4.单按键控制led亮灭(I/O状态翻转)

▶ I/O状态翻转


一、开发环境

1、Keil5STC-ISP

(PS:本篇不涉及安装、汉化和破解等)

(1)keil5创建工程并设置生成.hex文件

       ①在任意位置创建项目工程文件夹命名为template(当做模板)

       ②在文件夹template中创建main.c

       ③打开keil工具栏project->new uVision project->选择第一步的工程文件夹位置->输入工程名

字->选择芯片类型AT89c52->会提示是否拷贝STARTUP.A51,选择是->生成了工程目录->在工程目

录Source Group1上右键鼠标->add Exiting file to Source Group1...->选择代码文件main.c

       ④Alt+F7打开设置选项,勾选create HEX file,确认即可

(2)STC-ISP烧写keil编译生成的程序到单片机

 ①单片机通过type-C数据线和电脑连接(如果不识别,安装ch340驱动,在资料包中选择单片机型

    号STC89C52RC。

②选择生成的执行程序文件.hex

③点击"下载/编程"按钮

④单片机开关拨动重新上电

二、点亮单片机的LED

1、关于sbitsfrbit

▶sbit定义特殊功能寄存器的位变量(定义寻址对象,如访问特殊功能寄存器的某一个位)

▶sfr访问单片机内部所有特殊功能寄存器(如sfr P1 = 0x90这一句定P1为P1端口在片内寄存器)

▶bit定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。 bit和int char之类的差不多,只不过char=8位, bit=1位而已,都是变量。

(sbit、bit和sfr都是C51的扩充数据类型)

2、延时函数实现led闪烁

#include "reg52.h"
#include <intrins.h>#define ON   0
#define OFF   1sbit led_1 = P3^7;
void Delay1000ms()		//@11.0592MHz
{
unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}
void main(){while(1){led_1 = ON;Delay1000ms();led_1 = OFF;Delay1000ms();}	
}

3、按键控制led亮灭(一开一关)

#include "reg52.h"
#include <intrins.h>
#define ON  0
#define OFF 1
sbit led_2 = P3^6;
sbit key_1 = P2^1;
sbit key_0 = P2^0; void Delay10ms()		//@11.0592MHz
{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);
}
void estimateLedMark(int ledMark){if(ledMark == ON){led_2 = 0;}else{led_2 = 1;}
}
void main(){int ledMark = OFF;while(1){	if(key_0 == ON){Delay10ms();           //延迟后再进行一次键位检测if(key_0 == ON)ledMark = ON;	  		//这里不直接灯亮,而是改变标志位的值}else if(key_1 == ON){Delay10ms();if(key_1 == ON)ledMark = OFF;}estimateLedMark(ledMark);	//在这里判断标志位值,再进行灯亮灭}
}

▶按键消抖方法:

(详见单片机按键“消抖”的思考_守恒的博客-CSDN博客_单片机按键消抖) 

①延时消抖:最简单的消抖原理,当检测到按键状态变化后,先等待一个 10ms 左右的延时时间,

让抖动消失后再进行一次按键状态检测,如果与刚才检测到的状态相同,就可以确认按键已经稳定

的动作。

②状态机消抖(略)

▶标志位控制灯

实现:在具体实现亮灯时,不直接将其置为低电平,而是通过赋值表示状态的变量,然后通过判断

该状态的值实现灯亮灭。

好处:这样的按键处理,让程序减少了while的松手检测,这对于程序是十分有利的。

                        (虽然这里并未体现得特别明显)

4.单按键控制led亮灭(I/O状态翻转)

#include "reg52.h"
#include <intrins.h>#define ON   0
#define OFF  1sbit key_1 = P2^1;
sbit led_2 = P3^6;
void Delay500ms(){	
unsigned char i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}
void main(){led_2 = OFF;while(1){if(key_1 == 0){Delay500ms();led_2 = ~led_2;	 //当按键按下,高低电平互相翻转}	}
}

 I/O状态翻转

http://www.hengruixuexiao.com/news/20625.html

相关文章:

  • 定制型网站设计价格怎样注册网站免费注册
  • 网站的规划与创建中国新闻网最新消息
  • 给公司建网站厦门网页搜索排名提升
  • 动易网站默认密码软件排名优化
  • 如何开一家网站建设公司在什么网站可以免费
  • 电子商城网站开发教程营销渠道分为三种模式
  • 冠县哪做网站网络网站推广
  • 光电网站建设网站的网站建设
  • 沧州网站制作公司产品软文范例800字
  • 中国网站域名备案管理系统seo自然排名关键词来源的优缺点
  • 河南企业网站制作网页设计与制作模板
  • 成都网站建设全平台南昌百度推广公司
  • 学校网站建设意义有哪些方面武汉最新今天的消息
  • 网络游戏代理平台seo网站诊断价格
  • 海南省建设培训与执业资格注册中心网站拼多多seo搜索优化
  • 免费行情软网站最近发生的热点新闻事件
  • 网站集约化建设的好处体验式营销经典案例
  • 织梦网站栏目如何做下拉网络营销做得好的酒店
  • 自己做的影视会员网站违法么八零云自助建站免费建站平台
  • 前端做网站框架软件定制开发公司
  • 做网站的公司挣钱吗长沙网站seo推广
  • 线上编程哪家比较好seo和sem哪个工资高
  • 南昌网站建设索王道下拉地推项目发布平台
  • 凯里网站设计公司哪家好项目外包平台
  • 网站开发外贸2345王牌浏览器
  • 东莞企业网站多少钱网站推广去哪家比较好
  • 酒店网站建设公司开封seo推广
  • b站免费版2023最新版本线上推广策划方案
  • 江阴外贸网站制作windows优化大师软件介绍
  • 婚纱网站制作网站软件开发