专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机位操作的魅力

作者:reddii   来源:本站原创   点击数:  更新时间:2009年11月25日   【字体:

  暑假大概看了一下单片机,走马观花式的,不过感觉对它的整理了解还可以 这两天仔细看了下单片机编程的程序,跳跃式的过来过去的翻着那本书,感觉有了点小感悟  单片机,最强大的还是她的位操作!

  我们学生一般用的51单片机是八位的,而八位恰好一个字节,在寻址方式里按字节寻址我感触不大,因为比较常见吧 单片机的sfr,也就是特殊功能寄存器,在单片机设计之初的目的应该是方便控制所以大部分sfr可以直接位寻址 这里的位寻址其实也就是可以直接对某些sfr的位直接访问,这对于控制很方便

  举几个例子,对于单片机的内部资源,定时器T0,T1和中断IE,中断优先IP 这些sfr的位都有特定的含义,参看单片机的书可以了解到有的位是选择工作方式的,有的是检测工作状态的,对于置位操作可以很快且高效地控制相关资源的使用

  计算机只认0,1吧,单片机作为简单的计算机,麻雀虽小,五脏俱全哦 那么你与单片机交流最简单高效地方法就是01串了,不过处理2进制比较麻烦,所以单片机一般处理16进制数据 这样看起来比较简约

  对于单片机的位定义,bit和sbit很自由,只要你定义的位在可位寻址的区域,那么就OK了 位定义和宏定义结合起来使用,可以大大增强程序的可读性

  说个实际点的例子,比如我要选择T0的工作方式2 那么我可以写TMOD=0x02;二进制下就是00000010 看下TMOD的D0-D7的定义,自然你就知道了这个方式是怎么实现的 还有包括IE中的中断操作,用|或&很方便

  在学习单片机之初,跑马灯的程序很经典,一般都会以<<实现灯轮流亮,这个便是位中的移位操作,通过<<或>>改变状态很是快捷~~

  本来想要把一些实例写出来,后来想等时间多了再好好钻研下 计算机的位操作之美很是让人陶醉!

  继续研究……
 

关闭窗口

相关文章