基于max038的单片机控制的信号发生器的设计课程设计任务书(编辑修改稿)内容摘要:
从 〜 20MHz,最高可达 40MHz,各种波形的输出幅度均为 2V (PP)。 空比调节范围宽,占空比和频率均可单独调节 , 互不影响,占空比最 大调节范围 10%〜 90%。 波形失真小,正张波失真度小于 %,占空比调节时非线性度低于 2%。 采用土5V 双电源供电,允许有 5%变化范围,电源电流为 80mA,典型功 耗 400MW,工作温度范围为 0〜 70’ C。 设 电压基准,利用控制端 FADJ、 DADJ 实现频率微调和占空比调。 工作原理: MAX038 内部还有正弦整形电路、比较器、复用器以及 鉴 相器电路,它们共同实现了正弦波、 三角坡的生成。 鉴相器是作为锁相环的备用单元,力异或门电路结拘 , 输入信号一路来 flu 内部差动矩形波 OSCA 和 OSCB,另外一路来自外部引脚 PDI。 鉴相器的輸出信号 电流 , 由 PDO引脚输出平均值变化范围为 0^ 550//^。 当两跳输入信号的相位差为 90 时, 输 出电流的空比为 7 50%,平均值为 250/yj。 如果构成锁相环跡,则 PDO 和 FADJ 相连,并且对地连接一个电阻同时并联一个电密 Od。 Upd 决定鉴相器的灵敏度 , 用于滤除电流中的高频成分。 采用单片机 AT89C52 对主信号发生芯片进行智能控制 ,对 MX038 产生的 波 形信号进行频率高低,占空比大小,幅度范围的控制,以及产生波形的选择控 制。 MAX038 的输出频率主要受振蔬电蓉 CF , IIN 端电流和 FADJ 端电压的 控制。 选择一个 CF 值,对应 IIN 端电流的变化 , 将产生一定范围的輸出频率。 另外,改变 FADJ 端的电压,可以在 IIN 控制的基础上 , 对輸出频率实现微调 控制。 为实现输出频率的数控调整 , 在 IIN 端和 FADJ 端分别连接一个电压输 出的 DAC。 首先,通过 DACB 产生 0V(OOH)到 (0FFH)的輸出电压,经电压 /电流转换网络 , 产生 0|J A 到 748m a 的电 流 , 叠加上网络本身产生的 2m A 电 流,最终对 IIN 端形成 2m a 到 750p A 的工作电流,使之产生相应的输出频率 恭围。 DACB 将此工作电流范围分为 256 级步进间隔,輸出频率范围也被分为 256 談步进间隔。 所以, IIN 端的电流对输出频率实现粗调。 第二步 , 通过 DACA 在 FADJ 端产生一个从 (00H)到 + (0FFH)的电压范围,该范围同祥包含 256 級步进间隔, IIN 端的步进间隔再次细分为 256 级步进间隔,从而在粗调的 基础上实现微调。 图 2 8 AT89C52 是 51 系列单片机的一个型号 ,它是 ATMEL 公司生产的。 AT89C52 是一个低电压 , 高性能 CMOS 型 8 位单片机,片内含 8k bytes 的可反复擦写的 Fl^h 只读程序存储器和 256 bytes 的随机存取数据存储器 ( RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼想标准 MCS51 指令系统,片 内置通用 8 位中央处理器和 Flash 存储单元。 AT89C52 有 40 个引脚 , 32 个外部双向输入 /输出 ( I/O)端口,同时内含 2 个外中断口, 3 个 16 位可编程定时计数器 , 2 个全双工串行通信口, 2 个读写口。 其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 AT89C52 有 PDIP、 PQFP/TQFP 及 PLCC 等三种封装式,以适应不同产品的 需求。 主要功能特性:兼容 MCS51 指令统 8k 可反复擦写 (1000 次 ) Flash ROM ,32 个双向 I/0 口, 256x8bit 内部 RAM, 3 个 16 位可编程定时 /计数器中断,时钟频率 024MHZ, 2 个串行中断 ,可编程 UART 串行通道, 2 个外部中断源,共 6 个中断源, 2 个读写中断口线, 3 级加密位, 低功耗空 闲和掉电模式,软件设置睡眠和唤醒功能。 AT89C52中有一个用于拘成内部振錫器的高增益反相放大器,引脚 XTAL1和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石 英晶体或陶瓷谐振器一起构成自激振 荡 器。 外接石英晶体及电 ^Cl, C2接在放大器的反馈回路中拘成并联振德电路。 对外接电 容 C1, C2 虽然没有十分严格的耍求,但电 容容 量的大小会轻微影响振 荡 频率的高低、振荡器工作的稳定性、起振的 难 易程序及温度稳定性,这里选择使用石英晶体。 也可以采用外部时钟。 采用外部时钟的电路的情 况时,外部时钟 脉沖接到 XTAL1 端,即内部时钟度生器的输入端 , XTAL2 则悬空。 9 图 2 8 程序设计 主耍程序代码及其说明: include define uchar unsigned char define uint unsigned int define F P1 //P1口作为第一个 DAC0832的数据输入 ,输出 100HZ的 三角波、正弦波(一个周期 32个点) sbit F_la=P3^1。 //高电平时锁存,低电平时直通 P1口 sbit A_la=P3^0。 //高电平时锁存,低电平时直通 P1口 sbit k1=P3^2。 //选择波形 sbit k2=P3^3。 sbit k3=P3^4。 sbit lcd_en=P2^4。 //LCD1602使能信号 E位定义 sbit lcd_rs=P2^3。 //LCD1602读 /写( H/L)控制信号 RS位定义 char sanjiao[]=S。 //输出波形 char zhengxian[]=Z。 char A1[]=A。 //模式选择 char M1[]=M。 char h1[]= Mode: void delay00(uint k)。 //函数申明 void write_(uchar )。 void write_data(uchar data0)。 void init00()。 uchar ii,ll。 //ii表示字符串第 i位, ll表示字符串长度 uchar code sin[256]={ 0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96, //正弦 10 信号码表 0x99,0x9C,0x9F,0xA2,0xA5,0xA8,0xAB,0xAE, 0xB1,0xB4,0xB7,0xBA,0xBC,0xBF,0xC2,0xC5, 0xC7,0xCA,0xCC,0xCF,0xD1,0xD4,0xD6,0xD8, 0xDA,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9, 0xEA,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5, 0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD, 0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD, 0xFD,0xFC,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6, 0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEA, 0xE9,0xE7,0xE5,0xE3,0xE1,0xDE,0xDD,0xDA, 0xD8,0xD6,0xD4,0xD1,0xCF,0xCC,0xCA,0xC7, 0xC5,0xC2,0xBF,0xBC,0xBA,0xB7,0xB4,0xB1, 0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,0x99, 0x96,0x93,0x90,0x8D,0x89,0x86,0x83,0x80, 0x80,0x7C,0x79,0x78,0x72,0x6F,0x6C,0x69, 0x66,0x63,0x60,0x5D,0x5A,0x57,0x55,0x51, 0x4E,0x4C,0x48,0x45,0x43,0x40,0x3D,0x3A, 0x38,0x35,0x33,0x30,0x2E,0x2B,0x29,0x27, 0x25,0x22,0x20,0x1E,0x1C,0x1A,0x18,0x16, 0x15,0x13,0x11,0x10,0x0E,0x0D,0x0B,0x0A, 0x09,0x08,0x07,0x06,0x05,0x04,0x03。基于max038的单片机控制的信号发生器的设计课程设计任务书(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。