波形发生器的设计
罂1丽
设计开发i||;‘.xyl/1仪
波形发生器的设计
明坤刘康旭
(曲阜师范大学山东曲阜273100)
摘要:此系统是基于STC89C52KC单片机的波形信号发生器。使STC89C52R.C单片机作为控制核心,该系统由数字/模拟转换电路(:DAC0832)、PCF8951转换电路、运放电路(LM324)、按键电路和LM016L液晶显示屏等组成。通过按键可控制方波、三角波、锯齿波、梯形波、正弦波的产生,频
率幅度可调节雇不同的接口处同时输出三路波形(一路方波,两路可变相同波形),并通过液晶显示屏显示。设计方法简单、性能良好,此系统可在多种
需要低频信号的场所使用,使其具有良好的实用性。
关键词:51单片机数字模拟转换电路运放电路LM016L液晶显示屏
文献标识码:A中图分类号:TN741
文章编号:1007—9416(2015)07—0183-0l
1系统的设计指标
(1)产生指定波形可以通过DAC来实现,不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。本题目中,方波信号是利用定时器中断产生的,每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号依次加l,达到Oxff时依次减l,并实时将数字信号经D/A转换得到;锯齿波信号是将输出
P2=i;
CS_wrl=l
l
DAC(i)}
ca_wrl=0I
delay(spccd){
for(i=0x盘;i>Ox00;卜~)
_hOp_0lmop_0l
cs_wrl—I
l
SBUF=i
t
的二进制数字信号依次加l,达到删置为Ox00,并实时将数字信
号经D/A转换得到的;(2)梯形波是将输出的二进制数字信号依次加1,达到Oxff时保持一段时间,然后依次减1直至OxOO,并实时将数字信号经D/A转换得到的;(3)正弦波是利用MATLAB将正弦曲线均匀取样后,得到等间隔时刻的y方向上的二进制数值,然后依次输出后经D/A转换得到。
对于该波形发生器的设计,我们采用了以STC89C52单片机芯
demy(speed),;
for(i=Ox仕;i>Ox00li--){
SBUF—i
1
wl-aie(!TI)I
TI一0lP2=0)dif;
DAC(ojⅢ),
cs_wrl=OI
while(!TI)}
TI=0IP2=iI
—noP_0,一nop_OI
cs_wrl==ll
DAC(i)I—nop一()I—nop一0l
cs_wrl=l
I
delay(s联ed)l
for(i=0xffli>0x00li-一)
片作为核心处理器,编程实现各种不同类型信号的产生,最后再把
波形输出到示波器上。结构简单,思路并并有条。根据设计的基本要
求,我们又把其细分为不同的功能模块,各个功能模块相互联系,相
互协调,通过单片机程序构成一个统一的整体。
}
delay(speed)Ics_wrl=0I{}
void
SBUF=i
t
2系统的软件设计
核心程序l
void
while(!TI)I
TI一0l
tixing()//梯形波
P2=i。
{wrim_com(OxOi)f
sarniao()//三角波
wri把_data(table2[i])。
write_com(OxSO+0x01)‘for(i=0,(tabte2[i]!=4h0’)Ii++)
writc_com(Ox01)1
write_com(0xS0+0x01)-for(i=0,(t出lel【i]I=’\0‘)li++){
write—data(tabtel[i]),delayms(t),}
flagl=l
t
DAC(i),
cs_wrl=0,
i
delayms(1),
J10p_0lJ10p..()}
{
cs_wrl=l・
}
flagl=ll
{
SBUF::i
t
demy(speed)I}
whi】e(n891)
white(!n);
}
TI=0tP2=i‘
{
for(i-=Ox00{i<Oxffli-+’+){
SBUF=i。
}
void
zhengxian()//正弦波DAC(i)。
cs
{writecom(0x01)1write_com(0x80+0x01)-for(i一0I(table31i】一7\o’),i十+){
write_data(table3[i])ldelayms(1)I}
flagl—l
l
wrl=0・
while(flagt)
whflc(!T1)I
TI=0・
J均PL()l
{
for(i=Ox00li<Oxt/li++){
SBUF=i,
_flOp_.0I
CS_Wrl=l‘
P2=i・
DAC(i)I
c'最_wrl=0I
delay(辨d)l
}}
while(!T1),
TI一0。
_hOp_0,一hop_0。
}
・・・・・・下转第228页
收稿日期:2015—06—25
作者简介:明坤(1993一,男,山东滕州人,曲阜师范大学本科在读,研究方向:通信工程(物联网);刘康旭(1994_),男,山东淄博人,曲阜师范大
学科在读,研究方向:通信工程(物联网)。
万方数据
学术论坛
键盘由于键盘数量有限,无法将所有字元都一一对应于键盘上,因
此字元码采用分组方式,将若干字元分为一组,该组对应与某一按键上,因此便形成人们常说的二十六键、三十六键、六十键、九十键等几种原理相同的编码方案。汉字所包含的字元数各不相同,从一
档案号、标题、课题。当前图书馆中方图书情报检索系统仍旧存在一
定不足,需要进一步完善发展。(如图2)
4.4中文信息处理的发展动向
中文信息处理技术在过去一段时间获得长足发展,已经能够满足人们对中文信息处理基本需求,从长远角度来看为更进一步促进中文信息发展必须度仍旧存在的问题进行深入分析探讨,并未中文信息处理技术提供发展方向。
由于中文具有一定识别难度,若强行提升中文识别度具有一定难度,也难以推广,因此可以将中文翻译为英文,即中英文自动翻译技术。
未来中文信息处理输入方式必将由手写输入改为更为便捷的语音输入,因此需研究汉语语音识别与合成技术。除此之外还有汉字印刷体自动识别技术等。
个到七八个不等。因此为节省存储空间提高输入速度需进行汉字字
元码码长限制。
音形结合码主要是将汉字读音部分信息与汉字自行部分编码结合在一起,该种方式集合了汉字音码以及形码的有点,同时兼具音码以及形码的缺点。目前仍旧处于探究阶段。
汉字编码问题相当复杂,入门简单,深究却存在较大难度。
4.2汉字信息的压缩存储技术
当前较为先进的汉字信息的压缩存储技术主要包括高密度点阵字模的压缩存储与再生技术,初除此之外还有汉字信息压缩迭加还原技术。我国中科院某学者研究成功的汉字信息的压缩存储技术鞍能够成功将汉字压缩至16K。
5结语
随着科学技术不断发展,人们在工作、学习过程中需借助中文信息处理技术搜索自己需要的信息,基于人们需求不断增加,必须提升人们搜索资源的效率,提升中文信息处理相关技术,让中文信息处理与时俱进,满足人们实际需求,为社会发展提供助推力。参考文献
[1]张一鸣.中文信息处理关键技术[J].科技博览.2012(5):32—35.[2]罗丽俊.中文信息处理中若干技术的研究与实现[J].计算机应用技术.2011(1):25-26.
4.3中文图书情报检索系统
相比于西方图书情报检索系统,我国在该方面起步较晚,目前
虽然已经建立一些实验陛图书情报检索系统,但针对中文这一特殊
字体而言系统性不足。随着人们需求不断增加,中文信息处理技术处于不断完善中,我国在中文图书情报检索系统实验研究阶段取得一定成绩。目前已经可以进行各项资料联机处理实验,南京某科研所已经使得科技档案管理系统具有四种检索功能,分别为顺序号、
……上接第183页
while(flaffl)
void
main()
{
for(j=OIj<51.2lj++)
{
TMOD=0x21
THl=0x06I
t
ff(temp!=0x00){delay(20);
if(temp!=0x00&&dsqsm==0)
{
dsqsm=1
l
{
SBUF=zhengxtmnbolj】1wmje(!TI){
TI=0・
TI。1=0x06t
’rH0=(65536--600.10)/256,
switch(temp){
case
TH0=(65536一-60000糯256l
lcd—jaait()・
SC()N=0x50lTMOD
l=0x20,
Ox01:{sjbz=1ljcbz=0;zxbz=0ltxbz=O;flagl=0I}
jcbz=0;zxbz=0lfla91=0I}
P2=zhengxuanbo[j]-
DA
break,
case
C(zhmgxuanboIJl){
0】【02:{txbz=1lsjbz=0;0x04:{zxbz=1Ox08:{jcbz=l
Il
C,%.wrl=0s
breakI
case
_nop_0,』10pL()・
cs_wrl—ll
THl;253lTRlE'rO=l
l
sjbz=0;jcbz=0ltxbz=0lfla91=0;}sjbz=0l
l
==I,
break,
case
zxbz=0ltxbz=Olfla91=0I
}
delay(2*speed)-}}
TR0=I。EA=II
break,
casecase
delay(20)1whfle(1)
juchi()//锚齿渡com(0x01),
{
while(sjbz)//三角渡
{sarOmo()I}1
OxlO:{sgeed=slx湖-5
】
void
ie(speed<=5)speed=5;}breakI
Ox20:{speed=speed+10Iif(speed>=500)speed=500;}
l
break,
default:break
{
write
}
write_com(Ox80+0x01);
for(i一0,(table4[i】!一’\0’),i++){
writedata(table4[i])ldelaymdl)I
while(txk)//梯形渡{tixing(),}・
wkile(zxbz)//正弦渡
3系统的实验结果
(1)实现五种波形:方波;三角波;正弦波,梯形波。锯齿波。(2)实现幅度频率可调:频率可加可减;幅度可加可减。参考文献
[1]张鑫.单片机原理及应用[H].北京:电子工业出版社,2005(8).[2]梅丽凤,王艳秋。王毓铎.单片机原理及其接口技术[H].北京:清华大学出版社,2006(8).
[3]张毅刚,彭喜源。谭晓昀。曲春波.MCS一51单片机应用设计[H].哈尔滨:哈尔滨工业大学出版社,1997.
[4]张洪润。易涛.单片机应用技术教程[H】。北京:清华大学出版社,
2006(10).
{z_h_engxianOI}1while(jctrz)//锯齿渡{juchiol},
}
flagl:::l
t
wt'file(fla_gI)
{
fodi=Ox00Ii<Ox'ffIi++)
void
timeo()interruptl
{led=lied・
TH0=(65536-60000)/256lTH0=(65536—60000)0%256;
y=P1
l
temp=((1y)&Ox3f)I
[5]丁向荣,谢俊,王彩申.单片机C语言编程与实践[H].北京:电子工业出版社,2009(8).
万方数据
波形发生器的设计
作者:作者单位:刊名:英文刊名:年,卷(期):
明坤, 刘康旭
曲阜师范大学 山东曲阜273100数字技术与应用
Digital Technology and Application2015(7)
引用本文格式:明坤.刘康旭 波形发生器的设计[期刊论文]-数字技术与应用 2015(7)