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

网站平台建设的实训报告婚恋网站排名前十名

网站平台建设的实训报告,婚恋网站排名前十名,涿州网站建设推广,企业推广方式有哪些目录 一、开发环境 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.yayakq.cn/news/767460/

相关文章:

  • lnmp 网站开发总结视频一页网站怎么做
  • 个人做的网站有什么危险吗国内永久免费域名注册
  • 网站广告怎么赚钱网站建设初期目标
  • 广州微信网站建设平台wordpress怎么加
  • 做 爱 网站视频教程现在做一个网站大概多少钱
  • 怎么给餐饮店做网站做网站的三年规划
  • 洛阳建设局网站建网站原型图
  • 模版网站wordpress最近怎么又是5.0更新
  • 安徽省工程建设信息网站个人简介网页制作代码
  • 凡科做网站视频网站建设项目的预表
  • 建设工程项目在哪个网站查询长兴企业网站开发
  • 如何做企业网站建设郑州企业自助建站系统
  • 做二手交易网站如何盈利外贸公司大全
  • 微信支付需要网站备案安卓系统开发软件
  • 央企网站群建设网页传奇游戏百度
  • 比较好的做淘客网站桥西企业做网站
  • 2017主流网站风格朔州推广型网站建设
  • 昆明企业网站设计一个网站的建设需要什么时候开始
  • 天津建设招标网站网站公司制作
  • 网站群建设管理办法学校官网主页网页设计
  • 二级网站建设费用wordpress文章列表 框
  • 网站建设找翰诺居家网络架构
  • 网站开发与网页制作难不难中小企业网站建设与管理课件百度云
  • 徐州制作手机网站建筑设计自考
  • 网站及网页设计费用北京网站建设 云智互联
  • 网站建设作业多少钱如何写网页
  • 企业网站开发知名品牌有哪些赣州seo外包怎么收费
  • ps学做翻页相册网站手机网站开发流程
  • 广州白云区建设局网站哪个网站做外单出口好
  • 网站开发客户挖掘手机兼职赚钱正规平台怎么找