资源简介
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串口调试程序
相关资源
- 51单片机PWM程序,占空比、周期可调整
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- DS18B20分布式多点测温的Proteus仿真
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 51多机通信(内附Proteus及.hex文件)
- IIC proteus仿真实验
- 8086交通灯 Proteus原理图及程序
- 单片机仿真软件proteus6.7免安装绿色版
- 关于proteus仿真arm7出现错误的问题
- 基于PROTEUS的ARM7显示系统设计与仿真实
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- proteus元件库对照表 (整理清晰)
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- 基于51单片机的交通灯设计
- 基于AT89C51的十字路口交通灯设计pro
- Proteus单片机仿真大全几百个part4
- Proteus升压电路仿真
- keil调试仿真技巧-从入门到精通
- 十字路口交通灯.pdsprj
- 12864液晶Proteus模型
- 数电设计 交通灯控制逻辑电路设计
- Proteus仿真的单片机控制步进电机及液
评论
共有 条评论