① 急!!!!!希望實現利用C51單片機輸出頻率及占空比可調的方波,我需要protues模擬的電路圖及源代碼。我
//P2^0和P2^1;接2個按鈕,
//P2^0控制頻率10HZ到50HZ,按壓改變
//P2^1控制佔比10%到90%,按壓改變
//假設晶振為12MHz
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
uintt=0,f=100,w=50;
sbitP10=P1^0;//輸出端
sbitKF=P2^0;//改變頻率按鈕
sbitKW=P2^1;//改變占寬按鈕
voidinit()
{
TMOD=0x21;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;
TR0=1;
EA=1;
}
voidtime0()interrupt1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
t++;//t為1ms
if(t>=f)t=0;
}
voidmain()
{
init();
while(1)
{
if(KF==0)//改變頻率
{f=f-10;
if(f<=10)f=100;
while(KF==0);
w=f/10;
}
if(KW==0)//改變佔比
{w=w+f/10;
if(w>=f)w=f/10;
while(KW==0);
}
if(t<w)P10=1;//單個周期
elseP10=0;
}
}
如果圖片看不清,請先「查看大圖」,此時另存到你的電腦里,再查看更大的圖片。
****************************
後補充:根據你的「問題補充」,需要增加一個AD轉換器,常用的並口有ADC0809,串口有ADC0834,單片機掃描AD轉換輸出的數據,送到上述的頻率f和佔比w兩個變數。就可以改變。幅度改變很簡單,用電位器的分壓直接輸出就可以了。要把整個寫出來,需要一定的篇幅,上面給你提供思路,望你自己多動手電筒腦,得到滿意的結果。
② 誰能給我一個單片機心形流水燈的詳細電路圖和源代碼,網上找的看不懂呀,
看不懂的話,別人幫到你的不是太多,還基本上要靠你自己,給你一個也是一樣的結果,你可以貼一個上來,說出看不懂的地方,幫你解惑。
③ 高分求回溯法解電路板排列問題(C++)源碼
這個東西還是自己寫吧
④ 圖為8路彩燈循環控制電路的verilog HDL源代碼,求大神繪圖說明8種邏輯狀態(S0-S7)構
搜一下:圖為8路彩燈循環控制電路的verilog
HDL源代碼,求大神繪圖說明8種邏輯狀態(S0-S7)構
⑤ 怎麼求補碼的原碼
已知一個數的補碼,求原碼的操作其實就是對該補碼再求補碼:
1、如果補碼的符號位為「0」,表示是一個正數,其原碼就是補碼。
2、如果補碼的符號位為「1」,表示是一個負數,那麼求給定的這個補碼的補碼就是要求的原碼。
例如:已知一個補碼為11111001,則原碼是10000111(-7)。因為符號位為「1」,表示是一個負數,所以該位不變,仍為「1」。
其餘七位1111001取反後為0000110;再加1,所以是10000111。
數的表示:
在數的表示上通過人為的定義來消除編碼映射的不唯一性,對轉換後的10000000強制認定為-128。當然對原碼和反碼也可以做這種強制認定,那為什麼原碼和反碼沒有流行起來?原碼和反碼沒有流行起來,是因為在數的運算上對符號位的處理無法用當時已有的機器物理設計來實現。
由於原碼和反碼在編碼時採用了硬性的人工設計,這種設計在數理上無法自動的通過模來實現對符號位的自動處理,符號位必須人工處理,必須對機器加入新的物理部件來專門處理符號位,這加大了機器設計難度,加大的機器成本,不到萬不得已,不走這條路。
網路--補碼
⑥ 代碼是怎樣和電路連接的
代碼在晶元內部被執行,通過晶元的IO,輸出高低電平控制外圍設備,有些晶元也可以輸出模擬信號,所以嚴格的說就是代碼變成不同時序的電壓電流反應的電路板
源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序
⑦ 誰能幫我編寫這個程序,用89c51製作的直流穩壓電源 ,我提供電路圖,源碼
電路拿來,我想試下