硬件部分第一次培训总结
从这次培训开始,我们正式进入了单片机的真正学习啦!距离上一次培训单片机已经过去了三个月之久了,大家是否有所遗忘。从这次培训开始,在我们讲解完独立按键和矩阵按键之后,就会开始接触中断,这也是单片机真正开始的地方,之前的学习都是小打小闹式的学习,并没有接触到单片机的核心和灵魂,要想学好单片机,也就得学好这一章。
这次培训主要分为四个部分:模拟电路分析,独立按键,矩阵按键以及初识中断,我们会详细的介绍矩阵按键扫描的原理以及程序的编写,并且讲解一些编程的规范以及思想。
一,模拟电路分析
身为一个硬件电子技术工程师,必须要掌握好的就是电路的基本知识,万丈高楼平地起,数电,模电,电力电子这些知识是必不可少的,来认识一个向日葵电路。
掌握该电路的要义就是要掌握三个关键点:
1.直流电机,可正反转动,实现”向日”功能的保证;
2.LM358,比较器,运放的一种;
3.Q1和Q2,NPN和PNP两种三极管的作用;
然后逐步推导电路即可明白该电路的原理。
二,独立按键
独立按键是比较简单的模块,也是单片机初学者学习的能轻松掌握的外设,一个小小的按键里,同时也蕴藏了许多知识。
- 什么是按键
键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘; 在单片机组成的各种系统中,用的最多的是非编码键盘。
独立按键,顾名思义,它是单独的一个按键,独立按键在一定程度上是相当于LED的,一段接VCC加上拉电阻,一段接GND,具体的那端接VCC,哪端接GND这是取决于单片机的空闲电平的,这也就是说,在编写程序之前我们一定要看好单片机原理图,了解51的一些基本知识,确定该单片机的空闲电平是什么。然后再进行程序编写按照这样的顺序,我们就可以为自己程序编写时,减少许多的麻烦。养成先检查硬件,再编习软件的好习惯,这是一名优秀的硬件制作者所必须具备的。
以下我们以闲置电平为高电平为例,为大家讲解,独立按键的程序编写。
- 程序详解
sbit key = P1^0;//定义P1^0为key
void key_scan()
{
uint i=0;
if(key == 0)
{
delay10ms(); //消抖
if(key == 0)
{
j=_crol_(j,1); while(i<200&&key==0)
{
i++;
delay10ms();//消抖
}
}
}
P0=j;
}
三,矩阵按键
什么是矩阵按键,看图便知。
矩阵按键相当于形成了一个按键矩阵,它的基本原理也和独立按键相类似,但是,每个独立按键的单独检测都需要一个IO口,如果按照独立按键的方法来接线,那么这16个按键全部加起来,就需要16个IO口,对于51来说,寸土寸金,而现在图上的这种接法总共只需要花费8个IO口,达到事倍功半的效果,当然这也是矩阵按键不想独立按键那么容易操作,需要一些技巧才能实现。
基本方法叫做行列扫描:我们通过低四位全部输出低电平,高四位输出高电平。当接收到的数据,高四位不全为高电平时,说明有按键按下,然后通过接收高四位的值,判断是哪一列有按键按下,然后再反过来,低四位输出高电平,高四位输出低电平,然后根据接收到的低四位的值判断是哪一行有按键按下,这样就能够确定是哪一个按键按下了。
下面给出检测第一行的程序,当有按键按下时,该按键所在列,对应的IO口电平会被置0,从而可以通过采集IO的状态来确定是哪一列的按键。
类似,其他四行可用此方式进行判断。
另外一种方法,是先检测所有行,得到按键的行号,在检测所有列,得到按键的列号,从而获取按键位置。这种方法简便易行,十分常用。
四,初识中断
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行——(摘自百度百科)
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的
中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率
寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。
以下是对于寄存器的学习小建议,配置寄存器之前要明白寄存器的功能和作用,不同的配置方法实现那些不同的功能,直到轻车熟路
寄存器的学习不是简单的数学推理,需要花些时间去记忆寄存器地址,寄存器功能。不然离开了例程就只能从工程师变成不学无术。
寄存器!=存储器,我们再一起来了解一下计算机内部的存储构架:
寄存器àCacheà内存à硬盘
- 从里向外的顺序,越往里速度越快,但是容量越小。Cache的传输速率可达6GB-8GB/S,然而做工较好的硬盘才能达到50M/S。
- 寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
全部内容就在这里啦!课上大家没有理解的,可以参照郭天祥的视频,进一步加深印象,这只是一个开始,我们的旅程,即将起航!