毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机LED三文动态信息显示系统 第8页

更新时间:2009-5-21:  来源:毕业论文
单片机LED三文动态信息显示系统 第8页
ADDR=32*((CLng("&H"&QM))*94+(CLng("&H"&WM)))`求出偏移地址
Open App.Path+"\HZK16"For Binary As#1`打开字库文件HZK16
J=LOF(1)
ReDim BYTES(1 To J)`获取字库数据
Get#1,,BYTES
Close#1
For I=1 To 32
ZMDZ(I)=BYTES(ADDR+I)
Next
End Sub
3.5.2横排点阵的转置处理
由于设计中显示系统的需要,必须对提取出来的汉字字模点阵进行转置处理。
虽然提供了较强的位运算功能,但是对于在字模转换中使用较多的移位操作,却没有
对应的移位元运算符、指令或函数。其实通过and(与)、or(或)两个位运算符即
制一个自定义子函数来实现移位元运算。现给出一个左移函数的程序清单:
Public Function byte left(byte1 As Byte,n As Integer)As Byte'将byte1左移n位
Dim item As Byte'临时变量
Dim intem1 As Byte'临时变量
Dim x,y As Integer
intem1=byte1
For x=1 To n'移多少位就循环多少次
For y=8 To 1 Step-1'从第八位(左边第一位)开始循环
Select Case y
Case 8
If(intem1 And&H80)=&H80 Then'如果临时变量intem1的第八位
item=&H1'则将临时变量item置1
Else
item=&H0'反之置0
End If
Case 7
If(intem1 And&H40)=&H40 Then'如果临时变量intem1的第七位
intem1=intem1 Or&H80'则将其第八位置1(其它位不变)
Else西安理工大学硕士学位论文
20
intem1=intem1 And&H7F'反之将第八位置0(其它位不变)
End If
Case 6
If(intem1 And&H20)=&H20 Then'操作与上面相同
intem1=intem1 Or&H40
Else
intem1=intem1 And&HBF
End If
Case 5
If(intem1 And&H10)=&H10 Then
intem1=intem1 Or&H20
Else
intem1=intem1 And&HDF
End If
Case 4
If(intem1 And&H8)=&H8 Then
intem1=intem1 Or&H10
Else
intem1=intem1 And&HEF
End If
Case 3
If(intem1 And&H4)=&H4 Then
intem1=intem1 Or&H8
Else
intem1=intem1 And&HF7
End If
Case 2
If(intem1 And&H2)=&H2 Then
intem1=intem1 Or&H4
Else
intem1=intem1 And&HFB
End If
Case 1
If(intem1 And&H1)=&H1 Then
intem1=intem1 Or&H23汉字点阵字模的获取
Else
intem1=intem1 And&HFD
End If
If item=&H1 Then'移完第一位后,如果item是1(即第八位
intem1=intem1 Or&H1'则将intem1的第一位置1
Else
intem1=intem1 And&HFE'反之置0
End If
End Select
Next y
Next x
byte left=intem1'将intem1的值返回给函数名
End Function
在上面的程序中,尤其需要注意的是当把二进制数据写入文件中时,必须使用
数据类型的数组变量,而不是String变量。虽然String变量被认为是包含字符的,但
制型数据可能无法正确地存在String变量中。
按照类似的方法,也很容易编写出右移函数byte right。当正确地读出汉字在1
字库中32个字节的字模数据后,要把其转换成所需的竖排格式,需要用到上面的左
数left right和右移函数byte right。用左移函数left right来表示整个流程是由低位向
移动,最后凑成一个字节。用右移函数byte right将字节中的某位移到最低位。以下
将UCDOS7.0字库的存储格式调整为所需的规范格式的程序代码:
For j=0 To 3
If j=0 Then k4=14
If j=1 Then k4=15
If j=2 Then k4=30
If j=3 Then k4=31
For k=0 To 7
bit=&H80
bit=byteRight((bit),(k))
For i=0 To 7
k2=byteleft(Buf1(j*8+k),1)'整个流程是由低位向高位移动,最后凑成一个
k3=byteRight((Hz(k4-i*2)And bit),7-k)'将字节中的某位移到最低
k3=k3 And&H1'屏蔽掉其余7位
Buf1(j*8+k)=k2 Or k3
Next i西安理工大学硕士学位论文
22
Next k
Next j
For i1=0 To 31'将调整后的汉字字模再装入原数组
Hz(i1)=Buf1(i1)
HzAll(LoopAll*32+i1)=Buf1(i1)
Next
Next LoopAll
Open TempDestFile For Binary Access Write As#1'转换结果保存到TempDestFile中
Put#1,1,HzAll
Close#1
MsgBox"OK!"
End sub(源程序详见程序附录)
以上程序均在中文VB6.0专业版及WINDOWS-XP上调试通过,且取得了良好的效
正如图3-4所示。
图3-4转置后的字模点阵代码
Fig.3-4 Regulated Chinese character lattice4 PC机和单片机之间的串行通信
4 PC机和单片机之间的串行通信
4.1上位机通讯模块设计
4.1.1 RS-232接口简要介绍
a.RS-232发展背景
RS-232标准的全称是EIA-RS-232C,其中EIA(Electronic Industry Association)
美国电子工业协会,RS(Recommended Standard)代表推荐标准,232是标识号,
RS-232的最新一次修改(1969)。它规定了连接电缆的机械、电气特性、信号功能
送过程。例如目前在PC机上的COM1、COM2接口就是RS-232接口。
串行通信接口标准经过使用和发展,目前已经有几种,但都是在RS-232标准的
上经过改进而形成的。所以,以RS-232为主来讨论。RS-232标准是美国EIA(电子工
合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速
0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电
性都作了明确规定。由于通行设备厂商都生产与RS-232制式兼容的通信设备,因此
为一种标准,目前已在微机通信接口中广泛采用。
虽然RS-232标准现在已被广泛应用于计算机的接口部件中,但仍有一些问题需
意。首先,RS-232标准最初是为了在远程通信中连接数据终端设备DTE(Data Te
Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此
标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借用于计算机(
确的说是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规
和计算机系统是不一致的,甚至是相矛盾的。其次,RS-232标准中所提到的“发送
“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系
往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
b.电气特性
RS-232对电器特性、逻辑电平和各种信号线功能都作了规定。
(1)在TXD和RXD上:
逻辑1(MARK)=-3V~-15V
逻辑0(SPACE)=+3V~+15V
(2)在RTS、CTS、DSR、DTR和DCD等控制线:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

单片机LED三文动态信息显示系统 第8页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。