资源简介
51单片机测量方波频率proteus仿真
代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[11] = {0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
long uint pulse=0;//计数输入的方波的个数;
long uint freq=0;//频率
uchar temp=0; //临时变量
void delay_1ms(uint i) //延时函数,约1ms
{
uint xj;
for(j=0;j for(x=0;x<=148;x++);
}
void Time0_Init()//定时器和计数器的初始化函数
{
EA=1; //打开全局中断
TMOD = 0x15;//设定定时器1和计数器0的工作方式为方式1
TH0 = 0xff;//计数器0的初值
TL0 = 0xff;//计数器0的初值
ET0=1; //允许计数器0中断
TR0=1; //打开计数器0,开始计数
TH1 = 0x3c;//定时器1的初值
TL1 = 0xb0;//定时器1的初值
ET1=1; //允许定时器1中断
TR1 = 1;//打开定时器1,开始计数
}
void main()
{
Time0_Init(); //初始化定时器和计数器
while(1)
{
P2=0xfe; //以下为数码管显示函数
P0=0;
P0=table[freq/100000];
delay_1ms(1);
P0=0;
P2=0xfd;
P0=table[freq/10000%10];
delay_1ms(1);
P0=0;
P2=0xfb;
P0=table[freq/1000%10];
delay_1ms(1);
P0=0;
P2=0xf7;
P0=table[freq/100%10];
delay_1ms(1);
P0=0;
P2=0xef;
P0=table[freq/10%10];
delay_1ms(1);
P0=0;
P2=0xdf;
P0=table[freq%10];
delay_1ms(1);
}
}
void ISQ_timer0(void) interrupt 1 //用来计数脉冲数,每一个方波脉冲,计数器进入中断,脉冲数加一
{
TR0 = 0;
pulse++;
TH0 = 0xff;
TL0 = 0xff;
TR0 = 1;
}
/****************************************************************
用来设定时间,定时器的周期为50ms,当经过20次后,
也即1s后,关断定时器和计数器,将一秒内计数的脉冲数赋给频率pulse
一秒内采集的脉冲数即为输入方波的频率
****************************************************************/
void ISQ_time1() interrupt 3
{
TH1 = 0x3c;
TL1 = 0xb0;
temp++;
if(temp==20)
{
TR0 = 0;
TR1 = 0;
temp=0;
freq=pulse;
pulse=0;//将脉冲数清零,重新计数
TR0 = 1;//打开计数器0,进入下一个循环
TR1 = 1;//打开定时器1,进入下一个循环
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-07 23:18 51单片机测量方波频率资料\
文件 114016 2014-05-07 23:18 51单片机测量方波频率资料\Last Loaded proteus仿真电路图.DBK
文件 114016 2014-05-08 07:10 51单片机测量方波频率资料\proteus仿真电路图.DSN
文件 792 2014-05-08 07:10 51单片机测量方波频率资料\proteus仿真电路图.PWI
目录 0 2014-05-07 18:37 51单片机测量方波频率资料\程序\
文件 5055 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx
文件 4864 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.LST
文件 7459 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.M51
文件 5567 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.OBJ
文件 974 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.Opt
文件 2129 2014-05-07 21:50 51单片机测量方波频率资料\程序\cx.Uv2
文件 1961 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.c
文件 2041 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.hex
文件 36 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.lnp
文件 1137 2014-05-08 07:09 51单片机测量方波频率资料\程序\cx.plg
文件 973 2014-05-07 23:17 51单片机测量方波频率资料\程序\cx_Opt.Bak
文件 0 2014-05-07 18:37 51单片机测量方波频率资料\程序\cx_Uv2.Bak
相关资源
- Proteus_H型电机驱动
- 数字逻辑课程设计四路抢答器Proteus设
- 基于8086的交通灯.zip
- C51智能时钟以及Proteus电路图
- proteus8253实验
- emeu8086+proteus音乐发声器
- 基于单片机的洗衣机控制系统设计
- 室内有害气体监测系统的设计proteus仿
- Proteus仿真8086数码管显示
- 51单片机读取DS18b20数据加1602显示+pr
- 矩阵键盘程序基于proteus的设计与仿真
- 数电设计 数字电子时钟---proteus
- 单片机电子密码锁,1602显示,密码可
- 单片机驱动直流电机 proteus仿真+程序
- 基于8086的交通灯仿真 proteus电路图汇
- Proteus浮点数计算器8086仿真文件+源代
- 51单片机控制16位流水灯有源代码与
- 矩阵键盘简易计算器Keil+proteus仿真.
- 基于单片机at89c51的电子琴proteus仿真
- ARM基于LPC2124的温度控制系统Proteus仿真
- uCGUI+UCOS-II+LPC2138在proteus上的仿真-用
- 完美解决proteus仿真stm32
- 基于8086汇编语言的交通灯程序加pro
- 单片机 万年历 proteus
- 波形发生器proteus仿真程序
- 节日彩灯 proteus仿真程序
- proteus三相整流电路
- proteus仿真行列按键+数码管+1602
- ad603放大电路Proteus仿真
- 汽车控制系统
评论
共有 条评论