在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用51單片機流水燈和LCD1602實現表白功能

電子工程師成長日記 ? 來源:電子工程師成長日記 ? 2023-08-17 09:45 ? 次閱讀

具體實現功能:

利用51單片機流水燈和LCD1602實現表白功能。

8d79258e-3c37-11ee-ac96-dac502259ad0.gif

設計介紹

8daa857a-3c37-11ee-ac96-dac502259ad0.png

51單片機簡介

51單片是一種低功耗、高性能CMOS-8位微控制器,具有8K可編程Flash存儲器,使得其為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。

51系列單片機具有以下標準功能:

8k字節Flash,512字節RAM

32位I/O口線,看門狗定時器

內置4KB EEPROM

MAX810復位電路,

三個16位定時器/計數器,

一個6向量2級中斷結構,

全雙工串行口。

另外, 51系列在空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機停止工作,直到下一個中斷或硬件復位為止。本設計所使用的芯片可兼容以下所有的51系列單片機(包括AT系列和STC系列)。

8dc348e4-3c37-11ee-ac96-dac502259ad0.png

設計思路

文獻研究法:搜集整理相關研究資料,閱讀文獻,為研究做準備;

調查研究法:通過調查、分析、具體實驗等方法,發現相關存在問題和解決辦法;

比較分析法:比較不同設計的具體原理,以及同一類傳感器性能的區別,分析系統的研究現狀與發展前景;

軟硬件設計法:通過軟硬件設計實現硬件,最后測試各項功能是否滿足要求。

單片機類設計論文參考模板:

畢設無憂|單片機類畢設論文模板

設計內容

仿真圖(protues8.7)

本設計利用protues8.7軟件實現仿真設計,具體如圖。

注:免費分享,請按照下圖自行繪制仿真!!

8df301ba-3c37-11ee-ac96-dac502259ad0.png

protues8.7軟件資料及仿真解決辦法:

proteus8.7安裝及破解教程(內附安裝包)

protues仿真常見問題解決方案

Protues8.7簡易教程

程序(Keil5)

本設計利用KEIL5軟件實現程序設計。

注:全部代碼免費分享,請自行建立工程!!

本設計由C語言編寫,全部代碼如下:

#include      //包含頭文件
#include 
#define uchar unsigned char 
#define uint unsigned int 


#define SPEED     10  //流水燈的速度


sbit RS = P2^2;//命令數據選擇腳
sbit RW = P2^3;//讀寫操作腳
sbit E  = P2^4;//使能腳 低電平有效


/****延時****/
void delay(uint i)
{
  uint j=1000;
  while(i--)
  {
    j=1000;
    while(j--);
  }
}


void delayms(uint z)   //毫秒
{
  uint x,y;
    for(x=z;x>0;x--)
      for(y=110;y>0;y--);   
}


uchar LED_WATER1()
{
  static uchar temp1=0x01,temp2=0x80;
  P1=~temp1;
  temp1=_crol_(temp1,1);
  P3=~temp2;
  temp2=_cror_(temp2,1);
  
  delay(SPEED);
  if(temp1==0x01)//循環了一圈
  {return 1;}
  else
  return 0;
}


void write_command(uchar command)//寫指令函數
{
  RW = 0;//寫
  RS = 0;//指令
  E = 1;//拉高電平
  P0 = command;//送指令
  delay(20);//延時
  E = 0;//拉低電平 輸出有效
  RW = 1;//拉高電平
}
void write_data(uchar date)//
{
  RW = 0;//寫
  RS = 1;//數據
  E = 1;//拉高電平
  P0 = date;//送數據
  delay(20);//延時
  E = 0;//使能腳 低電平寫入有效
  RW = 1;//拉高電平
}


void display_string(uchar *p)//顯示地址函數
{
  while(*p)//循環這個p
  {
    write_data(*p);//送數據  為p
    p++;//每次p自加一
  }
}
void gotoxy(unsigned y,unsigned x)//地址位置定義
{
  if(y == 1) // 如果y等于1
    write_command(0x80+x);//地址就是0x80加上x
  else if(y == 2) //如果y等于1
      write_command(0x80+0x40+x);//地址就是0x80+0x40(第二行)加上x
}
 void F1602_init(void)//初始化函數
{
  write_command(0x38);//兩行,每行16字符,每個字符5*7點陣  
  write_command(0x0C);//開光標及進入光標設置
  write_command(0x06C);//設置光標和地址自動加一
}
void F1602_clear()//清屏
{
  write_command(0x01);//寫指令 0x01 清屏  
  write_command(0x02);//寫指令 0x02 光標回歸原點 但內容不變  
}  


uchar LED_WATER2()
{
  static uchar temp1=0x01,temp2=0x01;
  P1=~temp1;
  temp1=_crol_(temp1,1);
  P3=~temp2;
  temp2=_crol_(temp2,1);
  
  delay(SPEED);
  if(temp1==0x01)
  {return 1;}
  else
  return 0;
}
uchar LED_WATER3()
{
  static uchar temp1=0x07,temp2=0x07;
  P1=~temp1;
  temp1=_crol_(temp1,1);
  P3=~temp2;
  temp2=_crol_(temp2,1);  
  delay(SPEED);
  if(temp1==0x07)
  {return 1;}
  else
  return 0;
}
uchar LED_WATER4()
{
  static uchar temp1=0x07,temp2=0xe0;
  P1=~temp1;
  temp1=_crol_(temp1,1);
  P3=~temp2;
  temp2=_cror_(temp2,1);
  
  delay(SPEED);
  if(temp1==0x07)//循環了一圈
  {return 1;}
  else
  return 0;
}


//主函數 
void main()
{   
  F1602_init();//初始化1602
  F1602_clear();//清屏
  LED_WATER1(); 
  delayms(500);
  LED_WATER2(); 
  delayms(500);
  LED_WATER3();
  delayms(500);    
  LED_WATER4();


  display_string("   I LOVE YOU   ");//執行顯示地址函數   
  gotoxy(2,0);//設定地址
  display_string("    MY  GIRL    ");


  while(1)
  {
    LED_WATER1(); 
    delayms(500);
    LED_WATER2(); 
    delayms(500);
    LED_WATER3();
    delayms(500);    
    LED_WATER4();
  }
}

運行結果如圖:

8dfc76be-3c37-11ee-ac96-dac502259ad0.png

電子工程師成長日記

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7658

    瀏覽量

    152183
  • 單片機
    +關注

    關注

    6044

    文章

    44624

    瀏覽量

    638944
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    124389
  • 流水燈
    +關注

    關注

    21

    文章

    433

    瀏覽量

    59842
  • LCD1602
    +關注

    關注

    14

    文章

    607

    瀏覽量

    52734

原文標題:設計分享|單片機流水燈表白

文章出處:【微信號:電子工程師成長日記,微信公眾號:電子工程師成長日記】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    51單片機流水燈程序

    51單片機流水燈程序 51單片機流水燈程序
    發表于 12-21 15:52 ?170次下載

    單片機原理及應用LCD1602顯示原理

    單片機原理及應用LCD1602顯示原理,為了讓你們更快掌握1602的使用
    發表于 06-15 15:53 ?19次下載

    基于單片機流水燈介紹_51單片機流水燈的五種實現方法

    本文為大家帶來五種51單片機流水燈實現方法。
    發表于 01-06 10:23 ?5.1w次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>流水燈</b>介紹_<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>流水燈</b>的五種<b class='flag-5'>實現</b>方法

    使用51單片機實現LCD1602液晶顯示實驗的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現LCD1602液晶顯示實驗的程序免費下載。
    發表于 09-18 17:20 ?16次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>LCD1602</b>液晶顯示實驗的程序免費下載

    使用51單片機實現LCD1602靜態顯示的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現LCD1602靜態顯示的程序免費下載。
    發表于 09-02 17:28 ?8次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>實現</b><b class='flag-5'>LCD1602</b>靜態顯示的程序免費下載

    使用51單片機LCD1602實現電子時鐘的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機LCD1602實現電子時鐘的程序免費下載
    發表于 06-27 17:43 ?54次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>用<b class='flag-5'>LCD1602</b><b class='flag-5'>實現</b>電子時鐘的程序免費下載

    使用51單片機應用LCD1602的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機應用LCD1602的程序免費下載。
    發表于 06-21 17:43 ?17次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>應用<b class='flag-5'>LCD1602</b>的程序免費下載

    使用51單片機實現LCD1602顯示屏顯示的仿真文件免費下載

    本文檔的主要內容詳細介紹的使用51單片機實現LCD1602顯示屏顯示的仿真文件免費下載。
    發表于 03-23 11:05 ?72次下載

    基于51單片機LCD1602顯示proteus實驗

    基于51單片機LCD1602顯示proteus實驗
    發表于 04-30 10:14 ?38次下載

    51單片機驅動LCD1602顯示原理及例程

    51單片機驅動LCD1602顯示原理及例程1.LCD1602A介紹2.LCD1602A中文手冊 下載3.
    發表于 11-10 19:51 ?149次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>驅動<b class='flag-5'>LCD1602</b>顯示原理及例程

    51單片機LCD1602顯示實驗

    實驗目標:掌握LCD1602顯示控制方法; 掌握利用Proteus單片機控制系統的仿真及調試方法。任務:根據要求編寫程序,并寫出原理性注釋; 將檢查程序運行的結果,分析一下是否正確; 完成所建
    發表于 11-10 20:06 ?25次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>LCD1602</b>顯示實驗

    51單片機LCD1602接口電路與程序

    51單片機LCD1602接口電路與程序一、工作方式:間接工作方式。二、實現功能:顯示“Hope the epidemic will pas
    發表于 11-12 14:36 ?26次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>與<b class='flag-5'>LCD1602</b>接口電路與程序

    51單片機怎么顯示當前時間_(記錄)51單片機——LCD1602液晶顯示模塊

    51單片機怎么顯示當前時間_(記錄)51單片機——LCD1602液晶顯示模塊
    發表于 11-16 15:06 ?29次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>怎么顯示當前時間_(記錄)<b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>LCD1602</b>液晶顯示模塊

    51單片機驅動——LCD1602

    51單片機驅動——LCD16021.描述51單片機控制LCD1602屏幕顯示測量數據、固定字符串
    發表于 11-21 09:06 ?22次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>驅動——<b class='flag-5'>LCD1602</b>

    51單片機如何跳出wile循環_51單片機(九)匯編指令

    設計數碼管Chenglin Li:51單片機(四)匯編語言設計定時器Chenglin Li:51單片機(五)利用定時器
    發表于 11-22 20:21 ?73次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>如何跳出wile循環_<b class='flag-5'>51</b><b class='flag-5'>單片機</b>(九)匯編指令
    主站蜘蛛池模板: 日本www色视频 | 嗯好舒服好爽好快好大 | 100000免费啪啪18免进 | 色咪网 | 性欧美视频| 99久久综合给久久精品 | 色就是色欧美色图 | 色婷婷丁香 | 午夜久久网| 欧美一二三区在线 | 激情午夜婷婷 | 免费成人黄色网址 | 免费任我爽橹视频在线观看 | 国产91丝袜在线播放九色 | 夜夜骑狠狠干 | 久久伊人影视 | 日本黄色视 | 欧美综合在线视频 | 亚洲一区二区精品视频 | 男女爱爱免费 | 毛片网站免费在线观看 | 国产视频福利 | 五月婷婷 六月丁香 | 免费国产成高清人在线视频 | 欧美日韩一区二区三区毛片 | 91天天操 | 欧美zooz人与禽交 | 亚洲国产成人久久99精品 | 放荡女同老师和女同学生 | 特级毛片s级全部免费 | yy肉戏多纯黄的小说 | 青青操久久 | 色网站在线看 | 成人性色生活片免费看爆迷你毛片 | 亚洲高清免费在线观看 | 午夜在线视频观看 | 久久九九国产精品怡红院 | 黄色一级大片视频 | 在线亚洲精品 | 六月婷婷七月丁香 | 台湾佬自偷自拍情侣在线 |