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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請問為什么Proteus仿真的時候 LCD1602的 3個寄存器端口 電平一直是灰色?

[復制鏈接]
跳轉到指定樓層
樓主
請問為什么仿真的時候 LCD1602的 3個寄存器端口 電平一直是灰色?


單片機源程序如下:
  1. #include "reg51.h"
  2. #include "stdio.h"

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5.    

  6. #define D P0
  7. sbit E=P2^7;
  8. sbit RS=P2^6;
  9. sbit RW=P2^5;


  10. void delay_ms(uchar xms);                    
  11. void LcdWriteCom(uchar com);               
  12. void LcdWriteData(uchar dat);            
  13. void LcdInit();                                
  14. void Show_string1(uchar a[]);            
  15. void Show_string2(uchar a[]);            
  16. void show_string(uchar add,uchar a[]);            
  17. void show_number(uchar add,uint a);               
  18. void show_float(uchar add,float a);        


  19. void main()
  20. {
  21.     LcdInit();
  22.     Show_string1("LCD1602test");
  23.     while(1);
  24. }

  25. void delay_ms(uchar xms)
  26. {
  27.     uchar i,j;
  28.     for(i=xms;i>0;i--)
  29.         for(j=110;j>0;j--);
  30. }


  31. void LcdWriteCom(uchar com)
  32. {
  33.     E=0;
  34.     RW=0;
  35.     RS=0;
  36.     D=com;
  37.     delay_ms(5);
  38.     E=1;
  39.     delay_ms(5);
  40.     E=0;
  41. }

  42. void LcdWriteData(uchar dat)
  43. {
  44.     E=0;
  45.     RW=0;
  46.     RS=1;
  47.     D=dat;
  48.     delay_ms(5);
  49.     E=1;
  50.     delay_ms(5);
  51.     E=0;
  52. }

  53. void LcdInit()//³õʼ»¯
  54. {
  55.     LcdWriteCom(0x38);
  56.     LcdWriteCom(0x0c);
  57.     LcdWriteCom(0x06);
  58.     LcdWriteCom(0x01);
  59.     LcdWriteCom(0x80);
  60. }



  61. void show_string(uchar add,uchar a[])
  62. {
  63.     uchar i;
  64.     LcdWriteCom(0x80+add);
  65.     for(i=0;a[i]!='\0';i++)
  66.     {
  67.         LcdWriteData(a[i]);
  68.     }
  69. }


  70. void Show_string1(uchar a[])
  71. {
  72.     uchar i;
  73.     LcdWriteCom(0x80);
  74.     for(i=0;a[i]!='\0';i++)
  75.     {
  76.         LcdWriteData(a[i]);
  77.     }
  78. }


  79. void Show_string2(uchar a[])
  80. {
  81.     uchar i;
  82.     LcdWriteCom(0x80+0X40);
  83.     for(i=0;a[i]!='\0';i++)
  84.     {
  85.         LcdWriteData(a[i]);
  86.     }
  87. }


  88. void show_number(uchar add,uint a)
  89. {
  90.     char s[10];
  91.     sprintf(s,"%d",a);               
  92.     show_string(add,(uchar *)s);        
  93. }


  94. void show_float(uchar add,float a)
  95. {
  96.     char s[10];
  97.     sprintf(s,"% .1f",a);
  98.     show_string(add,(uchar *)s);
  99. }
復制代碼



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

使用道具 舉報

沙發
ID:795658 發表于 2021-6-28 16:55 | 只看該作者
第一次仿真的時候是能成功顯示的,之后不知道什么原因 3個寄存器的電平就變這樣了
回復

使用道具 舉報

板凳
ID:8222 發表于 2021-6-29 06:04 | 只看該作者
你的主程序只能運行一次就停止了。改成這樣:
void main()
{
    while(1)
    {
    LcdInit();
    Show_string1("LCD1602test");
    }
}
回復

使用道具 舉報

地板
ID:795658 發表于 2021-6-29 10:38 | 只看該作者
溫xyz 發表于 2021-6-29 06:04
你的主程序只能運行一次就停止了。改成這樣:
void main()
{

你好,我試了下,改了之后還是不行,3個寄存器仍是灰色
回復

使用道具 舉報

5#
ID:824490 發表于 2021-6-29 14:04 | 只看該作者
溫xyz 發表于 2021-6-29 06:04
你的主程序只能運行一次就停止了。改成這樣:
void main()
{

應該是這樣的:
LcdInit();
  while(1)
{
Show_string1("LCD1602test");
}
回復

使用道具 舉報

6#
ID:824490 發表于 2021-6-29 14:06 | 只看該作者
lcd的VEE接到VDD試試?
回復

使用道具 舉報

7#
ID:795658 發表于 2021-6-29 14:08 | 只看該作者
名字不是重點 發表于 2021-6-29 14:04
應該是這樣的:
LcdInit();
  while(1)

在實驗箱上實操 確實亮了
但是proteus仿真一直不行,不太明白原因
回復

使用道具 舉報

8#
ID:824490 發表于 2021-6-29 14:27 | 只看該作者
你的CPU沒有加載代碼吧?所 有IO都是灰色的,除了上拉的那幾個

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:795658 發表于 2021-6-29 14:29 | 只看該作者
名字不是重點 發表于 2021-6-29 14:27
你的CPU沒有加載代碼吧?所 有IO都是灰色的,除了上拉的那幾個

!,謝謝提醒。
我看了下后發現 代碼是加載了的,但是不小心勾選了“不進行仿真”
回復

使用道具 舉報

10#
ID:390416 發表于 2021-7-6 20:32 | 只看該作者
LCD1602顯示℃ 這種自定義符號 http://www.zg4o1577.cn/bbs/dpj-200685-1.html
LCD1602液晶最新資料 說明了具體的時間要求 http://www.zg4o1577.cn/bbs/dpj-205768-1.html
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久xx| 九九热在线视频观看这里只有精品 | 日韩国产一区二区三区 | 午夜精品一区 | 亚洲精品黄色 | 午夜在线观看免费 | 91久久久久| 一区二区三区免费 | h视频在线播放 | 日本三级在线网站 | 日韩电影在线一区 | 欧美区在线观看 | 不卡视频一区 | 中文字幕精品一区久久久久 | 国产一级淫片免费视频 | 国产精品久久国产精品99 | 欧美日韩在线视频观看 | 国产精品欧美一区二区 | 九九伦理片 | 亚洲一区国产精品 | 欧美日韩精品一区二区三区四区 | 午夜影视在线观看 | 精品国产乱码久久久久久88av | 成人三级网址 | 国产精品一区二区久久 | 日本 欧美 国产 | 日屁网站 | 国产一区二区三区色淫影院 | 激情视频一区 | 亚洲精品一区二区二区 | 久久久久久高清 | 国产日韩久久 | 亚洲视频在线观看 | 美女视频网站久久 | 综合九九 | 亚洲aⅴ一区二区 | 亚洲成人一区二区 | 日本视频中文字幕 | 国产专区在线 | 人人干人人舔 | 免费一级片|