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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1721|回復: 9
收起左側

晶閘管過零調功器,假如單片機定時器0設置100個周期時間,定時器1設置導通周期時間

[復制鏈接]
ID:1018689 發表于 2022-5-13 10:36 | 顯示全部樓層 |閱讀模式
晶閘管過零調功器,假如定時器0設置100個周期時間,定時器1設置導通周期時間,檢測到零點時,單片機外部中斷下降沿觸發,怎么設置外部中斷在100個周期時間內只觸發一次。
回復

使用道具 舉報

ID:332444 發表于 2022-5-13 14:52 | 顯示全部樓層
回復

使用道具 舉報

ID:123289 發表于 2022-5-13 17:12 | 顯示全部樓層
不建議用軟件觸發。學習時除外。
方法:假如定時器0的中斷周期為1,也就是你所講的【設置100個周期時間】中的1個周期。
1、設置一個計數寄存器,作為觸發角名為:R_CFJ。
2、檢測到零點時:設置觸發角,讓R_CFJ=33(開始計時,假設你需要觸發角=33個周期)。
3、中斷產生(服務程序):
  3.1、如果R_CFJ=0(還未起動),什么也不做退出。
  3.2、 如果R_CFJ<>0,則將R_CFJ-1(計時),并看看R_CFJ=0?
         3.2.1、 <>0(觸發時間未到),什么也不做退出;
         3.2.2、 =0(觸發時間到了),則給出觸發可控硅的脈沖。
以下教你【如何保證在80個周期時間內只觸發一次。】
參考方式一:再增加一個識別器TT,
檢測到零點時:讓TT=80,
每次中斷時,TT=0不動它,TT<>0則-1。
發出觸發脈沖前,如果TT<>0(說明距上次觸發時間不足80個周期)則拒發;如果=0,則正常發出脈沖。
回復

使用道具 舉報

ID:883242 發表于 2022-5-13 18:38 | 顯示全部樓層
實在搞不懂為什么要用定時器,過零觸發定時器完全沒有用么。
只用外部中斷就可以實現全部功能。
  1. exti_interrupt(){
  2.   static int i;
  3.   if(i<j){
  4.     delay10us();
  5.     trig();
  6.   }
  7.   if(++i>100)i=0;
  8. }
復制代碼

其中delay10us();是為了防止觸發時電壓過低,可控硅無法達到保持電流從而造成觸發失敗,等過零后電壓上升到一定程度再進行觸發。
trig();看你怎么觸發了,暫時不好寫,可能用光耦,也可能用觸發變壓器。
j就是你設定的“只觸發一次”的一。
回復

使用道具 舉報

ID:123289 發表于 2022-5-14 08:59 | 顯示全部樓層
delay():
1、會占用CPU的時間,在此時間內無法做其它事。尤其是導通角大的時候,占用時間更多。
2、延時會不準。當CPU發生中斷時,極可能打斷delay(),一直要到中斷程序返回。這段時間就會插入到里面。
當delay()在中斷程序中運行時,delay()是準了,但它會耽誤其它程序的運行。例如其它可控硅的觸發。
注:
delay()是我最不推愿意使用的東東。也就最害初學者的東東。你可以不信。當你的設計比較復雜時,就會知道了。例如:【多鍵】【多點陣顯示】【多串行通訊】……同時應用時。
回復

使用道具 舉報

ID:883242 發表于 2022-5-14 18:19 | 顯示全部樓層
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. #define MAX 173
  5. #define CUR 23

  6. int main(int argc, char **argv)
  7. {
  8.     uint32_t trigger_table[MAX];
  9.     for(uint16_t i=0;i<MAX;i++)trigger_table[i]=0;
  10.     for(uint16_t i=0;i<CUR;i++)trigger_table[MAX*i/CUR]=(MAX*i/CUR)%2?1:-1;
  11.     for(uint16_t i=0;i<MAX;i++)printf("%d,",trigger_table[i]);
  12. }
復制代碼
這是過零調功如何把功率均勻分布的代碼,MAX是總周期半波個數,CUR是導通次數。
實際執行起來的圖如下:
202739fn3wciopv0qo32v6.png.thumb.jpg
樓上某位根本不懂什么叫“過零調功”的灌水大師就別來%了。
回復

使用道具 舉報

ID:1018689 發表于 2022-5-18 19:09 | 顯示全部樓層
yzwzfyz 發表于 2022-5-13 17:12
不建議用軟件觸發。學習時除外。
方法:假如定時器0的中斷周期為1,也就是你所講的【設置100個周期時間】 ...

好的,謝了,我再研究研究
回復

使用道具 舉報

ID:1018689 發表于 2022-5-18 19:09 | 顯示全部樓層
Hephaestus 發表于 2022-5-14 18:19
這是過零調功如何把功率均勻分布的代碼,MAX是總周期半波個數,CUR是導通次數。
實際執行起來的圖如下:
...

好的,謝了,我再研究研究
回復

使用道具 舉報

ID:883242 發表于 2022-5-18 21:12 | 顯示全部樓層
安分的女漢子 發表于 2022-5-18 19:09
好的,謝了,我再研究研究

你為什么不去研究我在地板位的回復???那個才是最重要的,屬于雪中送炭。6樓我的回復算錦上添花,做了很好,不做也沒問題。
回復

使用道具 舉報

ID:1018689 發表于 2022-5-18 21:50 | 顯示全部樓層
Hephaestus 發表于 2022-5-18 21:12
你為什么不去研究我在地板位的回復???那個才是最重要的,屬于雪中送炭。6樓我的回復算錦上添花,做了 ...

好的謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合无码一区二区 | 亚洲视频精品 | 亚洲一区在线日韩在线深爱 | 成人在线观看免费爱爱 | 高清免费av | 亚洲国产成人精品女人久久久 | a免费视频 | 色就是色欧美 | 精品成人av | www.天天操 | 欧美日韩综合 | 欧美日韩精品中文字幕 | 国产精品视频一区二区三 | 99久久日韩精品免费热麻豆美女 | 亚洲欧美日韩在线 | 全免费a级毛片免费看视频免 | 国外成人在线视频 | 国产sm主人调教女m视频 | 欧美精品在线一区 | 亚洲精品大片 | 久久曰视频 | 日韩一区二区在线观看 | 激情一区二区三区 | 日韩精品免费在线 | 亚洲国产成人av好男人在线观看 | av一级毛片 | 国产成人一区二区三区久久久 | 一区二区三区不卡视频 | 亚洲欧美一区二区三区视频 | 中文字幕一区二区三区四区五区 | 久久一区视频 | 亚洲精品在线免费观看视频 | 99这里只有精品 | 欧美视频| 国产精品国产三级国产aⅴ入口 | av超碰| 亚洲高清视频一区二区 | 亚洲在线视频 | 99精品欧美一区二区三区综合在线 | 久久国产精品一区 | 国产一区二区精 |