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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51的_稱重_lcd12864顯示

[復制鏈接]
跳轉到指定樓層
樓主
ID:742422 發表于 2020-5-1 17:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本程序是參加機器人大賽所寫,發出來供大家參考
  1. //****************************************************
  2. #include "main.h"
  3. #include "LCD12864.h"
  4. #include "iic.h"
  5. //定義變量
  6. unsigned long hardval;

  7. sbit ADDO = P1^5;
  8. sbit ADSK = P1^0;
  9. //****************************************************
  10. //主函數
  11. //****************************************************
  12. void main()
  13. {
  14.         LCD12864_Reset();                                                                //初始化液晶
  15.         LCD12864_HAIZI_SET();                                                        //設置為普通模式
  16.        
  17.         delay_ms(100);

  18.         LCD12864_COM_Write(0x80);                        //設置指針
  19.         LCD12864_write_word("別人笑我太瘋癲,");                                //顯示內容
  20.         LCD12864_COM_Write(0x90);                        //設置指針
  21.         LCD12864_write_word("我笑他人看不穿。");                        //顯示內容
  22.         LCD12864_COM_Write(0x88);                        //設置指針
  23.         LCD12864_write_word("不見五陵豪杰墓,");                //顯示內容
  24.         LCD12864_COM_Write(0x98);                        //設置指針
  25.         LCD12864_write_word("無花無酒鋤作田。");                                //顯示內容
  26.         delay_ms(3000);
  27.         LCD12864_COM_Write(0x01); /*顯示清屏*/
  28.         delay_ms(30);
  29.         while(1)
  30.         {
  31.                 hardval=ReadCount();hardval=hardval-8210000;
  32.     if(hardval<=4000)hardval=0;
  33.                 else hardval=hardval-4000;
  34.                 LCD12864_COM_Write(0x90);                        //設置指針
  35.           LCD12864_write_word("weight:");                        //顯示內容

  36.                 LCD12864_COM_Write(0x88);                        //設置指針
  37.                 LCD12864_Data_Write(hardval/10000000%10+48);
  38.                 LCD12864_COM_Write(0x89);                        //設置指針
  39.                 LCD12864_Data_Write(hardval/1000000%10+48);
  40.                 LCD12864_COM_Write(0x8a);                        //設置指針
  41.                 LCD12864_Data_Write(hardval/100000%10+48);
  42.                 LCD12864_COM_Write(0x8b);                        //設置指針
  43.                 LCD12864_Data_Write(hardval/10000%10+48);
  44.                 LCD12864_COM_Write(0x8c);                        //設置指針
  45.                 LCD12864_Data_Write(hardval/1000%10+48);
  46.                 LCD12864_COM_Write(0x8d);                        //設置指針
  47.                 LCD12864_Data_Write(hardval/100%10+48);
  48.                 LCD12864_COM_Write(0x8e);                        //設置指針
  49.                 LCD12864_Data_Write(hardval/10%10+48);
  50.                 LCD12864_COM_Write(0x8f);                        //設置指針
  51.                 LCD12864_Data_Write(hardval%10+48);
  52.                
  53.                 delay_ms(500);
  54.                 LCD12864_COM_Write(0x01); /*顯示清屏*/
  55.         delay_ms(30);
  56.         }
  57. }
  58. //****************************************************
  59. //MS延時函數(12M晶振下測試)
  60. //****************************************************
  61. void delay_ms(unsigned int n)
  62. {
  63.         unsigned int  i,j;
  64.                 for(i=0;i<n;i++)
  65.                         for(j=0;j<1230;j++);
  66. }

  67. //****************************************************
  68. //AD讀取函數
  69. //****************************************************
  70. void ADC_Init(unsigned char chanel)
  71. {
  72.         IIC_Start();
  73.         IIC_SendByte(0x90);
  74.         IIC_WaitAck();
  75.         IIC_SendByte(chanel);
  76.         IIC_WaitAck();
  77.         IIC_Stop();
  78.         delay_ms(20);
  79. }
  80. unsigned char ADC_Read()
  81. {
  82.         unsigned char temp;
  83.         IIC_Start();
  84.         IIC_SendByte(0x91);
  85.         IIC_WaitAck();
  86.         temp=IIC_RecByte();
  87.         IIC_Ack(0);
  88.         IIC_Stop();
  89.         return temp;
  90. }
  91. //****************************************************
  92. //重量讀取函數
  93. //****************************************************
  94. unsigned long ReadCount(void)
  95. {
  96. unsigned long Count;
  97. unsigned char i;
  98. ADSK=0; //使能AD(PD_SCK 置低)
  99. Count=0;
  100. while(ADDO); //AD轉換未結束則等待,否則開始讀取
  101. for (i=0;i<24;i++)
  102. {
  103. ADSK=1; //PD_SCK 置高(發送脈沖)
  104. Count=Count<<1; //下降沿來時變量Count左移一位,右側補零
  105. ADSK=0; //PD_SCK 置低
  106. if(ADDO) Count++;
  107. }
  108. ADSK=1;
  109. Count=Count^0x800000;//第25個脈沖下降沿來時,轉換數據
  110. ADSK=0;
  111. return(Count);
  112. }
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:742422 發表于 2020-5-1 17:43 | 只看該作者
二樓程序

煒煌杯_稱重_lcd12864.zip

63.35 KB, 下載次數: 22, 下載積分: 黑幣 -5

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品69毛片高清亚洲 | 久久精品免费看 | 欧美色综合一区二区三区 | 日韩成人在线看 | 欧美日韩精品一区二区三区四区 | 国产欧美日韩一区二区三区在线观看 | 亚洲一区二区视频在线观看 | 亚洲成人一区二区在线 | www.99热.com| 久久久国产一区二区三区 | 国产无套一区二区三区久久 | 日韩毛片视频 | 久久久精选 | 精品久久久久久久久亚洲 | 久久久黄色 | 一区二区高清在线观看 | 黄色毛片黄色毛片 | 久久久久久电影 | 国产一级精品毛片 | 毛片网在线观看 | 亚洲免费视频一区 | 欧美又大粗又爽又黄大片视频 | 日韩中文字幕在线不卡 | 中文字幕亚洲欧美日韩在线不卡 | 丁香综合 | 中文字幕在线免费视频 | 久久人人网 | 射欧美| 亚洲国产一区二区视频 | 欧美亚洲视频在线观看 | 超碰成人免费 | 91久久精品一区二区二区 | 国产成人一区二区三区 | 欧美一区二区三区的 | 欧美日韩国产精品 | 日韩精品成人网 | 国产精品永久免费视频 | 亚洲欧美自拍偷拍视频 | 日韩欧美在线免费观看 | 成人在线日韩 | 日韩视频中文字幕 |