历史上的今天

今天是:2024年09月08日(星期日)

2020年09月08日 | 基于SC95F8616单片机的汉字模拟输入

发布者:闪耀星空 来源: 51hei关键字:SC95F8616  单片机  汉字模拟输入 手机看文章 扫描二维码
随时随地手机看文章

前面介绍了以区位码显示汉字的方法,在此基础上可以通过按键来选取字库的内容进行模拟输入。

在使用中文字库的情况下,使用区位码可以实现汉字的模拟输入,其输入界面如图1所示。


汉字模拟输入界面


实现模拟输入的主程序为:

void  main(void)

{

    unsigned char t,q,w,u;

   

    GPIO_Init(GPIO0, GPIO_PIN_4,GPIO_MODE_OUT_PP);

    GPIO_WriteLow(GPIO0, GPIO_PIN_4);

    GPIO_Init(GPIO0, GPIO_PIN_5, GPIO_MODE_IN_PU);

    GPIO_Init(GPIO0, GPIO_PIN_6, GPIO_MODE_IN_PU);

    GPIO_Init(GPIO0, GPIO_PIN_7, GPIO_MODE_IN_PU);

    OLED_ShowCHineseS(0,2,0xB0A1);

    x=0;

    no=0;

    while(1)

    {

             if(GPIO_ReadPin(GPIO0, GPIO_PIN_7)==0)

             {

                     while(GPIO_ReadPin(GPIO0, GPIO_PIN_7)==0);  //K1

                     OLED_ShowCHinesey(x,6, no*2);

                     x=x+16;

                     if(x>113) x=0;

             }

        

             if(GPIO_ReadPin(GPIO0, GPIO_PIN_6)==0)

             {

                     while(GPIO_ReadPin(GPIO0, GPIO_PIN_6)==0);  // K2

                     if(no<9) no++;

                     else      no=0;

                     if(no<9) OLED_ShowChar (96,0,no+'1',16);

                     else OLED_ShowChar (96,0,'A',16);

                     OLED_ShowCHinesey(8,0, no*2);

             }

             mdelay(500);

     }

}


模拟输入界面显示函数为:

void OLED_ShowCHineseS(unsigned char x,unsigned char y,unsigned int no)

{                                

           unsigned char t,q,w,u;

     

           no=0xB0A2;

           q=(unsigned char) no&0xff;

           q=(q-0xA1)*2;

           x=x+8;

           OLED_ShowString(48,0,"no:B0A1",16);

           OLED_ShowCHinesey(8,0,0);

           w=0;

           for(u=0;u<10;u++)

           {

                 if(u<5)

                 {

                              OLED_ShowChar(u*24,2,u+'0',16);

                              OLED_ShowChar(u*24,4,u+'5',16);

                  }

                  

                 OLED_Set_Pos(x,y);         

                 for(t=0;t<16;t++)

                 {

                               OLED_WR_Byte(Hzk[w][t],OLED_DATA);

                 }      

                 w=w+1;

                 OLED_Set_Pos(x,y+1);   

                 for(t=0;t<16;t++)

                 {      

                               OLED_WR_Byte(Hzk[w][t],OLED_DATA);

                 }

                 x=x+24;

                 w=w+1;

                 if(u==4)

                 {

                               x=x-120;

                               y=y+2;

                 }

            }

}

在下载程序后,按K2键进行汉字的选择;当按K1键时,则录入该汉字。经验证功能正常,其效果图2所示。

图2汉字模拟输入

关键字:SC95F8616  单片机  汉字模拟输入 引用地址:基于SC95F8616单片机的汉字模拟输入

上一篇:STC15F2K60S2单片机数字电压表程序 内部ADC实现
下一篇:1.44寸TFT液晶屏测试代码(屏幕驱动:ST7735)

推荐阅读

  近日,特斯拉公司CEO埃隆·马斯克表示,公司计划采用自主研发的AI芯片以替代英伟达的芯片,该芯片的性能要比目前特斯拉采用的英伟达芯片快10倍。  马斯克表示,英伟达Drive PX2运算平台配有一个Pascal GPU和两个Parker中央处理器(CPU),该芯片被应用在目前的2.5版Autopilot硬件设备中,其运算处理速度为200帧/秒。  相比之下,特斯拉自主设计...
荣耀在武汉召开新品发布会,发布了荣耀20S、荣耀Play 3以及荣耀MagicBook Pro 锐龙版等多款新品。荣耀20S通过前置镜头像素四合一、前置人像超级夜景技术,宣称解决了夜景自拍难题。对于荣耀20S发布会,红米品牌负责人卢伟冰“不出意外”的又在微博上发表了相关评论,不过并未得到赵明本人回应。在发布会结束后,荣耀总裁赵明接受了媒体采访,被再次提及...
2019年全年,智能手机上市新机型424款。每年数百款手机推陈出新,手机厂商如何才能脱颖而出,先人一步?事实证明,从PCB设计源头就做好把控是重要且关键的一环。 PCB板是电子产品的基础组件,其质量好坏直接关系到电子产品的功能和寿命。近两年,PCB市场重点已从计算机、通信领域转向智能手机、平板电脑类移动终端。与此同时,电子产品包括智能手机也日益...
9月6日,赛微电子在接待机构调研时透露,公司北京MEMS产线的建设总产能为3万片/月,目前一期产能1万片/月已建成,2020年Q4内部调试,今年Q1开始晶圆验证,今年6月10日实现正式生产,今年下半年计划实现一期50%的产能,即月产5000片晶圆,2022年实现一期100%的产能,即月产10,000片晶圆;同时,北京MEMS二、三期产能提前安排建设。赛微电子还表示,大基金当...

史海拾趣

问答坊 | AI 解惑

正泰集团10亿元投资太阳能电池

中国最大的民营电气企业——浙江正泰集团有限公司(以下简称“正泰”)26日宣布,将在杭州投资10亿元用于太阳能电池二期工厂建设和二代薄膜太阳能电池量产,预计2010年年产达300兆瓦,年产值约120亿元。该产值与2006年正泰低压电器销售额旗鼓相当。 ...…

查看全部问答∨

avr应用开发实例

avr应用开发实例…

查看全部问答∨

基于单片机的直流电动机控制系统设计

哪位高手来帮帮忙啊!!我的毕业设计是 基于单片机的直流电动机控制系统设计 任务内容是: 本课题是以51单片机作为控制器,扩展的小型键盘为控制信号输入 端(加速、减速等),小功率直流电动机为控制对象,硬、软件相结合以 实现一个基本 ...…

查看全部问答∨

VHDL 内部程序端口调用时候遇到问题?

内部程序端口调用,请问端口类型能否定义为二维数组类型。如果行,怎样定义;怎样表示?请各位指教!…

查看全部问答∨

我的sjf6410.exe怎么烧不了外接的K9F2G08?那个地方配置不对?还是sjf6410.exe不支持烧写K9F2G08?

我的sjf6410.exe怎么烧不了外接的K9F2G08?那个地方配置不对?还是sjf6410.exe不支持烧写K9F2G08? …

查看全部问答∨

无线通信问题

本人想学习无线通信芯片使用方面的知识,(包括用什么无线芯片和单片机,要能耗低的啊),谢谢了,请大虾推荐点好的芯片和资料啊!…

查看全部问答∨

哪有DE2开发板中文资料

  我最近在学习altera公司的de2开发板,想找些有关它的中文资料,有关于Nios II 的中文资料也可以,希望大家多多指教,谢谢 !…

查看全部问答∨

求助~~

我是学生,马上毕业了,求大家给我帮我做个毕业设计,我主要学的就是C51单片机! 万分感谢!…

查看全部问答∨

香主,救急,关于RTC时钟

                                 先前版本掉电时钟是运行的,这次修改了硬件软件版本,把PC13空出来(原来作为输入),修改软件后出现:VDD掉电后RTC ...…

查看全部问答∨

2011全国大学生电子设计竞赛精神(有图有真相)

2011年7月23日在河南南阳,由河南省教育厅主办的河南省高校全国大学生电子设计竞赛研讨会上,全国大学生电子设计竞赛专家组组长,北京理工大学罗伟雄教授在会上详细谈了今年的全国大学生电子设计竞赛的基本要求及赛题特点。其相关精神,总结如下: ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved