
STC15学习
文章平均质量分 94
STC15学习
ReCclay
优快云认证博客专家、优快云万粉博主、优快云嵌入式领域优质创作者、优快云-2020博客之星年度总评选Top25。自入站以来,凭借坚持与热爱,以博文的方式分享所学,累计博文数量达1千余篇,受益人次达300w+次,涉及领域包括但不限于前/后端软件开发、嵌入式软件开发、Linux驱动开发、自动驾驶算法研究、视觉SLAM算法研究、ROS机器人开发、FPGA开发、IC设计与验证等。欢迎您的关注,我们一起进步!
展开
-
PCA三路外中断
#include "STC15W4K.H" // 包含STC15W4K寄存器定义文件sbit LED_PCA0=P0^1; // PCA0对应P1.1脚sbit LED_PCA1=P0^0; // PCA1对应P1.0脚sbit LED_PCA2=P0^2; // PCA2对应P3.7脚void port_mode() // 端口模式{ P原创 2017-07-29 17:59:01 · 1747 阅读 · 0 评论 -
硬件SPI实现
硬件SPI。。。。原创 2017-10-19 18:53:47 · 3806 阅读 · 0 评论 -
SPI Flash Rom W25Q16 ----基于STC15
(。。。。)先来简单认识一下这个芯片 W25Q16 其实就是以SPI作为通信时序要求的一款储存芯片,升级版的EEPROM,比EEPROM读取速度快,价格还差不多。 W25X16分为8192页,每页256字节,用“页编程指令”每次就可以编程256字节,用“扇区擦除指令”每次可擦除16页,用“块擦除指令”每次可擦除256页,用“整片擦除指令”可一次擦除整个芯片,W25X16有512个可擦除原创 2017-10-19 15:27:14 · 9634 阅读 · 7 评论 -
6路定时器
定时器中断相关模块:STC15W4 系列有5个定时器/计数器(T0~T4) 6通道可编程时钟输出(5路定时器时钟+主时钟),最高输出频率可达13.5MHZ 1个PCA模块,可用作外部中断(2通道,即是两个引脚)、定时器1个、时钟输出和脉宽调制PWM输出2通道 6个外中断输入口(INT0~INT4),其中外0和外1既可以上升沿触发又可以下降沿触发。而其他三个只能下降沿触发。定时器/计数器原理概述原创 2017-07-28 21:32:33 · 722 阅读 · 0 评论 -
15的外部中断INT3和INT4
#include "STC15W4K.H" // 包含 "STC15W4K.H"寄存器定义头文件sbit P0_0=P0^0;void port_mode() // 端口模式{ P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1=0x00; P2M0=0x00;P3M1=0x00; P3M0=0x00;原创 2017-07-29 01:27:57 · 2951 阅读 · 2 评论 -
15T3T4M操作技巧
在T3T4M开启T3的速度控制位时#include "STC15W4K.H" // 包含 "STC15W4K.H"寄存器定义头文件sbit P0_0=P0^0;void main(){ P0=0xff; // 关闭P0口接的所有灯 T4T3M &= 0xFD; // 定时器3为12T模式 T3L = 0;原创 2017-07-29 01:18:06 · 1450 阅读 · 0 评论 -
六路时钟输出
// 功能:输出P5.4(MCLKO)——11.0592MHz// 输出P3.5(T0_CLKO)——5M// 输出P3.4(T1_CLKO)——38.4KHz// 输出P3.0(T2_CLKO)——500Hz// 输出P0.4(T3_CLKO)——200Hz// 输出P0.6(T4_CLKO)——100Hz#include "S原创 2017-07-29 00:57:45 · 1072 阅读 · 0 评论 -
内部10位ADC
#include "UART.H" // 包含IAP15W4K58S4寄存器定义文件 #define VCC 4.965 // 存放用万用表实测的单片机供电电压unsigned int ADC_P11(){ unsigned int i; // 用于软件延时程序 unsigned char status=0; // 用于判断AD转换结束的标志 un原创 2017-07-30 00:26:06 · 3176 阅读 · 4 评论 -
PCA的PWM
#include "STC15W4K.H" // 包含STC15W4K寄存器定义文件void main(){//占空比 = (1-CCAPnH/256)*100%//CCAPnH = (1 - 占空比)*256// (1-0.875)*256 = 32 = 20H CCAPM0=0x42; // 设置PCA模块为PWM输出方式。 CR=1;原创 2017-07-29 22:10:34 · 3768 阅读 · 2 评论 -
记录一下有关PCA的PWM
8位PWM周期 = 计数脉冲周期 * 256; 8位PWM周期 = 计数脉冲频率 / 256; 8位PWM脉宽时间(高电平时间) = 计数脉冲周期 * (256 - CCAPnL) 8位PWM的占空比 = 脉宽时间 / PWM周期 = (1-CCAPnL/256) * 100%如果想实现给定频率的PWM输出,可选择定时器T0溢出或者ECI(P1.2)引脚输入作为PCA的时钟输入源。PCA的PW原创 2017-08-09 20:42:42 · 1523 阅读 · 0 评论 -
PCA16位定时器
#include "STC15W4K.H" // °üº¬STC15W4K¼Ä´æÆ÷¶¨ÒåÎļþsbit LED_1s=P0^0;unsigned char Count; // ÖжϴÎÊý±äÁ¿void port_mode() // ¶Ë¿Úģʽ{ P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1原创 2017-07-29 18:17:38 · 4434 阅读 · 0 评论 -
PCA高速输出
#include "STC15W4K.H" // 包含STC15W4K寄存器定义文件 void main(){//初值计算方法为:步长值=计数脉冲频率/(2*所需频率)// (22118400/12)/(2*10000) = 92.16 = 0x005C CCAP0L=0x5C; // 给PCA模块0的CCAP0L置初值 10khz CC原创 2017-07-29 21:11:27 · 2224 阅读 · 2 评论 -
DHT11 底层代码记录 --STC15系列
DHT11原创 2017-10-21 10:34:33 · 2068 阅读 · 4 评论