欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2125|回復(fù): 1
收起左側(cè)

基于51的_稱重_lcd12864顯示

[復(fù)制鏈接]
ID:742422 發(fā)表于 2020-5-1 17:42 | 顯示全部樓層 |閱讀模式
本程序是參加機(jī)器人大賽所寫,發(fā)出來供大家參考
  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. //主函數(shù)
  11. //****************************************************
  12. void main()
  13. {
  14.         LCD12864_Reset();                                                                //初始化液晶
  15.         LCD12864_HAIZI_SET();                                                        //設(shè)置為普通模式
  16.        
  17.         delay_ms(100);

  18.         LCD12864_COM_Write(0x80);                        //設(shè)置指針
  19.         LCD12864_write_word("別人笑我太瘋癲,");                                //顯示內(nèi)容
  20.         LCD12864_COM_Write(0x90);                        //設(shè)置指針
  21.         LCD12864_write_word("我笑他人看不穿。");                        //顯示內(nèi)容
  22.         LCD12864_COM_Write(0x88);                        //設(shè)置指針
  23.         LCD12864_write_word("不見五陵豪杰墓,");                //顯示內(nèi)容
  24.         LCD12864_COM_Write(0x98);                        //設(shè)置指針
  25.         LCD12864_write_word("無花無酒鋤作田。");                                //顯示內(nèi)容
  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);                        //設(shè)置指針
  35.           LCD12864_write_word("weight:");                        //顯示內(nèi)容

  36.                 LCD12864_COM_Write(0x88);                        //設(shè)置指針
  37.                 LCD12864_Data_Write(hardval/10000000%10+48);
  38.                 LCD12864_COM_Write(0x89);                        //設(shè)置指針
  39.                 LCD12864_Data_Write(hardval/1000000%10+48);
  40.                 LCD12864_COM_Write(0x8a);                        //設(shè)置指針
  41.                 LCD12864_Data_Write(hardval/100000%10+48);
  42.                 LCD12864_COM_Write(0x8b);                        //設(shè)置指針
  43.                 LCD12864_Data_Write(hardval/10000%10+48);
  44.                 LCD12864_COM_Write(0x8c);                        //設(shè)置指針
  45.                 LCD12864_Data_Write(hardval/1000%10+48);
  46.                 LCD12864_COM_Write(0x8d);                        //設(shè)置指針
  47.                 LCD12864_Data_Write(hardval/100%10+48);
  48.                 LCD12864_COM_Write(0x8e);                        //設(shè)置指針
  49.                 LCD12864_Data_Write(hardval/10%10+48);
  50.                 LCD12864_COM_Write(0x8f);                        //設(shè)置指針
  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延時函數(shù)(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讀取函數(shù)
  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. //重量讀取函數(shù)
  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轉(zhuǎn)換未結(jié)束則等待,否則開始讀取
  101. for (i=0;i<24;i++)
  102. {
  103. ADSK=1; //PD_SCK 置高(發(fā)送脈沖)
  104. Count=Count<<1; //下降沿來時變量Count左移一位,右側(cè)補(bǔ)零
  105. ADSK=0; //PD_SCK 置低
  106. if(ADDO) Count++;
  107. }
  108. ADSK=1;
  109. Count=Count^0x800000;//第25個脈沖下降沿來時,轉(zhuǎn)換數(shù)據(jù)
  110. ADSK=0;
  111. return(Count);
  112. }
復(fù)制代碼

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:742422 發(fā)表于 2020-5-1 17:43 | 顯示全部樓層
二樓程序

煒煌杯_稱重_lcd12864.zip

63.35 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表