標(biāo)題: stm32寫(xiě)應(yīng)變片的程序 讀HX711芯片的輸出 [打印本頁(yè)]

作者: 斑駁    時(shí)間: 2017-3-19 13:51
標(biāo)題: stm32寫(xiě)應(yīng)變片的程序 讀HX711芯片的輸出
實(shí)驗(yàn)器材:
    MiniSTM32F103開(kāi)發(fā)板V3版本
   
實(shí)驗(yàn)?zāi)康?
    學(xué)習(xí)彩色TFTLCD顯示屏的使用
   
硬件資源:
    1,DS0(連接在PA8)
    2,串口1(波特率:9600,PA9/PA10連接在板載USB轉(zhuǎn)串口芯片CH340上面)
    3,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模塊(通過(guò)GPIO驅(qū)動(dòng),連接關(guān)系見(jiàn)lcd.h)
   
實(shí)驗(yàn)現(xiàn)象:
    本實(shí)驗(yàn)利用MiniSTM32開(kāi)發(fā)板連接ALIENTEK TFTLCD模塊(除CPLD版本7寸屏模塊外,其余所有ALIENTEK的
    LCD模塊都可以支持),實(shí)現(xiàn)TFTLCD模塊的顯示,下載成功后,通過(guò)把LCD模塊插入TFTLCD模塊接口(靠右
    插),按下復(fù)位之后,就可以看到LCD模塊不停的顯示一些信息并不斷切換底色。同時(shí)該實(shí)驗(yàn)會(huì)顯示LCD驅(qū)
    動(dòng)器的ID,并且會(huì)在串口打。ò磸(fù)位一次,打印一次)。
   
注意事項(xiàng):  
    1,4.3寸和7寸屏需要比較大電流,USB供電可能不足,請(qǐng)用外部電源供電(5V電源,接VOUT2即可).
    2,本例程在LCD_Init函數(shù)里面(在ILI93xx.c),用到了printf,如果不初始化串口1,將導(dǎo)致液晶無(wú)法顯示!!
    3,LCD模塊在開(kāi)發(fā)板的LCD接口上面,必須靠右插。

全部源碼下載:
應(yīng)變片.rar (331.19 KB, 下載次數(shù): 227)




主程序預(yù)覽:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "hx711.h"

  7. //ALIENTEK Mini STM32開(kāi)發(fā)板范例代碼11
  8. //TFTLCD顯示實(shí)驗(yàn)   
  9. unsigned long Read_HX711(void)  //讀HX711芯片輸出的數(shù)據(jù)。
  10. {
  11. unsigned long val = 0;
  12. unsigned char i = 0;

  13. GPIO_SetBits(GPIOD,GPIO_Pin_13);           //DOUT=1
  14. GPIO_ResetBits(GPIOD,GPIO_Pin_12);           //SCK=0
  15. while(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_13));   //等待DOUT=0  
  16. delay_us(1);
  17. for(i=0;i<24;i++)
  18. {
  19. GPIO_SetBits(GPIOD,GPIO_Pin_12);           //SCK=1
  20. val=val<<1;
  21. delay_us(1);  
  22. GPIO_ResetBits(GPIOD,GPIO_Pin_12);           //SCK=0
  23. if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_13))   //DOUT=1
  24. val++;
  25. delay_us(1);
  26. }
  27. GPIO_SetBits(GPIOD,GPIO_Pin_12);
  28. val = val^0x800000;
  29. delay_us(1);
  30. GPIO_ResetBits(GPIOD,GPIO_Pin_12);
  31. delay_us(1);  
  32. return val;        
  33. }


  34. int main(void)
  35. {
  36.          u8 x=0;
  37.         unsigned long mm;
  38.         u8 lcd_id[12];                        //存放LCD ID字符串       
  39.         delay_init();                     //延時(shí)函數(shù)初始化          
  40.         uart_init(9600);                 //串口初始化為9600
  41.         LED_Init();                                  //初始化與LED連接的硬件接口
  42.         LCD_Init();
  43.         POINT_COLOR=RED;
  44.         sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//將LCD ID打印到lcd_id數(shù)組。                                        
  45.           while(1)
  46.         {                 
  47.                 mm= Read_HX711();
  48.                 switch(x)
  49.                 {
  50.                         case 0:LCD_Clear(WHITE);break;
  51.                         case 1:LCD_Clear(BLACK);break;
  52.                         case 2:LCD_Clear(BLUE);break;
  53.                         case 3:LCD_Clear(RED);break;
  54.                         case 4:LCD_Clear(MAGENTA);break;
  55.                         case 5:LCD_Clear(GREEN);break;
  56.                         case 6:LCD_Clear(CYAN);break;

  57.                         case 7:LCD_Clear(YELLOW);break;
  58.                         case 8:LCD_Clear(BRRED);break;
  59.                         case 9:LCD_Clear(GRAY);break;
  60.                         case 10:LCD_Clear(LGRAY);break;
  61.                         case 11:LCD_Clear(BROWN);break;
  62.                 }
  63.                 POINT_COLOR=RED;          
  64.                 LCD_ShowString(30,40,200,24,24,"Mini STM32 ^_^");       
  65.                 LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");
  66.                 LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
  67.                 LCD_ShowString(30,110,200,16,16,lcd_id);                //顯示LCD ID                                                       
  68.                 LCD_ShowString(30,130,200,12,12,"2014/3/7");         
  69.     LCD_ShowNum(30,160,mm,8,12);               
  70.             x++;
  71.                 if(x==12)x=0;
  72.                 LED0=!LED0;         
  73.                 delay_ms(1000);       
  74.         }
  75. }
復(fù)制代碼



作者: zhanglu    時(shí)間: 2017-3-21 06:40

 謝謝分享
作者: 檸_檬    時(shí)間: 2017-4-19 14:25
采集的書(shū)籍能不能發(fā)一下 謝謝
作者: 215254654416516    時(shí)間: 2017-5-2 00:38
能不能看下程序啊  和  電路圖?
作者: huangpei    時(shí)間: 2017-7-22 11:30
謝謝樓主分享,下載學(xué)習(xí)下
作者: sgsxlz    時(shí)間: 2017-7-26 13:34
謝謝樓主分享
作者: pengxinaa5    時(shí)間: 2018-2-28 20:19
謝謝樓主
作者: litolab    時(shí)間: 2018-3-4 23:06
一定要學(xué)習(xí)一下 謝謝了!
作者: 無(wú)端澀谷    時(shí)間: 2018-4-17 22:49
謝謝樓主

作者: wilso6745    時(shí)間: 2018-6-13 15:39
厲害厲害,樓主給力啊
作者: xulongcheng2008    時(shí)間: 2018-6-29 10:04
厲害厲害,樓主給力啊
作者: lindq    時(shí)間: 2018-7-25 16:47
謝謝樓主分享。。。
作者: 阿杜依諾    時(shí)間: 2018-11-5 16:11
這個(gè)有詳細(xì)的介紹嗎???
作者: 阿杜依諾    時(shí)間: 2018-11-5 16:57
是新用戶不能評(píng)論嗎???文件都下載不了!坑爹
作者: wxx1234    時(shí)間: 2018-12-28 15:52
這個(gè)PD12.13在哪里啊,找不到啊
作者: Inotia    時(shí)間: 2019-1-20 10:14
謝謝樓主分享
作者: 一顆糖    時(shí)間: 2019-4-3 19:57
來(lái)了 謝謝您
作者: windyling    時(shí)間: 2019-4-26 12:34
請(qǐng)問(wèn)這個(gè)輸出結(jié)果穩(wěn)定嗎?我用32做的結(jié)果很跳,而且在沒(méi)放東西時(shí)會(huì)超重
作者: werwolf    時(shí)間: 2019-6-24 22:24
謝謝樓主
作者: chenpeng    時(shí)間: 2020-2-22 13:55
應(yīng)變片連接32的時(shí)候中間需要加其他芯片嗎?




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