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

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

QQ登錄

只需一步,快速開始

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

單片機(jī)1602LCD隨機(jī)模擬顯示乘法口訣的proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)控制1602顯示乘法口訣
仿真圖(proteus仿真工程文件可到本帖附件中下載):


單片機(jī)源程序如下:
  1. #include <REGX52.H>
  2. #include <INTRINS.H>

  3. unsigned int x,y,z;


  4. void delay1ms(unsigned char xms)
  5. {
  6.         unsigned char i,j;
  7.         for(i=xms;i>0;i--)
  8.                 for(j=110;j>0;j--);
  9. }


  10. /***************液晶顯示模塊*****************/
  11. sbit RS=P2^0;
  12. sbit RW=P2^1;
  13. sbit E=P2^2;
  14. sbit key=P1^4;
  15. //sbit BF=P0^7;
  16.   /*液晶忙檢測(cè)
  17. bit BusyTest(void)
  18. {
  19.         bit result;
  20.         RS=0;
  21.         RW=1;
  22.         E=1;
  23.         _nop_();
  24.         _nop_();
  25.         _nop_();
  26.         result=BF;
  27.         _nop_();
  28.         _nop_();
  29.         _nop_();
  30.         E=0;
  31.         return result;
  32. }*/
  33. /*寫指令*/
  34. void Write_com(unsigned char command)
  35. {
  36. //        while(BusyTest()!=0);
  37.         RS=0;
  38.         RW=0;
  39.         E=0;
  40.         _nop_();
  41.         _nop_();
  42.         _nop_();
  43.         P0=command;
  44.         _nop_();
  45.         _nop_();
  46.         _nop_();
  47.         E=1;
  48.         _nop_();
  49.         _nop_();
  50.         _nop_();
  51.         E=0;
  52. }
  53. /*寫地址*/
  54. void Write_Address(unsigned char address)
  55. {
  56.         Write_com(address);
  57.         delay1ms(1);       
  58. }
  59. /*寫數(shù)據(jù)*/
  60. void Write_Date(unsigned char date)
  61. {
  62.         RS=1;
  63.         RW=0;
  64.         E=0;
  65.         _nop_();
  66.         _nop_();
  67.         _nop_();
  68.         P0=date;
  69.         _nop_();
  70.         _nop_();
  71.         _nop_();
  72.         E=1;
  73.         _nop_();
  74.         _nop_();
  75.         _nop_();
  76.         E=0;
  77.         delay1ms(1);
  78. }
  79. /*初始化*/
  80. void Lcd_Int(void)
  81. {
  82.         Write_com(0x38);
  83.         delay1ms(1);
  84.         Write_com(0x38);
  85.         Write_com(0x38);
  86.         delay1ms(1);
  87.         delay1ms(1);
  88.         Write_com(0x06);
  89.         delay1ms(1);
  90.         Write_com(0x0c);
  91.         delay1ms(1);
  92.         Write_com(0x01);               
  93. }

  94. void writelcd(unsigned char a,b,dat)
  95. {
  96.         if(b==1)
  97.         {
  98.                 Write_Address(0x80+a);
  99.                 Write_Date(dat);                       
  100.         }
  101.            else
  102.         {
  103.                 Write_Address(0xc0+a);
  104.                 Write_Date(dat);
  105.         }               
  106. }

  107. void main()
  108. {
  109.     TMOD = 0x01;
  110.     TH0 = 0x0EC;
  111.     TL0 = 0x78;
  112.     EA = 1;
  113.     ET0 = 1;
  114.     TR0 = 0;
  115.         Lcd_Int();
  116.         while(1)
  117.         {
  118.                 if(key==0)
  119.                 {
  120.                         delay1ms(10);
  121.                         if(key==0)
  122.                         {
  123.                                 TR0=1;
  124.                         }
  125.                         while(!key);
  126.                         TR0=0;
  127.                 }
  128.                 z=x*y;
  129.                 Write_Address(0x80);
  130.                 if(x/10!=0)
  131.                 Write_Date(0x30+x/10);
  132.                 Write_Date(0x30+x%10);
  133.                 Write_Date('*');
  134.                 if(y/10!=0)
  135.                 Write_Date(0x30+y/10);
  136.                 Write_Date(0x30+y%10);
  137.                 Write_Date('=');
  138.                 if(z/1000!=0)
  139.                         Write_Date(0x30+z/1000);
  140.                 if(z/100%10!=0)
  141.                         Write_Date(0x30+z/100%10);
  142.                 if(z%100/10!=0)
  143.                         Write_Date(0x30+z%100/10);
  144. ……………………

  145. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
1602LCD隨機(jī)模擬顯示乘法口訣.zip (48.67 KB, 下載次數(shù): 48)


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

使用道具 舉報(bào)

沙發(fā)
ID:358181 發(fā)表于 2018-6-25 18:17 | 只看該作者
為什么在顯示器什么都沒有顯示出來
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99国内精品久久久久久久 | 在线观看国产视频 | 一本大道久久a久久精二百 国产成人免费在线 | 最新中文字幕在线 | 91免费观看国产 | 欧美日韩福利视频 | 欧美极品一区二区 | 小早川怜子xxxxaⅴ在线 | 久久一区二区三区四区 | 一级黄色片一级黄色片 | 免费久久网 | 欧美成人影院 | 欧洲精品码一区二区三区免费看 | 日韩高清成人 | 精品欧美久久 | 欧美午夜精品久久久久免费视 | 九九99久久| 欧美jizzhd精品欧美巨大免费 | 成人区一区二区三区 | 欧美日韩国产不卡 | 亚洲免费久久久 | 色婷婷国产精品综合在线观看 | 特级特黄特色的免费大片 | 国产精品成人av | 一二三区av | 日日操视频 | 日韩在线观看网站 | 免费在线看黄 | av先锋资源 | 天天操天天干天天爽 | 亚洲综合在线播放 | 国产精品爱久久久久久久 | 亚洲一区二区三区在线视频 | 成年精品 | 成人在线精品视频 | 中文字幕在线播放第一页 | 亚洲成人免费在线观看 | 中文一区二区 | 日本天堂视频在线观看 | 精品国产一区二区在线 | 在线观看www高清视频 |