#include <reg51.h>
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char code tab1[]={'K','M','H','z','V',' '};
unsigned char code tab2[]={'E','R','R','E','R',' '};
unsigned char code tab3[]={'P','L','L',' '};
unsigned char code numb[]={'0','1','2','3','4','5','6','7','8','9','.','-',' '};
unsigned char num[5]; //此不能为code形
uint c=0;
sbit p35=P3^5;
bit flag=1; //显示标志位
/*与lcd有关的口*/
sbit RS=P2^7;
sbit WR1=P2^6; //这里不能定义WR!!!!!
sbit E=P2^5;
sbit RDat=P2^4;
sbit TD=P2^3;
/*sbit RS=P3^7;
sbit WR=P3^6;
sbit E=P3^5;
sbit RDat=P3^4;
sbit TD=P3^3;
/*共阴代码*/
//unsigned char code numb0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*虚拟同步串行通信*/
void corr(uchar dat) //164使用共阴代码
{uchar ADS,i;
ADS=dat;
for(i=8;i>0;i--)
{
RDat=ADS&0x80; TD=0; //此处有误,已改
TD=1;
ADS=ADS<<1;
}
}
/**************************************************/
/*延时程序*/
void delay(uchar j)
{
uchar n;
for(j;j>0;j--)
{for(n=248;n>0;n--){} //delay500us
}
}
/*查忙标志*/
/* void f_buzy(void)
{
unsigned char j;
RS=0;
WR=1;
j=P0;
while((j&0x80)==0x80) ;
WR=0;
}*/
/*指令发送*/
void lcd_com(unsigned char a)
{ E=1;
RS=0;
WR1=0;
corr(a);
/*f_buzy(); */
delay(1);
E=0;
}
/*数据发送*/
void lcd_dat(unsigned char b)
{ E=1;
RS=1;
WR1=0;
corr(b);
/*f_buzy(); */
delay(1);
E=0;
}
/*********************************/
void lcd_init(void)
{
delay(20);
lcd_com(0x0c); //显示开关控制,开显示,开光标,闪烁�
lcd_com(0x38); //8位数据总线,两行显示,5X7点阵
lcd_com(0x01); //清屏
delay(20);
lcd_com(0x06); //AC自动加1,显示不动
}
/*********************数字分离**********************************/
void separate(uint Data)
{num[4]=Data%10;
num[3]=(Data/10)%10;
num[2]=Data/100%10;
num[1]=Data/1000%10;
num[0]=Data/10000;
}
/***************/
void t1() interrupt 3 using 2
{uchar a,b,i,k;
a=TH0;
b=TL0;
TH0=0x00;
TL0=0x00;
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
k=a*256+b; //
c=c+k;
i++;
if(i==20)
{i=0;
c=0;
}
flag=1;
TR0=1;
TR1=1;
}
/***************/
void init(void)
{TH0=0x00;
TL0=0x00;
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
TR0=1;
TR1=1;
EA=1;
ET1=1;
}
main()
{ uchar i;
TMOD=0x15;
lcd_init();
init();
delay(20);
//lcd_com(0x0f); //显示开关控制,开显示,开光标,闪烁�
//lcd_com(0x38); //8位数据总线,两行显示,5X7点阵
//lcd_com(0x01); //清屏
//delay(2);
//lcd_com(0x06); //AC自动加1,显示不动
// lcd_com(0x0c); //
flag=0;
p35=0;
while(1)
{//c=0x84;
separate(c);
delay(200);
delay(200);
if(flag)
{flag=0;
//separate(c);
lcd_com(0x81); //第一行
for(i=0;i<5;i++)
lcd_dat(numb[num[i]]); //
// lcd_com(0xc1); //第二行
}
}
}
电机转速计51单片机程序.zip
版权申诉
61 浏览量
2022-06-30
00:40:34
上传
评论
收藏 1KB ZIP 举报
卷积神经网络
- 粉丝: 338
- 资源: 8460
最新资源
- Pytorch-pytorch深度学习教程之前馈神经网络.zip
- Pytorch-pytorch深度学习教程之线性回归.zip
- Pytorch-pytorch深度学习教程之基本操作.zip
- 基于QT的地图可视化桌面系统后台数据库为MySQL5.7源码.zip
- 基于simulink的PLL锁相环系统仿真【包括模型,文档,参考文献,操作步骤】
- 基于EM-GMM模型的目标跟踪和异常行为检测matlab仿真【包括程序,注释,参考文献,操作步骤,说明文档】
- 2109010044_胡晨燕_选课管理数据库设计与实现.prj
- 帕鲁介绍的PPT备份没什么好下的
- demo1-202405
- 两种方式修改Intel网卡MAC地址
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈