久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5377|回復: 5
打印 上一主題 下一主題
收起左側

51單片機 1602液晶2路測速

  [復制鏈接]
跳轉到指定樓層
樓主
ID:82781 發表于 2015-6-13 19:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include<reg52.h>//51單片機頭文件

#define uchar unsigned char//宏定義
#define uint unsigned int
uchar code digit[]={"0123456789"};//定義字符數組數字
uchar disp[8];//存儲拆開的數
uint cnt;//中斷次數
uchar v;//電機0速度
uchar s;//電機1速度
uchar flag;        //計滿1秒鐘標志位
/////////
sbit rs=P2^6;//數據命令選擇
sbit rw=P2^5;//讀寫控制信號
sbit e=P2^7;//使能信號
///////////////
void delay_50us(uint t)//50us延時函數
{
uchar j;
for(;t>0;t--)
    for(j=19;j>0;j--);
}
/////////////
/*
void delay_50ms(uint t)//50ms延時函數
{
uint j;
   for(;t>0;t--)
   for(j=6245;j>0;j--);
}
/////////
*/
void write_com(uchar com)//寫地址
{
e=0;
rs=0;
rw=0;
P0=com;
delay_50us(10);
e=1;
delay_50us(10);
e=0;
}
///////
void write_data(uchar dat)// 寫數據
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_50us(10);
e=1;
delay_50us(10);
e=0;
}
//////
void init(void)//液晶初始化
{
  delay_50us(300);
  write_com(0x38);
  delay_50us(100);
  write_com(0x38);
  delay_50us(100);
  write_com(0x38);
  write_com(0x38);
  write_com(0x08);
  write_com(0x01);
  write_com(0x06);
  write_com(0x0c);
}
/////////////
void writeaddress(uchar x)//指定字符的實際地址
{

  write_com(x|0x80);//顯示位置的確定方法規定為“80h+地址碼x“
}
//////////
void display_sym(void)//顯示速度提示符
{
writeaddress(0x00);//寫顯示地址第一行第一列
write_data('v');//寫數據v
write_data('=');//寫數據=
writeaddress(0x00+0x40);//寫顯示地址第一行第一列
write_data('s');//寫數據v
write_data('=');//寫數據=
}
//////
void dispose()//
{
disp[0]=v/1000;
disp[1]=(v%1000)/100;
disp[2]=(v/100)/10;
disp[3]=v%10;
disp[4]=s/1000;
disp[5]=(s%1000)/100;
disp[6]=(s/100)/10;
disp[7]=s%10;
}
/////////////
void display_val(void)
{
writeaddress(0x02);//寫顯示地址,第一行第三列
  write_data(digit[disp[0]]);//千
  write_data(digit[disp[1]]);//百
  write_data(digit[disp[2]]);//時
  write_data(digit[disp[3]]);//個
   writeaddress(0x02+0x40);//寫顯示地址,第2行第三列
  write_data(digit[disp[4]]);//千
  write_data(digit[disp[5]]);//百
  write_data(digit[disp[6]]);//時
  write_data(digit[disp[7]]);//個

}   
////////
void display_uint(void)//顯示速度單位
{
  writeaddress(0x06);//第1行第7列
  write_data('r');//千
  write_data('/');//百
  write_data('m');//時
  write_data('i');//個
  write_data('n');//個
writeaddress(0x06+0x40);//第2行第7列
  write_data('r');//千
  write_data('/');//百
  write_data('m');//時
  write_data('i');//個
  write_data('n');//個

}
void initial()//初始化
{
TMOD=0x55; //定時器T1工作與計數器模式1,定時器T0工作于計數器模式1
RCAP2H=(65536-50000)/256;
RCAP2L=(65536-50000)%256;
ET2=1;
TR2=1;
EA=1;

}
///////
void main()
{
init();
v=0;
s=0;
initial();
cnt=0;
display_sym();
display_uint();

while(1)
{
TR1=1;
TR0=1;
TH1=0;
TL1=0;
TH0=0;
TL0=0;
flag=0;        // 時間還未滿1分鐘
while(flag==0);        // 時間未滿等待
v=(TH1*256+TL1)*60/20;        // 計算速度,每周產生20個脈沖
s=(TH0*256+TL0)*60/20;        // 計算速度,每周產生20個脈沖
dispose();
display_val();
}
}
//////
void time2() interrupt 5//定時器T2中斷服務程序
{
TF2=0;
cnt++;
if(cnt==20)
{
flag=1;
cnt=0;
}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩1
回復

使用道具 舉報

沙發
ID:88643 發表于 2015-8-21 09:41 | 只看該作者
收藏了。
回復

使用道具 舉報

板凳
ID:760232 發表于 2021-5-14 14:09 | 只看該作者
D0-D7到底應該接在哪八個I/O口?
回復

使用道具 舉報

地板
ID:876539 發表于 2021-5-14 16:39 | 只看該作者
往昔 發表于 2021-5-14 14:09
D0-D7到底應該接在哪八個I/O口?

這個要按你程序里設置的來接
回復

使用道具 舉報

5#
ID:600695 發表于 2021-10-18 04:59 | 只看該作者
電路怎么接?怎么樣測量,轉速范圍是多少
回復

使用道具 舉報

6#
ID:1042173 發表于 2022-9-2 00:47 | 只看該作者
你這沒有加外部測速模塊,那來的數據,顯示速度??
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线免费亚洲视频 | 亚洲乱码国产乱码精品精98午夜 | 国产精品久久久久9999鸭 | 国产在线网站 | 国产成人精品免费 | 久久久久久久夜 | 999免费视频 | 日韩欧美一级 | 日韩在线一区二区三区 | 久久久国产一区二区三区 | 一二三区视频 | 操久久 | 精品久久影院 | 国产精品久久久久久52avav | 999精品视频在线观看 | 久久国产精品久久久久久久久久 | 日本在线免费 | 日韩中文字幕视频 | 成人午夜电影在线观看 | 久久国产精品视频免费看 | 国产毛片毛片 | 国产精品久久久久久久久久99 | 色婷婷av久久久久久久 | 成人在线精品视频 | 国产精品99久久久久久www | 激情自拍偷拍 | 国产一区二区视频免费在线观看 | 色综合视频 | 久久精品中文字幕 | 一区二区三区四区电影视频在线观看 | av 一区二区三区 | 久久久久久国产 | 久久一区二区精品 | 美女人人操 | 欧美一区二区精品 | 人人玩人人干 | 日韩不卡视频在线观看 | 国产精品永久免费视频 | 欧洲精品一区 | 国产日韩欧美在线观看 | 人人澡视频 |