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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2813|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)學(xué)習(xí)筆記(九)液晶字幕顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108531 發(fā)表于 2016-3-12 16:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 51hei人人 于 2016-3-12 16:47 編輯

                                                                                               


  1. LCD顯示 第一行顯示 welcome 第二行顯示 www.baidu.com

  2. C語(yǔ)言源程序:

  3. #include <reg52.h> //52單片機(jī)頭文件包含

  4. #include <intrins.h> //包換一些匯編指令的頭文件

  5. typedef unsigned char BYTE;//定義BYTE  為 unsigned char  型

  6. typedef unsigned int WORD;//定義WORD 為 unsigned int  型

  7. typedef bit BOOL;//定義BOOL 為 bit 型

  8. sbit rs=P1^0;//定義rs 為P1端口的第0位

  9. sbit rw=P1^1;//定義rw為P1端口的第1位

  10. sbit ep=P1^2;//定義ep為P1端口的第2位

  11. BYTE code dis1[]={"welcome"};//定義第一行要顯示的字符數(shù)組

  12. BYTE code dis2[]={"www.baidu.com"};//定義第二行要顯示的字符數(shù)組

  13. delay(BYTE ms) //延時(shí)函數(shù)

  14. {

  15.     BYTE i; //定義字節(jié)型變量i

  16.     while(ms--)//每循環(huán)一次將ms的值減1

  17.     {

  18.         for(i=0;i<250;i++)//for循環(huán) 循環(huán)250次

  19.         {

  20.             _nop_();//NOP語(yǔ)句

  21.             _nop_();//NOP語(yǔ)句

  22.             _nop_();//NOP語(yǔ)句

  23.             _nop_();//NOP語(yǔ)句

  24.         }

  25.     }

  26. }

  27. BOOL lcd_bz()   //LCD忙碌狀態(tài)檢測(cè)函數(shù)

  28. {

  29.     BOOL result; //定義結(jié)果位變量 result;

  30.     rs=0;    //P0第一位給0

  31.     rw=1;    //P0第二位給1

  32.     ep=1;    //P0第三位給1

  33.     _nop_();    //空語(yǔ)句用于延時(shí)

  34.     _nop_();    //空語(yǔ)句用于延時(shí)

  35.     _nop_();    //空語(yǔ)句用于延時(shí)

  36.     _nop_();    //空語(yǔ)句用于延時(shí)

  37.     result=(BOOL)(P0 & 0x80)    //將P0與0x80相與 結(jié)果轉(zhuǎn)換成BOOL型賦值給result

  38.     ep=0;//第三位給0

  39.     return result;//返回結(jié)果

  40. }

  41. lcd_wcmd(BYTE cmd)    //指令寫(xiě)入函數(shù)

  42. {

  43.     whiel(lcd_bz()); //測(cè)試lcd是否忙碌

  44.     rs=0;rw=0;ep=0;//功能位選擇

  45.     _nop_();_nop_();//延時(shí)

  46.     P0=cmd;    //寫(xiě)入指令

  47.     _nop_();_nop_();//延時(shí)

  48.     _nop_();_nop_();//延時(shí)

  49.     ep=1;//ep給1

  50.     _nop_();_nop_();//延時(shí)

  51.     _nop_();_nop_();//延時(shí)

  52.     ep=0;//ep給0

  53. }

  54. lcd_pos(BYTE pos)    //顯示位置設(shè)定函數(shù)

  55. {

  56.     lcd_wcmd(pos | 0x80); //將pos和0x80相或作為參數(shù)傳給lcd_wcmd

  57. }

  58. lcd_wdat(BYTE dat)    //字符寫(xiě)入函數(shù)

  59. {

  60.     while(lcd_bz());//測(cè)試lcd是否忙碌

  61.     rs=1;rw=0;ep=0;//功能位選擇

  62.     P0=dat;//寫(xiě)入字符

  63.     _nop_();_nop_();//延時(shí)

  64.     _nop_();_nop_();//延時(shí)

  65.     ep=1;//ep給1

  66.     _nop_();_nop_();//延時(shí)

  67.     _nop_();_nop_();//延時(shí)

  68.     ep=0;//ep給0

  69. }

  70. lcd_init() //LCD初始化函數(shù)

  71. {

  72.     lcd_wcmd(0x38);

  73.     delay(1); //延時(shí)

  74.     lcd_wcmd(0x0c);

  75.     delay(1);//延時(shí)

  76.     lcd_wcmd(0x06);

  77.     delay(1);//延時(shí)

  78.     lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容

  79.     delay(1);

  80. }

  81. main()

  82. {

  83.     BYTE i;//定義BYTE變量i

  84.     lcd_init(); //初始化LCD

  85.     delay(10);//延時(shí)

  86.     lcd_pos(4); //設(shè)置顯示位置為第一行的第5個(gè)字符

  87.     i=0;//i賦值為0

  88.     while(dis1[i]!='\0')//判斷是否到了字符串結(jié)尾

  89.     {

  90.         lcd_wdat(dis1[i]);//循環(huán)將字符寫(xiě)入

  91.         i++;i自加指向下個(gè)字符

  92.     }

  93.     lcd_pos(0x40); //設(shè)置顯示位置為第二行第一個(gè)字符

  94.     i=0;//i賦值為0

  95.     while(dis2[i]!='\0') //判斷是否到字符串結(jié)尾

  96.     {

  97.         lcd_wdat(dis2[i]);//循環(huán)將字符寫(xiě)入

  98.         i++;i自加指向下個(gè)字符

  99.     }

  100.     whiel(i); //無(wú)限循環(huán)

  101. }

  102. //實(shí)驗(yàn)結(jié)果 液晶屏第一行顯示welcome 第二行顯示www.baidu.com
復(fù)制代碼




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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表