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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

1602液晶屏D0到D7我用了兩個接口輸出,但網上單片機程序都用了一個,應該怎么解決

[復制鏈接]
跳轉到指定樓層
樓主
ID:839796 發(fā)表于 2020-12-15 23:49 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1602液晶顯示屏一直無法進行初始化,經過查看原理圖發(fā)現(xiàn):液晶屏的D0-D7引腳我有的接在了P0口,有的接在了P2口,在網上找的程序發(fā)現(xiàn):在寫入時,都是接在了一個口,這個問題我應該怎么解決,希望大佬們幫忙看看,十分感謝!


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

使用道具 舉報

沙發(fā)
ID:839796 發(fā)表于 2020-12-16 00:05 | 只看該作者
我知道了,可以直接用#define 定義
回復

使用道具 舉報

板凳
ID:839796 發(fā)表于 2020-12-16 01:10 來自手機 | 只看該作者
大佬們,在幫幫吧,直接用#define定義不對,還是不能寫入
回復

使用道具 舉報

地板
ID:839796 發(fā)表于 2020-12-16 01:11 來自手機 | 只看該作者
希望大佬們能給個解決這個問題的具體代碼,十分感謝
回復

使用道具 舉報

5#
ID:213173 發(fā)表于 2020-12-16 13:15 | 只看該作者
gagaga123 發(fā)表于 2020-12-16 01:11
希望大佬們能給個解決這個問題的具體代碼,十分感謝

異組端口字節(jié)操作驅動LCD的方法在你這個帖子里,把延時函數(shù)換一個即可。
http://www.zg4o1577.cn/bbs/dpj-199732-1.html
回復

使用道具 舉報

6#
ID:517951 發(fā)表于 2020-12-16 13:32 | 只看該作者
顯示屏的DB0-DB7 的數(shù)據(jù)線,在通常情況下都是接到同一個端口下P0,或者P1,P2,P3 方便數(shù)據(jù)線連接,不然時間一長自己都會忘記線路接法。還有軟件編寫也會簡化,一條指令數(shù)據(jù)就傳輸?shù)轿唬瑑蓚端口就需要兩行指令。
回復

使用道具 舉報

7#
ID:155507 發(fā)表于 2020-12-16 13:48 | 只看該作者
給你寫一個異組端口驅動LCD示例

  1. #include <reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sfr P1M1 = 0x91;    //PxM1.n,PxM0.n     =00--->Standard,    01--->push-pull
  5. sfr P1M0 = 0x92;    //                  =10--->pure input,  11--->open drain
  6. sfr P0M1 = 0x93;
  7. sfr P0M0 = 0x94;
  8. sfr P2M1 = 0x95;
  9. sfr P2M0 = 0x96;
  10. sfr P3M1 = 0xB1;
  11. sfr P3M0 = 0xB2;

  12. sbit LCD_RW=P1^1;
  13. sbit LCD_RS=P1^2;      
  14. sbit LCD_EN=P1^0;      

  15. sbit code0=P0^3;                           //定義LCD數(shù)據(jù)端口
  16. sbit code1=P0^2;
  17. sbit code2=P0^1;
  18. sbit code3=P0^0;
  19. sbit code4=P2^7;
  20. sbit code5=P2^6;
  21. sbit code6=P2^5;
  22. sbit code7=P2^4;      

  23. uchar table1[]="0123456789ABCDEFG";        //第一行
  24. uchar table2[]="HIJKLMNOPQRSTUVWX";        //第二行


  25. void PX(uchar i)                           //寫入8位數(shù)據(jù)
  26. {   
  27.         code0=i&0x01;i>>=1;      
  28.         code1=i&0x01;i>>=1;
  29.         code2=i&0x01;i>>=1;
  30.         code3=i&0x01;i>>=1;
  31.         code4=i&0x01;i>>=1;
  32.         code5=i&0x01;i>>=1;
  33.         code6=i&0x01;i>>=1;
  34.         code7=i&0x01;
  35. }
  36. /*******100us延時程序********/
  37. void delay(uint x)
  38. {
  39.         uint a,b;
  40.         for(a=x;a>0;a--)
  41.         for(b=10;b>0;b--);
  42. }
  43. /*******液晶寫指令程序********/
  44. void write_com(uchar com)
  45. {
  46.         LCD_RW=0;
  47.         LCD_EN=0;        //初始設置LCD_EN低電平
  48.         LCD_RS=0;        //允許寫指令
  49.         PX(com);         //傳遞指令
  50.         delay(10);       //延時1ms
  51.         LCD_EN=1;        //使能寫入
  52.         delay(10);        //延時1ms
  53.         LCD_EN=0;        //低跳變執(zhí)行
  54.       
  55. }
  56. /*******液晶寫數(shù)據(jù)程序********/
  57. void write_date(uchar date)
  58. {
  59.         LCD_RW=0;
  60.         LCD_RS=1;        //允許寫數(shù)據(jù)
  61.         PX(date);        //傳遞數(shù)據(jù)
  62.         delay(10);        //延時1ms
  63.         LCD_EN=1;        //使能寫入
  64.         delay(10);        //延時1ms
  65.         LCD_EN=0;        //低跳變執(zhí)行
  66.       
  67. }
  68. /*******液晶初始化程序********/
  69. void init()                //設置顯示模式、
  70. {

  71.         write_com(0x38);//設置16*2顯示,5*7點陣,8位數(shù)據(jù)接口
  72.         write_com(0x01);//顯示清零,數(shù)據(jù)指針清零
  73.         write_com(0x0c);//設置開顯示,不顯光標
  74.         write_com(0x06);//設置寫一個字符后地址指針加1
  75.         write_com(0x80);//數(shù)據(jù)指針初始化,設置顯示初始位置
  76. }
  77. /**********************主程序*************************/
  78. void main()
  79. {
  80.         uchar i;                                        //定義循環(huán)變量
  81.         P0M0 = 0x00;
  82.         P0M1 = 0x00;
  83.         P1M0 = 0x00;
  84.         P1M1 = 0x00;
  85.         P2M0 = 0x00;
  86.         P2M1 = 0x00;
  87.         P3M0 = 0x00;
  88.         P3M1 = 0x00;
  89.         init();                                                //初始化程序
  90.         /******用for循環(huán)按字節(jié)逐個寫********/
  91.         write_com(0x80);                        //數(shù)據(jù)指針第一行起始0x80位置
  92.         for(i=0;i<16;i++)                        //每循環(huán)一次寫一個字節(jié)數(shù)據(jù)
  93.         {
  94.                 write_date(table1[i]);        //寫一個字節(jié)數(shù)據(jù)               
  95.         }
  96.         write_com(0xc0);                        //數(shù)據(jù)指針第二行起始位置0x80+0x40=0xc0
  97.         for(i=0;i<16;i++)                        //每循環(huán)一次寫一個字節(jié)數(shù)據(jù)
  98.         {
  99.                 write_date(table2[i]);        //寫一個字節(jié)數(shù)據(jù)               
  100.         }
  101.         while(1);
  102. }

復制代碼


回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清视频在线观看播放 | 久久精品久久久久久 | 久久伊人影院 | 亚洲一区二区三区 | 一起操网站| av大全在线 | 国产伦精品一区二区三区在线 | 久久成人免费观看 | 日韩在线视频免费观看 | 日韩欧美中文 | 午夜性视频 | 久久一区| 在线观看国产视频 | 国产精产国品一二三产区视频 | 九九综合九九 | 一本色道精品久久一区二区三区 | 91精品国产91久久久久久丝袜 | 亚洲国产精品人人爽夜夜爽 | 亚洲精品视频网站在线观看 | 99热这里都是精品 | 久久久精品一区二区三区四季av | a级黄色毛片免费播放视频 国产精品视频在线观看 | 三级av在线 | 精精国产xxxx视频在线野外 | 在线免费观看a级片 | 一级黄色在线 | 久久国产一区二区 | 日韩中文字幕在线不卡 | 亚洲成av人片在线观看 | 毛片黄 | 国产中文在线 | 日韩国产三区 | 亚洲一二三在线观看 | 国内精品久久久久久 | 人人人人人爽 | 91精品久久久久久久99 | 国产精品日日做人人爱 | 色接久久| 国产日韩精品一区二区 | 国产精品久久久久久久久久久久久 | 色桃网 |