#include "reg51.h"
#include "intrins.h"
#define FOSC 18432000L
typedef unsigned char BYTE;
typedef unsigned int WORD;
/*Declare SFR associated with the PCA */
sfr CCON = 0xD8; //PCA control register
sbit CCF0 = CCON^0; //PCA module-0 interrupt flag
sbit CCF1 = CCON^1; //PCA module-1 interrupt flag
sbit CR = CCON^6; //PCA timer run control bit
sbit CF = CCON^7; //PCA timer overflow flag
sfr CMOD = 0xD9; //PCA mode register
sfr CL = 0xE9; //PCA base timer LOW
sfr CH = 0xF9; //PCA base timer HIGH
sfr CCAPM0 = 0xDA; //PCA module-0 mode register
sfr CCAP0L = 0xEA; //PCA module-0 capture register LOW
sfr CCAP0H = 0xFA; //PCA module-0 capture register HIGH
sfr CCAPM1 = 0xDB; //PCA module-1 mode register
sfr CCAP1L = 0xEB; //PCA module-1 capture register LOW
sfr CCAP1H = 0xFB; //PCA module-1 capture register HIGH
sfr PCAPWM0 = 0xf2;
sfr PCAPWM1 = 0xf3;
void main()
{
CCON = 0; //Initial PCA control register
//PCA timer stop running
//Clear CF flag
//Clear all module interrupt flag
CL = 0; //Reset PCA base timer
CH = 0;
CMOD = 0x02; //Set PCA timer clock source as Fosc/2
//Disable PCA timer overflow interrupt
CCAP0H = CCAP0L = 0x80; //PWM0 port output 50% duty cycle square wave
CCAPM0 = 0x42; //PCA module-0 work in 8-bit PWM mode
//and no PCA interrupt
CCAP1H = CCAP1L = 0xff; //PWM1 port output 0% duty cycle square wave
PCAPWM1 = 0x03;
CCAPM1 = 0x42; //PCA module-1 work in 8-bit PWM mode
//and no PCA interrupt
CR = 1; //PCA timer start run
while (1);
}
其中,關于PWM的占空比的問題,我也想了好久剛開始沒想明白,怎么就0x80對應的占空比就是50%呢?后來才知道,將0x80轉換成十進制就是128,正好是256的一半,所以占空比是50%,也就是說,要想得到20%的占空比,就要給CCAP0H和CCAP0L附0x33, 下載到單片機后用示波器測就是20%的占空比。
上面那句 PCAPWM1 = 0x03; 不知道是什么意思,寫了這句話P1.4口就無法輸出PWM波,去掉之后就可以正常輸出了。
上一篇:STC12C5A60S2單片機串口1無法連續發送字符的問題
下一篇:最后一頁
推薦閱讀
史海拾趣
為了在全球市場上保持領先地位,正泰建立了北美、歐洲、亞太等三大全球研發中心,并與清華大學、上海交大等國內外知名院校、機構展開合作,探索“產學研”融合模式。通過整合全球創新資源,正泰在智能電網、新能源電車充電設施等前沿領域取得了一系列創新進展。這種全球研發體系的建立,不僅提升了公司的研發能力,也增強了公司的市場競爭力。
2014年,正泰公司接到了一份來自美國光伏巨頭SE的大訂單。然而,客戶對車間現場使用的安規測試儀的檢測方法提出了質疑,要求限期完成整改。面對這一挑戰,正泰公司的員工曹敬樂根據國際標準中的相關要求,結合實際參數,重新對檢測工裝進行改進設計和樣品制備。經過不斷測試和改進,最終滿足了外方的要求,訂單順利投產。這一事件不僅展示了正泰公司的技術實力和創新能力,也體現了公司對市場變化的敏銳度和應對挑戰的能力。
為了進一步提升公司的競爭力和市場份額,FDI實施了國際化戰略。他們積極拓展海外市場,與多個國家和地區的客戶建立了合作關系。通過參加國際展會、設立海外分支機構等方式,FDI不斷提升品牌知名度和影響力。同時,他們還加強與當地供應商和合作伙伴的合作,共同開拓市場,實現互利共贏。這些努力使得FDI在全球電子行業中的地位日益穩固。
隨著全球對環保問題的日益關注,DMC Tools公司也積極響應號召,致力于綠色生產。公司引進了先進的環保設備和技術,對生產過程中的廢棄物進行無害化處理。同時,公司還積極推廣綠色產品,幫助客戶實現綠色生產。這種對環保的關注和投入不僅彰顯了公司的社會責任感,也為公司贏得了良好的社會聲譽。
作為一家有社會責任感的企業,康龍公司始終關注環境保護和可持續發展。公司積極采用環保材料和生產工藝,減少生產過程中的污染和浪費。同時,康龍還積極參與社會公益事業和慈善活動,回饋社會。這些舉措不僅提升了公司的品牌形象和社會聲譽,也為公司的長遠發展注入了正能量。
CCC深知產品質量對于企業生存和發展的重要性。因此,公司始終將質量管理放在首位,建立了嚴格的質量檢測體系和售后服務體系。從原材料采購到產品生產、再到售后服務,CCC都嚴格按照質量標準進行操作,確保每一件產品都符合客戶的要求。這種對質量的執著追求讓CCC贏得了客戶的信賴和口碑相傳。
會用的,知道的,幫下,編程,用ABEL或者VHDL,作用是,一個可以加減的十進制計數器,一個輸出是用BDC-二進制輸出給D/A轉換器,另外一個是輸出用BCD7段譯碼輸出給數碼管,知道的給段程序啊… 查看全部問答∨ |
對DAC可能最重要的交流指標是建立時間、毛刺脈沖、失真和無雜波動態范圍(SFDR)。 如圖2-38所示,DAC的建立時間是從數字代碼發生變化到輸出落在并保持某些誤差帶之內需要的時間。對于放大器來說,就很難對建立時間進行比較,這是因為他們的誤差帶可 ...… 查看全部問答∨ |
出現的問題是:Access denied or unable to locate some local and remote output files,Please reset the device and rebuild your project. 當前我使用的pocket pc 2003模擬器已經同步了!… 查看全部問答∨ |
|
量產時燒寫程序大家用什么仿真器呢?總不能用 TI 的 Demo 板上的仿真器來一個個燒吧?有沒有誰實踐過高效而有簡單的方法? [ 本帖最后由 Study_Stellaris 于 2011-9-14 11:48 編輯 ]… 查看全部問答∨ |
|
快崩潰了。。。。 下位機為單片機,單片機采集到2個測距用的時間數據:數據類型為unsigned int型,轉換為uchar型后放在數組 uchar TX_TO_PC[]; 后經串口發送給PC;PC機將收到的數據經過處理,用TeeChart實現坐標顯示。 ...… 查看全部問答∨ |