51单片机,例程
文章平均质量分 72
doubleVC
这个作者很懒,什么都没留下…
展开
-
51---数码管
1.什么是数码管1.1、几方面看数码管(1)作用:数码管是显示器件,用来显示数字的(2)分类:单个(1位)、联排(2位、4位、8位) 1.2、工作原理(1)亮灭原理(其实就是内部的照明LED,一颗数码管内部有七个led) (2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字。 1.3...转载 2017-10-30 17:49:25 · 725 阅读 · 0 评论 -
51---动态数码管
1.1、什么是动态数码管(1)数码管还是原来的数码管(共阳极或共阴极均可);动态数码管有两端:COM端和段码端(2)段码一侧还是接一个单片机端口(3)COM(共极)接单片机一个IO口,多个联排数码管的COM共同接一个IO端口分析对比静态和动态数码管,发现本质区别是:静态数码管中只要给了段码数码管就一定工作(显示只取决于段码端),动态数码管中段码端给了段码值后还需要COM端配合才能点原创 2017-10-30 19:07:37 · 823 阅读 · 0 评论 -
51例程---led点阵
一、LED点阵发光原理(1)8*8单色单片机结构图如下:从电路图中很简单的就可以看出来,想要点亮点阵中的某一个LED灯。只要使得那个灯所在的行输出高电平,所在列输出低电平就好。(2)51单片机中一般用74HC595芯片驱动led点阵,单片机端口直接驱动。因为直接驱动8*8的点阵需要2个IO端口(16个IO口)、要驱动16*16的点阵需要4个IO端口(32个IO口原创 2017-11-02 14:18:45 · 1508 阅读 · 1 评论 -
51例程---闪烁灯
#includevoid delay(void){ unsigned char i = 100; unsigned char j = 100; while(i--) { while(j--);}} //延时函数void main(void){ P0 = 0xff; //灯亮delay();原创 2017-10-26 16:08:24 · 335 阅读 · 0 评论 -
51例程---流水灯改进版
(1)首先定义变量unsigned char a,初值等于0x80(10000000)(2)8个状态,其实就是a依次右移0-7位(3)我们这样就相当于是用C语言让单片机自己去运算得到每个状态的端口值,而不用自己事先去计算好。这样程序就简化了。1.6.7.3、C语言移位运算介绍(1)C语言中有移位运算符,>>可以右移,例如:12345678---右移 = 01234567原创 2017-10-26 17:17:43 · 699 阅读 · 0 评论 -
51例程---跑马灯
原理分析:什么是跑马灯(1)跑马灯和流水灯非常像,不同的是:流水灯是8颗LED其中7灭1亮,亮的在移动;跑马灯是8颗LED7亮1灭,灭的在移动。 01111111 0x7f10000000 10111111 0xbf01000000 11011111 0xdf00100000(2)编程实现跑马灯,必须用到C语言的2种技巧:左移(右移)、按位取反;原创 2017-10-26 20:51:37 · 1502 阅读 · 0 评论 -
51例程---字模
一、何为字模(1)如何记录组成字的LED点阵亮灭信息(16*16点阵一共有256点,显示一个特定的字需要其中有些点亮而另一些不亮,如何记录哪些点亮哪些点不亮?用字模)字模如何工作?256个点用256个二进制位表示,1表示这个点亮,0表示不亮。256个点就是256个二进制位,也就是256/8=32个字节。所以一个大小为16*16的字的字模是32个字节大小。所以字模的表现形式就是32个unsi原创 2017-11-04 10:37:42 · 1476 阅读 · 0 评论