《毕设范林云》PPT课件.ppt_第1页
《毕设范林云》PPT课件.ppt_第2页
《毕设范林云》PPT课件.ppt_第3页
《毕设范林云》PPT课件.ppt_第4页
《毕设范林云》PPT课件.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于LM3S3000的USB热敏打印机,答 辩 人:范林云,指导工程师:白金龙,目 录,软件设计,控制板框图,LDO电路,电平转换电路,机芯电压控制,MCU,输入电压检测,USB通讯,字库,TFT显示(可选),LED显示,按键输入,复位电路,LDO(3.3V),DC-DC(5V),热敏打印机机芯,晶振电路,24V输入,RST,OSC,打印加热控制,进纸电机控制,缺纸检测,压盘打开检测,黑标检测,切纸电机控制,过热保护,切刀复位检测,ADC,比较器,GPIO,GPIO,GPIO,GPIO,GPIO,GPIO,USB,SPI,SPI unsigned char ucInput; unsigned

2、char ucOutput; unsigned char ucDeep; ; Struct fifoStruct sFifo = 0, 0, 0, 0;,当前值: sFifo.ucInput : sFifo.ucOutput : sFifo.ucDeep :,0,0,0,1,0,1,7,0,7,UcInput,ucOutput,ucDeep,0,0,8,0,1,7,1,2,7,更高效的操作方式: struct fifoStruct unsigned char ucData8; unsigned char *pucInput; unsigned char *pucOutput; unsigned

3、 char ucDeep; ; struct fifoStruct sFifo = 0, sFifo.ucData, sFifo.ucData, 0;,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,步进电机时序-PWM工作模式,PWM工作于递增递减计数模式,可产生中断、可翻转PWM输出引脚状态点,可更新匹配寄存器和装载寄存器点,步进电机时序-稳步结束,最后一步 全电流工作,稳步状态 2/3全电流,停在PWM2=1,PWM3=0处; 电流为0,步进电机时序-匹配成功,加速开始,停在PWM2=1,PWM3=0处,匹配步伐电流为0,匹配

4、成功1/3全电流,加速状态全电流,步进电机时序-加速完成,加速状态,达最大速度,稳定运行状态,电流根据速度而定,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,加热时间计算,总的计算公式,与打印头当前温度有关,与加热电压有关,与加热周期有关,打印头当前温度怎么获取?,查表实现,复相关系数很高,拟合直线可用,拟合直线,加热时间计算,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,行缓存,低地址,高地址,7,0,7,0,639,0,打印头锁存的数据,7,0,7,0,632,8

5、位SPI时,16位SPI,15,8,15,8,INT32U ulDataTmp; INT8U *pulDataTmp = (INT8U *) /* 写16位宽数据到SPI数据缓存*/,16位SPI送数的实现,SPI送数,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,INT8U oneNumGet (INT8U ucData) INT32U i, ulMask; INT32U ulOneNum = 0; ulMask = 0 x00000080; for(i = 0; i = 1; return ulOneNum; ,以空间换时间,

6、const INT8U aucCountOneNum = 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4

7、, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6

8、, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8;,普通操作,高效操作,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,超时等待,if(sDataFifoInfo.ulFifoDeep 2) /*

9、 另一字节或两字节还未存入FIFO时 */ if(+ ucReadCmdTimeOut 200) /* 还未超时,等待200次的读取时间 */ dataRestore(1); /* 还原取出的1字节 */ else /* 超时,舍去内容为0 x1B的字节 */ ucReadCmdTimeOut = 0; /* 复位超时等待,不还原字节 */ if(sDataFifoInfo.ulFifoDeep) oneByteGet (); /* 再取出出错字节 */ return; ,非图像数据时,0 x1B代表一个ESC/POS命令的开始,USB输入缓存,0X1B,0X2D,输入指针,未完成ESC/PO

10、S命令的接收或数据出错时,超时等待,超时等待程序,打印流程,FIFO操作,步进电机时序,加热时间计算,抗干扰检测,超时等待,以空间换时间,SPI送数,软件设计,void paperEndScan (void) static INT8U ucLastPaperState = PAPER_NOT_END; static INT8U ucNewValueCount = 0; if(ucLastPaperState != paperEndRead() /* 上一状态与当前检测不匹配时 */ if(+ ucNewValueCount 2) /* 检测到连续3次才检测成功 */ ucLastPaperState = paperEndRead(); ucNo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论