久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機+1602液晶顯示字符串中的某一個字符閃爍程序
[打印本頁]
作者:
用戶21111412
時間:
2020-9-25 13:29
標題:
單片機+1602液晶顯示字符串中的某一個字符閃爍程序
1602液晶顯示0~9,按鍵可切換,不閃爍與其中一位閃爍(暫時沒想到什么簡便的方法,只能采用最原始的方法了)。
51hei截圖20200925132739.jpg
(83.27 KB, 下載次數(shù): 53)
下載附件
2020-9-25 13:28 上傳
#include "reg51.h"
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;
sbit KEY0=P2^4;
uchar code table[]="0123456789";
uchar m=0;
/*******************************************************
延時函
*******************************************************/
void delayus(uint z)
{
while(z--);
}
/*******************************************************
延時函數(shù),12MHz晶振下,在z為1時,延時約17us
*******************************************************/
bit Busy()
{
bit bsy;
RS=0;
RW=1;
EN=1;
_nop_();
_nop_();
_nop_();
_nop_();
bsy=(bit)(P0&0x80);
EN=0;
return (bsy);
}
/*******************************************************
寫指令函數(shù)
*******************************************************/
void Write_Command(uchar com)
{
while(Busy());
RS=0;
RW=0;
P0=com;
delayus(1);
EN=1;
EN=0;
}
/*******************************************************
寫數(shù)據(jù)函數(shù)
*******************************************************/
void Write_Data(uchar dat)
{
while(Busy());
RS=1;
RW=0;
P0=dat;
delayus(1);
EN=1;
EN=0;
}
/*******************************************************
液晶初始化函數(shù)
*******************************************************/
void LCD_Init()
{
Write_Command(0x38);
Write_Command(0x0C);
Write_Command(0x06);
Write_Command(0x01);
}
void Key()
{
uint temp0;
static uchar pass0=0;
if(KEY0==0)
temp0++;
if(temp0>20&&pass0==0)
{
pass0=1;
if(m<10)
m++;
else
m=0;
}
if(KEY0==1)
{
temp0=0;
pass0=0;
}
}
void display()
{
switch(m)
{
case 0:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 1:
Write_Command(0x80);
Write_Data(table[0]);
delayus(500);
Write_Command(0x80);
Write_Data(0x20);
delayus(500);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 2:
Write_Command(0x80);
Write_Data(table[0]);
Write_Command(0x80+1);
Write_Data(table[1]);
delayus(200);
Write_Command(0x80+1);
Write_Data(0x20);
delayus(200);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 3:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Command(0x80+2);
Write_Data(table[2]);
delayus(200);
Write_Command(0x80+2);
Write_Data(0x20);
delayus(200);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 4:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Command(0x80+3);
Write_Data(table[3]);
delayus(200);
Write_Command(0x80+3);
Write_Data(0x20);
delayus(200);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 5:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Command(0x80+4);
Write_Data(table[4]);
delayus(200);
Write_Command(0x80+4);
Write_Data(0x20);
delayus(200);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 6:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Command(0x80+5);
Write_Data(table[5]);
delayus(200);
Write_Command(0x80+5);
Write_Data(0x20);
delayus(200);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 7:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Command(0x80+6);
Write_Data(table[6]);
delayus(200);
Write_Command(0x80+6);
Write_Data(0x20);
delayus(200);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 8:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Command(0x80+7);
Write_Data(table[7]);
delayus(200);
Write_Command(0x80+7);
Write_Data(0x20);
delayus(200);
Write_Data(table[8]);
Write_Data(table[9]);
break;
case 9:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Command(0x80+8);
Write_Data(table[8]);
delayus(200);
Write_Command(0x80+8);
Write_Data(0x20);
delayus(200);
Write_Data(table[9]);
break;
case 10:
Write_Command(0x80);
Write_Data(table[0]);
Write_Data(table[1]);
Write_Data(table[2]);
Write_Data(table[3]);
Write_Data(table[4]);
Write_Data(table[5]);
Write_Data(table[6]);
Write_Data(table[7]);
Write_Data(table[8]);
Write_Command(0x80+9);
Write_Data(table[9]);
delayus(200);
Write_Command(0x80+9);
Write_Data(0x20);
delayus(200);
break;
}
}
main()
{
LCD_Init();
while(1)
{
Key();
display();
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产剧情一区
|
国产精品永久免费
|
精品日韩一区
|
日日射影院
|
人人看人人搞
|
欧美成人免费在线视频
|
www.亚洲精品
|
www.精品国产
|
国产精品99久久久精品免费观看
|
国产精品v
|
婷婷久久网
|
精品三级在线观看
|
日本高清视频在线播放
|
99久久精品免费看国产四区
|
免费一级欧美在线观看视频
|
97精品超碰一区二区三区
|
久久久亚洲
|
蜜桃av鲁一鲁一鲁一鲁
|
黄免费观看
|
在线中文字幕第一页
|
美女久久视频
|
国产欧美一区二区三区久久人妖
|
日本三级做a全过程在线观看
|
久久久久国产一区二区三区
|
日本精品久久
|
玖玖玖在线
|
欧美视频免费在线
|
亚洲精品欧洲
|
亚洲国产网
|
日韩中文字幕在线观看
|
很黄很污的网站
|
久久乐国产精品
|
www.一区二区三区.com
|
亚洲精品欧美
|
久久一区二区三区四区
|
精品久久久久久久久久久久
|
97在线观视频免费观看
|
免费国产视频
|
国产国语精品
|
欧美视频成人
|
在线观看成人免费视频
|