![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
XuLujuncsdn
想要的,自己给自己。
展开
-
51单片机自动循迹小车
自动循迹小车系统方案设计2.1 自动循迹小车基本原理 循迹就是能够沿着给定的轨迹运行,一般给定的轨迹为在白色地面上黑色轨迹。为了实现这一目的,就需要轨迹检测模块,这相当于小车的眼睛,需要将路面信息返回到大脑中,这大脑就需要有信息处理功能的微处理器来构成,处理的信息需要执行机构来执行,这就需要电机驱动模块,来实现小车的行走功能,而一个完整的系统,还需要有电源模块来提供能量。原创 2017-07-05 16:28:02 · 40919 阅读 · 6 评论 -
SPI总线(二)
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿 合并图册 合并图册 到来的时候,sdi上的电平将锁存到寄存器中去,那么这时寄转载 2017-03-21 13:05:19 · 816 阅读 · 0 评论 -
中断法定时
#include <reg52.h>unsigned char segcode[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7f,0x6f}; //段码sbit Latch_seg = P2^2; //段sbit Latch_bit = P2^3; //位#define Dataport P0void delay(u原创 2017-03-11 13:30:48 · 482 阅读 · 0 评论 -
SPI总线(一)
简介SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。基本协议SPI的通信原理很简单,它以主从方式工作,这种模式通常转载 2017-03-20 15:51:17 · 479 阅读 · 0 评论 -
智能电子钟
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<intrins.h>sbit RS = P2^4; //定义端口 sbit RW = P2^5;sbit EN = P2^6;sbit spk = P1^2;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR原创 2017-03-10 07:40:31 · 531 阅读 · 0 评论 -
数码管变化数字
#include<reg52.h>void delay(unsigned char i){ unsigned char j,k; for(j = 0 ; j <255; j++) for(k = 0 ; k < i; k ++) ;}void main(){ unsigned char code chagenum[16]={0xc原创 2017-03-07 08:08:58 · 587 阅读 · 0 评论 -
利用STC12C5A60S2单片机内容的PWM信号,驱动电机控制芯片MX214B实现小风扇的转动
原理:利用STC12C5A60S2单片机内容的PWM信号,驱动电机控制芯片MX214B实现小风扇的转动。MAX214B的真值表如下,IA和IB逻辑值不等时则驱动电机,而STC12C5A60S2的PWM正是从P13、P14输出,所以只要设定相应的寄存器即可原创 2017-03-19 16:30:45 · 3561 阅读 · 0 评论 -
**抢答器**
/*----------------------------------------------- 名称:**抢答器** 名称:单个独立按键控制 内容: 1、试验目的:了解按键的扫描原理 2、实现现象:同时按键抢答,先按的键有效,其他按键锁死 复位后重新开始抢答 3、硬件要求:按键 LED灯 原理:最先按下按键者有效,其他均无效-原创 2017-03-06 07:35:53 · 1318 阅读 · 0 评论 -
串口显示
#include<reg52.h>#include "delay.h"#include "1602.h"unsigned char str[10];unsigned char Temp; //定义临时变量unsigned char i = 0; void uart_init() { SCON = 0x50;//设置串口方式1,打开允许接受 //SMO =原创 2017-02-27 07:39:29 · 955 阅读 · 0 评论 -
掉电可保存时钟
#include <reg52.h>#include "i2c.h"#include "delay.h"#include "1602.h" //?????,?????????,???????????????#include<intrins.h>sbit RS = P2^4; //???? sbit RW = P2^5;sbit EN = P2^6;sbit spk = P1^2;#原创 2017-03-09 09:26:54 · 1387 阅读 · 0 评论 -
E2PROM(二)
基本原理:由EPROM操作的不便,后来出的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。EEPR转载 2017-03-19 08:23:00 · 1476 阅读 · 0 评论 -
跑表精确至0.1秒
#include <reg52.h>#define Dataport P0sbit Latch_seg = P2^2;sbit Latch_bit = P2^3;unsigned char bitcode[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char segcode[16] = {0x3F,0x06,0x5b,0x4f,原创 2017-03-05 13:50:55 · 804 阅读 · 0 评论 -
串口发送数据到1602显示
#include<reg52.h>#include "delay.h"#include "1602.h"unsigned char str[10];unsigned char Temp; //定义临时变量 unsigned char i = 0; void uart_init() { SCON = 0x50;//设置串口方式1,打开允许接受 //SMO =原创 2017-02-26 11:23:27 · 6781 阅读 · 1 评论 -
SOI总线(三)
用户逻辑该模块针对用户不同的应用来设计,本质上就是用户的具体业务应用,与SPI-4接口没有直接关系。当应用支持多个端口时,这部分就显得至关重要。下面以支持两个端口的应用来说明用户逻辑的设计技巧。(1)Sink Core的用户逻辑端口为两个时,用户逻辑就需要用两个不同的FIFO根据端口的地址等来分别缓存用户的两个业务数据.同时根据FIFO的情况来发出流控信息给SP转载 2017-03-22 09:18:44 · 508 阅读 · 0 评论 -
51单片机可调时钟
1.元件清单 1.STC89C52单片机一块、直插DIP-40插座 2.三位七段共阳数码管LG3631BH型号两块 3.12M晶振一枚 4.蜂鸣器一只 5.S85501PNP三极管一个 6.9脚排阻10K一个 7.1k电阻两个 8.6脚自锁式开关3个、4脚按钮开关3个 9.2个3V纽扣电池及其电池座两个 10.发光二极管1支 11.瓷片电容30pf两片 12.芯片74HC24原创 2017-03-12 18:52:28 · 3661 阅读 · 0 评论 -
WiFi模块
#include <reg52.h>#define KEYPORT P2sbit beep = P1^7;#define SEGPORT P0unsigned char High;unsigned char Low;unsigned char code freq[][2]={ 0xD8,0xF7,//00440HZ 1 0xBD,0xF8,//00494HZ 2 0x87原创 2017-03-13 12:35:05 · 798 阅读 · 0 评论 -
7805(一)
7805三端稳压集成电路,电子产品中,常见的三端稳压集成电路有正电压输出的78 ×× 系列和负电压输出的79××系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子像是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。中文名7805三端稳压集成电路输入电压不大于36V输入转载 2017-04-17 12:01:04 · 1803 阅读 · 0 评论 -
E2PROM(一)
一 、发展EEPROM(带电可擦写可编程只读存储器)是用户可更改的只读存储器EEPROM(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候可频繁地反复编程,因此EEPROM的寿命是一个很重要的设计考虑参数。EEPROM是一种特殊形式的闪存,其应用通常是个人电脑中的电转载 2017-03-17 10:21:33 · 2075 阅读 · 0 评论 -
SPI 总线(八)
折叠软件过程改进SPI: Software Process Improvement.软件过程改进。是软件企业项目过程质量的改进,CMM,ISO9000-3说的就是这个。折叠SDH物理接口SPI:SDH Physical Interface.SDH物理接口。SPI是设备和光路的接口,主要完成光/电变换,电/光变换,提取线路定时,以及相应告警的检测。折叠转载 2017-03-27 07:39:21 · 566 阅读 · 0 评论 -
SPI总线(七)
折叠协议心得SPI接口时钟配置心得:在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。但要注意的是,由于主设备的SDO连接从设备的SDI,从设备的SDO连接主设备的SDI,从设备SDI接收的数据是主设转载 2017-03-26 11:19:27 · 502 阅读 · 0 评论 -
自动循迹小车系统方案设计(二)
方案选择与论证(1)控制器的选择 方案一:STC89C52单片机作为系统的控制器。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,stc系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试,并且价格原创 2017-04-11 15:48:54 · 3580 阅读 · 0 评论 -
iic总线(二)
数据传输: 在I2C总线传输过程中,将两种特定的情况定义为开始和停止条件(见图3):当SCL保持”高”时,SDA由”高”变为”低”为开始条件;当SCL保持”高”且SDA由”低”变为”高”时为停止条件。开始和停止条件均由主控制器产生。使用硬件接口可以很容易地检测到开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样,以检测这种变化。SDA线上的数据在时钟”高”期间必须是稳定的,只有转载 2017-03-16 08:53:50 · 538 阅读 · 0 评论 -
SPI总线(六)
通信概念折叠同步串行口SPI:高速同步串行口。是一种标准的四线同步双向串行总线。SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是转载 2017-03-25 09:23:21 · 3339 阅读 · 0 评论 -
iic总线
简介: 即I2C,一种总线结构。例如:内存中的SPD信息,通过IIC,与BX芯片组联系,IIC 存在于英特尔PIIX4结构体系中。随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。目前,世界上许多公司生产单片机,品种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各转载 2017-03-15 09:13:26 · 644 阅读 · 0 评论 -
SPI总线(五)
多义性一、SPI 是英文Software Process Improvement的缩写,中文意思是软件过程的改进。它是CMM(还有其他能力模型)中的一个重要概念,CMM模型的目的就是要改进一个组织的过程,提高过程能力,所以叫做SPI-软件过程改进。二、SPI 是英文Service Provider Interface的缩写。中文意思是服务提供商接口。满足某种服务标准的供应商提供转载 2017-03-24 10:43:35 · 665 阅读 · 0 评论 -
SPI总线(四)
总线原理:SPI目前有3种规格,如右图所示为其模型。图3种SPI的处理流程大同小异,以目前使用最多的SPI-4为例来说明SPI的原理。它在发送接口和接收接口都有各自的数据通道和流控状态信息通道,其数据通道和流控状态信息通道是独立的并且是点对点通信。数据是以包的形式发送,根据数据包中的内嵌地址可支持高达256个端口,以下分别说明基本协议及数据通道和流控状态信息的处理过程。转载 2017-03-23 09:35:06 · 469 阅读 · 0 评论 -
自动循迹小车系统方案设计(一)
2.1 自动循迹小车基本原理 循迹就是能够沿着给定的轨迹运行,一般给定的轨迹为在白色地面上黑色轨迹。为了实现这一目的,就需要轨迹检测模块,这相当于小车的眼睛,需要将路面信息返回到大脑中,这大脑就需要有信息处理功能的微处理器来构成,处理的信息需要执行机构来执行,这就需要电机驱动模块,来实现小车的行走功能,而一个完整的系统,还需要有电源模块来提供能量。 简言之,系统的基本原理就是:原创 2017-04-10 12:53:50 · 7110 阅读 · 2 评论 -
DS18B20
工作原理: DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基转载 2017-03-14 09:29:14 · 4597 阅读 · 0 评论 -
串口的 初步设置
#include <reg52.h>#include "./delay/delay.h"#include "1602.h"void uart_init(){ SCON = 0x50; //设置寄存器开接收 //SM0 = 0; SM1 = 1; REN = 1; TMOD |= 0x20; //设置定时器工作方式2 TH1 = 0xfd;原创 2017-02-25 10:50:59 · 358 阅读 · 0 评论 -
数字时钟
#include<reg52.h> #define KeyPort P3 #define DataPort P0 sbit LATCH1=P2^2;sbit LATCH2=P2^3;// unsigned char hour,minute,second;bit UpdateTimeFlag;unsigned char code dofly_DuanMa[10]={0原创 2017-03-08 09:40:44 · 347 阅读 · 0 评论 -
较为准确的延迟函数
#include <reg52.h>void timer0_init(){ EA = 1; TMOD |= 0x01; TH0 = (65536 - 50000)/256; TL0 = (65536 - 50000)%256; ET0 = 1; TR0 = 1;}void timer0_init(){ static unsigned ch原创 2017-02-20 12:57:26 · 582 阅读 · 0 评论 -
2402存储一个数据
/*----------------------------------------------- 名称:IIC协议 EEPROM24c02 存数读取数据 论坛:www.doflye.net 编写:shifang 修改:无 内容:此程序用于检测EEPROM性能,测试方法如下:写入24c02一个数据,然后在内存中改变这些数据, 掉电后主内存将失去这些信原创 2017-02-11 09:08:17 · 1028 阅读 · 0 评论 -
寒假第七天
距离回家还有三天按键计数:#include unsigned char LED[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void main(){TMOD = 0x05;TL0 = 0x00;TH0 = 0x00;TR0 = 1;while(1){P1原创 2017-01-21 08:49:50 · 269 阅读 · 0 评论 -
1602显示工字
/*----------------------------------------------- ??:LCD1602 ??:www.doflye.net ??:shifang ??:2009.5 ??:? ??:???????????? ??????:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK原创 2017-03-01 09:31:04 · 410 阅读 · 0 评论 -
寒假第六天
距离回家还有五天;按键控制数码管:#include /*void delay(unsigned char i){unsigned char j,k;for(j = 0; j for(k = 0; k ;}*/void main(){unsigned char code chagenum[8]={0xc0,0xf9,0xa4,0原创 2017-01-20 08:51:00 · 362 阅读 · 0 评论 -
LCD显示时钟
#include<reg52.h> #define uchar unsigned char #define uint unsigned int #define KEY_IO P3 #define LCD_IO P0 sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; sbit SPK = P1^2; sbit LE原创 2017-02-19 09:09:17 · 1198 阅读 · 0 评论 -
4路AD中的4路检测外部模拟量输入 使用液晶显示
/*----------------------------------------------- 名称:IIC协议 PCF8591 AD/DA转换 内容:使用4路AD中的4路检测外部模拟量输入 使用液晶显示------------------------------------------------*/ #include <reg52.h> #inc原创 2017-02-18 18:31:47 · 1761 阅读 · 1 评论 -
51单片机100次按键
#include#define Dataport P0sbit Latch_seg = P2^2; //段sbit Latch_bit = P2^3; //位unsigned char arr[16] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};u原创 2017-02-10 09:03:08 · 732 阅读 · 0 评论 -
51单片机60秒倒计时
#include#define Dataport P0sbit Latch_seg = P2^2; //??sbit Latch_bit = P2^3; //??unsigned char arr_bit[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char arr_seg[16] = {0x3F,0x原创 2017-02-10 09:02:22 · 10323 阅读 · 0 评论 -
定时一秒和秒表
#include <reg52.h>unsigned char chagenum[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; // 0-9void delay_1s(){ unsigned char i; for(i = 0; i < 20; i++原创 2017-02-28 09:20:05 · 681 阅读 · 0 评论