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

標題: 1602液晶顯示始終(沒用時鐘芯片) [打印本頁]

作者: NB沒B    時間: 2014-8-28 13:25
標題: 1602液晶顯示始終(沒用時鐘芯片)
#include<stc12.h>    //共需要三個按鍵 一個是功能選擇鍵(時,分。秒的選擇) 一個加 一個減
#define uint unsigned int  //我并沒用時鐘芯片 只使用的定時器中斷
#define uchar unsigned char
uchar code table[]={"0123456789:"};
uchar shi,fen,miao;    // 全局變量
sbit beep1=P3^1;    // 蜂鳴器 按鍵是響
sbit key1=P3^4;     // 功能選擇按鍵
sbit key2=P3^3;     // 時間加按鍵
sbit key3=P3^2;     //  時間減按鍵
sbit lcden=P1^2;     // 使能信號
sbit RW=P1^1;     // 讀/寫選擇端
sbit lcdrs=P1^0;     //  數據或者命令選擇端
void delay(uint);    // 延時函數
void key();      // 按鍵掃描
void beep();     // 蜂鳴器
void show();     // 顯示函數
void init_T1();     // 定時器初始函數
void init_1602();    // 1602初始函數
void write_com(uchar com);  //  命令選擇端
void write_data(uchar date); //  數據選擇端
void main()      //  主函數
{
init_1602();
init_T1();
while(1)
{
  key();
  show();
}
}
//##############定時器1的使用############
void init_T1()
{
TMOD=0x10;
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
EA=1;
ET1=1;
TR1=1;
}
void ser_50() interrupt 3
{
uchar a;
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
a++;
if(a>=20)      //用>=比用==好
{miao++;a=0;}
if(miao>=60)
{fen++;miao=0;}
if(fen>=60)
{fen=0;shi++;}
if(shi>=24)
shi=0;
}
//###############顯示時間##########
void show()
{ uchar shi1,ge1,shi2,ge2,shi3,ge3;
shi1=shi/10;
ge1=shi%10;
shi2=fen/10;
ge2=fen%10;
shi3=miao/10;
ge3=miao%10;
write_com(0x80);
write_data(table[shi1]);
write_data(table[ge1]);
write_data(table[10]);
write_data(table[shi2]);
write_data(table[ge2]);
write_data(table[10]);
write_data(table[shi3]);
write_data(table[ge3]);
}
//###############按鍵掃描###################
void key()
{
uchar num;
if(key1==0)
{
  delay(20);
  if(key1==0)
  {
   num++;
   while(!key1);
   beep();
   if(num==1)
   {
    TR1=0;     //關定時器 否則會無法調節
    write_com(0x80+7);
    write_com(0x0f);
   }
   if(num==2)
   write_com(0x80+4);
   if(num==3)
   write_com(0x80+1);
   if(num==4)
   {
    num=0;
    write_com(0x0c);   //關光標
    TR1=1;
   }
  }
}
if(num!=0)    //只有功能按鍵按下去的時候才可以調節
{
  if(key2==0)      //加時間
  {
   delay(5);
   if(key2==0)
   {
    while(!key2);
    beep();
    if(num==1)
    {
     miao++;
     if(miao==60)
     miao=0;
     show();
     write_com(0x80+7);
    }
    if(num==2)
    {
     fen++;
     if(fen==60)
     fen=0;
     show();
     write_com(0x80+4);
    }
    if(num==3)
    {
     shi++;
     if(shi==24)
     shi=0;
     show();
     write_com(0x80+1);
    }
   }
  }
  if(key3==0)      //減時間
  {
   delay(5);
   if(key3==0)
   {
    while(!key3);
    beep();
    if(num==1)
    {
     miao--;
     if(miao==-1)
     miao=59;
     show();
     write_com(0x80+7);
    }
    if(num==2)
    {
     fen--;
     if(fen==-1)
     fen=59;
     show();
     write_com(0x80+4);
    }
    if(num==3)
    {
     shi--;
     if(shi==-1)
     shi=23;
     show();
     write_com(0x80+1);
    }
   }
  }
}
}
//###########################1602部分###############
void write_com(uchar com)//寫命令的狀態
{
lcdrs=0;//選擇寫命令模式
P0=com; // 將要寫入的命令送到數據總線上
delay(5);// 稍作延時以待數據穩定
lcden=1; //
delay(5);//
lcden=0; //
}
void write_data(uchar date)//寫數據的狀態
{
lcdrs=1;        // 寫數據
P0=date;        // p0使顯示數據總線
delay(5);   
lcden=1;     
delay(5);   
lcden=0;      
}
void init_1602()  // 初始化的狀態
{  RW=0;
   lcden=0;//
   write_com(0x38);  // 設置16*2顯示,5*7點陣,8位數據接口
   write_com(0x0c);  // 設置開顯示,不顯示光標
   write_com(0x06);  // 寫一個字符后地址自動加1
   write_com(0x01);  // 清除所有
   write_com(0x80);
}
//蜂鳴器
void beep()
{
beep1=0;
delay(100);
beep1=1;
}
//延時函數
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

作者: NB沒B    時間: 2014-8-28 13:44
大家還有什么想要的?看看我有沒  有的話就放出來大家交流交流  大家有什么好玩的作品嗎?暑假無聊想做些東西 LED旋轉顯示 貪吃蛇 搖搖棒 光立方小車循跡 之類的就不要了 這些都做過le
作者: a110    時間: 2014-8-28 15:38
樓主果然是 大牛   用定時器模擬的時鐘  樓主有做過藍牙小車嗎?
作者: a110    時間: 2014-8-28 15:38
很好 回帖還有獎勵
作者: NB沒B    時間: 2014-8-28 15:45
a110 發表于 2014-8-28 15:38
樓主果然是 大牛   用定時器模擬的時鐘  樓主有做過藍牙小車嗎?

還沒有準備做呢
作者: NB沒B    時間: 2014-8-28 15:46
a110 發表于 2014-8-28 15:38
很好 回帖還有獎勵

給評點分唄
作者: a110    時間: 2014-8-28 15:58
NB沒B 發表于 2014-8-28 15:46
給評點分唄

必須的,我現在準備做藍牙小車  還沒有頭緒啊  
作者: liuxin198405    時間: 2014-8-28 16:30
NB沒B 發表于 2014-8-28 13:44
大家還有什么想要的?看看我有沒  有的話就放出來大家交流交流  大家有什么好玩的作品嗎?暑假無聊想做些東 ...

電子密碼鎖,要不要?

作者: NB沒B    時間: 2014-8-28 16:32
liuxin198405 發表于 2014-8-28 16:30
電子密碼鎖,要不要?

這個可以 我做做看 謝啦
作者: liuxin198405    時間: 2014-8-28 16:48
不錯的程序,易懂

作者: liuxin198405    時間: 2014-8-28 17:08
NB沒B 發表于 2014-8-28 16:32
這個可以 我做做看 謝啦

要原理圖還是程序?

作者: NB沒B    時間: 2014-8-28 17:09
liuxin198405 發表于 2014-8-28 17:08
要原理圖還是程序?

你有嗎?

作者: liuxin198405    時間: 2014-8-28 17:10
想要嗎?

作者: NB沒B    時間: 2014-8-28 17:15
liuxin198405 發表于 2014-8-28 17:10
想要嗎?

我也有資料  但是資料多多益善
作者: xing3198    時間: 2014-9-21 10:00
學習學習,謝謝分享。。。
作者: wmt333    時間: 2014-10-4 20:31
謝謝分享
作者: 吳宇    時間: 2014-10-18 21:51
給我一個1602菜單!
作者: anzaichao    時間: 2014-10-19 15:23
下下來看看
作者: zxj366    時間: 2014-10-24 21:49
高手呀高手,我還沒有資格交流
作者: 1qaz2wsx77    時間: 2015-11-16 16:27
很有創意,學習了
作者: xiaoxu    時間: 2015-12-9 20:19
有電路原理圖嗎  ?
作者: zjzkl    時間: 2015-12-10 07:30
樓主也是夠牛啊
作者: 郭263337    時間: 2016-4-16 16:07
樓主想要仿真文件
作者: 郭263337    時間: 2016-4-16 16:17
簡介好程序,推薦
作者: linymda    時間: 2016-8-8 16:08
移植成功,學習了,謝謝!
作者: 大胸男    時間: 2016-8-22 14:22
鍵盤掃描程序IF語句用的太多,看起來有點累,有用SWITH做的鍵盤掃描嗎?
作者: nj1104    時間: 2016-8-23 13:11
好東西,能把原理圖一并發出來,更適合初學者了
作者: 龔紅    時間: 2016-9-29 16:40
1602不用判忙嗎
作者: chenwqq    時間: 2017-2-28 19:57

謝謝分享
作者: kening@6    時間: 2017-6-17 07:55
這個不錯,謝謝
作者: kening@6    時間: 2017-6-17 15:39
這個不錯,謝謝
作者: lywtz    時間: 2017-6-17 23:33
學習學習




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩中文字幕在线观看 | av网站在线看 | 久久久久国产一区二区三区四区 | 精品久久久久久亚洲综合网 | 精品国产免费一区二区三区五区 | 久久久精品久久久 | 国产亚洲一区二区三区 | 成人在线国产 | 欧美国产日本一区 | 国产精品欧美一区二区三区不卡 | 国产精品国产精品国产专区不蜜 | 国产一区在线视频 | 国产99热 | 青青草精品 | 免费亚洲婷婷 | 午夜无码国产理论在线 | 国产欧美精品区一区二区三区 | 亚洲国产欧美一区二区三区久久 | 午夜精品一区二区三区在线视频 | 天天干夜夜操 | h视频在线观看免费 | 第四色影音先锋 | 色眯眯视频在线观看 | 久久久精品影院 | 欧美一区二区免费在线 | 日韩精品一区二区三区中文在线 | 午夜欧美一区二区三区在线播放 | 每日在线更新av | 久久国产精品偷 | 精品福利在线视频 | 免费1区2区3区 | 五月婷婷亚洲 | 99在线播放 | 黄网站免费在线 | 久久最新精品视频 | 国产精品久久久久久久久久久久午夜片 | 国产美女永久免费无遮挡 | 成人激情视频免费在线观看 | 91在线视频免费观看 | 久久草视频 | 亚洲综合视频 |