EDN首页   博客首页

3

关于投票
单片机串口实现微型热敏打印机的方法

       调试硬件平台:SP0605-51/AVR单片机实验开发板

       调试软件环境:Keil8.01版本( www.keil.com

       最近给客户开发的项目中要求通过单片机打印相关的记录问题,该项目中的微打采用北京炜煌公司生产的WHXX05/08A一款微型打印机,该打印可以通过并口或串口实现微打功能,由于单片机串口的使用是最普遍,因此通过单片机串口与微型打印机之间连接起来,在使用过程中要设置微打的跳线使其工作在串口模式下。

       由于该微打的串口数据格式是:1位起始位+8位数据位+1位奇偶校验位+1位停止。对于51单片机来说可以让51单片机工作在方式3模式下,可以实现9位数据的传输,而将TB8RB8作为奇偶校验位即可。

       由于51单片机的TB8/RB8是作为多机通信的命令/数据标识位,没有专门的奇偶位,我们需要在发送每个字节之前对该字节进行奇偶校验。具体实现的源程序段如下:

void SendDataToPrint(unsigned char SendByte)

{

  unsigned char i;

  unsigned char j;

  unsigned char temp;

 

  j=0;

  temp=SendByte;

  for(i=0;i<8;i++)

    {

      if(0!=(temp & 0x01))

        {

          j++;

        }

      temp>>=1;

    }

  if(0!=(j%2))

    {

      TB8=1;   

    }

    else

      {

        TB8=0;

      }

  SBUF=SendByte;

  TI=0;

  while(0==TI);

  TI=0;

}

       因此,在主程序中只需要调用SendDataToPrint函数来实现内容打印即可。

       下面是主程序段

unsigned char TestStr[]={"西 "};

 

void main(void)

{

  unsigned char i;

 

  SCON=0xC0;//串口工作于方式3,禁止接收

  TMOD|=0x20;

  TH1=0xFA;//Fosc=22.1184MHz,9600波特率

  TL1=0xFA;

  TR1=1;

  Delay(60000);

  Delay(60000);

  SendStrToPrint(TestStr);

  SendDataToPrint(13);//换行命令

  Delay(60000);

  Delay(60000);

  Delay(60000);

  Delay(60000);

  Delay(60000);

  Delay(60000);

  Delay(60000);

  Delay(60000);

  SendDataToPrint(27);

  SendDataToPrint(74);

  SendDataToPrint(60);

  while(1);

}

运行的效果是在热敏纸上打印出“西 子”

我们的网站:西谱电子( www.supermcu.com

       SP0605-51/AVR实验开发板( www.supermcu.com/p_info.asp?id=247

系统分类: 单片机
用户分类: C51单片机
标签: SP0605开发板 西谱电子
来源: 原创
发表评论 阅读全文(1259) | 回复(0)

3

关于投票
基于LPC935单片机的TFT触摸屏实现

         本站最近给客户的电子测试仪器增加了触摸屏效果,如下图所示。由于该电子测试仪器原先是采用轻触按键和20X4字符LCD显示模块来实现按钮和显示功能,使得该产品的人机接口传统化,随着液晶显示技术和触摸屏技术的发展,将原先的20X4字符LCD显示换成TFT真彩显示并且要求在TFT真彩屏幕上直接实现按钮的操作,也即触摸屏的要求。

点击看大图

         实现的功能有

1、   直接屏幕上的按钮触摸的动态效果(按下和释放的效果);

2、   实时显示相关参数,如输出电流和电压值,电弱点数等;

3、   具有实时的电流和电压曲线显示;

4、   具有测量结果的打印功能;

所有的功能直接通过LPC935单片机来处理并完成,TFT真彩LCD直接采用液晶驱动模块来完成(该模块具有图片存储与显示功能与单片机采用串口或并口通信)

实现的技术主要有:

1、   获取触摸屏按下的坐标值;

2、   获取触摸屏释放的坐标值;

3、   识别坐标触摸屏的坐标值按钮所在的范围并实现按下释放的立体效果;

4、   打印机输出打印结果;

5、   通过定时器实现实时读取输出的电流和电压参数,并转换成屏幕的曲线坐标,通过两点之间坐标实现画线的效果;

 

我们的网站:www.supermcu.com

 

 

系统分类: 嵌入式
用户分类: C51单片机
标签: 无标签
来源: 原创
发表评论 阅读全文(1058) | 回复(1)
总共 , 当前 /