单片机 字模软件 单片机字模提取软件
摘要:有没有生成数据图片的软件?就是例如 本软件是一款小巧的图片数据生成工具, 主要面向单片机系统LCD显示图片或打印图片而设计, 与功能强大的字模提取V2 1的图象数据提取功能有所相似。 在使用字模提取V...
发布日期:2020-11-17有没有生成数据图片的软件?就是例如
本软件是一款小巧的图片数据生成工具, 主要面向单片机系统LCD显示图片或打印图片而设计, 与功能强大的字模提取V2.1的图象数据提取功能有所相似。
在使用字模提取V2.1中我发现它对于处理较大图片能力似乎不够(点阵数据不完全), 点阵数据的输出方式也只有TXT方式(包含C51、A51格式), 不能直接生成HEX格式的文件, 必须要把这些TEXT放入到源程序中一起去编译, 在某些情况下,感觉工作效率不够。
基于以上原因, 本人尝试制作了这个工具——PICtoCODE【图片数据生成器】。
PICtoCODE可以将黑白单色图片(支持BMP、JPEG、JPG、GIF等格式) 转换为A51、C51、HEX等格式的数据文件。
数据生成的顺序为从上至下, 从左到右。
左上角象素对应第1个字节,右下脚对应最后一个字节。
软件要求图片宽度必须为8的整数倍。
如果待处理的图片宽度不是8的整数倍, 需要先用图形编辑软件(如windows系统自带的画图程序)作预处理。
如果图片不是黑白单色图片,可以用“彩色>>黑白...” 功能将图片转换为黑白图片,然后再导出数据或代码。
如果对“彩色>>黑白...”功能效果不满意,只好请您用图形编辑软件处理了。
:) 另外,状态条中显示了鼠标点击的象素位置等信息,方便您的后继开发。
单片机控制液晶模块显示时,如何控制被显示字体的大小?
一般来说字体大小都是一定的 当你选中了要使用的液晶模块之后汉字正常占据8*8个点数字和字母占8*4个点你真的想省地方的话 可以编程实现汉字占7*8个点字符占7*4个点为什么原本都是和8有关 是因为字模软件一般默认取字模得到的结果就是8*8、8*4的还有就是8位正好是一个字节 编程方便要是改小的话 编程复杂了
单片机液晶屏怎样取模
如果想知道更多的东西,建议看一本书:吴鉴鹰单片机实战精讲,网上能找到,代码我给你了。
/*******************************************************程序:吴鉴鹰基于单片机的电子秤的设计程序 ** 这一讲的主要内容: 电子称是什么,讲的专业点就是:利用物体的重力作用来确定物体质量的测量仪器,也可用来确定与物体质量相关的其他量的大小,参数,或特性用我们自己话讲就是测重量的。
** 功能描述: ** 输 入: ** 内容: ** 输 出: ** ** 全局变量:** 调用模块: **** 作 者: 吴鉴鹰** 日 期: 14.02.22备注:有什么错误的地方,欢迎各大烧友指正O(∩_∩)O~*******************************************************/#include #include #include#include #define uchar unsigned char //宏的定义变量类型 uchar 代替 unsigned char#define uint unsigned int //宏的定义变量类型 uint 代替 unsigned int#define delay_time_max 50 //按键去抖动延时阀值sbit RS = P2^0;sbit RW = P2^1;sbit SCLK = P2^2;sbit LCDRST = P2^3;sbit ST=P3^6; //启动信号sbit EOC=P3^3; //转换结束信号,连到外部中断1口,转换结束后进入外部中断sbit OE=P3^7; //输出使能uchar KEY_VALUE;uchar key_data;uchar dis_buf; //显示缓存uchar temp;uchar key; //键顺序码uchar result;uint f;void delay(uchar x); //x*0.14MS// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e funsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};unsigned char ADC0809[],KONGBVAI[],DANJIA[];void ADC0809_change(); /*************************************************************************************** 函数名称: delayms** 功能描述: 译码功能,将需要显示的数字转成相应的七段译码表 如要显示的字符为“0”,则为7e ---0111 1111,就中间的一个LED不亮** 输 入: ms:需要延时的长度** ** ** 输 出: ** ** 全局变量: ** 调用模块: **** 作 者: 吴鉴鹰** 日 期: 14.02.22**-----------------------------------------------------------------------------------** 修改人:吴鉴鹰** 日 期:**----------------------------------------------------------------------------------****************************************************************************************/void delayms(uint ms){ uchar i; while(ms--) for(i=0;i<120;i++);}/*********************************************************************************** 函数名称: SendByte ** 功能描述: 串口给液晶发送数据 ** 输 入: Dbyte** ** ** 输 出: ** 全局变量:** 调用模块: **** 作 者: 吴鉴鹰** 日 期: 14.02.28************************************************************************************/void SendByte(uchar Dbyte){ uchar i; for(i=0;i<8;i++) { SCLK = 0; Dbyte=Dbyte<<1; //左移一位 RW = CY; //移出的位给RW SCLK = 1; SCLK = 0; }}/************************************************************************************* 函数名称: TransferCom ** 功能描述: 串口给液晶发送命令 ** 输 入: data0** ** ** 输 出: ** 全局变量:** 调用模块: **** 作 者: 吴鉴鹰** 日 期: 14.02.28**********************************************************************************/void TransferCom(uchar data0) { RS=1; SendByte(0xf8); //11111ABC,RW(0),RS(1),0 SendByte(0xf0&data0); //高四位 SendByte(0xf0&data0<<4); //低四位(先执行<<) RS=0; }/********************************************************************************* 函数名称: lcd_mesg ** 功能描述: 写数据, ** 输 入: data1** ** ** 输 出: ** 全局变量:** 调用模块: **** 作 者: 吴鉴鹰** 日 期: 14.02.28*****************************************************************************/void TransferData(uchar data1) { RS=1; SendByte(0xfa); //11111ABC,RW(0),RS(1),0 SendByte(0xf0&data1); //高四位 SendByte(0xf0&data1<<4); //低四位(先执行<<) RS=0;}
不带中文字库的12864液晶怎么用C写程序然后通过51单片机控制
买12864液晶屏时,厂家都会给测试程序的,就是C语言的。
根据测试程序,改一下引脚定义就行了,编译一下测试程序,看能不能显示。
如果能显示了,就可以自己根据测试程序一点点修改。
如果找不到厂家,就只好在网上找了,但不容易与你的晶屏相符。
实在不会,读一下测试程序,显示汉字的方法都是,用汉字取模软件,先取汉字点阵数据,用这些数据代替测试程序的点阵数据,看是不是能显示自己的取模的汉字了。
因液晶屏显示汉字,取模方式有多种,如果显示乱码,说明取模方式不对,再换一种,直到显示出汉字为止。
这样就可以,对测试程序进行修改成自己看得懂,又实用的程序了。
看单片机仿真图写配套的C程序 要能从右向左滚动显示
发给你了,有图.SPCE061A1.2.1 总述 SPCE061A 是继μ"nSP?系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。
与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。
较高的处理速度使μ"nSP?能够非常容易地、快速地处理复杂的数字信号。
因此,与SPCE500A相比,以μ"nSP?为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。
1.2.2 性能 16位μ"nSP?微处理器; 工作电压(CPU) VDD为2.4~3.6V (I/O) VDDH为2.4~5.5V CPU时钟:0.32MHz~49.152MHz ; 内置2K字SRAM; 内置32K FLASH; 可编程音频处理; 晶体振荡器; 系统处于备用状态下(时钟处于停止状态),耗电仅为2μA@3.6V; 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位DAC(数-模转换)输出通道; 32位通用可编程输入/输出端口; 14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒; 具备触键唤醒的功能; 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据; 锁相环PLL振荡器提供系统时钟信号; 32768Hz实时时钟; 7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器; 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 具备串行设备接口; 具有低电压复位(LVR)功能和低电压监测(LVD)功能; 内置在线仿真电路ICE(In- Circuit Emulator)接口; 具有保密能力; 具有WatchDog功能。
1.2.3 结构概览 SPCE061A的结构如图1.2所示:1.2.4 芯片的引脚排列和说明 SPCE061A有两种封装片,一种为84个引脚,PLCC84封装形式;它的排列如图1.4所示;另一种为80个引脚,LQFP80封装。
它的排列如图所示。
在PLCC84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。
在LQFP80封装中有9个空余脚,用户使用时这9个空余脚接地。
此处以LQFP80封装管脚功能介绍。
【1】可将PFUSE接5V, PVIN接GND并维持1s以上即可将内部保险丝熔化,此后就无法读取和向闪存加载数据。
1.2.5 特性 SPCE061A系统的特性参数如表1.2所示。
1.2.6 SPCE061A最小系统 最小系统接线如图1.6所示,在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。
其它不用的电源端和地端接上0.1μF的去藕电容提高抗干扰能力。
1.2.7 SPCE061A开发方法 SPCE061A的开发是通过在线调试器PROBE实现的。
它既是一个编程器(即程序烧写器),又是一个实时在线调试器。
用它可以替代在单片机应用项目的开发过程中常用的软件工具——硬件在线实时仿真器和程序烧写器。
它利用了SPCE061A片内置的在线仿真电路ICE(In- Circuit Emulator)接口和凌阳公司的在线串行编程技术。
PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的CPU---SPCE061A调试、运行用户编制的程序。
PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能。
图1.7是计算机、PROBE、用户目标板三者之间的连接示意图,图1.8是实物连接图。
1.2.8 应用领域 家用电器控制器:冰箱、空调、洗衣机等白色家电 仪器仪表:数字仪表(有语音提示功能) 电表、水表、煤气表、暖气表 工业控制 智能家居控制器 通讯产品:多功能录音电话、自动总机、语音信箱、数字录音系统产品 医疗设备、保健器械(电子血压计、红外体温监测仪等) 体育健身产品(跑步机等) 电子书籍(儿童电子故事书类)、电教设备等 语音识别类产品(语音识别遥控器、智能语音交互式玩具等)