信号发生器小程序11页Word文件下载.docx
- 文档编号:20916088
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:15
- 大小:18.12KB
信号发生器小程序11页Word文件下载.docx
《信号发生器小程序11页Word文件下载.docx》由会员分享,可在线阅读,更多相关《信号发生器小程序11页Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
而相应府和州掌管教育生员者则谓“教授”和“学正”。
“教授”“学正”和“教谕”的副手一律称“训导”。
于民间,特别是汉代以后,对于在“校”或“学”中传授经学者也称为“经师”。
在一些特定的讲学场合,比如书院、皇室,也称教师为“院长、西席、讲席”等。
#defineuintunsignedint
sbits1=P3^5;
//定义按键的接口
sbits2=P3^6;
sbits3=P3^7;
sbitlcdrs=P1^0;
//液晶控制位
sbitlcden=P1^1;
sbitcsda=P3^3;
//DA控制位
sbitwr=P3^4;
charnum=0,boxing,u;
//定义全局变量
uintpinlv;
ucharcodetable[]="
0123456789"
;
//定义显示的数组
ucharcodetable1[]="
frequence:
boxing:
"
ucharcodesin[64]={
135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,
146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128
};
//正弦波取码
ucharcodejuxing[64]={
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
//矩形波取码
ucharcodesanjiao[64]={
0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,
248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0
//三角波取码
ucharcodejuchi[64]={
0,4,8,12,16,20,24,26,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,
128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248
//锯齿波取码
voiddelay(uintxms)//延时函数
inta,b;
for(a=xms;
a>
0;
a--)
for(b=110;
b>
b--);
voidwrite_com(ucharcom)//写命令函数
lcdrs=0;
P0=com;
delay
(1);
lcden=1;
lcden=0;
voidwrite_date(uchardate)//写数据函数
lcdrs=1;
P0=date;
voidinit_lcd()//初始化函数
//默认开始状态为关使能端,见时序图
write_com(0x0f);
write_com(0x38);
//显示模式设置,默认为0x38,不用变。
write_com(0x01);
//显示清屏,将上次的内容清除,默认为0x01.
write_com(0x0c);
//显示功能设置0x0f为开显示,显示光标,光标闪烁;
0x0c为开显示,不显光标,光标不闪
write_com(0x06);
//设置光标状态默认0x06,为读一个字符光标加1.
write_com(0x80);
//设置初始化数据指针,是在读指令的操作里进行的
voidinitclock()//时钟初始化
uinti;
TMOD=0x01;
TH0=(65536-1563)/256;
TL0=(65536-1563)%256;
EA=1;
ET0=1;
TR0=1;
for(i=10;
i<
17;
i++)//显示初始化
write_date(table1[i]);
delay(5);
write_com(0x80+0x40);
for(i=0;
10;
i++)
write_com(0x80+7);
write_date('
s'
);
i'
n'
'
write_com(0x80+0x40+0xa);
1'
0'
H'
Z'
voiddisplay()//显示函数
ucharbai,shi,ge;
if(num<
10)
pinlv=num*10+10;
if(num>
9)
pinlv=(num-9)*100+100;
bai=pinlv/100;
shi=pinlv%100/10;
ge=pinlv%100%10;
write_com(0x80+0x40+0xa);
if(bai<
1)
if(bai!
=0)
write_date(table[bai]);
write_date(table[shi]);
delay(5);
write_date(table[ge]);
write_date('
if(boxing==0)
write_com(0x80+7);
if(boxing==1)
j'
u'
x'
g'
if(boxing==2)
a'
o'
if(boxing==3)
c'
h'
voidkeyscan()//键盘检测函数
if(s1==0)
EA=0;
delay
(2);
if(s1==0)
while(!
s1);
if(num<
14)
num++;
display();
if(num>
EA=0;
else
EA=1;
if(s2==0)
if(s2==0)
s2);
num--;
0)
num=0;
if(s3==0)
if(s3==0)
s3);
boxing++;
if(boxing==4)
boxing=0;
voiddelaym()//短暂延时
_nop_();
_nop_();
voidmain()//主函数
uchardelay_dat=0;
init_lcd();
initclock();
csda=0;
wr=0;
while
(1)
keyscan();
switch(num)
case10:
//200hz
switch(boxing)
case0:
while(s1&
&
s2&
s3)
for(u=0;
u<
64;
u++)
P2=sin[u];
_nop_();
break;
case1:
while(s1&
P2=juxing[u];
case2:
P2=sanjiao[u];
case3:
P2=juchi[u];
default:
break;
case11:
//300hz
case12:
//400hz
_n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号发生器 程序 11