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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于stm32簡易函數(shù)發(fā)生器程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:432703 發(fā)表于 2020-9-4 15:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "lcd.h"
  6. #include "adc.h"
  7. #include "dac.h"
  8. #include "key.h"
  9. #include "Drive_DAC.h"
  10. #include "touch.h"



  11. // ************  P4或DAC口作輸出    GND接地  ***********

  12. //清空屏幕并在右上角顯示"RST"
  13. void Load_Drow_Dialog(void)
  14. {
  15.         LCD_Clear(WHITE);//清屏   
  16.         POINT_COLOR=BLUE;//設置字體為藍色
  17.         LCD_ShowString(200-24,0,200,16,16,"RST");//顯示清屏區(qū)域
  18.           POINT_COLOR=RED;//設置畫筆藍色
  19. }

  20. void rtp_test(void)
  21. {
  22.                 tp_dev.scan(0);                  
  23.                 if(tp_dev.sta&TP_PRES_DOWN)                        //觸摸屏被按下
  24.                 {       
  25.                          if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
  26.                         {       
  27.                                 if(tp_dev.x[0]>30&&tp_dev.y[0]<230+16&&tp_dev.y[0]>210+16)
  28.                                 {
  29.                                         ddsStructData.wave = SAWTOOTHWAVE;
  30.                                 }
  31.                                 if(tp_dev.x[0]>30&&tp_dev.y[0]<210+16&&tp_dev.y[0]>190+16)
  32.                                 {
  33.                                         ddsStructData.wave = SQUAREWAVE;
  34.                                 }
  35.                                 if(tp_dev.x[0]>30&&tp_dev.y[0]<190+16&&tp_dev.y[0]>170+16)
  36.                                 {
  37.                                         ddsStructData.wave = TRIANGLEWAE;
  38.                                 }
  39.                                 if(tp_dev.x[0]>30&&tp_dev.y[0]<170+16&&tp_dev.y[0]>150+16)
  40.                                 {
  41.                                         ddsStructData.wave = SINWAVE;
  42.                                 }
  43.                                 if(tp_dev.x[0]>125&&tp_dev.x[0]<140&&tp_dev.y[0]<90+16)
  44.                                 {
  45.                                         ddsStructData.hz += 500;
  46.                       if(ddsStructData.hz == 3000) ddsStructData.hz = 500;
  47.                                 }
  48.                                 if(tp_dev.x[0]>140&&tp_dev.y[0]<90+16)
  49.                                 {
  50.                                         ddsStructData.hz -= 500;
  51.                       if(ddsStructData.hz < 500) ddsStructData.hz = 3000;
  52.                                 }
  53.                                 if(tp_dev.x[0]>125&&tp_dev.x[0]<140&&tp_dev.y[0]<110+16&&tp_dev.y[0]>90+16)
  54.                                 {
  55.                                         ddsStructData.vpp += 1;
  56.                       if(ddsStructData.vpp == 4) ddsStructData.vpp = 1;
  57.                                 }
  58.                                 if(tp_dev.x[0]>140&&tp_dev.y[0]<110+16&&tp_dev.y[0]>90+16)
  59.                                 {
  60.                                         ddsStructData.vpp -= 1;
  61.                       if(ddsStructData.vpp < 1) ddsStructData.vpp = 4;
  62.                                 }
  63.                         }
  64.                 }else delay_ms(10);        //沒有按鍵按下的時候
  65. }

  66. int main(void)
  67. {
  68.         u16 adcx;
  69.         float temp;
  70.         u8 t=0;         
  71.         u16 dacval=0;
  72.         u8 key;       
  73.         float result;
  74.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統(tǒng)中斷優(yōu)先級分組2
  75.         delay_init(168);      //初始化延時函數(shù)
  76.         uart_init(115200);                //初始化串口波特率為115200
  77.        
  78.         LED_Init();                                        //初始化LED
  79.         LCD_Init();                                        //LCD初始化
  80.         KEY_Init();                                 //按鍵初始化
  81.         POINT_COLOR=RED;
  82.         LCD_ShowString(30,20,200,16,16,"*********- dds -*********");       
  83.         LCD_ShowString(30,70,200,16,16,"------ Parameter ------");
  84.         LCD_ShowString(30,90,200,16,16,"f:");
  85.         LCD_ShowString(130,90,200,16,16,"+");
  86.         LCD_ShowString(160,90,200,16,16,"-");
  87.         LCD_ShowString(90,90,200,16,16,"Hz");
  88.         LCD_ShowString(30,110,200,16,16,"vpp:");       
  89.         LCD_ShowString(130,110,200,16,16,"+");
  90.         LCD_ShowString(160,110,200,16,16,"-");
  91.         LCD_ShowString(90,110,200,16,16,"v");
  92.         LCD_ShowString(30,130,200,16,16,"------ wave ------");
  93.         LCD_ShowString(30,170,200,16,16,"1.SINWAVE");
  94.         LCD_ShowString(30,190,200,16,16,"2.TRIANGLEWAE");
  95.         LCD_ShowString(30,210,200,16,16,"3.SQUAREWAVE");
  96.         LCD_ShowString(30,230,200,16,16,"4.SAWTOOTHWAVE");
  97.   DAC_SetChannel1Data(DAC_Align_12b_R,dacval);//初始值為0       
  98.         tp_dev.init();                                //觸摸屏初始化
  99.         ddsStructData.hz = 1000;
  100.         ddsStructData.vpp = 1;
  101.         while(1)
  102.         {
  103.                 u16 i=0;
  104.                 dacInit();
  105.                 dacOpen();
  106.                 rtp_test();
  107.     LCD_ShowxNum(60,110,(float)ddsStructData.vpp,3,16,0);
  108.                 LCD_ShowxNum(50,90,ddsStructData.hz,4,16,0);
  109.                 if(ddsStructData.wave==TRIANGLEWAE)
  110.                 {
  111.                         LCD_ShowString(30,150,200,16,16,"wave:");
  112.                         LCD_ShowString(80,150,200,16,16,"TRIANGLEWAE ");
  113.                 }
  114.                 if(ddsStructData.wave==SQUAREWAVE)
  115.                 {
  116.                         LCD_ShowString(30,150,200,16,16,"wave:");
  117.                         LCD_ShowString(80,150,200,16,16,"SQUAREWAVE  ");
  118.                 }
  119.                 if(ddsStructData.wave==SINWAVE)
  120.                 {
  121.                         LCD_ShowString(30,150,200,16,16,"wave:");
  122.                         LCD_ShowString(80,150,200,16,16,"SINWAVE     ");
  123.                 }
  124.                 if(ddsStructData.wave==SAWTOOTHWAVE)
  125.                 {
  126.                         LCD_ShowString(30,150,200,16,16,"wave:");
  127.                         LCD_ShowString(80,150,200,16,16,"SAWTOOTHWAVE");
  128.                 }
  129.                 delay_ms(300);
  130.         }
  131. }
復制代碼


簡易函數(shù)發(fā)生器.7z

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

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩高清在线观看 | 日韩第一页 | 人人九九精 | 日韩午夜网站 | 中文字幕高清av | 蜜桃视频一区二区三区 | 99re视频| 免费精品久久久久久中文字幕 | 四虎影音| 99re在线免费视频 | 婷婷久久一区 | 国产精品电影在线观看 | 亚洲第一天堂无码专区 | 一本色道精品久久一区二区三区 | 久久亚洲综合 | 色在线免费视频 | 日韩成人影院在线观看 | 久久51| 精品久久影院 | 国产一区二区久久 | 亚洲一区二区免费视频 | 欧美日韩综合精品 | 福利一区二区 | 欧美福利一区 | 91在线看| 欧美午夜精品 | www.亚洲视频.com | 国产精品久久久久久婷婷天堂 | 欧美男人的天堂 | 久久另类 | 成人国产免费视频 | 日韩在线视频免费观看 | 精品国产一区二区国模嫣然 | 免费高清av | 亚洲天天干 | 性视频一区 | 国产一区二区三区精品久久久 | 国产黄色大片在线免费观看 | 欧美成年网站 | 国产精品九九九 | 国产精品久久久久久久7电影 |