用微机做单片机的调试工具
赵金明
准备一片MAX232芯片,用于搭建单片机与微机之间串口通信的桥梁(以下简称为串口工具)。电路原理图参下图。
由于单片机输入输出的是5V逻辑电平即TTL电平, 不同于微机串口RS232电平(-15~+15V),故不能将单片机串口与微机串口直接连接,需经电平转换后方可通信。MAX232正是充当这种将TTL电平转换成RS232电平角色。图中,电容容量均可选择0.1-1μF这间。MAX232的7、8脚连结到九针连接器J1的2、3脚,并共用“地”,九针连结器插接到微机串口。MAX232的9、10脚分别与单片机的串行口的接收端(RXD)、发送端(TXD)相连。MAX232的5V电源借用单片机的电源,为使用方便,可以将MAX232与单片机相连的4根线即+5V、TXD、RXD、“地”用4针插接件连在一起(调试时用插件方便),然后将MAX232及其外围元件焊接在一个小印制板上。用香烟盒大小盒子封装起来(4针插接件放在盒外)。九针连结器只需用1只。即连结MAX232的九针连结器可以省去,而直接将线焊接线路板上,连到微机的那端才用九针连接器。(若有老式串口鼠标器,用在这里很适合) 到网上下载一个串口大师作串口收发工具(《电子制作》网有下载)。
一般地说,一部微机有多个行串口如COM1、COM2,图2中的“串口”右下框便是就这类情况用于选择串口的。 当串口工具插到微机COM1时,串口大师选COM1,总之,串口大师中串口项的选择必须与微机的串口的选择相同。再是波特率的选择应与欲调试的程序中设置的波特率一样,其它选项同样要按程序设置。图2中的*16时进制”选项用于16进制数字显示。
串口大师中右边有一个数据接收区和一个数据发送区。将接收到单片机发来的数据显示在接收区(左图中的ab、cd即为接收到的数据),欲发送到单片机的数据先填入发送区(图2中的01、02为欲发送的数据),在串口开启的情况下,单击“发送”按钮,发送区的数据便传送出去。 做好串口工具、将串口大师软件包复制到微机中(串口大师无需安装,点击可执行文件ComMaster.exe即可打开),然后将相应的线连结好。便可用微机对单片机的程序进行调试:一方面,微机可以向单片机发送数据,反过来,微机可将自单片机发送来的数据显示在屏幕上,由于微机显示的数据量大,所以该优势特别有用。调试中,能方便快捷地从显示屏上提取大量可供分析的数据。了解程序中的BUG等,省去故意制作辅助的LED、LCD等显示工具的麻烦,可以说得上是个称心的工具。下面 举个对红外遥控器编码进行分析的例子简要说明串口工具的用法:红外遥控器发射的红外线上是一串脉冲(方波)信号,参左图,欲分析其编码,只要测量各个方波周期,因此我们可以用单片机的定时器在一个脉宽内进行计数,取出计数值分析即可得到红外编码。图3中,欲求点a到b、b到c的时间长度,我们可以以脉冲的下降沿作计数的启点,即在单片机接收到红外接收头送来的低电平时发生外部中断(点a处)时,定时器0开始计数,在下一次发生中断(点b)停止计数,将计数值THO、TLO值发送给微机,于串口大师接收数据显示区显示出来,然后将THO、TLO清O,重新开始计数……,这样便能得到完整的红外编码信息。红外接收原理图参见图,
图中U2为红外接收头,接收到的红外脉冲信号送单片机U1的外部中断口。
配套的源文件如下:
|