资源简介
51单片机用KEIL4环境下编写的程序,里面也包含了proteus仿真图,是可以直接运行的,很适合初学者的学习使用
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ON 0
#define OFF 1
sbit PWM=P3^5;
sbit MP=P3^4;
bit FLAG=0;
uchar code dispbit[6]={0x200x100x080x040x020x01};
uchar code seg[]={0xC00xF90xA40xB00x990x920x820xF80x800x90};
//0123456789
uchar disbuf[6]={00001010};
uint temp[6];
uint discount=0;
uint timecount=0;//定时的次数
uint T0count=0;
uint hus=0;
uint k=60;
uint Vc;
uint Vs;
uint tm=3000;
uint x;
void t0_serv() interrupt 1
{ T0count++;
}
void t1_serv() interrupt 3
{
PWM=1;
TH1=(65536-tm)/256;
TL1=(65536-tm)%256;
hus++;
if(hus==tm)
{ PWM=0;
TH1=(25536+tm)/256;
TL1=(25536+tm)%256;
}
timecount++;
if(timecount==250)
{
//FLAG=1;
TR0=0;
hus=0;
timecount=0;
Vc=T0count*65536+TH0*256+TL0;
Vs=144;
if(abs(Vc-Vs)>5)
{ tm=abs(k*(Vc-Vs));
T0count=0;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
}
FLAG=1;
TR0=0;
timecount=0;
}
P0=dispbit[discount];
P1=seg[disbuf[discount]];
discount++;
if(discount==6)
{ discount=0;
}
}
void main()
{ uint i;
TMOD=0x15;
TH0=0;
TL0=0;
TH1=(65536-tm)/256;
TL1=(65536-tm)%256;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
while(1)
{ if(FLAG==1)
{ FLAG=0;
x=T0count*65536+TH0*256+TL0;
for(i=0;i<6;i++)
{temp[i]=0;
}
i=0;
while(x/10)
{
temp[i]=x%10;
x=x/10;
i++;
}
temp[i]=x;
for(i=0;i<6;i++)
{
disbuf[i]=temp[i];
}
timecount=0;
T0count=0;
TH0=0;
TL0=0;
T0count=0;
TR0=1;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-04 17:10 光电编码显示电机转速\
文件 7911 2013-06-19 10:25 光电编码显示电机转速\04
文件 9758 2013-06-19 10:25 光电编码显示电机转速\04.M51
文件 912 2013-06-19 15:25 光电编码显示电机转速\04.Opt
文件 2198 2013-06-19 10:25 光电编码显示电机转速\04.Uv2
文件 3770 2013-06-19 10:25 光电编码显示电机转速\04.hex
文件 54 2013-06-19 10:25 光电编码显示电机转速\04.lnp
文件 1104 2013-06-19 10:25 光电编码显示电机转速\04_Opt.Bak
文件 2194 2013-06-18 21:35 光电编码显示电机转速\04_Uv2.Bak
文件 4699 2013-06-19 10:21 光电编码显示电机转速\1011.LST
文件 7870 2013-06-19 10:21 光电编码显示电机转速\1011.OBJ
文件 1754 2008-11-11 11:30 光电编码显示电机转速\1011.c
文件 3770 2008-11-11 11:16 光电编码显示电机转速\1011.hex
文件 138160 2017-03-26 07:56 光电编码显示电机转速\1021.DSN
文件 840 2019-03-04 17:10 光电编码显示电机转速\1021.PWI
文件 139642 2013-06-19 15:44 光电编码显示电机转速\Last Loaded 1021.DBK
文件 6376 2005-03-22 15:22 光电编码显示电机转速\STARTUP.A51
文件 14049 2013-06-19 10:21 光电编码显示电机转速\STARTUP.LST
文件 749 2013-06-19 10:21 光电编码显示电机转速\STARTUP.OBJ
- 上一篇:SOLIDWORKS材质库大全
- 下一篇:labview串口调试程序
相关资源
- Proteus 仿真运算器实验
- 基于51单片机的数字频率计及proteus仿
- 数字电压表及proteus仿真
- 多路温度采集—8086与Proteus实现
- AVR-mega128单片机实现温度DS18B20,prot
- 交通灯课程设计数电 proteus实现
- 基于单片机的dac0832阶梯波的proteus仿真
- 用proteus设计仿真硬件电路图:用808
- 用proteus设计仿真硬件电路图:利用
- 基于Proteus的数字钟设计及仿真.
- PROTEUS的光耦 NPN-4,TLP521,PC817的
- RS485总线的proteus环境下仿真,实现1主
- 51单片机Proteus仿真320x240TFT彩屏.rar
- 51单片机的比赛计时计分系统Proteus仿
- proteus仿真buck电路
- mcs 51单片机 proteus 仿真实用大全 集合
- 金沙滩51单片机proteus文件
- 51单片机万年历程序及proteus仿真
- 51单片机DS18B20程序及proteus仿真
- AT89C52单片机开发板完整Proteus仿真图
- 基于Proteus的双直流稳压电源的设计与
- uCOSII在M32上移植的完整代码含proteus模
- proteus单片机仿真串口汽车防夹
- 0145、低成本可调数显稳压电源(1.3
- Proteus不用单片机的数字电路频率计仿
- Proteus 仿真MSP430之LCD12864
- proteus 双机通信仿真简单实用的单片机
- 直流电机PWM控制proteus仿真图
- 波形发生器 Proteus
- 基于ATmega128的BK-AVR128开发板Proteus仿真
评论
共有 条评论