標(biāo)題: Proteus仿真出錯(cuò)(網(wǎng)絡(luò)標(biāo)號標(biāo)紅顯示) [打印本頁]

作者: 大一王    時(shí)間: 2021-9-11 21:43
標(biāo)題: Proteus仿真出錯(cuò)(網(wǎng)絡(luò)標(biāo)號標(biāo)紅顯示)
問題描述:
Proteus 8.11 仿真報(bào)錯(cuò)
仿真圖使用了 LCD1602液晶顯示
我把原理圖和所有的標(biāo)號D5都截圖了
打包文件中包含源碼及仿真圖
另:我也會將源碼和網(wǎng)絡(luò)標(biāo)號截圖放在問題描述中,大家也可直接看這,報(bào)錯(cuò)的網(wǎng)絡(luò)標(biāo)號為D5,已在圖一中標(biāo)紅顯示


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. uchar temp_data, temp;

  5. sbit wela = P2^7;          //位選端口
  6. sbit dula = P2^6;          //段選端口
  7. sbit beep = P2^3;          //蜂鳴器端口
  8. sbit lcdrs = P3^0;      //LCD1602 寄存器選擇
  9. sbit lcdrw = P3^1;      //LCD1602 讀寫控制
  10. sbit lcden = P3^2;      //LCD1202 使能端控制

  11. void delay(uchar num);      //延時(shí)函數(shù)
  12. void lcd_WriteCmd(uchar cmd);       //LCD 寫一字節(jié)指令
  13. void lcd_WriteDat(uchar dat);       //LCD 寫一字節(jié)數(shù)據(jù)
  14. void lcd_Init();        //LCD初始化

  15. void main()
  16. {
  17.     lcd_Init();
  18.     while(1);
  19.    
  20. }

  21. void delay(uchar num)
  22. {
  23.     uint x, y;
  24.     for(x = num; x > 0; x--)
  25.     {
  26.         for(y = 110; y > 0; y--);
  27.     }
  28. }

  29. void lcd_WriteCmd(uchar cmd)
  30. {
  31.     lcden = 0;
  32.     lcdrs = 0;      //寄存器選擇指令
  33.     lcdrw = 0;      //選擇讀指令
  34.     P0 = cmd;      //將一字節(jié)指令給LCD
  35.     delay(5);
  36.     lcden = 1;
  37.     delay(5);
  38.     lcden = 0;       //高脈沖讀走指令
  39. }

  40. /*****  向LCD寫入一字節(jié)數(shù)據(jù)   *****/
  41. void lcd_WriteDat(uchar dat)
  42. {
  43.     lcden = 0;
  44.     lcdrs = 1;
  45.     lcdrw = 0;
  46.     P0 = dat;
  47.     delay(5);
  48.     lcden = 1;
  49.     delay(5);
  50.     lcden = 0;
  51. }

  52. /****   初始化液晶LCD1602   ****/
  53. void lcd_Init()
  54. {
  55.     dula = 0;
  56.     wela = 0;
  57.     lcden = 0;
  58.     lcd_WriteCmd(0x38);     //設(shè)置顯示16*2
  59.     lcd_WriteCmd(0x0c);     //開顯示器及光標(biāo)設(shè)置
  60.     lcd_WriteCmd(0x06);     //移動光標(biāo) 文字不動
  61.     delay(10);
  62. }
復(fù)制代碼
類似的問題我在論壇里看過了,但根據(jù)壇友的方法,我解決不了;
這問題困擾我許久,就是不清楚錯(cuò)在哪。

懇請壇友出手指點(diǎn)迷津,感謝大家

LCD1602.rar

31.88 KB, 下載次數(shù): 4


作者: wc86110    時(shí)間: 2021-9-11 23:25
把所有的標(biāo)號 D5 全改為 P05
作者: 大一王    時(shí)間: 2021-9-12 09:37
wc86110 發(fā)表于 2021-9-11 23:25
把所有的標(biāo)號 D5 全改為 P05

感謝壇友的解答,這就試試

作者: 大一王    時(shí)間: 2021-9-12 09:47
wc86110 發(fā)表于 2021-9-11 23:25
把所有的標(biāo)號 D5 全改為 P05

感謝前輩解答,方法有效,親測成功。
再次真心感謝前輩解答。祝您生活愉快,工作順心

作者: 大一王    時(shí)間: 2021-9-12 10:33
wc86110 發(fā)表于 2021-9-11 23:25
把所有的標(biāo)號 D5 全改為 P05

另:
    請問這為什么D5會報(bào)錯(cuò),修改后就不報(bào)錯(cuò)了呢?
是仿真軟件的bug還是,邏輯上的問題啊?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1