蓝桥杯——单片机
STC15
_朱坚强
本人极菜
展开
-
STC15系列的UART串口基础
现在对串口的理解很浅,仅仅停留在会用的地步……梳理一下大致用法首先是串口的控制寄存器可以看到该寄存器是可以进行位寻址的我们主要操作的有SM0、SM1(控制串口的工作方式)一般都采用方式1,并需要定时器产生波特率(baud)若采用定时器1的模式2(8位自动重装),且SMOD为0,且12分频则TH1=TL1=256-FOSC/12/32这一位初始化的时候设1就行关于TI和RI会在...原创 2019-03-15 20:53:40 · 4559 阅读 · 0 评论 -
一种新的代码风格~
研究了一会缓冲区,还有利用中断去检测键盘的算法,又中和了之前的代码风格,发展出了一种新的通用代码格式,这几天要好好熟悉~定时器2ms中断void Timer0_Init(){ TMOD=0x10; TH0=0xf8; TL0=0xcd; TH1=0x00; TL1=0x00; EA=1; ET0=1; ET1=0; TR0=1; TR1=0;}void Timer0...原创 2019-05-19 22:57:16 · 155 阅读 · 0 评论 -
NEC协议——红外遥控的使用
NEC协议是众多红外遥控协议的其中一种,下面以蓝桥杯的单片机开发板实现红外解码。相关芯片与元器件介绍此图为跳线帽的解法,在做红外通信时应接3,5;4,6。此图左为红外发射装置和HX1838集成芯片,放大与接受于一体,可实现对红外线的解调。此图右为一简单的红外发射装置,发出的红外线信号易受干扰,且无法实现与HX1838的通信,若要实现红外发射,必须加上高频载波(38KHz),可以用555...原创 2019-05-09 21:37:33 · 2832 阅读 · 0 评论 -
关于按键
最近真的是巨忙,蓝桥杯估计是要凉了,只能随缘发挥了……今天看到了处理按键的一种新的算法,很牛批,详细见金沙滩的视频。宋老师的水平真的是强,完全打破了我过去的编程习惯,让我重新对单片机有了一个理解,单片机就是一块CPU,在写程序的时候尽量别用软件延时,这样会浪费资源,一定要好好利用中断(把微机里学得概念搬过来),感觉要真正地学好单片机还要去学一点操作系统的知识。可惜看到的太晚了,原来的代码风格来...原创 2019-05-19 19:34:16 · 543 阅读 · 0 评论 -
DS1302时钟芯片的使用
芯片简介原创 2019-03-17 10:18:21 · 20097 阅读 · 4 评论 -
利用AT24C02进行数据存储
简介24C02是一个2K Bit的串行EEPROM存储器(掉电不丢失),内部含有256个字节。在24C02里面有一个8字节的页写缓冲器。来看引脚:A0,A1,A2:硬件地址引脚WP:写保护引脚,接高电平只读,接地允许读和写SCL和SDA:IIC总线可以看到对于4K及以上,硬件地址管脚不一定存在,若不存在就写0,所以一条总线上可挂的该类芯片也减少了。附上开发板上芯片的连接方式向...原创 2019-03-16 15:56:23 · 38718 阅读 · 8 评论 -
利用PCF8591进行AD转换
上学期用过这款芯片,主要还是IIC的应用……原理的话没有太多时间深究了,主要还是应用芯片引脚图AN0~AN3为模拟量输入(可以选择输入方式)A0~A2为硬件地址引脚,用来编码地址AOUT应该为模拟量输出(DA转换)SCL、SDA即为IIC通信时的总线引脚设备地址高四位为固定的编码,用来标识PCF8591,第四位就是硬件引脚+读写位控制字第6位:控制模拟量输出使能第5和4...原创 2019-03-16 14:28:06 · 11680 阅读 · 5 评论 -
IIC总线的操作时序
IIC(Inter-Integrated Circuit)是IIC Bus简称, 它是一种串列通讯总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。IIC简介:IIC总线只有2根信号线,一根是数据线SDA,一根是时钟线SCL。SDA和SCL均为双向信号线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接到总线上的任一器件,输出低电...原创 2019-03-16 11:49:55 · 17970 阅读 · 1 评论 -
DS18B20温度传感器的操作
DS18B20 是美信公司的一款温度传感器,单片机可以通过 1-Wire 协议与 DS18B20 进行通信,最终将温度读出。1-Wire 总线的硬件接口很简单,只需要把 DS18B20 的数据引脚和单片机的一个 IO 口接上就可以了。硬件的简单,随之而来的,就是软件时序的复杂。该温度传感器对时间的精确要求较高。我们所需要用到的功能不多……DS18B20主要由4部分组成:64 位ROM、温度传感器...原创 2019-03-16 10:34:22 · 12956 阅读 · 1 评论 -
超声波测距
上学期做过的开始实验就是关于超声波的……虽然自己拿单片机没搞出来,但好在队友给力,换了主板搞了出来,不过主要还是当时的水平确实太菜了,现在大概知道当时的AD转换混乱的原因了,应该是没有加延时。这次蓝桥杯的题目中有从EEPROM中读数据,如果连续读不同地址,一定要加延时,不然会混乱,我估计当时也应该是这个原因,等空了试试看……回归正题,首先看发射模块加了一堆反相器,据说是为了增大功率?反正换能器...原创 2019-03-15 22:33:27 · 4951 阅读 · 0 评论 -
555定时器的频率检测
NE555可以产生一定频率的脉冲,可以通过单片机进行频率检测首先来重新学习一下555定时器的原理这个接的不太看得懂,先去复习一下数电……然后可以看到有一组排针555定时的输出信号刚好和P3^4口相邻而P3^4口又恰巧为定时器0对应计数模式的IO口所以就可以测出555定时器产生的方波的频率的大致思路:定时器0用来计数,每一秒采集到的方波数即为频率定时器1控制时间,每一秒产生...原创 2019-03-15 21:33:01 · 5617 阅读 · 1 评论 -
串口发送和接受字符串,AD转换多通道读取
困扰了我快一个学期的问题终于解决了……原来之前的想法是错的,PCF8591是可以连续工作的,不需要进行延时……PCF8591每读出一次,就会启动一次的转换,而转换的结果,在下次才能读出,所以需要调整顺序。//读取湿度、光强void Read_wet_light(){ Light=Read_PCF8591(0x03); //0x01通道为光 Wet=Read_PCF8591(0x0...原创 2019-05-11 23:28:11 · 1083 阅读 · 0 评论