编辑: 阿拉蕾 2015-01-15

num0[i ] =

0 ;

a = atof (num0) ;

if (a >

= 0. 009&

&

a <

= 1. 01) break ;

else { setcolor(LIGHTGRAY) ;

outtextxy(x ,y ,num0) ;

i =

0 ;

num0[0 ] = num0[1 ] = num0[2 ] = num0[3 ] = num0[4] =

0 ;

putimage(570 ,150 ,buffer ,XOR PUT) ;

goto ERROR ;

} } else { if (num0[i ] = = 8) {num0[i ] =

0 ;

setcolor(LIGHTBLUE) ;

outtextxy(x ,y ,num0) ;

if (i >

0) i = i -

1 ;

else i =

0 ;

num0[i ] =

0 ;

setcolor(WHITE) ;

outtextxy(x ,y ,num0) ;

} else { if ( (isdigit(num0[i ]) | | num0[i ] = = '

. '

) &

&

(i <

4) ) { + + i ;

setcolor(WHITE) ;

outtextxy(x ,y ,num0) ;

} else { num0[i ] =

0 ;

ERROR : sound(800) ;

delay(100) ;

nosound() ;

} } } } return a ;

} 另外 ,在波形窗口中还包含有一些控制键( ↑, ↓, Esc ,Enter 等) ,这些键的值由函数 get key() 获得 , ↑, ↓ 键用来移动光条 ,Enter 键用来确定 ,而Esc 键表示退 出显示窗口. ③ 西文平台下的汉字显示技术 在西文操作平台下显示汉字的原理是将汉字的 字模从指定的汉字库中提出来 ,放到

1 个点阵数组 中 ,再根据需要在一定的显示模式下逐点进行显示. 虽然不同的汉字平台其 HZK 也不尽相同 ,但一般汉 字库均符合 G B2312 ―

80 的规定 ,1~9 区为图形区 , 10~15 区未作规定 ,16 ~87 区为

一、 二级字库.因此,只要找出汉字各字库对应编码起始位置的计算方 法 ,就可读出各汉字的点阵信息.每个汉字在字库中 的点阵信息 ,其起始地址与区位码有着唯一的对应关 系 ,公式如下 : 首地址 = (区码 - 汉字偏移区) *

94 + (位码 - 1) *

32 其中 ,偏移区根据汉字库不同而异. 而输入汉字文件的存储一般都是用

2 个字节的机 内码 ,它们与区位码也为唯一对应关系 ,其公式为 区码 = (第一字节机内码 &

7FH) -

32 位码 = (第二字节机内码 &

7FH) -

32 这样可以根据输入的汉字 ,推算出其点阵信息 ,然 后以画点方式显示、 放大汉字.本运行窗口设计中使 用Ucdos

311 版中的汉字库 Hzk16 和Hzk24 ,其显示函 数分别为 out 16Hz() 和out 24Hz() . ④ 坐标窗口设计 在波形窗口中还设置了

1 个 运行观测 功能键 , 当选择此键时 ,屏幕的中间将出现另一个小窗口 ,里面 画有坐标轴及标值 ,中间处还画有 0v 标志线.若此 时有数据传送上来 ,则会画出相应的曲线. 2.

2 上、 下位机的串行通信 ① 上位机的串行通信 上位机使用 C 语言编程 ,其数据接收采用等待方 式 ,通信程序如下 : int data rec(void) {unsigned int data ;

for( ;

;

) {data = bioscom(2 ,0 ,com1) ;

if (data <

0x8000) break ;

} return data ;

}

3 2 TDS - ACS 实验系统中虚拟示波器的设计 薛红,等 程序中 ,COM1 已被定义为

0 ,即串口 1. 函数返回

16 位值 ,低8位为接收到的数据 ,高8位是线路状态. ② 下位机的串行通信 在本实验系统的 BIOS 中固化有

1 个用于查询通 信的功能模块 INT 14H ,通过它可编程实现数据的接 收和发送 ,并与上位机配合实现响应曲线的动态显 示. 下位机的数据发送程序如下: send : mov dx ,0000H ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题