蓝桥杯单片机组
文章平均质量分 67
KM_bzj
这个作者很懒,什么都没留下…
展开
-
【蓝桥杯单片机组】(1)前期准备
蓝桥杯单片机组目前使用CT107D实验平台,IAP15F2K61S2芯片IAP15F2K61S2可以直接当仿真器使用,设置方法:(1)使用STC-ISP v6.85R(2)点击“添加型号与头文件到KEIL中……”(3)将文件定位于.../keil(4)添加文件,成功后可以在KEIL中建立对应STC芯片的工程(5)点击“将IAP……设置为仿真芯片”,烧写程序(6)原创 2017-02-07 23:24:04 · 10024 阅读 · 1 评论 -
【蓝桥杯单片机组】大概是最后一篇了,the lastday 蓝桥
今天做了一下第七届的决赛题,逻辑比初赛复杂的多,但是原理都相同,主要是时间不够。简单总结一下一些荣翻译忘记的地方:(1)矩阵键盘中:P36 replaced by P44,P37 replaced by P42,写的时候注意在ISP文件中添加P4有关的定义。(2)今天脑子抽了,居然用P0 = 0X00;来消影,记住是P0 = 0XFF。(3)关于DS1302,在写时间的时候需要取消原创 2017-04-06 22:19:59 · 5810 阅读 · 2 评论 -
【蓝桥杯单片机组】PCF8591 关于蓝桥杯坑爹I2C的吐槽
根据datasheet的时序:编程步骤:初始化AD,给AD传送采样通道与输入方式(写过程,上图)(1)打开总线(2)发送ADDRESS(BIT0 = 0)(3)等待PCF应答(4)发送控制位(控制参考下图)(5)等待PCF应答(6)结束总线附:控制位地址位:综上所述:初始化PCF8591时的代码如下:void PCF8591_init原创 2017-02-27 19:09:35 · 9586 阅读 · 17 评论 -
【蓝桥杯单片机组】AT2C02 EEPROM
这个也是iic总线结构!在此总结一下iic的程序结构在同一个函数内读、写操作(以读eeprom为例)(1)开启总线(2)写地址字,等待回应(写命令)(3)写要读的地址,等待回应(4)再次开启总线(5)写地址字,等待回应(读命令)(6)读要读的地址(7)发出回应(8)结束总线放上代码:unsigned char read_eeprom(unsigned原创 2017-03-02 20:45:42 · 1832 阅读 · 0 评论 -
【蓝桥杯单片机组】(3)键盘
避免错误,一律选择矩阵键盘方式。编程步骤:(1)将4条列线中的第一条置为0(2)读行线(3)判断行线中是否存在为0的行(4)若存在,则有按键按下, 消抖(5)读行线,判断是否有行线被置为0,若有,判断哪条行线被置为0,(6)switch case 匹配行线(7)(1)++程序:int keycheck(){ char temp,value; int原创 2017-02-09 02:22:30 · 1409 阅读 · 0 评论 -
【蓝桥杯单片机组】DS18B20
DS18B20与单片机采用单总线连接方式,比赛中使用到的文件为提供的“onewire.c”编程步骤:(1)初始化(2)发送ROM操作命令,包括:Read ROM(读ROM) [33H]、Match ROM(匹配ROM) [55H]、Skip ROM(跳过ROM] [CCH]、Search ROM(搜索ROM) [F0H]、Alarm search(告警搜索) [ECH](3)发送储原创 2017-02-22 10:47:02 · 2162 阅读 · 3 评论 -
【蓝桥杯单片机组】实时时钟RTC(DS1302)
1、寄存器表注意:(1)ds1302.h中提供的寄存器地址是写地址,读寄存器时需要将地址加一(2)#define ds1302_control_addr 0x8Ee //写保护命令字单元地址对应上图倒数第二行:BIT7 = 0(取消写保护)、BIT7 = 1(上写保护)(3)读一次寄存器后需要增加一条写指令(不知道为什么):curtime[i] =原创 2017-02-20 19:08:21 · 4972 阅读 · 0 评论 -
【蓝桥杯单片机组】(2)锁存器、数码管、蜂鸣器、继电器
1、C51数据类型扩充sfr 声明8位寄存器sfr16 声明16为寄存器sbit 声明寄存器中某一位,某IO口bit 位变量声明用sbit声明某一个端口sbit LED = P1^0;2、74HC573(锁存器)WR端通过J13一直接地Y4~Y7端通过138译码器接P25~P27控制部分代码:P2 |= 0xe0;原创 2017-02-07 23:45:16 · 2834 阅读 · 0 评论 -
【蓝桥杯单片机组】外部中断
需要操作的寄存器TCON: ITx EXx编程步骤:(1)选触发方式(2)开外部中断(3)开总中断 IT0=1; //IT0=1,下降沿触发外部中断0,IT0=0边沿触发 EX0=1;//使用外部中断0 EA=1;外部中断引脚如上图,对应独立按键S5 S4,外部中断号:0(EX0)/2(EX1)附:init.cvoid cls_原创 2017-02-20 10:08:18 · 1546 阅读 · 1 评论 -
【蓝桥杯单片机组】超声波模块
超声波模块分为发射、接收两个部分:发射:通过跳线帽将P10与发射端相连接收:连接P11,采用CX20106A作为解调芯片,主要频率在38K~41KHz,超声波实验中主要使用40Hz,当CX20106A接受到40KHz的信号时,会在7脚产生一个低电平下降脉冲,在实际调试的时候只关心芯片的7脚在收到信号是是否有一个下降沿产生。在本电路的调试中,如果一直发射超声波,在7脚将会有周期的低电平产生。原创 2017-02-28 20:32:00 · 4527 阅读 · 8 评论 -
【蓝桥杯单片机组】(4)Timer0/1 定时器
需要使用的寄存器:TMOD(工作方式寄存器) TCON(控制寄存器)THx TLxTMODTMODD7D6D5D4D3D2D1D0 GATEC/T\M1M0GATEC/T\M1M0 T1T1T1T1T0T0T0T0GATE: GATE =原创 2017-02-09 02:58:10 · 2528 阅读 · 0 评论 -
【蓝桥杯单片机组】(6)uart
(1)波特率的概念:1bps = 1 bit/s(2)板载资源有两个串口,仅UART1可以通过USB连接电脑(3)四种方式波特率计算公式:(fosc:晶振频率 )方式1:baud = fosc / 12;方式2:baud = (2^smod / 32) * (T1溢出率)方式3:baud = (2^smod / 64) * fosc方式4:baud = (2^smod原创 2017-02-09 23:48:37 · 2082 阅读 · 0 评论 -
【蓝桥杯单片机组】(5)Timer0/1 计数器做频率计
基本思想:用Timer0做定时器,用来定时1s时间,用Timer1做计数器,捕捉下降沿。T1的计数器每1S清零一次。该功能最好用T2的捕捉功能实现,但昨天未调试出来,原因是无法进入中断,可能是实际使用的IAP15芯片配置与所查的52资料不同。调试出后更新对T1/T0的配置如下:void t0_init(){ TMOD = 0x01; TH0 = (65536-46080)原创 2017-02-09 03:01:33 · 2425 阅读 · 4 评论 -
【蓝桥杯单片机组】第七届决赛模拟
------------------------------------------------------------------------------------------------本程序有BUG,在电压测量模式与时间查询模式下,按键使用不灵敏;在电压测量模式下数码管会闪。使用的iic协议、ds1302协议在前文中有------------------------------原创 2017-04-07 22:17:30 · 1379 阅读 · 1 评论