![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
脱掉三千烦恼丝
ucos,linux,stm32,51
展开
-
一文读懂LM393 就是个比较器
1电压大于2,输出高电平1小于2,输出低电平。没了,就这么简单。电压比较器两路,意思是可以同时比较两个。省钱省地方下边是具体的原创 2020-12-29 16:24:39 · 8112 阅读 · 4 评论 -
单片机常用芯片系列(四)——at24c02详解
这三个引脚其实是地址,如果需要一个单片机上带一堆at24c02,就需要很多地址。这里不需要,所以全接地i2c总线就这三根,wp给他接地让他不保护,配置时钟高电平时数据线下降沿是开始,上升沿是结束传送1位数据时,先把数据准备好,然后再给时钟信号每个字节完了都是一个应答信号,低电平为应答,高电平不是应答。记得把总线释放,也就是置一前4个固定1010,后三个全部接地,也是0.最后一个1读0写...原创 2020-04-07 18:22:38 · 5733 阅读 · 1 评论 -
单片机常用芯片系列(二)——DS18B20详解(2)——寄生电源供电(包括调试中遇到的问题,编程思路)
我在蓝桥杯的板子上看到,他的是寄生电源供电,也就是没有外接电源,靠总线高电平供电,低电平电容放电。编程之处略有不同。网上很多资料,我还是只说最难懂的点一、注意事项1.温度转换命令【44h】后面要加延时,而且总线要置1,提供上拉电流。send(0xcc);send(0x44);DAT = 1;delay1s();2.为了提高可移植性,可以这样写uchar way;send(0...原创 2020-03-28 22:55:03 · 5290 阅读 · 1 评论 -
单片机常用芯片系列(四)——ds1302详解
前两个是地址,后两个是每个地址里边的具体的情况。比如要初始化了,就这样写void Ds1302Init(){ uchar n; Ds1302Write(0x8E,0X00); //禁止写保护,就是关闭写保护功能 for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年 { Ds1302Write(WRITE_RTC_ADDR[n],TIM...原创 2020-02-17 16:51:08 · 4394 阅读 · 0 评论 -
单片机常用芯片系列(三)——红外通信
就是反码,写代码的时候反过来即可其中前16位为用户识别码,能区别不同的红外遥控设备,以防止不同的机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。收端根据数据码做出应该执行上面动作的判断。#include "uart.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行...原创 2020-02-14 12:15:16 · 937 阅读 · 0 评论 -
单片机常用芯片系列(二)——DS18B20详解
温度范围:-55℃到125℃默认12位精度,0.0625℃一格推挽电路和漏极开路的帖子:https://www.zhihu.com/question/28512432https://blog.csdn.net/u012604283/article/details/84647237代码开始ds18b20.c...原创 2020-02-11 20:52:32 · 5439 阅读 · 0 评论 -
单片机常用芯片系列(一)——TFTLCD-R61503B详解(1)——屏幕显示
采用8080通信模式,5个控制引脚,16根数据引脚。此乃接口时序一、底层时序文件tftlcd.c开头定义#include "tftlcd.h"#include "font.h" #include "uart.h"#include "stdlib.h"//LCD的画笔颜色和背景色 u16 FRONT_COLOR=WHITE; //画笔颜色u16 BACK_COLO...原创 2020-02-08 20:18:07 · 5586 阅读 · 2 评论 -
KEIL C51 ERROR L107: ADDRESS SPACE OVERFLOW的解决办法
ERROR L107: ADDRESS SPACE OVERFLOW用KEIL选用small模式编译一个程序时老时出错,信息如下。*** ERROR L107: ADDRESS SPACE OVERFLOW… …Program Size: data=217.6 xdata=0 code=5314Target not created芯片我选的是AT89C52,RAM有256呀,怎么会OV...转载 2020-02-08 13:42:29 · 8078 阅读 · 0 评论 -
通知(2020.2.8)
从今天开始慢慢出教学,预计先出完几个常用芯片的,然后出蓝桥杯的,如果有想学的可以评论告诉我原创 2020-02-08 11:25:52 · 223 阅读 · 0 评论 -
单片机与电脑接口(TTL与RS232电平模拟转换)电路及工作原理分析
RS232接口概述RS232接口又称DB9接口,是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。2)传输速率较低,在异步传输时,波特率为20Kbps;3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生...转载 2019-11-25 19:30:46 · 3933 阅读 · 0 评论 -
外部中断
#include "reg52.h" sbit k3=P3^2;sbit k4=P3^3;sbit led=P2^0;sbit beep=P2^1;void delay(int i){ while(i--);}void main(){ EA=1; EX0=1; EX1=0; IT0=1; IT1=1; PX0=0; PX1=1; while(1);}...原创 2019-11-06 21:34:32 · 174 阅读 · 0 评论 -
16点阵
/**************************************************************************************实验现象:下载程序后,LED点阵显示数字0 接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节) 1,单片机-->74HC595模块 P34-->SE ...原创 2019-11-06 21:32:22 · 372 阅读 · 0 评论 -
十二分频
就是十二个时钟周期是一个机器周期单片机中的12分频是单片机的标准运算速度是晶振的12分之1,指的是12个周期算为1个周期,即相当于频率为原来的12分之一。 单片机中的部件都是在用晶振12频后的一个机器周期在跑。通俗的说单片机寄存器完成加动作,正好是一个机器周期。而时钟周期 为 1/12mhz=1/12us;机器周期=12个时钟周期=12 * 1/12us = 1us;也就是计时器每加一需要的...原创 2019-11-06 20:04:06 · 3395 阅读 · 0 评论 -
按键控制直流电机旋转
/**************************************************************************************实验现象:下载程序后,直流电机旋转大约5S,然后停止 接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节) 1,单片机-->五线四相步进电机模块 P10-->IN1...原创 2019-11-02 21:53:04 · 729 阅读 · 0 评论 -
延时函数警示!!!!!!!!!!!
延时函数里边void delay(uint i) { while(i--); }一定要设置成int,如果是char就显示不出来原创 2019-11-02 15:39:23 · 443 阅读 · 4 评论 -
串转并74hc595
void delay(int i){while(i–);}如果int改成char就不行,我试了一晚上才发现这个错误原创 2019-10-28 20:13:51 · 384 阅读 · 0 评论 -
并转串74hc165点亮led灯
/**************************************************************************************实验现象:下载程序后,按下独立按键可以点亮对应的led K1--D1 K2--D2 K3--D3 ... K8--D8接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节)...原创 2019-10-28 18:45:10 · 924 阅读 · 0 评论 -
独立键盘检测,矩阵键盘检测
独立键盘检测/**************************************************************************************实验现象:下载程序后按下K1按键可以对D1小灯状态取反接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节) 1,单片机-->LED&交通灯模块 P00--&g...原创 2019-10-23 21:55:09 · 1608 阅读 · 0 评论 -
单片机接地问题以及矩阵键盘点亮数码管问题
单片机开发板如何实现接地?电源的负极和单片机GND引脚连接,就是接地了,电源可以是电池,或者市电经过直流稳压器出来的电,注意电压要匹配,过大可能会烧坏单片机。接电源负极就是接地矩阵键盘/**************************************************************************************实验现象:下载程序后数码管显...原创 2019-10-22 22:05:27 · 1816 阅读 · 1 评论 -
数码管动态显示
#include "reg52.h"#define led P0int code light[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(int i){ while(i--);} void main(){ led=0x01; d...原创 2019-10-20 21:04:09 · 760 阅读 · 0 评论 -
浅谈单片机rom和ram与代码的关系,以及为什么要加上拉电阻
ROM,RAM以及code,dataram掉电丢失rom掉电不丢失因为单片机RAM很有限,所以将不变的保存到ROM中CODE关键字的作用就是告诉编译器把这些内容写到ROM中以 AT89c51 为例,其中有 128 字节随机存储器(又称数据储存器 RAM)和 4K 字节的只读存 储器(又称程序存储器 ROM)因为ram太小,所以把放在rom里边data是放在ram里51单片机为什么...转载 2019-10-18 22:39:28 · 615 阅读 · 0 评论 -
浅谈延迟函数执行一次延迟多少秒以及跑马灯的感想
1.波特率未知,下回再说,先洗澡2.位移运算3.P0和P0^0/*******************************************************************************延时函数i=1,延时10微秒i=50000,延时450ms*****************************************************...原创 2019-10-14 22:45:00 · 4164 阅读 · 1 评论