主要是產(chǎn)生兩個(gè)PWM信號(hào),(在這里是占空比為50%的方波,周期自己看看Timer0配置,這里代碼沒(méi)有給出,分別從P1的第一和第二腳位輸出。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括康縣網(wǎng)站建設(shè)、康縣網(wǎng)站制作、康縣網(wǎng)頁(yè)制作以及康縣網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,康縣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到康縣省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
==================================================
#include
#define
uint
unsigned
int
#define
uchar
unsigned
char
sbit
PMW1=P1^0;
//PWM1
輸出腳位
sbit
PMW2=P1^1;
//PWM2
輸出腳位
void
fhz()
interrupt
1
using
1
//
{
TH0=0xff;
//重置TIMER0的TH0
TL0=0xf4;
//重置TIMER0的TL0,這就是TIMER0溢出的數(shù)值,周期是根據(jù)這兩值算出來(lái)的,當(dāng)然還
//有TIMER0的輸入時(shí)間,也是下一次中斷的時(shí)間
PMW1=~PMW1;
//每次中斷來(lái)臨,翻轉(zhuǎn)信號(hào),并輸出到P1^0
PMW2=~PMW2;
//每次中斷來(lái)臨,翻轉(zhuǎn)信號(hào)
,并輸出到P1^1
}
===========================================
解讀完畢,有問(wèn)題繼續(xù)問(wèn)
#include
#include是固定格式,意思是”包含“,
中的stdio.h,這是一個(gè)庫(kù)函數(shù)頭,用括起來(lái),這句意思是把名為stdio.h的頭(其實(shí)是一個(gè)文件)包含到當(dāng)前的程序中。在c語(yǔ)言中,有許多函數(shù)可以直接拿來(lái)用,比如printf函數(shù)(輸出函數(shù)),這些函數(shù)被稱為庫(kù)函數(shù),要想調(diào)用這些函數(shù),就要給出相應(yīng)的庫(kù)函數(shù)頭,不同的庫(kù)函數(shù)需要給出不同的頭,庫(kù)函數(shù)頭的含義是”將這些函數(shù)的定義包含到程序中去“,因?yàn)槟愕某绦蛑袥](méi)有這些庫(kù)函數(shù)的定義,所以你想要調(diào)用某些庫(kù)函數(shù),就要給出相應(yīng)的頭,將函數(shù)的定義包含到程序中是有編譯器完成的
#define
cube(x)
(x*x*x)
這是c語(yǔ)言中的宏定義,宏分為簡(jiǎn)單的宏和帶參數(shù)的宏,宏有什么作用?宏的一般格式是”#define
記號(hào)
替換列表“其中#
define是“定義”的意思,也算是固定格式吧,記號(hào)可以是字母,符號(hào)等一切可能出現(xiàn)的東西,比如說(shuō)#define
cube(x)
(x*x*x)
中的cube,一般用大寫字母(c語(yǔ)言程序員數(shù)十年遵循的規(guī)范,希望你不要打破哦);"替換列表“可以是表達(dá)式,語(yǔ)句等等(比如#define
cube(x)
(x*x*x)
中的(x*x*x),表示計(jì)算x的立方)。宏的作用是將程序中出現(xiàn)的所有記號(hào)用替換列表代替。比如說(shuō)#define
cube(x)
(x*x*x)中,只要程序中出現(xiàn)cube(x)
,編譯器(這個(gè)工作是有編譯器完成的)就把cube(x)
替換為(x*x*x)。簡(jiǎn)單的宏比如#define
n
10,在程序中凡是有n的地方都將被替換為10.帶參數(shù)的宏比如說(shuō)你的程序中的宏#define
cube(x)
(x*x*x),cube是記號(hào),括號(hào)中的x是參數(shù),就像一個(gè)函數(shù),在程序中用的時(shí)候,比如出現(xiàn)i=cube(10);那么就將被替換為i=(10*10*10);
i的值將被賦予10的立方。
main()
是c語(yǔ)言中的主函數(shù),c語(yǔ)言是由函數(shù)組成的,其中主函數(shù)(或稱main函數(shù))是必須有的,程序執(zhí)行的時(shí)候是由主函數(shù)開(kāi)始執(zhí)行的,主函數(shù)內(nèi)容要用{}括起來(lái)
int
n=5;
定義變量n并賦與n值為5.
int表示變量n的類型是整型,n=5是將n的值初始化為5(以后換可以改變),后面的分號(hào)是必須有的,c語(yǔ)言規(guī)定每條語(yǔ)句后都應(yīng)該以分號(hào)結(jié)尾。
int
s=cube(++n);
定義s為整型并賦予s的值為cube(++n),cube(++n)前面已經(jīng)說(shuō)過(guò)了,它將被替換為(++n*++n*++n),其中++n是一種算數(shù)運(yùn)算符,就像乘除加減法一樣,++n的意義是將n自增1,整個(gè)表達(dá)式(即++n)不變,這里要分清變量和表達(dá)式,比如a+b,變量是a和b,表達(dá)式是a+b,。所以這里s就等于125.
printf(“%d”,s);
這是一個(gè)輸出函數(shù),%d表示s的類型為整形,輸出s的值。
你好!
cube[0][2]|=Z
就是
cube=cube[0][2]|Z
的意思,就是先cube[0][2]與Z按位或,然后結(jié)果賦給cube[0][2]
僅代表個(gè)人觀點(diǎn),不喜勿噴,謝謝。