• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 小说 > 正文

    uC/OS-II【基于uC/OS-II的验光仪打印接口的实现】

    时间:2019-02-20 03:23:45 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      【摘�要】本文简要的讲述了验光仪开发过程中的打印接口的设计及在uC/OS-II系统下的接口程序的实现。首先对打印接口进行分析设计,之后分析系统中的打印流程,并实现了相应的接口程序。
      【关键词】验光仪;打印;接口
      
      引言
      
      验光仪也称为屈光度仪,本文所讲述的验光仪为基于S3C44B0X为核心的自动屈光度仪。采用源代码公开的实时多任务操作系统uC/OS-II为操作系统内核,打印作为其主要的输出功能,因此需要进行相应的硬件和软件设计。
      
      1 原理分析
      
      打印机使用单片机控制,与主板的中核心处理器S3C44B0X通信,实现字符和图像的打印。由于打印由专门的单片机负责,本设计采用单片机监听方式,处理器触发的形式。
      
      图1中,通信开始,单片机的P2.1口保持低电平,ARM的PC0口保持高电平。当打印键触发,PC0口送一个低电平,使其产生一个从低到高的跳变。此时,单片机一直处于低电平,并保持监听,当收到了ARM发送的上升脉冲后,开始接收数据线上的8位数据。之后保持P2.1口低电平。等待下一次上升脉冲的到来,继续更多数据的传输。
      单片机在接收到字符之后,按一行24个字符分段,满一行之后驱动打印马达,不同的打印机有不同的打印机马达驱动指令,使其开始下一行字符打印。打印每行的过程是将每行分了特定的像素行,根据不同的字符编码确定,本系统中采用了16*8点阵全高ASCII码,因此每个字符分了两列,8行进行打印。
      
      2 硬件设计
      
      
      图2 给出了打印接口的原理图,接口采用74LS574作为字符数据输出的锁存, 74HC245接收打印机控制的单片机P2. 1回复的BUSY信号。/PRINTER_W_CS和/PRINTER_R_CS分别作为两个芯片的工作时钟和使能信号。PC0平时拉高保持到电平,因此可以直接连接到打印接口,在传输阶段由ARM处理器发出由低到高的跳变信号。
      
      3 软件设计
      
      ARM中的安排打印任务,优先级为9,OSTaskCreate(TaskPrint, (void *)0, &TaskStartPrint[0],9); TaskPrint(void *data) 函数根据任务的需要,调用PrintLine(char* pdata,U8 e)函数,在打印键触发时打印输出。函数中首先检测打印机是否处于忙状态,之后产生一个由低到高的跳变。之后实现8位数据的传输。
      void PrintLine(char* pdata,U8 e)
      {
       while(*pdata){
       while(rPDATC & 0x80);//PC7 == 0,
       rPDATC &= 0xFE;//PC0 = 0
       Delay(10);
       rPDATC |= 0x01;//PC0 = 1
       Delay(10);
       *((U8*)_Print) = *pdata++;
       } ...
      }
      单片机中,读取打印字符ASCII码数据的函数由void Read_One_ASCII(void)函数实现,函数首先置P2.1为0之后等待产生一个由低到高的跳变,之后置P2.1为1,实现8位数据的读取。
      void Read_One_ASCII(void)
      {
       P21 = 0;
       while(P2^2==0);//底电位
       while(P2^2==1);//高电位
       P21 = 1;
       Print_ASCLL=P0;
      }
      void Send_Print(int Send_Line)函数实现将一行字符的一个像素行的图形码送给打印机。并根据ASCLL点阵的数组计算出图形码的相关码,将该码通过串口送到微型热敏打印机输出。同时在完成每个像素行后MoveMotor(1),实现马达的步进,相关代码略。
      
      4结语
      
      通过单片机单独控制,可以使打印控制任务更简洁高效,同时采用uC/OS-II满足系统的诸多测量、控制任务需要,也安排了一个打印任务,使其开发、管理更简单,响应也更快。进一步需要对其两部分功能进行积成,充分利用ARM芯片的强大接口,以降低系统的成本。
      
      【参考文献】
      [1]王士元. C 高级实用程序设计[M]. 北京:清华大学出版社,1996.
      [2]戴梅萼,史嘉权.微型计算机技术及应用[M]. 北京:清华大学出版社,1996.

    相关热词搜索: 验光 接口 打印 uC

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章