《32位8051实验箱-32G12K128》学习记录和心得
最近在同事那看到了一个精美的开发板,它由一个很高大上的透明箱子装着,好奇问了一下这是32G12K128实验箱,马上激起了我学习单片机的欲望,于是便和同事借试验箱来学习!第一集:介绍了什么是单片机,以及它能做什么,可以让初学者对单片机有更多的了解。还给初学者的一些问题进行了解答,并且分享了一些学习方法和建议,这样可以让大家更有学下去的信心和动力。 第二集:对当前所用到的开发板进行讲解,对实验箱上的各个器件以及用途都介绍了一遍。让我感受到这个实验箱非常强大,可以实现很多的功能。 第三集:有基础的朋友可以直接从第三集看起。本集视频是开发所需要的程序下载,以及环境搭建。STC-ISP集成了程序下载、调试、参数配置等核心功能,使用起来真的太方便了。搭建好开发环境后,将板子通过USB线链接电脑,按下P3.2按钮,此时按下并松开OFF按钮,在松开P3.2进入USB下载模式,终于可以成功烧录。 第四集:这是学习单片机写代码的第一课,点亮一颗LED灯。首先讲解了LED点亮原理,这对初学者来说能够更好的理解如何通过控制IO口去控制LED灯的亮灭。跟着视频创建新的工程后,对所用到的P4P6端口配置为准双向口模式,然后设置为低电平,点击编译无报错后生成HEX文件,再烧录到开发板,终于成功点亮LED灯。第四集分了上下两集,下集学习通过USB或者串口实现不停电下载,这是一个对调试来说非常实用的功能。
第五集:学习了printf函数实现,但是过程很不顺利,我发现我无法跟视频教学中一样可以用printf进行打印,只能用printf_hid,我是在stc32_stc8_usb.h中发现了这个函数声明,然后抱着试试看的态度用了printf_hid(),没想到成功了,终于可以让我打印出"hello world"了。后面我才发现需要将PRINTF_HID的定义打开。后面就是学习了C语言的运算符和进制数。
第六集:这一集是更加高级的点亮LED灯,实现LED闪烁和花式点灯,底层的逻辑和前面点亮是一样的,增加了delay函数,通过delay函数来消耗时间实现延时的效果。整体来说相对简单,C语言的基础好的能更容易理解。 第七集:学习通过按键去点亮LED灯,实现了按键和LED灯的联动。由于按键按下的过程没有那么稳定,所以要在函数中添加一个很短的delay函数来消抖。只要熟练运用if函数,本集的功能不难实现。 第八集:蜂鸣器的应用,对蜂鸣器进行了详细的介绍。从结构、工作原理、声音特性、应用场景去讲解了有缘蜂鸣器和无源蜂鸣器之间的区别。蜂鸣器和点亮LED一样,都是控制端口输出高低电平即可。最后还有一个模仿电磁炉的实战应用,首先自己思考一次,再跟着老师写一次代码,终于成功完成。 第九集:认识数码管,了解到数码管的原理。控制数码管即是控制多个发光二极管,结合试验箱的原理图,点亮所需要的发光二极管,即可实现显示0-9的数字。这集学习的内容比点亮一个LED灯增加了难度,编程的过程中比较容易出错,也会遇到一些问题,这更需要细心和耐心。 第十集:数码管的动态显示,这个相对于上一集的静态显示来说难度增加。视频介绍了数码管的动态刷新原理,然后通过设置延时和循环时间,实现了数码管的动态刷新显示。程序写完后,改变延时时间,我们可以看到数码管是一个个闪过去的,所以延时时间为1ms,循环不能大于20ms,刷新频率够快,这样就可以欺骗我们的眼睛了。实战应用制作了一个10ms计数器,非常有意思,这让我学习到的马上就可以转到实战之中。最后实现了所需要的功能,但是我内心也产生了一个问题,因为每次按下按键,数码管都会快速的闪了一下,这是什么原因呢?教学视频中没有进一步优化了,可能还有强大的功能在后面,学会后可以解决这个问题。
页:
[1]
2