单片机中晶振的作用
单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。-个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us.
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHz,则一个机器周期就是1us.而DJNZ指令是双周期指令,所以执行一次要2us.如果该指令需要执行500次,正好1000us,也就是1ms.
机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHz晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
简单地说,没有晶振,单片机就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
关键词:嵌入式培训、单片机学习
---- 在二维机械扫描过程中,根据采样方式的不同,通常可以采用两种方式。
----在钟摆扫描方式中,天线如钟摆一样在一维往返扫描,每条扫描线均进行采样,一行扫描完后,天线的另一维抬高一个角度继续扫描下一行,直到扫完全部区域。根据选用哪一维摆动以及回程是否采样,这种方式又以分为4种情况,如图5所示。其中方式a、c均为正程扫描采样,逆程不采样方式,其优点是各行(或列)之间没有机械齿距误差,但成像时间差不多是方式b、d的两倍,而方式b、d则有成像速度快,有齿距误差的特点,不过这种误差比较均匀,可以通过机械校正来弥补。
----在圆周扫描方式中,通常是天线的水平一维以匀速进行旋转,在一定的角度范围内采样,每旋转一周后,纵向一维抬高一个角度。它的机械实现简便,有足够的时间和空间定标,由于扫描过程中不需要来回的加减速与换向过程,故扫描速度会有很大的提高。
----由于两电机的转速,转动时机都不相同,因而保证它们的连续变相就十分重要,否则,电机的转动就不会平稳,容易损坏,因此要有精确的时钟定时装置对系统的电机控制和数据采集部分进行中断操作,才能使两台电机分别或者同时平稳的运行,采样位置准确。在程序中采用了MSP430单片机片内的16位定时器Timer_A进行定时中断,当程序运行时,首先根据主机发送的命令参数计算出扫描和采样所需要的定时时间,然后预置相应的定时器最大计数值(最大不超过65536),定时器从0计数至最大值时发生中断,进入中断子程序,根据程序设定的标志位mxy判断是水平还是垂直电机转动,如果要控制水平电机,则调用go_stepx(cw,direction_x)函数,该函数读出P1端口前三位,根据其值确定下一相的控制字cw,同时,该函数返回改变后的cw值,可供下一次调用。如果要控制纵向电机,则调用go_stepy(cw,direction_y)函数读出P1端口中间三位,它也返回改变后的cw值,然后驱动电机走一步,执行完毕后返回主程序。当电机走过相应的采样步数后,程序发生中断,进入采样处理程序。
数据采集模块设计
----采样处理程序开始运行时,首先将ADC12控制寄存器中的ADC12SC和ENC置位,将输入信号送入采样保持电路,然后将ADC12SC复位,停止采样,启动A/D转换,将模拟信号转换为12位数字信号并存入选择的转换存储寄存器,单片机通过片内的异步通用串行模块将转换结果送入主机内进行实时成像处理。
资料来源:单片机培训 http://www.itpeixun.net/danpianji-peixun.html
单片机的开发过程中,我们假设已设计并制作好的硬件下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常量、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED 等)写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极其简单程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以烧写(将程序固化在EPROM中)了。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别种格式的文件,只要将此文件调入即可写片。
里仁嵌入式培训学院.网站有很多相关的基础文章。可以去学习学习!http://www.lirenedu.org/