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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2784|回復: 7
收起左側

STC32G12K128單片機向外部輸出一個時鐘時鐘頻率的請教

[復制鏈接]
ID:61140 發表于 2023-11-7 10:21 | 顯示全部樓層 |閱讀模式
本人最近在學習STC32G的單片機,需要單片機向外部輸出一個時鐘時鐘頻率分別是:100HZ、1KHZ、10KHZ、100KHZ     一共四種。這里想請教,STC32G12K128的單片機,LQFP64封裝的,可以把內
部時鐘分頻或通過其它方法做到以上功能么,請各位大神指導并提供
方法,謝謝!
回復

使用道具 舉報

ID:732794 發表于 2023-11-7 15:48 | 顯示全部樓層
找他們的教程,PWM輸出,或者時鐘頻率輸出。
回復

使用道具 舉報

ID:155507 發表于 2023-11-7 17:51 | 顯示全部樓層

用STC32G12K128單片機主時鐘分頻輸出,12MHz時鐘 /255 /127 最低只能夠到達 差不多370Hz。

STC32G12K128單片機主時鐘分頻輸出
系統時鐘控制器為單片機的 CPU 和所有外設系統提供時鐘源,系統時鐘有 4 個時鐘源可供選擇:內
部高精度 IRC、內部 32KHz 的 IRC(誤差較大)、外部晶振、內部 PLL 輸出時鐘。用戶可通過程序分別
使能和關閉各個時鐘源,以及內部提供時鐘分頻以達到降低功耗的目的。

STC32G_Clock.png


  1. //6.5.12 主時鐘分頻輸出
  2. //測試工作頻率為 12.0000MHz
  3. //#include "stc8h.h"
  4. #include "stc32g.h" //頭文件見下載軟件

  5. sbit    P10     =   P1^0;
  6. sbit    KEY     =   P3^2;

  7. //void delay()
  8. //{
  9. //        int i;
  10. //        for (i=0; i<100; i++);
  11. //}

  12. void Timer0_Init(void)                //5毫秒@12.000MHz
  13. {
  14.         AUXR |= 0x80;                        //定時器時鐘1T模式
  15.         TMOD &= 0xF0;                        //設置定時器模式
  16.         TL0 = 0xA0;                                //設置定時初始值
  17.         TH0 = 0x15;                                //設置定時初始值
  18.         TF0 = 0;                                //清除TF0標志
  19.         TR0 = 1;                                //定時器0開始計時
  20.         ET0 = 1;                //使能定時器中斷
  21.     EA = 1;       
  22. }
  23. void TM0_Isr() interrupt 1
  24. {
  25.     P10 = !P10;                                 //測試端口 100Hz
  26. }


  27. void main()
  28. {
  29.         unsigned char Stat=0;
  30.         Timer0_Init();
  31.         EAXFR = 1;                 //使能訪問 XFR
  32.         CKCON = 0x00;         //設置外部數據總線速度為最快
  33.         WTST = 0x00;         //設置程序代碼等待參數,
  34.                                         //賦值為 0 可將 CPU 執行程序的速度設置為最快
  35.         P0M0 = 0x00;
  36.         P0M1 = 0x00;
  37.         P1M0 = 0x00;
  38.         P1M1 = 0x00;
  39.         P2M0 = 0x00;
  40.         P2M1 = 0x00;
  41.         P3M0 = 0x00;
  42.         P3M1 = 0x00;
  43.         P4M0 = 0x00;
  44.         P4M1 = 0x00;
  45.         P5M0 = 0x00;
  46.         P5M1 = 0x00;
  47.        
  48.         //注:芯片上電后系統會默啟動內部高速 HIRC,
  49.         //并選擇為系統時鐘,所以一般情況下不需要作
  50.         //如下設置
  51.         //HIRCCR = 0x80; //啟動內部高速 IRC
  52.         //while (!(HIRCCR & 1)); //等待時鐘穩定
  53.         //CLKSEL = 0x00; //時鐘選擇寄存器 選擇內部高速 HIRC

  54.         //IRC48MCR = 0x80; //啟動內部 48M IRC
  55.         //while (!(IRC48MCR & 1)); //等待時鐘穩定
  56.         //CLKDIV = 0x02; //時鐘 2 分頻
  57.         //CLKSEL = 0x0c; //選擇 IRC48M

  58.         //CLKSEL &= ~0x80; //選擇 PLL 的 96M 作為 PLL 的輸出時鐘
  59.         // CLKSEL |= 0x80; //選擇 PLL 的 144M 作為 PLL 的輸出時鐘
  60.         //USBCLK &= ~0x60;
  61.         //USBCLK |= 0x00; //PLL 輸入時鐘為 12M 則選擇 1 分頻
  62.         // USBCLK |= 0x20; //PLL 輸入時鐘為 24M 則選擇 2 分頻
  63.         // USBCLK |= 0x40; //PLL 輸入時鐘為 48M 則選擇 4 分頻
  64.         // USBCLK |= 0x60; //PLL 輸入時鐘為 96M 則選擇 8 分頻
  65.         //USBCLK |= 0x80; //啟動 PLL
  66.         //delay(); //等待 PLL 鎖頻,建議 50us 以上
  67.         //CLKDIV = 0x04; //時鐘 4 分頻, 主時鐘選擇高速頻率前,
  68.         //必須先設置分頻系數,否則程序會當掉
  69.         //CLKSEL &= 0xf0; //選擇 PLL 時鐘源
  70.         //CLKSEL |= 0x04;

  71.         //HSCLKDIV = 0x00;
  72.         //CLKSEL &= ~0x40;         //選擇主時鐘( MCLK)作為高速外設時鐘源

  73.         //CLKDIV:主時鐘分頻系數。系統時鐘 SYSCLK 是對主時鐘 MCLK 進行分頻后的時鐘信號(1~255)。
  74.         //CLKDIV = 0x02; //時鐘 2 分頻
  75.         //MCLKOCR : MCLKO_S[7] MCLKODIV[6:0] 0000000 不輸出時鐘 (1~127)
  76.         //MCLKO_S:系統時鐘輸出管腳選擇
  77.         //0:系統時鐘分頻輸出到 P5.4 口
  78.         //1:系統時鐘分頻輸出到 P1.6 口

  79.         // MCLKOCR = 0x01; //主時鐘輸出到 P5.4 口
  80.         // MCLKOCR = 0x02; //主時鐘 2 分頻輸出到 P5.4 口
  81.         //MCLKOCR = 0x04; //主時鐘輸出控制寄存器 主時鐘 4 分頻輸出到 P5.4 口
  82.         // MCLKOCR = 0x84; //主時鐘 4 分頻輸出到 P1.6 口
  83.        
  84.        
  85.        
  86.         while (1)
  87.         {
  88.                 if(KEY == 0)
  89.                 {
  90.                         Stat++;
  91.                     if(Stat==3)
  92.                                 Stat=0;
  93.                 }
  94.                 if(Stat==0)
  95.                 {
  96.                         CLKDIV = 0xF0; //時鐘 240 分頻
  97.                         MCLKOCR = 0x32; //主時鐘輸出控制寄存器 主時鐘 50 分頻輸出到 P5.4 口 1KHz
  98.                        
  99.                 }
  100.                 if(Stat==1)
  101.                 {
  102.                         CLKDIV = 0xF0; //時鐘 240 分頻
  103.                         MCLKOCR = 0x05; //主時鐘輸出控制寄存器 主時鐘 5 分頻輸出到 P5.4 口 10KHz
  104.                        
  105.                 }
  106.                 if(Stat==2)
  107.                 {
  108.                         CLKDIV = 0x78; //時鐘 120 分頻
  109.                         MCLKOCR = 0x01; //主時鐘輸出控制寄存器 主時鐘 1 分頻輸出到 P5.4 口 100KHz
  110.                        
  111.                 }
  112.                
  113.         }
  114. }

復制代碼






回復

使用道具 舉報

ID:61140 發表于 2023-11-8 10:42 | 顯示全部樓層
angmall 發表于 2023-11-7 17:51
用STC32G12K128單片機主時鐘分頻輸出,12MHz時鐘 /255 /127 最低只能夠到達 差不多370Hz。

STC32G12K1 ...

感謝您的回復
回復

使用道具 舉報

ID:61140 發表于 2023-11-11 21:18 | 顯示全部樓層

有什么辦法可以得到100HZ,1KHZ,10KHZ,100KHZ這四種頻率,
或者有什么好的芯片么,哪怕只能得到四種基本矩形波都可以,后面我再想辦法把波形弄成簡諧波。
回復

使用道具 舉報

ID:970121 發表于 2024-5-24 10:29 | 顯示全部樓層
xiaoyuxinke 發表于 2023-11-11 21:18
有什么辦法可以得到100HZ,1KHZ,10KHZ,100KHZ這四種頻率,
或者有什么好的芯片么,哪怕只能得到四種基 ...

定時器產生中斷,IO口反轉,不是很容易做到嗎?
回復

使用道具 舉報

ID:57657 發表于 2024-5-24 10:57 | 顯示全部樓層
xiaoyuxinke 發表于 2023-11-11 21:18
有什么辦法可以得到100HZ,1KHZ,10KHZ,100KHZ這四種頻率,
或者有什么好的芯片么,哪怕只能得到四種基 ...

74hc390就可以,不需要單片機
回復

使用道具 舉報

ID:225288 發表于 2024-5-24 11:42 | 顯示全部樓層
可以查看數據手冊,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产伦理一区 | 91在线观看 | 欧美视频一区二区 | 国产视频www | 午夜国产福利 | 亚洲性天堂 | 欧美性久久 | 欧美日韩国产在线 | 亚色网站| 国产一区二区三区视频在线 | 欧美成人毛片 | 九色在线视频 | 这里只有精品视频在线观看 | 成人观看视频 | 91福利在线视频 | 日韩免费视频一区二区 | 国产成人亚洲精品自产在线 | 四虎影视在线播放 | 国产女人水真多18毛片18精品 | 成人亚洲天堂 | 国产精品一区二区在线免费观看 | 成人午夜网 | 欧美区在线 | www.精品 | 亚洲视频三区 | 播播激情网| 这里只有精品在线观看 | 三年中文在线观看免费大全中国 | 黄色aaa| 九九久久精品 | 中文字幕在线观看一区 | 欧美日韩精品久久 | 91蜜桃在线观看 | 亚洲乱码一区二区 | 艳妇臀荡乳欲伦交换h漫 | 黄色一极片 | 免费v片 | 久久精品欧美一区二区 | 成人黄色一级片 | 国产成人免费在线 | 久久综合久久鬼 |