cc2530单片机是几位单片机_我的单片机学习之路(续1)

--------------------------------------------------------------------------------------------

持续更新中~~~~~~~~20204/30

还是先汇报下进度,昨天晚上看了大概40分钟I2C和EEPROM的资料,就到了凌晨12点半,没有开始写程序,因为感觉有些困难,并且今天一早是有有课的,所以也没有继续下去,希望今天能完全搞懂吧,这部分知识我是准备边学边总结,也可能会录一点调试视频上传,最好可以在学完就可以实时的上传到知乎~以后的更新也会采用这个模式,毕竟我的记性不太好,过两天可能就会遗忘太多细节问题。

数码管&串口篇

  • 数码管

数码管部分还是按照昨天的思路来,我的数码管显示是靠两块数码管锁存芯片74HC573实现的,我也只会这一个,也不知道还有没有别的方法,附上原理图

--------------------------------------------------------------------------------------------

持续更新中~~~~~~~~20204/30

还是先汇报下进度,昨天晚上看了大概40分钟I2C和EEPROM的资料,就到了凌晨12点半,没有开始写程序,因为感觉有些困难,并且今天一早是有有课的,所以也没有继续下去,希望今天能完全搞懂吧,这部分知识我是准备边学边总结,也可能会录一点调试视频上传,最好可以在学完就可以实时的上传到知乎~以后的更新也会采用这个模式,毕竟我的记性不太好,过两天可能就会遗忘太多细节问题。

数码管&串口篇

  • 数码管

数码管部分还是按照昨天的思路来,我的数码管显示是靠两块数码管锁存芯片74HC573实现的,我也只会这一个,也不知道还有没有别的方法,附上原理图

9932ccde0c9466790a7c7de5f81e406a.png

我这个是8位共阴极的数码管,这个东西学完理解之后感觉也不难,当然我的不难是特指用和写程序,要深究锁存芯片啥的实现原理,我这个小白是说不出来的。不过只是用数码管的话就非常简单了,就操作P0口发两次数据就可以了,先位选在段选,位选控制8位数码管的哪一位通电,段选就是使单片机控制通上电的数码管显示特定的字符。我说的可能很不严谨,也可能挺多错误的,不过仅对我而言倒是容易理解。对段选来说,单个数码管其实就是由8个小LED组成的,通过P0口赋值使某几个亮某几个灭便可以使其显示特定的数字或者字符,原理如下

3231ba1920fa7c4d5dbf29add24338a5.png

显示数字的原理

按照常理来说数码管只能让一位显示,因为P0位选只能赋一个值,这样也就是数码管的静态显示,下面代码是使数码管第一位显示数字1,因为它只操作一次,后边就用一个while(1)让他停住。

void main()

{

WE = 1;

P0 = 0XFE; //1111 1110

WE = 0;

DU = 1;

P0 = 0X06;//0000 0110

DU = 0;

while(1)

{

}

} 静态显示代码

那怎么才能让数码管好几位同时显示呢?办法就是动态扫描,我开始对这个概念理解的到是挺模糊的,直到后来自己写程序才算理解它的意思。上面静态显示的时候说过,数码管一次只能显示一位,你想同时显示两位是做不到的,好比说第一次位选想让数码第一位数码管显示,给P0赋值1111 1110,然后想同时使第二位数码管显示又给数码管赋值1111 1101 ,可以清楚看到数码管第二次段选时,数码管第一位就被灭掉了,这样是不可能同时显示多个数值的。解决办法就是将多个数码管显示的代码放进一个循环里面,让他不断重复亮灭的过程,当这个循环足够快的时候就给人一种同时在显示的感觉,这个可能像电影的帧这个概念,电视动画啥的就是由一帧一帧的图片构成,刷新率高的时候就流畅了起来。

下边的这个视频是数码管显示数字236,我每次延时1000微秒得到的最终显示效果,可以清楚的看出来它是第一位灭了之后第二位亮,第二位灭了第三位亮。依次循环这个过程,而当这个过程足够快的时候就会同时显示出236.

503477cf4f2d616f9879d9f703ff94ee.png

详细内容请关注知乎:浅蓝哇

科学解释:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

昨天是想着只写一下数码管软件延时和定时器延时的,软件延时是我刚学单片机的第一个大疑惑,当时一直想不明白为啥那样软件延时的,今天开始写的时候感觉只写这一部分感觉不大好,有点太突兀了。

--------------------------------------------------------------------------------------------

持续更新中~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值