该模块用于可编程信号的产生.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
该模块用于可编程信号的产生

该模块用于可编程信号的产生,由X25045给单片机AT89C52进行上电复位,按键KD01控制单片机以进行某一动作(可由学生编程控制),同时经数模转换器AD7528可得到模拟的信号,该信号可作为低频信号源。信号分两路从插座CJB01(A路)、CJB02(B路)输出,也可从测试孔TP0101(A路)、TP102(B路)输出。实验中可根据需要选择输出信号(通过P1^4口选择A、B路输出)。 可通过单片机的端口来控制对应发光二极管DB1~8,且可通过数码显示管UB09或UB10指示。 元件介绍: UB01:看门狗X25045; UB02:单片机AT89C52; UB05:3/8译码器; UB06,7,8:锁存器74LS374; UB09,10:共阴极数码管; UB11:数模转换器TLC7528; UB12,13:运算放大器TL084 ; UB14:与非门74LS00; JB01: 电源连接插座; JB02: 信号连接插座; JB03: 开关; WBXX:电位器(可选择0到100KΩ之间阻值); DBXX:发光二极管; KD01: 按键; TPXXX:标准测试孔(每张图中均代表标准测试孔); 单片机电路原理图如图1所示: 图1 单片机电路原理图1 单片机部分电路原理图如图2所示: 图2 单片机部分电路原理图2 单片机电路PCB图如图3所示: 图3 单片机电路PCB图 单片机模块的源程序如下: 注:当跳线器JB03处于1-2位置时,发光管与数码管处于慢跳状态。当跳线器JB03处于2-3位置时,在TP101、TP102产生正交正弦信号。KD01则是暂停程序执行。 主程序 #include reg51.h #include math.h #include JH5006_C51.h #include sin_tabl.h unsigned char xdata port_D _at_ 0x8000; //发光二极管端口定义 unsigned char xdata port_led_A _at_ 0x9000; //数码管1端口定义 unsigned char xdata port_led_B _at_ 0xa000; //数码管2端口定义 unsigned char xdata port_DA _at_ 0xb000; //DA端口定义 sbit DA_AB_Sel=P1^4; //DA通道选择 sbit Key=P3^4; //DA通道选择 sbit function_sel=P3^5; //功能选择:是否加延时 Main(){ unsigned char i,j; signed char idata a[200]; unsigned char idata buff1,buff2; port_led_A=LED[9]; port_led_B=LED[4]; DA_AB_Sel=1; i=0; buff1=0; while(1){ if(Key==1){ //buff=buff ^ 0x0ff; buff1=buff1+1; i++; if(i9) i=0; a[i]=LED[i]; if(function_sel) delay_1s(); //发光二极管输出 port_D=buff1; //LED输出 port_led_A=LED[i]; port_led_B=LED[i]; //DA 输出选择 DA_AB_Sel=0; port_DA=sin_table[buff1]; DA_AB_Sel=1; buff2=buff1+64; port_DA=sin_table[buff2]; } } } 子程序 #include math.h int _powx(int x) { int p; p=x*x; return p; } void delay_1s(void){ int i; float x; for(i=

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档