




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
页TOC\o"1-3"\h\z\u65841.绪论 3318131.1概要 3214451.2设计内容 3252772.开发环境的搭建 4319013.蓝牙打印机原理 413013.1蓝牙打印机的种类和工作原理 4107703.2蓝牙打印机原理图分析 5322154总体设计 61344.1设计思路 6276374.2设计步骤 6181535.驱动及测试程序 75.114135主程序 75.26137生成字模 12283综合设计总结与思考 163.2蓝牙打印机原理图分析3.21热敏打印头内部硬件框图:4总体设计4.1设计思路在主机端用一单片机来仿真打印机进行工作,截取从主机并口传出的数据及控制信号,并通过蓝牙无线连接传送到打印机端。在打印机侧的单片机则根据所收到的蓝牙数据来仿真主机对打印机进行控制操作,从而实现打印机与主机的蓝牙无线连接。主机端的蓝牙作为主设备进行查询和发起连接,打印机端的蓝牙则作为从设备等待连接的建立。单片机采用89C2051,蓝牙芯片采用爱立信公司生产的支持点对点连接的ROK101-008。该模块内包括了无线部分、基带控制器、闪存、电源控制模块和内部时钟这五个主要部分,提供UART、PCM、I2C标准接口并内置晶振。4.2设计步骤4.21项目系统框架图设计4.22项目器件选型可行性成本1)CPU:stm32f103c8t648pin72MHZflash:64kRAM:20K2)打印头:富士通58mm短排线外壳3)蓝牙模块:HC-054)存储器(FLASH):w25q648MB081632641285)电机驱动:LB19636)DC-DC电源:2307(7.4v),2359(5v),1117(3.3v)4.23原理图、PCB设计;4.24项目软件分模块编写,测试4.25字库烧录4.26系统软件下载,综合调试5.驱动及测试程序主程序#include"delay.h"#include"sys.h"#include"usart.h"#include"motor.h"#include"printer.h"#include"FONT.H"u8uart_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&(1<<6))); USART2->DR=*s; }}voidprint_hzs(void){ u8beat_cnt=2,line=0,hz_line=0; for(line=0;line<48;line++) { run_motor(); delay_us(800); } for(hz_line=0;hz_line<get_hz_num();hz_line++) { for(line=0;line<48;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;line<12;line++) { run_motor(); delay_us(800); } }HEAT_OFF(); for(line=0;line<150;line++) { run_motor(); delay_us(800); } }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(len>32)len=32; wr_len=len; for(i=0;i<48*32;i++) en_dat[i]=0;//ÇåÊý¾Ý for(i=0;i<len;i++) { if((s[i]=='\n')||(s[i]=='@')) { wr_len=i+1; break; } p=(u8*)&en_str[(s[i]-'')]; for(j=0;j<48;j++) { en_dat[j+i*48]=p[j]; } } for(line=0;line<48;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(); delay_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;i<48;i++) { run_motor(); delay_us(800); } while(1) { wr_len=en_one_line(p,len); if(wr_len<len) { len=(len-wr_len); p+=wr_len; } elsebreak; } for(i=0;i<150;i++) { run_motor(); delay_us(800); } }intmain(){ u8beat_cnt=2,line=0; SYS_INT(); print_hzs(); write_en_str("NoSweetWithoutSweat\n" ); while(1) {if(uart_flag) { uart_flag=0; write_en_str(uart_buf); } }}voidUSART2_IRQHandler(void){ staticu8i=0,dat=0; if(USART2->SR&(1<<5)) { dat=USART2->DR; uart_buf[i++]=dat; if(dat=='#') { uart_buf[i-1]='\0'; i=0; uart_flag=1; } }}生成字模0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,/*"中",0*/0x08,0x80,0x0C,0x88,0x10,0x9C,0x30,0xE0,0x53,0x80,0x90,0x84,0x10,0x84,0x10,0x7C,0x11,0x00,0x01,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,/*"华",1*/0x01,0x00,0x01,0x80,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x02,0x80,0x02,0x80,0x04,0x80,0x04,0x40,0x08,0x60,0x08,0x30,0x10,0x18,0x20,0x0E,0x40,0x04,0x00,0x00,/*"人",2*/0x00,0x00,0x3F,0xF0,0x20,0x10,0x20,0x10,0x3F,0xF0,0x21,0x00,0x21,0x00,0x3F,0xFC,0x20,0x80,0x20,0x80,0x20,0x40,0x20,0x40,0x24,0x24,0x28,0x14,0x30,0x0C,0x20,0x04,/*"民",3*/0x00,0x00,0x04,0x20,0x04,0x20,0x04,0x20,0x7F,0xFC,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x40,0x06,0x20,0x0C,0x10,0x08,0x18,0x10,0x0C,0x20,0x08,/*"共",4*/0x00,0x00,0x07,0x00,0x78,0x00,0x08,0x7C,0x08,0x44,0x7F,0x44,0x08,0x44,0x18,0x44,0x1C,0x44,0x2A,0x44,0x2B,0x44,0x4A,0x44,0x88,0x7C,0x08,0x44,0x08,0x00,0x08,0x00,/*和",5*/0x00,0x00,0x7F,0xFC,0x40,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x04,0x4F,0xE4,0x41,0x44,0x41,0x24,0x41,0x24,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,/*"国",6*/显示汉字所需代码:voidshow_1hz(u16x,u16y,unsignedcharhz[]){unsignedchari=0,j=0;unsignedcharh=0; u16x0=x;for(j=0;j<2*16;j++){h=hz[j];for(i=0;i<8;i++){if(h&(0x80)) { LCD_DrawPoint(x,y); }h<<=1; x++;}if(j%2==1) { x=x0; y++; }}}voidshow_hzs(u16x,u16y,unsignedcharp[][32]){unsignedchari=0;for(i=0;i<sizeof(hz)/32;i++) {show_1hz(x,y,p[i]); x+=16; }}voidinitiation(void){ u8lcd_id[12]; //存放LCDID字符串 Stm32_Clock_Init(9);//时钟初始化 delay_init(72); /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲乙丙土地兑换协议书
- 碰伤意外协议书
- 退还捐款协议书
- 自愿缴存协议书
- 群防群治协议书
- 营运损失协议书
- 客车股份制合同协议书
- 联办节目协议书
- 房屋交契税委托协议书
- 灯饰店转让合同协议书
- 故都的秋课文原文
- 【上市公司应收账款审计失败原因及应对措施探究:以立信所审计风华高科公司为例(论文)10000字】
- 《长征胜利万岁》教学设计 2024-2025学年统编版高中语文选择性必修上册
- 2024年上海高考数学真题试题(原卷版+含解析)
- 2024年个人劳务承包合同书
- 人工智能原理及MATLAB实现 课件 第2章 机器学习
- 宣传费用结算合同
- 苹果行业竞争对手分析分析
- 公安局指挥中心工作总结
- 林业创业计划书
- 冠状动脉粥样硬化的护理查房
评论
0/150
提交评论