![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 论坛 | 淘宝网店 | | ||
|
||
|
|||||
| 一种查表程序 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2008-01-06 ![]() |
|||||
|
一种查表程序 作者在开发‘带拼读的语音示教仪’时,遇到了这样一个要求:根据3个自变量(声母的键值、韵母的键值、四声键的键值)确定一个函数值(根据这三者拼出的读音的代号),其中自变量的值,函数的值都是已知的,但它们之间没有明确的对应关系,另外要求判断自变量是否有对应的函数值,一般常规的查表法不能使用,经过一番研究,作者自编了一个查表程序,解决了这个问题。 一、查表要求: 输入变量:1)声母的键值,2)韵母的键值,3)四声键的键值(在47-50间变化)。 输出结果:对应的读音的代号。 查表要求:根据输入判断是否有对应值,如有,则输出对应代号,如没有,则给出没有找到的标记。 二、查表程序: ;********************************************************************** ;双拼拼读处理 ;入口:2EH和2DH中分别存入拼读的声母和韵母,2CH中存放拼读的四声键值, ;出口:找到则返回声音信号的序号值50H中,且06H置1 ;如未找到,则06H清''0'' ;R6作拼读总数计数器 ;*********************************************************************** J_XH2: PUSH PSW MOV R6,#0 MOV DPTR,#J_X2 J2_LP0: INC R6 CLR A MOVC A,@A+DPTR CJNE A,2EH,J2_NOTEQH;取声母,比较,不等则转 INC DPTR MOVC A,@A+DPTR CJNE A,2DH,J2_NOTEQL;若声母等,则韵母,不等转 MOV A,2CH SUBB A,#47;减去47(基数,使键值从''0''开始,0到3) MOV R7,A;R7作四声键值记数器 J2_LOOP: CJNE R7,#0,J2_LOOP1;R7中的值不为0,则转去循环 AJMP J2_DONE J2_LOOP1: INC DPTR DEC R7 AJMP J2_LOOP J2_DONE:;取数 INC DPTR CLR A MOVC A,@A+DPTR MOV50H,A;存数 SETB06H AJMP J2_RET J2_NOTEQH: INC DPTR J2_NOTEQL: INC DPTR INC DPTR INC DPTR INC DPTR CJNE R6,#SPZS,J2_LP0;不等于双拼总数,则继续循环 CLR06H J2_RET: POP PSW RET J_X2:DB1826100101102103;zi DB1926104105106107;ci DB2026108109110111;si . . . 三、说明 使用本程序前,必须确切地知道表中共有多少个数据,并将定义一个常量:SPZS,即在程序的头部作如下定义(设表中共有100个数据): SPZS EQU100 根据这个程序,不难得到三拼的查表程序。以上程序已通过验证,证明运行无误 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 一种基于单片机的新型线阵CC 一种多媒体功能丰富的SoC芯片 [转载]一种新型光电定向系统 一种C51单片机并行口扩展设计 一种利用单片机的灯头红外遥 [转载]一种高可靠MCU系统监控 [转载]一种基于单片机的函数 定义段式LCD/LED的一种方法 [转]串行通信波特率的一种自 一种实用的日出日落时间计算 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|