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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

1602顯示小程序,熟悉用1602

[復制鏈接]
跳轉到指定樓層
樓主
ID:79544 發表于 2016-6-6 10:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
按鍵控制1602顯示。加、減、乘、除。并顯示得數。
  1. /********************************************************
  2.            功  能:按鍵控制1602顯示
  3.            單片機:        STC12C5A60S2
  4.            晶  振:11.0592M
  5.            作  者:        蘇義江
  6.            時  間:2016-6-6
  7. ********************************************/

  8. #include<reg52.h>//51單片機頭文件

  9. #define uchar unsigned char//宏定義
  10. #define uint unsigned int
  11. uchar code digit[]={"0123456789"};//定義字符數組數字
  12. uchar code tab[]="An Jian Xian Shi";
  13. sbit rs=P2^7;//數據命令選擇
  14. sbit rw=P2^6;//讀寫控制信號
  15. sbit e=P2^5;//使能信號
  16. sbit key=P3^7;        //按鍵
  17. uchar shi,ge;
  18. ///////////////
  19. void delay_50us(uint t)//50us延時函數
  20. {
  21.         uchar j;
  22.         for(;t>0;t--)
  23.     for(j=190;j>0;j--);
  24. }

  25. void write_com(uchar com)//寫地址
  26. {
  27.         e=0;
  28.         rs=0;
  29.         rw=0;
  30.         P0=com;
  31.         delay_50us(10);
  32.         e=1;
  33.         delay_50us(30);
  34.         e=0;
  35. }
  36. ///////
  37. void write_data(uchar dat)// 寫數據
  38. {
  39.         e=0;
  40.         rs=1;
  41.         rw=0;
  42.         P0=dat;
  43.         delay_50us(10);
  44.         e=1;
  45.         delay_50us(30);
  46.         e=0;
  47. }
  48. //////
  49. void init(void)//液晶初始化
  50. {
  51.         uchar i;
  52.           delay_50us(300);
  53.           write_com(0x38);
  54.           delay_50us(100);
  55.           write_com(0x38);
  56.           delay_50us(100);
  57.           write_com(0x38);
  58.           write_com(0x38);
  59.           write_com(0x08);
  60.           write_com(0x01);
  61.           write_com(0x06);
  62.           write_com(0x0c);
  63.           write_com(0x80);
  64.           for(i=0;i<16;i++)
  65.           {
  66.                     write_data(tab[i]);
  67.                   delay_50us(30);
  68.           }
  69. }

  70. void femwei(uchar x) //分位函數
  71. {
  72.         shi=x/10+0x30;
  73.         ge=x%10+0x30;
  74. }
  75. void keyscan()        //按鍵掃描
  76. {
  77.            uchar dd,w;
  78.          if(key==0)
  79.          {
  80.                   delay_50us(200);
  81.                 if(key==0)
  82.                 {
  83.                    dd++;
  84.                    if(dd==5)//按下次數
  85.                    dd=0;  //清零
  86.                 }
  87.                 if(dd==1)
  88.                 {
  89.                         w=10;
  90.                         femwei(w);
  91.                    write_com(0x80+0x44); //顯示地址
  92.                    write_data('5');
  93.                    write_data('+');
  94.                    write_data('5');
  95.                    write_data('=');
  96.                    write_data(shi);
  97.                    write_data(ge);
  98.                    delay_50us(300);
  99.                 }
  100.                 if(dd==2)
  101.                 {
  102.                         w=72;
  103.                         femwei(w);
  104.                    write_com(0x80+0x44);
  105.                    write_data('8');
  106.                    write_data('*');
  107.                    write_data('9');
  108.                    write_data('=');
  109.                    write_data(shi);
  110.                    write_data(ge);
  111.                    delay_50us(300);
  112.                 }
  113.                 if(dd==3)
  114.                 {
  115.                    w=04;
  116.                    femwei(w);
  117.                    write_com(0x80+0x44);
  118.                    write_data('9');
  119.                    write_data('-');
  120.                    write_data('5');
  121.                    write_data('=');
  122.                    write_data(shi);
  123.                    write_data(ge);
  124.                    delay_50us(300);
  125.                  
  126.                 }
  127.                 if(dd==4)
  128.                 {
  129.                         w=07;
  130.                    femwei(w);         
  131.                    write_com(0x80+0x44);
  132.                    write_data('8');
  133.                    write_data('-');
  134.                    write_data('1');
  135.                    write_data('=');
  136.                    write_data(shi);
  137.                    write_data(ge);
  138.                    delay_50us(300);
  139.                 }
  140.          }
  141. }
  142. void main()
  143. {
  144.        
  145.         init();
  146.         while(1)
  147.         {
  148.                  keyscan();
  149.         }
  150. }
復制代碼


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

使用道具 舉報

沙發
ID:68727 發表于 2016-6-7 00:26 來自觸屏版 | 只看該作者
謝謝51hei又學習了
回復

使用道具 舉報

板凳
ID:3721 發表于 2016-6-7 00:58 | 只看該作者
很經典的程序 1602顯示英文和數字,收藏了
回復

使用道具 舉報

地板
ID:211766 發表于 2017-6-17 22:53 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

5#
ID:29438 發表于 2017-6-18 09:25 | 只看該作者
學習了,謝謝!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧洲成人免费视频 | 亚洲一区二区三区四区五区中文 | 久久福利电影 | 2022精品国偷自产免费观看 | 久久精品亚洲精品国产欧美 | 91精品久久久久久综合五月天 | 久草免费在线视频 | 国产午夜三级一区二区三 | 亚洲高清一区二区三区 | 亚洲国产精品人人爽夜夜爽 | 综合久久久久 | 免费成人高清 | 日本精品视频一区二区 | 日韩视频在线播放 | 精品视频一区二区 | 91精品国产91久久久久久密臀 | 日韩中文字幕在线播放 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 精品久久久久久久久久久 | 偷拍自拍第一页 | 国产精品99久久久久久动医院 | 亚洲精品国产第一综合99久久 | 嫩草国产| 久久久久久久久久久91 | 亚洲欧美综合精品另类天天更新 | 91av在线免费观看 | 国产精品18hdxxxⅹ在线 | 成人二区 | 国产不卡视频在线 | 日本精品裸体写真集在线观看 | 国产乱码精品一区二区三区中文 | 99视频精品 | 国产欧美一区二区三区免费 | 中文字幕高清免费日韩视频在线 | 欧美区在线观看 | 国产亚洲精品精品国产亚洲综合 | 亚洲在线一区 | 日韩a在线 | 中文字幕不卡在线观看 | 精品欧美一区二区三区久久久小说 | 影音先锋成人资源 |