亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
利用單片機產(chǎn)生6路相同的脈沖 求編程思路
[打印本頁]
作者:
adeyan
時間:
2020-6-20 23:30
標題:
利用單片機產(chǎn)生6路相同的脈沖 求編程思路
單片機晶振8Mhz,要求產(chǎn)生頻率為10Khz的方波,同時輸出6路,怎么寫程序啊
作者:
xianfajushi
時間:
2020-6-21 05:21
計算定時器填充值,直接控制6個IO口就是。
作者:
angmall
時間:
2020-6-21 22:52
我給你來個程序試試
/*-----------------------------------------------
名稱:定時器0
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
sbit Out10=P1^0; //定義端口
sbit Out11=P1^1; //定義端口
sbit Out12=P1^2; //定義端口
sbit Out13=P1^3; //定義端口
sbit Out14=P1^4; //定義端口
sbit Out15=P1^5; //定義端口
/*------------------------------------------------
定時器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
TH0=0xFF; //給定初值,50us
TL0=0xDF; //50微秒@8.000MHz
EA=1; //總中斷打開
ET0=1; //定時器中斷打開
TR0=1; //定時器開關(guān)打開
}
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
Init_Timer0();
while(1);
}
/*------------------------------------------------
定時器中斷子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
TH0=0xFF; //重新賦值
TL0=0xDF;
Out10=~Out10; //端口反相 輸出方波
Out11=~Out11; //端口反相 輸出方波
Out12=~Out12; //端口反相 輸出方波
Out13=~Out13; //端口反相 輸出方波
Out14=~Out14; //端口反相 輸出方波
Out15=~Out15; //端口反相 輸出方波
}
復(fù)制代碼
作者:
adeyan
時間:
2020-6-23 22:23
angmall 發(fā)表于 2020-6-21 22:52
我給你來個程序試試
謝謝,要是調(diào)節(jié)占空比又如何修改呢?
作者:
wulin
時間:
2020-6-24 07:50
給你兩套方案,單純6路信號發(fā)生器就用主循環(huán)產(chǎn)生,如有其它程序運行就用定時器中斷產(chǎn)生。6路相同的脈沖間無時差。
#include <reg51.h>
void main(void)
{
unsigned char i;
bit j;
while(1)
{
if(j) P1&=0xc0;
else P1|=0x3f;
i=12;
while(--i);//8MHz晶振 50us
j=~j;
}
}
/**************************************/
#include <reg51.h>
bit i;
void main(void)
{
TMOD= 0x02;
TH0 = 0xdf;//8MHz晶振 50us
TL0 = 0xdf;
EA = 1;
ET0 = 1;
TR0 = 1;
while(1)
{
//其它運用程序
}
}
void Timer0Interrupt(void) interrupt 1
{
if(i) P1&=0xc0;
else P1|=0x3f;
i=~i;
}
復(fù)制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1