信盈达•华东地区1合肥师范学院蓝牙打印机课程设计专业:计算机科学与技术班级:嵌入式应用技术学号:1410441060姓名:李棒棒设计题目:蓝牙打印机程序设计2016年6月信盈达•华东地区第2页21.绪论...............................................................................................................31.1概要.........................................................................................................31.2设计内容................................................................................................32.开发环境的搭建..........................................................................................43.蓝牙打印机原理..........................................................................................43.1蓝牙打印机的种类和工作原理............................................................43.2蓝牙打印机原理图分析........................................................................54总体设计......................................................................................................64.1设计思路................................................................................................64.2设计步骤................................................................................................65.驱动及测试程序..........................................................................................75.1主程序...................................................................................................75.2生成字模............................................................................................12综合设计总结与思考..................................................................................16信盈达•华东地区第3页31.绪论1.1概要嵌入式系统(Embeddedsystem),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会(U.K.InstitutionofElectricalEngineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。[1]嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“固件”。蓝牙是一种低成本大容量的短距离无线通信规范。蓝牙打印机(Bluetoothprinter)就是将蓝牙技术应用在打印机上,摆脱打印机连线所带来的不便,实现无线打印,可以减少桌面上令人不快的电缆,并且可以将打印机远离主机任意搬动,摆放在房间中适合的位置。1.2设计内容信盈达•华东地区第4页42.开发环境的搭建3.蓝牙打印机原理3.1蓝牙打印机的种类和工作原理蓝牙打印机的种类:按照机器大小可分为:台式蓝牙打印机、便携式蓝牙打印机。按照打印方式,可分为:针式蓝牙打印机、热敏蓝牙打印机。蓝牙打印机的工作原理:所谓蓝牙打印机,就是指在主机端用一单片机来仿真打印机进行工作,截取从主机并口传出的数据及控制信号,并通过蓝牙无线连接传送到打印机端。在打印机侧的单片机则根据所收到的蓝牙数据来仿真主机对打印机进行控制操作,从而实现打印机与主机的蓝牙无线连接。由于大部分的移动设备(手机、笔记本、平板电脑)都置有蓝牙芯片,不需要数据线连接即可快速被识别,操作简单,连接方便。热敏打印机的原理是用加热的方式使涂在打印纸上的热敏介质变色。热敏微型打印机式也式比较常见的微型打印机,但比针式微型打印机出来得要晚。热敏打印机打印速度快,噪音小,打印头很少出现机械损耗,并且不需要色带,免去了更换色带的麻烦。但它也有缺点,因为其使用的是热敏纸,所以不能无限期保存,在避光的条件下可以保存一年到五年,也有长效热敏纸可以保存十年。信盈达•华东地区第5页53.2蓝牙打印机原理图分析3.21热敏打印头内部硬件框图:信盈达•华东地区第6页64总体设计4.1设计思路在主机端用一单片机来仿真打印机进行工作,截取从主机并口传出的数据及控制信号,并通过蓝牙无线连接传送到打印机端。在打印机侧的单片机则根据所收到的蓝牙数据来仿真主机对打印机进行控制操作,从而实现打印机与主机的蓝牙无线连接。主机端的蓝牙作为主设备进行查询和发起连接,打印机端的蓝牙则作为从设备等待连接的建立。单片机采用89C2051,蓝牙芯片采用爱立信公司生产的支持点对点连接的ROK101-008。该模块内包括了无线部分、基带控制器、闪存、电源控制模块和内部时钟这五个主要部分,提供UART、PCM、I2C标准接口并内置晶振。4.2设计步骤4.21项目系统框架图设计4.22项目器件选型可行性成本1)CPU:stm32f103c8t648pin72MHZflash:64kRAM:20K2)打印头:富士通58mm短排线----外壳3)蓝牙模块:HC-054)存储器(FLASH):w25q648MB08163264128信盈达•华东地区第7页75)电机驱动:LB19636)DC-DC电源:2307(7.4v),2359(5v),1117(3.3v)4.23原理图、PCB设计;4.24项目软件分模块编写,测试4.25字库烧录4.26系统软件下载,综合调试5.驱动及测试程序主程序#includedelay.h#includesys.h#includeusart.h#includemotor.h#includeprinter.h#includeFONT.Hu8uart_buf[100];u8uart_flag=0;u8en_dat[48*32];voidSYS_INT(void){Stm32_Clock_Init(9);//ʱÖÓ³õʼ»¯delay_init(72);//ÑÓʱ³õʼ»¯init_printer_gpio();init_motor_gpio();uart1_init(72,9600);uart2_init(36,9600);}voidsend_str(char*s){for(;*s!='\0';s++){while(!(USART2-SR&(16)));USART2-DR=*s;}}voidprint_hzs(void){信盈达•华东地区第8页8u8beat_cnt=2,line=0,hz_line=0;for(line=0;line48;line++){run_motor();delay_us(800);}for(hz_line=0;hz_lineget_hz_num();hz_line++){for(line=0;line48;line++){if(beat_cnt==2){HEAT_OFF();//±ÜÃâwriter_printer();¹ý³ÌÖмÓÈÈbeat_cnt=0;writer_printer((constu8*)hz_str[hz_line]);//ËÍÊý¾Ý}if(beat_cnt==0)HEAT_RIGHT();if(beat_cnt==1)HEAT_LEFT();beat_cnt++;run_motor();delay_us(800+300);}for(line=0;line12;line++){run_motor();delay_us(800);}}HEAT_OFF();for(line=0;line150;line++){run_motor();delay_us(800);}信盈达•华东地区第9页9}s8en_one_line(char*s,u16len){u8*p;u16i=0,j=0,wr_len=0;u8beat_cnt=2,line=0,hz_line=0;//len=strlen(s);if(len32)len=32;wr_len=len;for(i=0;i48*32;i++)en_dat[i]=0;//ÇåÊý¾Ýfor(i=0;ilen;i++){if((s[i]=='\n')||(s[i]=='@')){wr_len=i+1;break;}p=(u8*)&en_str[(s[i]-'')];for(j=0;j48;j++){en_dat[j+i*48]=p[j];}}for(line=0;line48;line++){if(beat_cnt==2){HEAT_OFF();beat_cnt=0;wr_line_en((constu8*)en_dat);}if(beat_cnt==0)HEAT_RIGHT();if(beat_cnt==1)HEAT_LEFT();beat_cnt++;run_motor();信盈达•华东地区第10页10delay_us(800+300);}HEAT_OFF();returnwr_len;}voidwrite_en_str(char*s){u16wr_len=0,len=0,i=0;char*p=s;len=strlen(p);for(i=0;i48;i++){run_motor();delay_us(800);}while(1){wr_len=en_one_line(p,len);if(wr_lenlen){len=(len-wr_len);p+=wr_len;}elsebreak;}for(i=0;i150;i++){run_motor();delay