基于单片机简易信号测量仪所有专业(编辑修改稿)内容摘要:
附:简易信号测量仪的 C 语言程序 和原理图 /********************简易信号测量仪的 C 源程序 ***********************/ include //52 单片机的头文件 define uint unsigned int define uchar unsigned char //宏定义 unsigned long int resh_1。 //保存波形的周期 uchar flag。 //标号用于识别是正弦波还是方波 float resh_3。 //保存波形的占空比 sbit ST=P3^2。 sbit EOC=P3^3。 sbit OE=P3^6。 sbit CLK=P3^7。 //AD0809 与单片机的接口 sbit RS=P2^0。 sbit RW=P2^1。 sbit E=P2^2。 //1602 液 晶与单片机的接口 sbit p3_4=P3^4。 //被测信号的输入接口 sbit S2=P2^4。 sbit S3=P2^5。 sbit S4=P2^6。 sbit S5=P2^7。 //四个独立键盘 /*****用定时器 0 定时,计数器 1 计数测量频率 *****/ unsigned long int time0() { unsigned long int count。 uint i。 uchar scount。 TMOD=0x61。 //定时器 0 工作在定时方式 1,定时 器 1 工作在计数方式 2 TH0=0xb8。 TL0=0x53。 //定时 20 毫秒 TH1=0x38。 TL1=0x38。 //计数 200 次 scount=50。 //定时 1 秒 TR0=1。 //启动定时器和计数器 TR1=1。 do { if(TF1==1) { i++。 //计算经过了多少个 200 次 TF1=0。 } if(TF0==1) { scount。 TF0=0。 TH0=0xb8。 TL0=0x53。 } }while(scount)。 //1S 时间到 TR0=0。 TR1=0。 //停止定时器和计数器 count=i*200。 //被测信号的频率 return count。 } /*********计数器 0 测周期 ***********/ unsigned long int count() { uchar a,b,i=0,j=0。 uint resh1,resh_2。 unsigned long int resh2。 TMOD=0x01。 //用定时器 0 计时 TL0=0x00。 TH0=0x00。 do{}while(p3_4)。 //刚到低电平就开启定时器 0,以保证测量的是一个完整的周期 TR0=1。 do { if(TF0==1) TF0=0。 i++。 j++。 //测出低电平的时间,以便求出占空比 }while(p3_4==0)。 a=TH0。 b=TL0。 //将低电平的计数个数保存 do { if(TF0==1) TF0=0。 i++。 //测出波形的周期 }while(p3_4)。 TR0=0。 //停止定时器 resh1=TH0。 resh1=resh18。 resh1=resh1|TL0。 //将两个 8 位数合成一个 16 位数 resh2=i*65536+resh1。 //算出波形一个周期内计数的个数 resh_2=a。 resh_2=resh_28。 resh_2=resh_2|b。 resh_3=resh_2+j*65536。 //算出波形低电平时计数的个数 resh_3=(resh2resh_3)/resh2。 //算出波形的占空比 resh2=resh2*。 //精确到个位 return resh2。 } /********ADC0809 测量信号的电压 ********/ void init() //初始化函数 { EA=1。 //开总中断 TMOD=0x02。 //设定定时器。基于单片机简易信号测量仪所有专业(编辑修改稿)
相关推荐
.................................................................................... 6 课题研究方法 .........................................................................................................
具有线路简单,体积小的特点。 因此用它来组成一个测温系统,具有线路简单,在一根通ghR 10 信线,可以 连接 很多这样的数字温度计,十分方便。 DS18B20 产品的特点 如下: ( 1)只要求一个端口即可实现通信 ; ( 2)在 DS18B20 中的每个器件上都有独一无二的序列号 ; ( 3)实际应用中不需要外部任何元器件即可实现测温 ; ( 4)测量温度范围在- 55 到+ 125 摄氏度
于加权系数在整个平滑过程中始终保持不变。 采用变参数双指数平滑模型,有效地改善了这一不足,同时其平滑速度优于多项式拟和平滑法。 对在不同的谱段,可根据不同的要求,取不同的 a 值,从而平滑加权系数不同,平滑的程度不同,达到了抑制涨落和降低畸变的目的。 SavitzkyGolay 滤波 SavitzkyGolay滤波器是一种特殊的低通滤波器,又称 SavitzyGolay平滑器。
的交流,通常采用显示器作为其输出设备,用于显示输入键值中间信息及运算结果等。 本设计采用常用的发光二极管( LED=Light Emitting Diode)显示器,即 7 段数码管和 LED指示灯。 他们具有耗电省、线路简单、价格低廉、安装方便、耐振动等优点。 我们最常用的是七段式和八段式 LED数码管,八段比七段多了一个小数点,其他的基本相同。 所谓的八段就是指数码管里有八个小 LED
机 N 第 4 页 共 26页 需要指定打开的端口。 服务器使用 Socket 监听指定的端口,端口可以随意指定,等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 3 系统需求分析 现行业务系统描述 目前各种文件资源交流的主要方式可以分为三种 :( 1)通过局域网内主机之间以文件共享后再经过复制,粘贴方式实现。 ( 2)依靠可移动磁盘的两次信息转移实现。 ( 3)通过 Inter
示各种字形或符号。 LED 数码管有共阳、共阴之分。 图是共阳式、共阴式 LED 数码管的原理图和符号。 图 5 共阳式、共阴式 LED 数码管的原理图和数码管的符号图 显示电路显示模块需要实时显示当前的时间 ,即时、分、秒,因此需要 6 个数码管,另需两个数码管来显示横。 采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管