蓝桥杯常考模块
模块练习
千部电影后,世界无奇事
这个作者很懒,什么都没留下…
展开
-
蓝桥杯单片机第十三篇_串口通信
串口调试的工具可以直接用STC_ISP:同样波特率的计算也可以用软件帮你算上位机发送数据给下位机上位机就是电脑操作方,下位机就是接收方,也就是单片机,当接受到电脑给的数据,识别后作出想要的操作#include <stc15.h>unsigned char buf[12];unsigned char num=0;void UartInit(void) //9600bps@12.000MHz{ SCON = 0x50; //8位数据,可变波特率 AUXR |=原创 2020-07-31 20:51:18 · 911 阅读 · 0 评论 -
蓝桥杯单片机第十一篇_NE555
原理很简单就是将定时器初始化为计数模式,对输入到P34(T0)的脉冲进行计数,1S的计数值即为频率值测量频率需要将J3-15(SIGNAL)与J3-16(P34)短接。转动RB3就可以看到数值的变化代码采用了定时器0设置为计数模式,定时器1来计时1S#include <stc15.h>unsigned int fre;void TimerInit(void) //1毫秒@12.000MHz{ AUXR &= 0xBF; //定时器时钟12T模式 TM.原创 2020-07-31 20:20:55 · 1284 阅读 · 0 评论 -
蓝桥杯单片机记录第十篇_超声波
采用了定时器法,进行超声波测距sonic.c#include <sonic.h>sbit TX=P1^0; //发射引脚sbit RX=P1^1; //接受引脚void Timer1Init(void) //12微秒@12.000MHz{ AUXR &= 0xBF; //定时器时钟12T模式 TMOD &= 0x0F; //设置定时器模式 TL1 = 0xF4; //设置定时初值 TH1 = 0xFF; //设置定时初值 TF1 .原创 2020-07-31 20:08:00 · 241 阅读 · 0 评论 -
蓝桥杯记录第九篇_EEPROM(储存)
驱动驱动同样是用的IIC#include <iic.h>#include "intrins.h"//_nop_()数量要是51的7倍左右#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()原创 2020-07-23 18:31:42 · 1001 阅读 · 0 评论 -
蓝桥杯单片机记录_第八篇_ADC(模数转换)
驱动驱动用的是IIC#include <iic.h>#include "intrins.h"//这里需要在原有驱动的基础上复制7次#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_n原创 2020-07-22 18:29:59 · 2563 阅读 · 1 评论 -
蓝桥杯记录第七篇_DS1302(时钟)
驱动#include <ds1302.h>#include <intrins.h>sbit SCK=P1^7; sbit SDA=P2^3; sbit RST = P1^3; // DS1302复位void Write_Ds1302(unsigned char temp) { unsigned char i; for (i=0;i<8;i++) { SCK=0; SDA=temp&0x01; temp>&原创 2020-07-21 18:37:17 · 395 阅读 · 0 评论 -
蓝桥杯单片机记录_第六篇_DS18B20(温度)
一 驱动(有改进)#include <ds18b20.h>sbit DQ = P1^4; //单总线接口//单总线延时函数void Delay_OneWire(unsigned int t) //STC89C52RC{ t*=12; //因为驱动是用的是89C51,而15的要在51的基础上乘12 while(t--);}void Delay1ms() //@12.000MHz //启动之后根据时序图要有一定的延时{ unsigned char原创 2020-07-17 10:39:38 · 928 阅读 · 1 评论 -
蓝桥杯单片机记录_第五篇_矩阵按键(长短按)
原理图需要将跳线帽往左边插一 只有短按的矩阵扫描法keybord.c:#include <keybord.h>unsigned char i=0,key_value,key_sum=0,key_press;void key_read(void){ P3=0XF0; //P34,P35拉高 P42=P44=1; //拉高 if(P44==0||P42==0||P35==0||P34==0) //当这4个有一个为0了,就说明有按键按下 {原创 2020-07-13 12:26:55 · 1030 阅读 · 0 评论 -
蓝桥杯单片机记录_第四篇_独立按键(长短按)
独立按键独立按键的原理图:其中,S4,S5,S6,S7是独立按键,需要用跳线帽接右边:一 只有短按的代码:key.h#ifndef _KEY_H_#define _KEY_H_#include <STC15F2K60S2.H>sbit k4=P3^3;sbit k5=P3^2;sbit k6=P3^1;sbit k7=P3^0;extern unsigned char k4_press;extern unsigned char k5_press;原创 2020-07-12 20:52:05 · 788 阅读 · 0 评论 -
蓝桥杯单片机记录_第三篇_数码管
数码管1.先要选择Y6C,进行位选选择Y7C,进行端选段选的原理:P00~P07分别控制a,b,c,d,e,f,g,dp,期中dp是小数点,当为0时为亮。那么比如说要显示不带小数的数字“0”,我们就要让a=0,b=0,c=0,d=0,f=0,g=1,dp=1;那么就是P0=0XC0; 以此类推可以得到带小数的数字“0” 应该为P0=0X40;代码:smg.c:/*通过视觉暂留的方式用定时器的方法显示数码将smg_display();放在1ms的定时器扫描其实相当于流水灯,只不原创 2020-07-12 18:14:32 · 599 阅读 · 1 评论 -
蓝桥杯单片机记录_第二篇_锁存器
锁存器:因为板子的资源有限,所以就有了锁存器这个东东,也是一个神器,他可以让我们孩子操作P0口就可以控制很多东西,比如考的LED,数码管,继电器,蜂鸣器之类的,特别是蜂鸣器,由于电路设计的漏洞,如果你不去关它,上电后就疯狂响,吵死了,一开始学的时候,不知道上电要关闭,一直响个不停,后面才知道整么用,期间差点没被舍友骂死哈哈哈。原理图:我的理解是,通过对P25,P26,P27选择,得到是Y(X)口通入数据:P2=0X80时,后面的三位分别为 100 , 对应的是 0100 也就是选中了Y4C(控原创 2020-07-12 17:23:30 · 680 阅读 · 1 评论 -
蓝桥杯单片机第十二篇_PWM
PWM波输出可以用来调节电压的大小,蓝桥杯考的基本是灯亮度的调节用定时器法实现PWM输出以RB2调节灯的亮度为例子#include <stc15.h>void Timer1Init(void) //100微秒@12.000MHz{ AUXR &= 0xBF; //定时器时钟12T模式 TMOD &= 0x0F; //设置定时器模式 TL1 = 0x9C; //设置定时初值 TH1 = 0xFF; //设置定时初值 TF1 = 0; //清除T.原创 2020-07-31 20:29:26 · 545 阅读 · 0 评论