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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3915|回復: 2
上一主題 下一主題
收起左側

STM32F103ZET6芯片的ADC采集方波信號求占空比并顯示在lcd上源程序

[復制鏈接]
跳轉到指定樓層
樓主
**
  ******************************************************************************
  * @file    main.c
  * @author  fire
  * @version V1.0
  * @date    2013-xx-xx
  * @brief   液晶顯示漢字實驗(字庫在外部FLASH)
  ******************************************************************************
  * @attention
  *

  *
  ******************************************************************************
  */

#include "stm32f10x.h"        
#include "bsp_ili9341_lcd.h"
#include "./flash/bsp_spi_flash.h"
#include "bsp_led.h"
#include "bsp_AdvanceTim.h"
#include "bsp_GeneralTim.h"
#include "bsp_usart.h"

static void LCD_Test(void);        
static void Delay ( __IO uint32_t nCount );

void Printf_Charater(void)   ;

extern uint16_t Count_flag;
//extern __align(8) float  show_DutyCycle ;
//extern __align(8) float  show_Frequency ;
extern float  show_DutyCycle ;
extern float  show_Frequency ;
u8 dispBuff[100];
int main(void)
{        
        
                //LCD 初始化
        ILI9341_Init ();         
  /* USART config */
        USART_Config();  
        
        ILI9341_GramScan ( 6 );
        
        //Printf_Charater();
        /* 通用定時器初始化,用于生成PWM信號 */
        GENERAL_TIM_Init();
        
        /* 高級定時器初始化 ,用戶捕獲PWM信號*/
        ADVANCE_TIM_Init();
        

  while(1)
  {
                if(Count_flag==1)
                {
                        LCD_SetFont(&Font8x16);
                        LCD_SetColors(RED,BLACK);
        
                        //ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
                        /********顯示字符串示例*******/
                        LCD_SetTextColor(GREEN);
                  //sprintf( dispBuff,"占空比:%0.2f%%   頻率:%0.2fHz\n",show_DutyCycle,show_Frequency);
                        sprintf( (char*)dispBuff,"占空比:%0.2f%%",show_DutyCycle);
                        LCD_ClearLine(LINE(5));        /* 清除單行文字 */
                        /*然后顯示該字符串即可,其它變量也是這樣處理*/
                        ILI9341_DispStringLine_EN_CH(LINE(5),(char*)dispBuff);
                        Count_flag=0;
                }
                //LCD_Test();     
  }
}
//        printf("\r\n ********** 液晶屏中文顯示程序(字庫在外部FLASH)*********** \r\n");
//        printf("\r\n 若漢字顯示不正常,請閱讀工程中的readme.txt文件說明,根據要求給FLASH重刷字模數據\r\n");

// //其中0、3、5、6 模式適合從左至右顯示文字,
// //不推薦使用其它模式顯示文字        其它模式顯示文字會有鏡像效果                        
// //其中 6 模式為大部分液晶例程的默認顯示方向  
//        ILI9341_GramScan ( 6 );
//        
//        Printf_Charater();
//        
//        while ( 1 )
//        {
//                ;
//        }
//        
//        
//}



///*用于測試各種液晶的函數*/
void LCD_Test(void)
{
        /*演示顯示變量*/
        static uint8_t testCNT = 0;        
        char dispBuff[100];
        
        testCNT++;        
        
        LCD_SetFont(&Font8x16);
        LCD_SetColors(RED,BLACK);

  ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
        /********顯示字符串示例*******/
  ILI9341_DispStringLine_EN_CH(LINE(0),"秉火3.2寸LCD參數:");
  ILI9341_DispStringLine_EN_CH(LINE(1),"分辨率:240x320 px");
  ILI9341_DispStringLine_EN_CH(LINE(2),"ILI9341液晶驅動");
  ILI9341_DispStringLine_EN_CH(LINE(3),"XPT2046觸摸屏驅動");

        /********顯示變量示例*******/
        LCD_SetTextColor(GREEN);

        /*使用c標準庫把變量轉化成字符串*/
        sprintf(dispBuff,"顯示變量: %d ",testCNT);
  LCD_ClearLine(LINE(5));        /* 清除單行文字 */
        
        /*然后顯示該字符串即可,其它變量也是這樣處理*/
        ILI9341_DispStringLine_EN_CH(LINE(5),dispBuff);

        /*******顯示圖形示例******/
  /* 畫直線 */

  LCD_ClearLine(LINE(7));/* 清除單行文字 */
        LCD_SetTextColor(BLUE);

  ILI9341_DispStringLine_EN_CH(LINE(7),"畫直線:");

        LCD_SetTextColor(RED);
  ILI9341_DrawLine(50,170,210,230);  
  ILI9341_DrawLine(50,200,210,240);

        LCD_SetTextColor(GREEN);
  ILI9341_DrawLine(100,170,200,230);  
  ILI9341_DrawLine(200,200,220,240);
        
        LCD_SetTextColor(BLUE);
  ILI9341_DrawLine(110,170,110,230);  
  ILI9341_DrawLine(130,200,220,240);

  Delay(0xFFFFFF);

  ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */


  /*畫矩形*/

  LCD_ClearLine(LINE(7));        /* 清除單行文字 */
        LCD_SetTextColor(BLUE);

  ILI9341_DispStringLine_EN_CH(LINE(7),"畫矩形:");

        LCD_SetTextColor(RED);
  ILI9341_DrawRectangle(50,200,100,30,1);
        
        LCD_SetTextColor(GREEN);
  ILI9341_DrawRectangle(160,200,20,40,0);
        
        LCD_SetTextColor(BLUE);
  ILI9341_DrawRectangle(170,200,50,20,1);

  Delay(0xFFFFFF);
        
        ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

  /* 畫圓 */
  LCD_ClearLine(LINE(7));        /* 清除單行文字 */
        LCD_SetTextColor(BLUE);
        
  ILI9341_DispStringLine_EN_CH(LINE(7),"畫圓");
        
        LCD_SetTextColor(RED);
  ILI9341_DrawCircle(100,200,20,0);
        
        LCD_SetTextColor(GREEN);
  ILI9341_DrawCircle(100,200,10,1);
        
        LCD_SetTextColor(BLUE);
        ILI9341_DrawCircle(140,200,20,0);

  Delay(0xFFFFFF);

  ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

}


/**
  * @brief  簡單延時函數
  * @param  nCount :延時計數值
  * @retval 無
  */        
static void Delay ( __IO uint32_t nCount )
{
  for ( ; nCount != 0; nCount -- );
        
}



/*"當"字符的字模16x16 */           
unsigned char charater_matrix[] =   
{ /*"當",0*/
0x01,0x00,0x21,0x08,0x11,0x08,0x09,0x10,0x09,0x20,0x01,0x00,0x7F,0xF8,0x00,        0x08,
0x00,0x08,0x00,0x08,0x3F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,0x7F,0xF8,0x00,0x08,

};   

/**
  * @brief  使用串口在上位機打印字模
        *                                        演示字模顯示原理
  * @retval 無
  */
void Printf_Charater(void)   
{   
        int i,j;   
        unsigned char kk;

        /*i用作行計數*/
  for ( i=0;i<16;i++)   
        {   
                /*j用作一字節內數據的移位計數*/
                /*一行像素的第一個字節*/
    for(j=0; j<8; j++)   
    {      
                        /*一個數據位一個數據位地處理*/
      kk = charater_matrix[2*i] << j ;  //左移J位         
                        if( kk & 0x80)     
                        {   
                                printf("*"); //如果最高位為1,輸出*號,表示筆跡
                        }   
                        else  
                        {   
                                printf(" "); //如果最高位為0,輸出空格,表示空白  
                        }   
    }   
                /*一行像素的第二個字節*/
    for(j=0; j<8; j++)   
                {              
      kk = charater_matrix[2*i+1] << j ;  //左移J位   

                        if( kk & 0x80)         
                        {   
                                printf("*"); //如果最高位為1,輸出*號,表示筆跡   
                        }   
                        else  
                        {   
                                printf(" "); //如果最高位為0,輸出空格,表示空白
                        }   
                }         
    printf("\n");    //輸出完一行像素,換行
        }   
        printf("\n\n");                 //一個字輸出完畢
}   



/* ------------------------------------------end of file---------------------------------------- */


基于STM32F103ZET6芯片的ADC采集方波信號求占空比并顯示在lcd上

全部資料51hei下載地址:
求脈沖信號占空比并顯示.7z (227.17 KB, 下載次數: 37)

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

使用道具 舉報

沙發
ID:1 發表于 2019-6-2 06:03 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

板凳
ID:290305 發表于 2019-7-17 18:26 | 只看該作者
,資料不能用
回復

使用道具 舉報

地板
ID:583948 發表于 2019-7-18 17:39
不能用

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品成人在线播放 | 综合久久一区 | 亚洲精品一区二区三区蜜桃久 | 国产欧美在线 | 久久av一区 | 超碰导航 | 中文字幕一区二区三区不卡 | 久久久欧洲 | 中文字幕精品一区久久久久 | 99reav| www国产成人免费观看视频,深夜成人网 | 午夜爽爽爽男女免费观看影院 | 日韩欧美在线视频 | 日本免费一区二区三区四区 | 一级黄色片在线免费观看 | 精品欧美激情在线观看 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 欧美aaaaaaaa| 天堂成人国产精品一区 | 午夜国产| 一区二区视频在线观看 | 精品国产一区二区三区久久久蜜月 | 欧美一级在线视频 | 99精品久久久国产一区二区三 | 亚洲精品久久视频 | 国产中文字幕网 | 国产精品一区二区三区在线 | 欧美精品乱码久久久久久按摩 | 日韩影院在线观看 | 久久久精彩视频 | 亚州成人| 国产精品久久久久久一区二区三区 | 天天综合网天天综合色 | 日韩精品一区二区三区在线观看 | 国产精品久久久久久238 | 在线日韩精品视频 | 欧美成人h版在线观看 | 中文字幕成人av | 成人av一区二区亚洲精 | 亚洲视频欧美视频 | 欧美在线综合 |