信号发生查表(函数信号发生器).doc_第1页
信号发生查表(函数信号发生器).doc_第2页
信号发生查表(函数信号发生器).doc_第3页
信号发生查表(函数信号发生器).doc_第4页
信号发生查表(函数信号发生器).doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include reg52.h #define uchar unsigned char#define uint unsigned intunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00; /共阴极9对应进制数/=正弦波数据= uchar code sin_tab256= 128, 131, 134, 137, 140, 143, 146, 149, 152, 156, 159, 162, 165, 168, 171, 174, 176, 179, 182, 185, 188, 191, 193, 196, 199, 201, 204, 206, 209, 211, 213, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 237, 239, 240, 242, 243, 245, 246, 247, 248, 249, 250, 251, 252, 252, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 252, 252, 251, 250, 249, 248, 247, 246, 245, 243, 242, 240, 239, 237, 236, 234, 232, 230, 228, 226, 224, 222, 220, 218, 216, 213, 211, 209, 206, 204, 201, 199, 196, 193, 191, 188, 185, 182, 179, 176, 174, 171, 168, 165, 162, 159, 156, 152, 149, 146, 143, 140, 137, 134, 131, 127, 124, 121, 118, 115, 112, 109, 106, 103, 99, 96, 93, 90, 87, 84, 81, 79, 76, 73, 70, 67, 64, 62, 59, 56, 54, 51, 49, 46, 44, 42, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 10, 9, 8, 7, 6, 5, 4, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 42, 44, 46, 49, 51, 54, 56, 59, 62, 64, 67, 70, 73, 76, 79, 81, 84, 87, 90, 93, 96, 99, 103, 106, 109, 112, 115, 118, 121, 124,; /三角波信号数据表uchar code thr_tab32= 0x00,0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,0xaf,0xbf,0xcf,0xdf,0xef, 0xff,0xef,0xdf,0xcf,0xbf,0xaf,0x9f,0x8f,0x7f,0x6f,0x5f,0x4f,0x3f,0x2f,0x1f,0x0f;/-/锯齿波信号数据表uchar code jc_tab33= 0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78, 0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,0xff;/数码管位选控制口定义sbit LED4=P27;sbit LED3=P26;sbit LED2=P25;sbit LED1=P24;/按键口申明 sbit S1=P23;sbit S2=P22;sbit S3=P21;unsigned char tabArry4; /保存显示数据char flag=1; /按键标志,当flag=1时表示没有按下,当flag=0时表示有按键按下int keycount=0; /按键计数unsigned char waveth,wavetl; /用于对定时器付值unsigned int frecount=100; /频率计数unsigned int mbjs; /码表计数,共采个点/毫秒延时程序void delayms(int ms) uchar i; while(ms-) for(i=250;i0;i-); /键盘扫描void keyscan() if(flag=1) if(S3=0) /用S3切换波形 delayms(2); /延时去抖 if(S3=0) /按键计数,便于切换波形 flag=0; keycount+; if(keycount=4) keycount=0; /四种波形计数次 if(S2=0) /频率加处理 delayms(2); if(S2=0) flag=0; switch(keycount) case 0: /正弦波频率加 frecount+; if(frecount1000) frecount=0; break; case 1: /三角波频率加 frecount+; if(frecount1000) frecount=0; break; case 2: /锯齿波频率加 frecount+; if(frecount1000) frecount=0; break; case 3: /方波频率加 frecount+; if(frecount1000) frecount=0; break; waveth=(65536-57603/frecount)/256; /重新计算初值 wavetl=(65536-57603/frecount)%256; if(S1=0) /频率减处理 delayms(2); if(S1=0) flag=0; switch(keycount) case 0: /正弦波频率减 frecount-; if(frecount0) frecount=999; break; case 1: /三角波频率减 frecount-; if(frecount0) frecount=999; break; case 2: /锯齿波频率减 frecount-; if(frecount0) frecount=999; break; case 3: /方波频率减 frecount-; if(frecount=256) mbjs=0; else if(keycount=1) /输出三角波 P1 = thr_tabmbjs; mbjs+; if(mbjs=32) mbjs=0; else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论