STC15W1048脚单片机,开漏和推挽输出比较(点亮LED)

news2024/10/2 22:18:10

增强型 8051 CPU,1T单时钟/机器周期,指令代码完全兼容传统8051
工作电压:2.5V - 5.5V在这里插入图片描述

1K/2K/3K/4K/5K/7K字字节片内Flash程序存储器,擦写次数10万次以上
片内128字节的SRAM XRAM (xdata)

有片内EEPROM功能,擦写次数10万次以上
ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器

内部高可靠复位,ISP编程时16级复位门槛电压可选,可彻底省掉外部复位电路
工作频率范围:5MHz ~ 35MHz,相当于普通8051的60MHz~420MHz

内部高精度R/C时钟(±0.3%),±1%温飘(-40℃+85℃),常温下温飘±0.6%(-20℃+65℃), ISP编程时内部时钟从5MHz~35MHz可设(5.5296MHz / 11.0592MHz / 22.1184MHz / 33.1776MHz).

不需外部晶振和外部复位,还可对外输出时钟和低电平复位信号
串口功能可由[P3.0/INT4,P3.1]结合定时器实现

支持程序加密后传输,防拦截
支持RS485下载

低功耗设计:低速模式,空闲模式,掉电模式/停机模式。
可将掉电模式/停机模式唤醒的定时器:有内部低功耗掉电唤醒专用定时器

可将掉电模式/停机模式唤醒的资源有:
INT0/P3.2, INT1/P3.3 (INT0/INT1上升沿下降沿 中断均可), INT2 /P3.4, INT3/P3.5, INT4/P3.0(INT2 /INT3 /INT4 仅可下降沿中断);管脚T0/T2(下降 沿,不产生中断,前提是在进入掉电模式/停机 模式前相应的定时器中断已经被允许);内部低 功耗掉电唤醒专用定时器。

共2个定时器/计数器——T0(兼容普通8051的定时器)/T2,并均可实现可编程时钟输出, 另外管脚MCLKO可将内部主时钟对外分频输出(÷1或÷2或÷4)。

可编程时钟输出功能(对内部系统时钟或对外部管脚的时钟输入进行时钟分频输出):
由于STC15系列5V单片机I/O口的对外输出速度最快不超过13.5MHz,所以5V单片机的对 外可编程时钟输出速度最快也不超过13.5MHz.;

而3.3V单片机I/O口的对外输出速度最快不超过8MHz,故3.3V单片机的对外可编程时钟 输出速度最快也不超过8MHz.
① T0在P3.5/T0CLKO进行可编程输出时钟(对内部系统时钟或对外部管脚T0/P3.4的 时钟输入进行可编程时钟分频输出);
② T2在P3.0/T2CLKO进行可编程输出时钟(对内部系统时钟或对外部管脚T2/P3.1的 时钟输入进行可编程时钟分频输出);

以上2个定时器/计数器均可1~65536级分频输出。
③ 主时钟在P3.4/MCLKO对外输出时钟,并可如下分频MCLK/1, MCLK/2, MCLK/4.
STC15W10x系列单片机不支持外接外部晶体,其主时钟对外输出管脚P3.4/MCLKO只可 以对外输出内部R/C时钟。MCLK是指主时钟频率, MCLKO是指主时钟输出。

STC15系列8-pin单片机(如STC15W10x系列)在MCLKO/P3.4口对外输出时钟,STC15 系列16-pin及其以上单片机均在MCLKO/P5.4口对外 输出时钟,且STC15W系列20-pin及其以 上单片机除可在MCLKO/P5.4口对外输出时钟外,还可在MCLKO_2/P1.6口对外输出时 钟。
硬件看门狗(WDT)

先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令
共6个通用I/O口,复位后为:准双向口/弱上拉(普通8051传统I/O口) 可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/ 高阻,开漏

每个I/O口驱动能力均可达到20mA,但整个芯片电流最大不要超过90mA. 如果I/O口不够用,可外接74HC595(参考价0.15元)来 扩展I/O口,并可多芯片级联扩展几 十个I/O口
工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)

封装:SOP-8, DIP-8, DFN-8
开发环境:在Keil C开发环境中,选择 Intel 8052 编译即可

流水灯程序

#include <reg51.h>  //包含STC15W104单片机的相关寄存器定义

sbit LED1 = P1^0;  //定义流水灯连接引脚,此处使用P1.0
sbit LED2 = P1^1;
sbit LED3 = P1^2;

void main()
{
    LED1 = 1;  //将LED1亮起,表示流水灯开始的位置
    LED2 = 0;  //其余两盏灯熄灭
    LED3 = 0;
    while(1)  //设置死循环,确保程序一直运行
    {
        LED1 = !LED1;  //取反亮灯状态,即实现灯的亮灭效果
        LED2 = !LED2;
        LED3 = !LED3;
        delay(1000);  //延时一秒钟,使流水灯的效果更加明显
    }
}

void delay(unsigned int t)
{
    unsigned int i,j;
    for(i=0;i<t;i++)
        for(j=0;j<125;j++);  //循环延时,具体时间取决于循环次数
}

开漏和推挽输出比较

#include "STC15Wxx.h"
#include "init.h"
#include "delay.h"

 sbit LED1 = P3^1;
 sbit LED2 = P3^0;

void main(void)
 {
	system_init();
 	LED1 = 0;//LED1 点亮
	LED2 = 0;//LED2 点亮
	 while(1)
	 {
		LED1 = 1;
		LED2 = 1;
		Delay1s();//在此只加了一个延时
		LED1 = 0;
		LED2 = 0; 
		Delay1s();//不加延时,灭后迅速被点亮
	 }
 
 }

void system_init(void)

void system_init(void)
{
	//配置成准双向IO口,内部有弱上拉
	//P0M0 和P0M1 两个寄存器可以控制P0的7个IO口
		P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;
	
		P3M0 |= 0x02;//  P3M1 0  P3M0 1   配置P3^1 推挽输出   
	//配置
	



}
#include "delay.h"
#include "intrins.h"//包含空指令_nop
/*STC官方提供的有延时函数
STC15W104 系列 内部RC晶振   
ISP编程时内部时钟从5MHz~35MHz可设(5.5296MHz / 11.0592MHz / 22.1184MHz / 33.1776MHz).  
低功耗设置时,我们可以选择5.5296MHz的晶振。


*/


void Delay100ms()		//@5.5296MHz
{
	unsigned char i, j, k;

  _nop_();
  _nop_();
	i = 3;
	j = 26;
	k = 223;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void Delay1s()
{
	char i ;
	for(i=0;i<10;i++)
	{
		Delay100ms();
	
	}
	
}
void Delay2s()
{
	char i ;
	for(i=0;i<20;i++)
	{
		Delay100ms();
	
	}
	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/484482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

医药之家:国家基本药物目录或于6月迎来更新

国家基本药物目录是医疗机构和保险提供商选择经济实惠且具有良好临床疗效的药物的指南&#xff0c;预计在6月迎来下一次更新。新版目录将聚焦儿科药物、眼科及中药。该目录作为医疗机构和保险公司选药的重要指南&#xff0c;着重选取经济实惠且具备良好临床疗效的药品。专家将从…

PID整定一:响应曲线法

PID整定一&#xff1a;响应曲线法 1参考[完全经验法、等幅振荡法、衰减曲线法、响应曲线法]1.1完全经验法1.2等幅振荡法1.3衰减曲线法1.4响应曲线法 2响应曲线法PID整定示例 1参考[完全经验法、等幅振荡法、衰减曲线法、响应曲线法] 参考 1.1完全经验法 这种方法没有任何定…

ripro主题修改教程-首页搜索框美化教程

先看效果图: 我们来看怎么实现: 1、找到wp-content/themes/ripro/assets/css/diy.css并将下面的内容整体复制进去并保存 /*首页搜索框*/ .bgcolor-fff {background-color: #fff; } .row,.navbar .menu-item-mega>.sub-menu{margin-left:-10px;margin-right:-10px;} .home…

中级软件设计师备考---程序设计语言和法律法规知识

目录 需要掌握的程序语言特点法律法规知识---保护期限法律法规知识---知识产权人确定法律法规知识---侵权判定标准化基础知识 需要掌握的程序语言特点 Fortran语言&#xff1a;科学计算、执行效率高Pascal语言&#xff1a;为教学而开发的、表达能力强&#xff0c;演化出了Delp…

《编码——隐匿在计算机软硬件背后的语言》精炼——第15-16章(十六进制,RAM)

“学习如春起之苗&#xff0c;不见其增&#xff0c;日有所长。” —— 宋代朱熹 文章目录 十六进制十六进制概述十六进制表字节到十六进制 存储器特定的读功能特定的写功能RAM大型RAM阵列 十六进制 十六进制概述 十六进制是一种适用于计算机的进制法。在十进制中&#xff0c;…

PS学习笔记(零基础PS学习教程)

很多新手学习PS不知从何下手&#xff0c;做设计的第一阶段肯定是打牢基础&#xff0c;把工具用熟练&#xff1b;本期特别为大家整理了PS入门的学习笔记&#xff0c;把每个工具的用法整理了下来&#xff0c;在使用过程中有哪里不清楚的可以翻看来看看~ 一、ps的工作界面的介绍 …

腾讯云的cdn怎么配置|腾讯云CDN配置教程

众所周知,WordPress系统不挂加速或者是服务器不好速度贼慢,所以要想办法解决访问速度的问题,经过我不断的研究腾讯云的CDN,因为我用的是zibll子比主题,不懂的就挂会导致无法使用第三方登录,因为有缓存导致一直不回调一直卡在那个登录界面和支付没反应要么出现二维码,要么…

【C++实现】从0简单理解muduo网络库

文章目录 TODO前言前置知识IO 异步同步还是异步举例muduo为什么用LT模式vscode 的一些编译方法 底层数据结构分析noncopyableLogger设置宏来方便打印日志 Timestamp 时间类InetAddressInetAddress 是对sockaddr_in结构体的一层封装 ChannelPoller.h EpollPoller &#xff08;调…

c++ 11标准模板(STL) std::vector (四)

定义于头文件 <vector> template< class T, class Allocator std::allocator<T> > class vector;(1)namespace pmr { template <class T> using vector std::vector<T, std::pmr::polymorphic_allocator<T>>; }(2)(C17…

庖丁解牛函数知识---C语言《1》

目录 前言&#xff1a; 1.程序中的函数 2.库函数的学习和使用 3.自定义函数 4.传值调用与传址调用 5.形参与实参 6.练习---二分查找函数 ❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言◀ C语言的学习&#xff0c;是为我们今后学习其它语言打好基础&#xff0c;C生…

Apache POI,springboot中导出excel报表

2. Apache POI 2.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 Apache POI 的应用场景…

【SQL】窗口函数及行转列等操作总结

1. 窗口函数 窗口函数的应用 排名问题&#xff1a;每个部门按业绩来排名 topN问题&#xff1a;找出每个部门排名前N的员工进行奖励 窗口函数的语法 <窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>) <窗口函数>的位置&…

Java基础--->JVM(1)

文章目录 为什么学习JVM&#xff1f;什么是虚拟机&#xff1f;JVM的作用JVM组成部分类加载器类什么时候会被加载&#xff08;初始化&#xff09;有哪些类加载器什么是双亲委派机制如何打破双亲委派机制 为什么学习JVM&#xff1f; ​ 学习JVM是为了能更深入的理解Java这门语言&…

推荐算法实战项目:PNN 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由上海交通大学的研究人员提出的PNN&#xff08;Product-based Neural Networks&#xff09;模型&#xff0c;该模型包含一个embedding层来学习类别数据的分布式表示&#xff0c;此外还包含product层来捕获字段之间的特征交互模式&#xff0c;最后包含一个全连接…

一个实例讲讲 ChatGPT 推理

吴恩达与 OpenAI 官方联合推出了 1.5 小时的免费视频课&#xff1a;地址&#xff1a; https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/2/guidelines 今天我学了第四讲&#xff0c;ChatGPT Inferring&#xff0c;即推理 教学中&#xff0c;给的例子是情绪判断。 我很…

手写数字识别基本思路

问题 什么是MNIST?如何使用Pytorch实现手写数字识别&#xff1f;如何进行手写数字对模型进行检验&#xff1f; 方法 mnist数据集 MNIST数据集是美国国家标准与技术研究院收集整理的大型手写数字数据集&#xff0c;包含了60,000个样本的训练集以及10,000个样本的测试集。 使用P…

RIP笔记

目录 RIP路由信息协议——UDP520端口(RIPNG521端口) RIP使用的算法——贝尔曼福特算法 RIP的版本 RIP的数据包 RIP的工作过程 RIP的计时器 周期更新计时器——默认30s 失效计时器——默认180s 垃圾回收计时器——默认120s RIP的环路问题 解决方法&#xff1a; RIP的…

12种接口优化的通用方案

一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xff0c;其中发现最多的就是接口耗时过长的问题&#xff0c;就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。 二、接口优化方案总结 1.批处理 批量思想&#xff1a;批量操作数据库…

Item冷启优化

Item冷启动的目标&#xff1a; 1.精准推荐。 2.激励发布。 3.挖掘高潜。 Item冷启动优化措施&#xff1a; 1.优化全链路&#xff08;召回和排序&#xff09; 2.流量调控&#xff08;新老物品的流量分配&#xff09; 评价指标&#xff1a; 作者侧&#xff1a; 发布渗透率&a…

【基于Ubuntu18.04+Melodic的realsense D435安装】

【基于Ubuntu18.04Melodic的realsense D435安装】 1. RealSense SDK安装1.1 克隆SDK1. 2 安装相关依赖1.3 安装权限脚本1. 4 进行编译与安装1.5 测试安装是否成功 2. D435i 安装ROS接口2.1 方法一realsense—ros源码2.2 方法二安装相机库 3. 总结 1. RealSense SDK安装 系统硬…