1 系统时钟树 单片机首先要在正确的时钟频率下才能正常工作,几乎外设的使用都会用到时钟,先了解一下原理也是不错的; 时钟树对系统的时钟结构进行了描述,时钟来源主要有4个,分别是HSI, HSE, LSI, LSE; 1.1 HSI 高速内部时钟信号: 由内部的RC振荡器生成,8MHz, 1.2 HS ...
分类:
其他好文 时间:
2020-05-14 01:22:48
阅读次数:
62
移位操作:简单的把一个值的位向左或向右移动。在左移过程中,值最左边的几位被丢弃,右边多出来的几个空位则由0补齐。 右移操作:却面临着一个左移操作没有的问题。从左边移入新值时,可以选择两种方案 1、逻辑移位,左边移入的用0填充。 2、算术移位,左边移入的位由原先该值的符号位决定,符号位为1则填充1,符 ...
分类:
编程语言 时间:
2020-05-09 19:04:01
阅读次数:
108
前言 有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意. 注:APUConfig 是我自己取的名字(哈哈谁让这种方式,我是第一个在微信小程序上实现的),代表着 AP UDP Config 绑定流程详细说明: APUConfig小程序端源码 ...
分类:
微信 时间:
2020-05-09 16:45:14
阅读次数:
115
一、不带初值的变量或数组 直接使用_at_ 关键字加上地址就行。 如: unsigned char idata myvar _at_ 0x40; unsigned char code myvar[10] _at_ 0x40; _at_ 关键字的前后都有空格。 二、带初值的变量或数组 要将某变量定位在 ...
分类:
编程语言 时间:
2020-05-08 00:24:40
阅读次数:
102
声明:这次不写了 总结一下中断有哪些中断和中断的寄存器、I\O口的作用、中断优先级 、寄存器具体工作原理图 C52有5个中断 名称 中断请求标志 对应IE寄存器的开关 1、外部中断0(INT0) P3.2 IE0 = 1 EX0 (接收到的脉冲达到溢出) 2、 定时器中断 T0 TF0 = 1 ET ...
分类:
其他好文 时间:
2020-05-06 11:43:18
阅读次数:
89
声明:1、我使用的单片机是STC89C52 2、 使用74HC595来扩展I\O口 3、其实点阵屏的原理很简单,所以这里着重讲74HC595芯片 串入并出的使用。 点阵图原理: 这是常见点阵图所看到的背面引脚部分。引脚的辨认依靠图中下方凸起的小点辨认引脚号。 其实点阵图的使用与数码管类似。都是点亮小 ...
分类:
其他好文 时间:
2020-05-05 20:14:33
阅读次数:
257
通用工控硬件平台: 1. AVR单片机, AVR 是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机, atmel于2016年被microchip收购了。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是 Atm ...
分类:
其他好文 时间:
2020-05-04 17:30:30
阅读次数:
84
Arduino编程语言是建立在C/C++语言基础上的,即以C/C++语言为基础,把AVR单片机(微控制器)相关的一些寄存器参数设置等进行函数化,以利于开发者更加快速地使用。其主要使用的函数包括数字I/O引脚操作函数、模拟I/O引脚操作函数、高级I/O引脚操作函数、时间函数、中断函数、串口通信函数和数 ...
分类:
其他好文 时间:
2020-05-04 15:31:47
阅读次数:
61
```c /*按键的键位定义*/ unsigned char code anj[4][4] = { 1, 2, 3, 10, 4, 5, 6, 11, 7, 0, 9, 12, 13, 8, 14, 15, }; char ScanKey() { char key = -1;//赋值用于判读没有按下... ...
分类:
其他好文 时间:
2020-05-04 00:48:02
阅读次数:
60
#include<reg52.h> #include<stdio.h> #define uchar unsigned char #define uint unsigned int unsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x ...
分类:
编程语言 时间:
2020-05-03 16:37:20
阅读次数:
125