基于dds技术的交流信号发生器设计报告(编辑修改稿)内容摘要:
)。 //2 keyinput[keyi]=2。 if(keyi9) keyi++。 break。 case 0x03: disp_word(10+keyi*7,3,39。 339。 )。 //3 keyinput[keyi]=3。 if(keyi9) keyi++。 break。 case 0x04: disp_word(10+keyi*7,3,39。 439。 )。 //4 keyinput[keyi]=4。 if(keyi9) keyi++。 break。 case 0x05: disp_word(10+keyi*7,3,39。 539。 )。 //5 keyinput[keyi]=5。 if(keyi9) keyi++。 break。 case 0x06: disp_word(10+keyi*7,3,39。 639。 )。 //6 keyinput[keyi]=6。 if(keyi9) keyi++。 break。 case 0x07: disp_word(10+keyi*7,3,39。 739。 )。 //7 keyinput[keyi]=7。 if(keyi9) keyi++。 break。 case 0x08: disp_word(10+keyi*7,3,39。 839。 )。 //8 keyinput[keyi]=8。 if(keyi9) keyi++。 break。 case 0x09: disp_word(10+keyi*7,3,39。 939。 )。 //9 keyinput[keyi]=9。 if(keyi9) keyi++。 break。 case 39。 39。 : disp_word(10+keyi*7,3,39。 .39。 )。 //. keyinput[keyi]=39。 .39。 if(keyi9) keyi++。 break。 case 39。 *39。 : for(i=0。 i10。 i++) { disp_str(10+i*7,3, )。 } keyi=1。 break。 case 39。 a39。 : keya++。 if(keya==4) { keya=0。 } if(keya==0) { disp_chn(10,0,4)。 // 正 disp_chn(30,0,5)。 // 弦 disp_chn(50,0,6)。 // 波 break。 } else if(keya==1) { disp_chn(10,0,7)。 // 方 disp_str(30,0, )。 disp_str(35,0, )。 disp_str(40,0, )。 disp_chn(50,0,6)。 // 波 break。 } else if(keya==2) { disp_chn(10,0,8)。 // 三 disp_chn(30,0,9)。 // 角 disp_chn(50,0,6)。 // 波 break。 } else if(keya==3) { disp_chn(10,0,10)。 // 锯 disp_chn(30,0,11)。 // 齿 disp_chn(50,0,6)。 // 波 break。 } case 39。 b39。 : keyb++。 if(keyb==3) { keyb=0。 } if(keyb==0) { disp_str(80,3, HZ)。 break。 } else if(keyb==1) { disp_str(80,3,KHZ)。 break。 } else if(keyb==2) { disp_str(80,3,MHZ)。 break。 } case 39。 c39。 : keyc++。 if(keyc==2) { keyc=0。 } if(keyc==0) { clear_screen(0)。 disp_chn(10,0,4)。 // 正 disp_chn(30,0,5)。 // 弦 disp_chn(50,0,6)。 // 波 disp_str(80,3, HZ)。 // HZ disp_str(80,5, V)。 // V } else if(keyc==1) { clear_screen(0)。 disp_str(80,3, HZ)。 // HZ } break。 case 39。 d39。 : keyi=1。 for(i=0。 i10。 i++) { if(keyinput[i]==39。 .39。 ) j=i1。 break。 } for(i=j。 i0。 i) { Fin=Fin+keyinput[i]*(10^(ji))。 } Fin=Fin+keyinput[j+2]/10。 Fin=Fin*(10^keyb)。 // write_AD()。 break。 } keypressed=0。 keyvalue=0。 } } 液晶模块: 头文件: ifndef __OCM12864 define __OCM12864 include ../ typedef unsigned char uchar。 typedef unsigned int uint。 define lcddata_out GP3DAT //P3 define lcddata_in (char)(GP3DAT amp。 0x000000FF) define LCD_DOUT_EN GP3DAT=(GP3DAT|0xFF000000) define LCD_DIN_EN GP3DAT=(GP3DATamp。 0x00FFFFFF) define set_rs() GP4DAT=(GP4DAT|0x01010000) // A0 define clear_rs() GP4DAT=(GP4DAT|0x01000000)amp。 (~0x00010000) define set_rw() GP4DAT=(GP4DAT|0x02020200) // define clear_rw() GP4DAT=(GP4DAT|0x02020000)amp。 (~0x00020200) define set_en() GP4DAT=(GP4DAT|0x04040000) // define clear_en() GP4DAT=(GP4DAT|0x04000000)amp。 (~0x00040000) define set_cs() GP4DAT=(GP4DAT|0x08080000) // define clear_cs() GP4DAT=(GP4DAT|0x08000000)amp。 (~0x00080000) define set_reset() GP4DAT=(GP4DAT|0x10100000) // define clear_reset() GP4DAT=(GP4DAT|0x10000000)amp。 (~0x00100000) ////*****函数声明 ****//// void LCD_Delay(unsigned long v)。 void check_busy(void)。 void write_data(unsigned long dat)。 void write_mand(unsigned long mand)。 void reset(void)。 void clear_screen(uchar m)。 void lcd_initial(void)。 void set_page_address(uchar page)。 void set_colume_address(uchar colume)。 void disp_word(uchar col,uchar pag,uchar ascii)。 void disp_chn(uchar col,uchar pag,uchar ascii)。 void disp_str(uchar col,uchar page,uchar *)。 void setpoint(uchar x,uchar y)。 void point(uchar x,uchar y)。 void disp_bmp( uchar const *puts )。 void shuxian(uchar n,uchar e,uchar f)。 void hengxian(uchar k)。 void delaynum(unsigned char num)。 endif include /*****将字符生产软件得到的每个汉字的 32 个字符依次存于 tab 表中 *****/ /*****用 PCtoLCD2020 软件设置列行式和顺向输出得到对于汉字字符串 *****/ const uchar tab[13*32]={ /* 宋体 16*16。 此字体下对应的点阵为:宽 x 高 =16x16 */ 0x00,0x00,0x1F,0x11,0x11,0x11,0x11,0xFF, 0x11,0x11,0x11,0x11,0x1F,0x00,0x00,0x00, 0x00,0x00,0xF8,0x10,0x10,0x10,0x10,0xFE, 0x11,0x11,0x11,0x11,0xF9,0x01,0x0F,0x00,/*电 ,0*/ 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3F, 0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFC, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,/*工 ,1*/ 0x00,0x20,0x20,0x20,0xFF,0x2A,0x2A,。基于dds技术的交流信号发生器设计报告(编辑修改稿)
相关推荐
LM7805CV 供电电路 红外遥控器 电路 本设计采用红外遥控器控制电子钟,红外接收头 与单片机的 口相连,红外遥控器的 功能 有: 选择键、数值增大键、数 值 减小键和闹铃查看键。 在 时间调节 中,可 按功能选择键 ,配合 数值增大 、 减小 功能键 可 分别对日期 和 时间进行 调节。 在 调节 过程中,显示器 光标会在 对应调节项目 上游走 ,分别是: “秒、分、时、星期、日、月、年”
中断服务程序 通过 对该地址的写操作来修改两个寄存器上各位的状态,当寄存器某位取‘ 1’值时,相应指示灯 被点亮,取‘ 0’值则熄灭。 当写入 CTRLR 的数据 (8位有效值 )的高两位为‘ 00’时,数据 的低 6位将写入 EWR 寄存器;当高两位的值为‘ 01’时,写入 SNR寄存器 表 寄存器 EWR bit5 bit4 bit3 bit2 bit1 bit0 南 红 南 黄 南 绿 北
温度值转换为数字,速度更快 ; ( 8)测量结果直接输出数字温度信号,以 一线总线 串行传送给 CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力 ; ( 9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20 的 测温流程 斜率累加器 预置 比较 计数器 1 低温度系数晶振 =0 温度寄存器 计数器 2 高温度系数晶振 =0 预置 加 1 LSB 置位
D S P 等 )驱 动 保 护电 路驱 动 电 路( 逆 变 器 )无 刷 直流 电 机位 置 检 测 电 路外 围设 备 图 13 典型的无刷直流电机控制系统 DSP 等微处理器强大的计算能力使许多智能控制算法在无刷直流电机控制中得以实 现,近年来无刷直流电机的全 数 字化智能控制成为业界相关人员的研究热点 [8]。 相信更高效完善的控制方案将不断呈现。 无刷直流电机控制技术的发展趋势
术 PHP 是简单易学的、免费使用的、跨平台的服务器端嵌入式脚本语言,其运行平台有多种,如 Unix, GUN/Linux 和 Windows 等;其显著的特点有两个:可在官方网站上免费自行下载,且所有源码是开放的。 它的大部分语法既采用了 C、 Java 和 Perl 的语言格式,又耦合自身的特性,形成了特有的风格,以帮助 Web 开发者快速、高效地开发出动态网页。 JSP技术 JSP 是由
heck_timer(). do { if (tasksEvents[idx]) // Task is highest priority that is ready. { break。 } } while (++idx tasksCnt)。 if (idx tasksCnt) { uint16 events。 halIntState_t intState。