中职单片机应用技术课程学习技巧探究
2021-11-27吕镳
吕镳
(云南省电子信息高级技工学校,云南 昆明 663714)
学习需要有一个好的开始,良好的开始方能让学习事半功倍。在单片机应用技术学习的初期,采用项目学习法,通过创设不同阶段项目任务,逐渐深入学习相关技术,最终实现对整个技术的深入认知以及良好应用。在学习的初期,便可以从简单的单片机任务入手,通过更为简单基础的项目形式,了解单片机的大概应用流程。
一、认真学习编程起步
比如,用LED 发光二极管的控制进行编程设计,其主要设计目标为利用开关来控制LED发光二极管做出相应的开关动作,具体的程序编写流程如下:
(一)创设工程
创设一个专门的工程文件:单机菜单[Project]—[New Project……],而后,在弹出的“Create New Project”对话框中,选择便于取用的保存路径,并输入相应的文件名,在输入文件名时,不需要额外输入扩展名。完成后,便可单击保存按钮,单击保存按钮后,系统会弹出第二个对话框,在该对话框中,需要选择相应的CPU 型号,在选择对应的CPU 型号后,即可单击确认,工程文件创设完成。
工程的设置:在系统中,找到“Target1(目标)”选项,右键单击该选项,在弹出菜单栏中选择“Options for Target‘target1’”选项,并在弹出的对话框中对“Output”页面进行设置,并在其中选择“Create HEX File”生成数列可执行相关动作的代码文件
(二)新建源程序文件
建立并保存源文件:在系统中,找到菜单选项[File]—[New]单击,而后便可在项目窗口的右侧,弹出一个新建文本编辑窗口。在该窗口内,找到菜单选项[File]—[Save]单击,而后在弹出的对话框当中,在文件名位置输入相应的文件名,并且在输入文件名时,要确保其拥有争取的扩展名,确认文件名无误后,单击保存。
添加源文件到工程中:在系统中的源程序组上单击右键,并在弹出的快捷菜单栏中选择“Add Files to Group‘Source Group1’”选项,随之弹出对话框,在对话框中找到“led.c”选中。
(三)编写程序
在程序的输入窗口里输入相关程序,而后保存。
(四)在keil 中调试程序
程序编译:在系统中选择菜单[Project]—[Build target]对当前的程序进行连接,并产生相应的目标代码。随后使用串行口ISP 下载线,将该程序下载至指定位置。而后,便可以为整个系统通电,如若系统能够正常运作,通信效果正常,便可以将整个程序写入到单片机的程序存储器当中。
二、抓住重点学习他人程序代码
在单片机的学习过程中,其重点应当放在电路以及编程方法方面,在学习流程的初期,不妨直接将他人的程序代码进行使用,并且在一整个流程当中,总结程序代码的编程规律,并学习其中的程序思路,找出其中值得学习的部分,将其融入自己的知识储备之中,应用于日后自己的程序编码[1]。在学习的过程中,就需要结合相关任务,进行实践,将知识点应用于实践活动当中,在任务当中应用到的知识点,将其进行深入研究,如若暂时未应用到,则将其进行标记,暂时跨过这部分内容,并且确保在后续的实践过程中,有应用到这一部分知识点时,能够第一时间找到相应的知识点内容。
比如,流水灯程序的代码:
#include
Int main(void) {unsigned int i; P2=0xfe;while(1)
{for(i=0;i<30000;i++);P2=_crol_(pr,1);}
可以从上述代码中看出,流水灯程序的代码同二极管控制的代码之间存在一定的相似性,即使在代码之中,两者都会应用到单片机的头文件。在整个程序的代码当中,都应用到的主函数,并且为了实现某一动作,嵌套了死循环函数。与二极管控制代码不同的是,流水灯的代码之中,多出部分内部函数头文件,并且对复合整型变量进行了定义,并在其中引入了for 循环的延时函数。在该代码之中,提到了秒删电路的制作,并应用到了定时器中断,在学习的初期,可以暂放这一部分的内容,而在应用到定时器中断时,便可再去翻阅定时器相关的学习内容[2]。通过这样的一个过程,将学习内容进行碎片化,并且跟随自己的实践活动,对各知识点进行重组,用到了再去学习,通过实践的方式,加强对某一知识点的印象,并且确保所有理论知识的学习都能够循序渐进地展开。
三、打开程序编码思路
在对单片机应用技术的学习初期,部分内容可能过于复杂,学习难度较大,在学习的过程中,可以先将教师讲解的重要部分以及教材中的相关程序进行抄写或者记录,并且仔细分析每一句代码所能够承担的功能以及呈现出来的效果,能够达到什么样的动作目的,在运行后,不同的代码所呈现出来的效果。比如,在编写单片机驱动电量发光耳机管程序的过程中,就可以通过位操作法,在整个程序当中,对某位引脚进行赋值。
#include
Main() {d1=0;d2=1;p1_2=0;while(1);}
在此程序中,通过相关动作,能够实现发光二极管的D1,D3 亮,d2 不亮的情况。在进行编码的过程中,除了头文件程序以外,皆可以用两种方法对引脚名称进行定义,第一种是通过名称P1 定义引脚名,第二种则是通过已有名称来定义新名称。在这一过程中,需要区分两者之间的区别,在明确分辨程序后,再由资金重写一遍,在重写的过程中,找出自己的问题,并且加以优化。直到能够自己顺利写出代码位置。
四、摸清硬件电路的制作和程序设计的思路
如何通过编码的方式,实现对某一程序的控制,并且按照自身的要求,做出规定的动作,这是在完成项目任务时的唯一目标,也是编码的主要思路。用单片机一位I/O 口去控制发光的二极管做出相关动作。LED 的整个工作流程为:点亮;延时;熄灭;延时;点亮;延时……以该过程进行循环,进而呈现出而机关闪烁的效果。在进行编程的过程中,其硬件电路相对简单,以亚龙YL-236 单片机控制功能为例。在程序设计中,其需要展开的操作难度并不高,通过流程图对程序完成设计,并且在电量法官二极管程序的基础上,融入一定的延时功能。
编程方法如:#include
Void main() {unsigned int i;While(1)
{led=0;for(i=0;i,50000;i++); led=1;for(i=0;i,50000;i++);
便可以实现二极管闪烁的效果。此能够有效实现二极管闪现,其主要运用了for 循环演示的方法,利用相关理论知识,则可以考虑,通过不同的代码变化,是否能够实现不同的闪烁效果以及延时时长。而对不同代码的设计以及编写,便是自主编码的过程,实现对整个程序的创造,进而将相关的理论知识融入自身的知识储备当中,应用于代码编程当中。
综上所述,单片机应用技术的学习需要循序渐进地展开,并且在学习的过程中,学会举一反三,以他人的代码为例,逐渐开发属于自己的代码,并且保障程序的正常运营,以实现相关理论知识的有效应用,提高自身编写代码的水平以及效率。