
单片机学习
文章平均质量分 61
hemixianyuan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第一次小小的尝试——舵机控制
去年第二届机器人擂台赛不知怎么地打了酱油,看到生命童鞋基本上是独立做出了遥控小车——以手机为上位机,通过蓝牙进行串口数据传送,搭建直流稳压模块和以lm298n作为驱动模块(老实说,这些东西我是在这次才懂得,当初忘了在忙啥了,神马都没有主动去了解⊙﹏⊙b汗),对于那会的生命,这些东西独立捣鼓出来完全不是问题,因为现在我觉得我都能勉勉强强做出来(不过估计很多细节需要请教的。。。),除了焊了51单片机的原创 2013-11-20 13:40:44 · 4692 阅读 · 1 评论 -
关于STC89C52驱动DS18B20
今天主要还是在颓废地弄着课程设计,昨天把原创 2014-06-12 16:10:21 · 3227 阅读 · 0 评论 -
操作时序的错误笔记(18B20)
uchar ReadByte_DS18B20(void){ uchar i = 0, byte = 0; for (i = 0; i < 8; i++) { DS18B20 = 0; //拉低总线,通知DS18B20 byte >>= 1; //将得到的数据移入次高位 DS18B20 = 1; //释放总线,等待DS18B20发送数据 _nop_(); i原创 2014-06-11 08:31:44 · 1370 阅读 · 0 评论 -
不用临时变量 实现两个变量之间的数据交换
最近看到了哈佛大学公开课:计算机科学cs50_用户体验,数组与指针,Hash函数_网易公开课里面介绍了一个不用临时变量就可以实现两个变量之间的数据交换,好奇这是什么原因,所以找到了这篇文章,纯粹当做搬运工使用异或交换数据值的原理 - borefo的专栏 - 博客频道 - youkuaiyun.com源程序:*a = *a ^ *b ;/此时*a 等价于c*b = *a ^ *b转载 2014-03-21 15:41:19 · 1132 阅读 · 0 评论 -
调试心得——软硬兼施
有一本书叫《程序调试黑皮书》,作者也是学习单片机的,而且善于消除BUG,在书中曾经提到了几种调试方法,这里顺便总结一下:3.1模块化测试:在写程序的过程中,按照模块化的思想封装好每个模块,然后完成一个测试一个,这样做的好处就是及时发现问题,从而避免在整体运行时不能及时定位问题的麻烦。我发现最近的几次错误都会没做好这一步,导致后来整体运行时连定位问题都花费大量精力和时间,弄得身心疲惫TAT(原创 2013-12-23 19:26:38 · 1335 阅读 · 0 评论 -
多么痛的领悟——记超声波模块测试
临近期末,一大波大作业来了..........平时的拖拉,最终遭到报应....这周五就要考单片机了,但是单片机作品还没搞定,电机的课程设计又开始了,还有一点就是暑假的一个项目要赶紧结了,基本要在这个月内搞定,这个月注定是个多事之秋。——————————————————————————————————————————————————————————————————不说了,说下单片原创 2013-12-10 13:59:24 · 2751 阅读 · 0 评论 -
单片机汇编小小心得
1.检测某个引脚电平变化JNB P1.0,$等价于while(!ECHO);//sbit ECHO = P1.0;2.if语句JB FLAG,LOSE;flag为设置好的一个标志,lost是flag=1时跳转的标号等价于if(Flag == 0){ ........}else{ ........}原创 2013-12-11 20:19:58 · 885 阅读 · 0 评论 -
LCD12864.h
#ifndef __LCD12864_H#define __LCD12864_H/************* 12864LCD引脚定义 *************/sbit LCD_CS = P2^6; //寄存器选择输入 sbit LCD_SID = P2^5; //液晶读/写控制sbit LCD_SCLK = P2^7; //液晶使能控制sbit LC原创 2013-11-20 13:41:02 · 3408 阅读 · 0 评论 -
串口通信——第一个数据异常现象的解决方法
一开始学串口通信,套用的是郭天祥新概念的程序思路,可能那会也没仔细考虑到晶振跟初值的影响之大,所以在开始调试的时候PC出现了第一个数据重复而以后数据正常的现象(怀疑也是晶振跟初值设置的问题)。后来在几个月后的一次调试过程中,再次发现另一个问题:接收的第一个数据会出现错误(0x00 0xf0 0xff结果出现0x80 0xf0 0xff),检查发现SMOD没有进行初始化,然后再次看了下关于的串口通信原创 2013-11-20 13:41:10 · 6522 阅读 · 0 评论 -
NRF24L01坎坷调通之路
/****************************************************************************************//*NRF24L01初始化/***************************************************************************************/void ini原创 2013-11-20 13:41:08 · 1571 阅读 · 0 评论 -
STC内部EEPROM的应用
由于最近的一个项目里需要保存几组状态参数,本着硬件简洁的原则,开水打起了STC内部rom的主意,嘻嘻~~~ 早就听说过STC内部有一大把空间的ROM可用(之前开水还以为90C516RD+是1*4K空间,后来才醒悟是16*4K的空间......),看到这么大的空间,令以节俭为美的开水反而不敢下手,怕是浪费了这么多空间。上网查资料和看郭天祥的新概念后,发现其驱动函数不长,不过坑爹的郭天祥只留下程序,一原创 2013-11-20 13:41:04 · 2865 阅读 · 0 评论 -
条件编译——调试之利器
预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。条件编译有三种形式,下面分别介绍:一、第一种形式:#ifdef 标识符 程序段1#else 程序段2#endif它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以转载 2013-11-20 13:40:59 · 1306 阅读 · 0 评论