ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:2.52MB ,
资源ID:30495989      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30495989.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字选频电路模块原理图例程及PCB设计资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字选频电路模块原理图例程及PCB设计资料.docx

1、数字选频电路模块原理图例程及PCB设计资料数字选频电路模块利用手册【简要说明】一、尺寸:长114mmX宽72mmX高18mm二、要紧芯片:单片机,数码管、稳压器 、继电器三、工作电压:6V至40V,功耗小于1W四、特点:一、具有稳压电路,输入电压广,具有电源指示灯。二、具有6位数码管显示。 3、具有按键调剂功能,设置参数带经历功能。4、最大检测频率100KHZ。五、双路继电器输出。 六、继电器最大操纵负载300W。 7、单片机编程,客户能够自己更改,提供源代码八、有无信号输出,具有LED灯指示。九、端子采纳螺旋压接端子 10、工作温度-40度至 +70度 1一、工作湿度 40% 80%RH 1

2、二、具有电源防接反爱惜 13、具有续流爱惜 14、具有电磁抗干扰能力 1五、板子稳固工作靠得住 1六、板子可安装在DIN导轨上面利用说明:【标注说明】【功能描述】【原理图】【PCB图】【元件清单】【应用举例】【测试参考程序】#include #include #define uchar unsigned char/宏概念无符号字符型#define uint unsigned int /宏概念无符号整型uint tcnt1=0;/用于刷新数码管uint qiannum1,bainum1,shinum1,genum1;uchar qiannum2,bainum2,shinum2,genum2;uc

3、har qiannum3,bainum3,shinum3,genum3;code uchar seg7code10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /显示段码 数码管字跟uchar wei13=0XDf,0XBf,0X7f;/数码管1的位的操纵端uchar wei23=0XFb,0XF7,0Xef;/数码管2的位的操纵端uchar abcf4=0x88,0x83,0xc6,0xbf;/abc-uchar abcf1,abcf2;/用于显示特殊字符abc-uint dispcount=0;/获取霍尔传感器的数据用 获取数据ui

4、nt lck=0;/获取霍尔传感器的数据用 计时一秒用uint disp=0; /获取霍尔传感器的数据用 显示到数码管用void timer0_1init();/按时配置void displaynum();/将数字传到数码管上显示static uchar presstime=0;/时刻值按键用到的uint kf0=1;/按键用的标志位uint kt0=0;/按键用的标志位void keycan();/按键void keyflag();/按键终止挪用,按键的建议利用,如此能够减小code,可是触发的不建议uint abc=0,abc1=0;/abc三种状态uint keynum=0;/数码管的位

5、uint highnum=0,downnum=0;/最大数和最小数uchar highnum1=0,highnum2=0,downnum1=0,downnum2=0;/最大数和最小数bit flag_eeprom1=1;/掉电存储的标志位void saveeepro();/掉电存储void main() timer0_1init(); highnum1=Byte_Read(0x01);/掉电存储用到 highnum2=Byte_Read(0x02);/掉电存储用到 downnum1=Byte_Read(0x03);/掉电存储用到 downnum2=Byte_Read(0x04);/掉电存储用到

6、 genum2=highnum1%10;/个位 shinum2=highnum1%100/10;/十位 bainum2=highnum2%10;/个位 qiannum2=highnum2%100/10;/十位 genum3=downnum1%10;/个位 shinum3=downnum1%100/10;/十位 bainum3=downnum2%10;/个位 qiannum3=downnum2%100/10;/十位 highnum=qiannum2*1000+bainum2*100+shinum2*10+genum2; downnum=qiannum3*1000+bainum3*100+shin

7、um3*10+genum3; while(1) keycan(); displaynum(); void saveeepro()/掉电存储 highnum1=shinum2*10+genum2; highnum2=qiannum2*10+bainum2; downnum1=shinum3*10+genum3; downnum2=qiannum3*10+bainum3; Sector_Erase(0); /擦除0x01地址中的数据 一定要先擦除再写进 同一地址 Byte_Program(0x01,highnum1); /擦除完成就可以写入了 Byte_Program(0x02,highnum2)

8、; /擦除完成就可以写入了 Byte_Program(0x03,downnum1); /擦除完成就可以写入了 Byte_Program(0x04,downnum2); /擦除完成就可以写入了void keycan()/按键 if(key1=0)/当按键1按下 if(kf0)/当标志位kf0=1的时候进行 if(presstime100)/那时刻值大于一百的时候 kf0=0;/标志位kf0=0 kt0=1;/标志位kt0=0 presstime=0;/时刻清零,从头进行 keynum=0; abc1=0; disp=0; abc+; if(abc=3)/当位到3那么置位0 abc=0; else

9、/当按键松开 keyflag(); /按键1终止 if(abc0) if(key2=0)if(kf0)if(presstime100)kf0=0;kt0=1;presstime=0;flag_eeprom1=1; keynum+;if(keynum=5)keynum=0; elsekeyflag(); if(flag_eeprom1=1)/加掉电存储 flag_eeprom1=0; saveeepro();/掉电存储 if(key3=0)if(kf0)if(presstime100)kf0=0;kt0=1;presstime=0;flag_eeprom1=1; switch(keynum) c

10、ase 1: if(abc=1) genum2+;/数码管一加加 if(genum29)/当数码管一加加到9时置为1 genum2=0; else if(abc=2) genum3+;/数码管一加加 if(genum39)/当数码管一加加到9时置为1 genum3=0; break; case 2:if(abc=1)shinum2+;if(shinum29)shinum2=0; else if(abc=2)shinum3+;if(shinum39)shinum3=0; break; case 3:if(abc=1)bainum2+;if(bainum29)bainum2=0; else if(

11、abc=2)bainum3+;if(bainum39)bainum3=0; break; case 4:if(abc=1)qiannum2+;if(qiannum29)qiannum2=0; else if(abc=2)qiannum3+;if(qiannum39)qiannum3=0; break; default:break; elsekeyflag(); if(flag_eeprom1=1)/加掉电存储 flag_eeprom1=0; saveeepro();/掉电存储 void displaynum()/将数字传到数码管上显示 if(abc=0) abcf1=0;/a abcf2=3;

12、/- genum1=disp%10;/个位 shinum1=disp%100/10;/十位 bainum1=disp%1000/100;/百位 qiannum1=disp/1000;/千位 if(abc12000) if(disphighnum) out1=1; out2=0; else out1=1; out2=1; else out1=1; out2=1; else if(abc=1) abcf1=1;/b abcf2=3;/- highnum=qiannum2*1000+bainum2*100+shinum2*10+genum2; genum1=genum2;/个位 shinum1=sh

13、inum2;/十位 bainum1=bainum2;/百位 qiannum1=qiannum2;/千位 else if(abc=2) abcf1=2;/c abcf2=3;/- downnum=qiannum3*1000+bainum3*100+shinum3*10+genum3; genum1=genum3;/个位 shinum1=shinum3;/十位 bainum1=bainum3;/百位 qiannum1=qiannum3;/千位 void timer0(void)interrupt 1 TH0=0xe3; TL0=0xc; tcnt1+; presstime+; if(abc=0)

14、abc1+; lck+; if(lck=1000) if(abc12000) disp=dispcount; lck=0; dispcount=0; switch(tcnt1) case 1: P2=0XFF; P0=abcfabcf1;P2=wei12;break; case 2: P2=0XFF; P0=abcfabcf2;P2=wei11;break; case 3: P2=0XFF; P0=seg7codeqiannum1;if(keynum=4 | keynum=0)P2=wei10;break; case 4: P2=0XFF; P0=seg7codebainum1; if(key

15、num=3 | keynum=0)P2=wei22;break; case 5: P2=0XFF; P0=seg7codeshinum1; if(keynum=2 | keynum=0)P2=wei21;break; case 6: P2=0XFF; P0=seg7codegenum1; if(keynum=1 | keynum=0)P2=wei20;break; default: tcnt1=0; P2=0XFF; break; void timer0_1init()/按时配置 TMOD=0x0; TH0=0xe3; TL0=0xc;/ IT0=1; /INT0下降沿中断/ EX0=1; /

16、允许INT1中断 IT1=1; /INT1下降沿中断 EX1=1; /许诺INT1中断 TR0=1; ET0=1; EA=1;/void int0(void) interrupt 0/P32/此处用于获取霍尔传感器的数据/ dispcount+; /每一次中断,计数加一/void int1(void) interrupt 2/P33/此处用于获取霍尔传感器的数据 dispcount+; /每一次中断,计数加一void keyflag()/按键终止挪用,按键的建议利用,如此能够减小code,可是触发的不建议 if(kt0)/当标志位kt0=1的时候进行 if(presstime100)/当时间值大于一百的时候 kf0=1;/标志位kf0=1 kt0=0;/标志位kt0=0 presstime=0;/时间清零,重新进行 【图片展现】

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1