欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

1602動態顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:378041 發表于 2018-7-23 17:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 515229319 于 2018-7-24 10:52 編輯

實現1602基本動態顯示:
(附詳細解析)
  實現
#include<reg52.h>        //52系列單片機頭文件
#define uchar unsigned char      //宏定義
#define uint unsigned int      //宏定義
uchar code table[]="51 dan pian ji";
uchar code table1[]="conscientious";
uchar num;

sbit lcden=P3^5;        //液晶使能端
sbit lcdrw=P3^6;        
sbit lcdrs=P3^7;        //液晶數據命令選擇端

void delay(uint z)        //延時函數
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

void write_com(uchar com)    //子函數
{
lcden=0;       //選擇寫命令模式
lcdrw=0;
P0=com;        //將要寫的命令字送到數據總線上
delay(10);          //稍做延時以待數據穩定
lcden=1;       //使能端給一高脈沖,因為初始化函數中已經將lcden置位0
delay(10);          //稍做延時
lcden=0;       //將使能端置0以完成高脈沖
}

void write_date(uchar date)
{
lcden=0;
lcdrs=1;       //選擇寫命令模式
lcdrw=0;
P0=date;       //將要寫的命令字送到數據總線上
delay(10);       //稍做延時以待數據穩定
lcden=1;       //使能端給一高脈沖,因為初始化函數中已經將lcden置位0
delay(10);       //稍做延時
lcden=0;       //將使能端置0以完成高脈沖
}

void init()
{
lcden=0;
lcdrw=0;
write_com(0x38);     //00111000  設置16*2顯示,5*7點陣,8位數據接口
write_com(0x0c);     //00001100 設置開顯示,不顯示光標    改為0x0f則帶閃爍光標(00001111)
write_com(0x06);     //00000110 寫一個字符后地址指針加1
write_com(0x01);     //00000001  顯示清0,數據指針清0
}

void main()
{
init();
write_com(0x80+0x10);   
for(num=0;num<14;num++)
{
  write_date(table[num]);
  delay(10);
}
write_com(0x80+0x50);   
for(num=0;num<13;num++)
{
  write_date(table1[num]);
  delay(10);
}
for(num=0;num<16;num++)
{
  write_com(0x18);     //左移指令
  delay(200);              //控制進入速度
}
while(1);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表