單片攝制許可
1. 單片機最小系統製作需要什麼材料
STC89C52單片機最小系統比較復雜,需要
STC89C52晶元 1 個,晶元底座 1 個,單排針 2 排
晶振內電路:晶振 1 個,30pF電容容 2 個
復位電路:10K電阻 1 個,10uF/16V電容 1 個
P0口上拉:10K排阻一個
電源去耦:10uF/16V電容 1 個,104 電容一個
建議使用STC最新的單片機STC15W4K32S4
完全兼容STC89C52,單獨一個晶元就是最小系統
內部集成了高精度晶振和復位電路
P0、P1、P2、P3、P4、P5 口都可以配置為
開漏輸出(和STC89C52的P0口一樣)
或者弱上拉輸出(和STC89C52的 P1、P2、P3 口一樣)
或者推挽輸出(最大驅動電流 20 mA)
2. 電影攝制許可證(單片)申請需要什麼條件
炎黃咨抄詢告訴您:
申辦條件
(一)省級廣播電視行政部門批准設立的影視製作經營機構;
(二)有著作權人的授權攝制證明或協議;
(三)有申請所製作劇目必需的編劇、製片人(製片主任)、導演、攝像、演員等主創人員;
(四)有地(市)級以上宣傳部門或省級廣電行政部門審查通過的劇本;
(五)有申請所攝制劇目必需的專用設備;
(六)有申請所攝制劇目必需的專項資金;
(七)有明確的拍攝周期計劃。
申報材料
(一)著作權人授權證明件
(二)營業執照復印件
(三);《廣播電視節目製作經營許可證》復印件;
(四);《電視劇製作許可證(乙種)申請表》,1式2份;
(五)題材規劃立項審批材料;
(六)攝制資金的證明件(由財務部門出具);
(七)地(市)級以上宣傳部門或省級廣電行政部門的劇本審查意見;
(八)拍攝周期計劃。
如還有更多不明白,大可網路搜索[炎黃咨詢]來了解哦!!!
3. 製作廣告里的單片什麼意思、還有單透 說的通俗點..就像附板是寫真貼在KT板上一樣
單片就是彩色印刷單頁的意思,單透是噴繪的畫面,材料稱單透,所以就統稱這種材料的製作物為單透了。
4. 長期攝制許可證作用,比單片許可證有什麼好處
電工進網作業許可證作用:有了此證,才有資格入網操作。 電工進網作業許可證是指在專用戶的受電裝置或者送屬電裝置上,從事電氣安裝、試驗、檢修、運行等作業的許可憑證。電工進網作業許可證分為低壓、高壓、特種三個類別。 取得低壓類電工進網作業...
5. 如何辦理《攝制電影許可證(單片)》
電影攝制許可證辦理時的辦理流程: 1.須是地市級以上工商行政管理部門注冊的各類影視文化單位. 2.向廣播電影電視總局電影事業管理局報送下列材料: (1)、拍攝影片的申請; (2)、不少於一千字的故事梗概一份,四號字體。另須注意: 凡影片主要人物和情節涉及重要涉外、民族、宗教、軍事、公安、司法等方面內容的,需提供電影文學劇本一式三份,或: a.提交省級相關主管部門或中央和國家機關相關主管部門的劇本審讀意見; b.提交中央和國家機關主管部門對其所屬的電影製片單位申請立項所報劇本的審讀意見。 (3)、營業執照復印件一份; (4)、營業執照副本原件; (5)、公司賬戶所在銀行出具的資金證明; (6)、編劇允許公司使用其作品的授權書。 3.期限: 在決定受理後20個工作內作出是否同意立項的決定。但電影劇本需另請專家或送有關部門評審時,立項時間延長。 電影攝制許可證辦理需要的條件以及需要准備的材料: 1.電影攝制許可證辦理,需要具備哪些條件? (1)、首先必須具有公司,以公司的名義申請備案立項. (2)、對公司的注冊資金沒有要求,按照內資公司注冊資金要求:一人獨自公司需要公司的注冊資金不能低於十萬,兩人以上的公司,最低注冊資金為三萬. (3)、建議注冊資金盡量高,拍攝電影的時候,投資方會考慮注冊資金,注冊資金過低,拉不到投資方. (4)、申請電影立項的時候,投資資金要求至少三分之一到賬. 2.電影攝制許可證辦理,需要提交的材料: (1)、拍攝影片的備案申請; (2)、不少於一千字的故事梗概一份; (3)、編劇允許備案單位使用其作品的授權書; (4)、營業執照副本原件及復印件一份; (5)、製片單位賬戶所在銀行出具的資金證明; (6)、攝制電影許可證單片申請書; (7)、如拍攝數字電影,需提交電影數位元組目製作主要設備使用清單; (8)、凡影片主要人物和情節涉及外交、民族、宗教、軍事、公安、司法、歷史名人和文化名人等方面內容的,需提供電影文學劇本,並要出具省級或中央、國家機關相關主管部門同意拍攝的書面意見,涉及歷史和文化名人的還需出具本人或親屬同意拍攝的書面意見。 (9)、如已基本確定主創人員導演、主要演員的,同時報送影片主創人員名單
6. 模特卡和單片是什麼 怎麼自己簡單製作。懸賞50
模特卡就是模特向用人單位介紹自己的一張卡片,上面有你的照片以及個人信息,回單片就是個人答照片。製作這個一般家庭沒有那些設備,所以自己在家沒法製作,只能找外面的專業門店製作。可以先找同行借一個模特卡的樣子,然後找一張自己滿意的棚拍帶妝彩照,如果沒有好的照片就要去影樓或者攝影棚請人拍一些,然後從中選用若干張最理想的,最好是全身的,到大街上找一家圖文製作中心,花錢請人家幫忙排版製作一張模特卡,並用彩色激光列印機在200克以上的銅版紙上列印出來。一般花不了多少錢,價格根據地區的不同,也根據你列印數量的不同以及尺寸的不同,當然更要看你的砍價功夫,價格不一,但連設計排版帶列印一般不超過十塊錢一張足夠拿下。
7. 關於《攝制電影許可證(單片)》信息查詢
查不到的。這屬於商業信息,不會在網上公布。你最好持有相關手續然後到相關單位查詢。
8. 單片機製作一個發音裝置的程序
是不是蜂鳴器唱歌的額?是的話,給你一個例子。。
/*說明**************************************************************************
曲譜存貯格式 unsigned char code MusicName{音高,音長,音高,音長...., 0,0}; 末尾:0,0 表示結束(Important)
音高由三位數字組成:
個位是表示 1~7 這七個音符
十位是表示音符所在的音區:1-低音,2-中音,3-高音;
百位表示這個音符是否要升半音: 0-不升,1-升半音。
音長最多由三位數字組成:
個位表示音符的時值,其對應關系是:
|數值(n): |0 |1 |2 |3 | 4 | 5 | 6
|幾分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n
十位表示音符的演奏效果(0-2): 0-普通,1-連音,2-頓音
百位是符點位: 0-無符點,1-有符點
調用演奏子程序的格式
Play(樂曲名,調號,升降八度,演奏速度);
|樂曲名 : 要播放的樂曲指針,結尾以(0,0)結束;
|調號(0-11) : 是指樂曲升多少個半音演奏;
|升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;
|演奏速度(1-12000): 值越大速度越快;
***************************************************************************/
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__
#include <REGX51.H>
//**************************************************************************
#define SYSTEM_OSC 11059200//12000000 //定義晶振頻率12000000HZ
#define SOUND_SPACE 4/5 //定義普通音符演奏的長度分率,//每4分音符間隔
sbit BeepIO = P2^6; //定義輸出管腳
unsigned int code FreTab[12] = { 262,277,294,311,330,349,369,392,415,440,466,494 }; //原始頻率表
unsigned char code SignTab[7] = { 0,2,4,5,7,9,11 }; //1~7在頻率表中的位置
unsigned char code LengthTab[7]= { 1,2,4,8,16,32,64 };
unsigned char Sound_Temp_TH0,Sound_Temp_TL0; //音符定時器初值暫存
unsigned char Sound_Temp_TH1,Sound_Temp_TL1; //音長定時器初值暫存
//**************************************************************************
void InitialSound(void)
{
BeepIO = 1;
Sound_Temp_TH1 = (65535-(1/1200)*SYSTEM_OSC)/256; // 計算TL1應裝入的初值 (10ms的初裝值)
Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256; // 計算TH1應裝入的初值
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
TMOD |= 0x11;
ET0 = 1;
ET1 = 0;
TR0 = 0;
TR1 = 0;
EA = 1;
}
void BeepTimer0(void) interrupt 1 //音符發生中斷
{
BeepIO = !BeepIO;
TH0 = Sound_Temp_TH0;
TL0 = Sound_Temp_TL0;
}
//**************************************************************************
void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed)
{
unsigned int NewFreTab[12]; //新的頻率表
unsigned char i,j;
unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength;
unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;
for(i=0;i<12;i++) // 根據調號及升降八度來生成新的頻率表
{
j = i + Signature;
if(j > 11)
{
j = j-12;
NewFreTab[i] = FreTab[j]*2;
}
else
NewFreTab[i] = FreTab[j];
if(Octachord == 1)
NewFreTab[i]>>=2;
else if(Octachord == 3)
NewFreTab[i]<<=2;
}
SoundLength = 0;
while(Sound[SoundLength] != 0x00) //計算歌曲長度
{
SoundLength+=2;
}
Point = 0;
Tone = Sound[Point];
Length = Sound[Point+1]; // 讀出第一個音符和它時時值
LDiv0 = 12000/Speed; // 算出1分音符的長度(幾個10ms)
LDiv4 = LDiv0/4; // 算出4分音符的長度
LDiv4 = LDiv4-LDiv4*SOUND_SPACE; // 普通音最長間隔標准
TR0 = 0;
TR1 = 1;
while(Point < SoundLength)
{
SL=Tone%10; //計算出音符
SM=Tone/10%10; //計算出高低音
SH=Tone/100; //計算出是否升半
CurrentFre = NewFreTab[SignTab[SL-1]+SH]; //查出對應音符的頻率
if(SL!=0)
{
if (SM==1) CurrentFre >>= 2; //低音
if (SM==3) CurrentFre <<= 2; //高音
Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);//計算計數器初值
Sound_Temp_TH0 = Temp_T/256;
Sound_Temp_TL0 = Temp_T%256;
TH0 = Sound_Temp_TH0;
TL0 = Sound_Temp_TL0 + 12; //加12是對中斷延時的補償
}
SLen=LengthTab[Length%10]; //算出是幾分音符
XG=Length/10%10; //算出音符類型(0普通1連音2頓音)
FD=Length/100;
LDiv=LDiv0/SLen; //算出連音音符演奏的長度(多少個10ms)
if (FD==1)
LDiv=LDiv+LDiv/2;
if(XG!=1)
if(XG==0) //算出普通音符的演奏長度
if (SLen<=4)
LDiv1=LDiv-LDiv4;
else
LDiv1=LDiv*SOUND_SPACE;
else
LDiv1=LDiv/2; //算出頓音的演奏長度
else
LDiv1=LDiv;
if(SL==0) LDiv1=0;
LDiv2=LDiv-LDiv1; //算出不發音的長度
if (SL!=0)
{
TR0=1;
for(i=LDiv1;i>0;i--) //發規定長度的音
{
while(TF1==0);
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
TF1=0;
}
}
if(LDiv2!=0)
{
TR0=0; BeepIO=1;
for(i=LDiv2;i>0;i--) //音符間的間隔
{
while(TF1==0);
TH1 = Sound_Temp_TH1;
TL1 = Sound_Temp_TL1;
TF1=0;
}
}
Point+=2;
Tone=Sound[Point];
Length=Sound[Point+1];
}
BeepIO = 1;
}
//**************************************************************************
#endif
/***************************************************************************
附:3首曲譜編碼表
//揮著翅膀的女孩
unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,
0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,
0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,
0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,
0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,
0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,
0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,
0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,
0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,
0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,
0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,
0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,
0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,
0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03,
0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,
0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,
0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,
0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,
0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,
0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04,
0x18,0x04, 0x18,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,
0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03,
0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03,
0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,
0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02,
0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,
0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0x00,0x00};
//同一首歌
unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,
0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,
0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,
0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,
0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,
0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,
0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,
0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,
0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,
0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,
0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,
0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,
0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,
0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,
0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,
0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,
0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,
0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,
0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,
0x00,0x00 };
//兩只蝴蝶
unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03,
0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01,
0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,
0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03,
0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,
0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,
0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00,
0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,
0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03,
0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03,
0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03,
0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,
0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E,
0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E,
0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,
0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03,
0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03,
0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,
0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02,
0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01,
0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03,
0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02,
0x10,0x03, 0x15,0x00, 0x00,0x00 };
***************************************************************************/
9. 單片機製作流程
你好!
用KEIL編輯、編譯,完後完成程序的燒寫
10. 利用單片機製作搖棒的水銀開關為什麼接在P3.2上.和切換畫面開關接在P3.0上那
以下是詳細說明:
圖形顯示的原理: 利用人眼的視覺暫留效應,使手在擺動到不同位置的時候,讓位於一條直線上的LED顯示二維圖像的不同的列,實現圖形掃描顯示。
物理機制: 當我們在擺動手臂的時候,短時間內擺動位置和左右幅度不會有太大變化,利用我們手臂的這個運動規律,只要能得到棒從一側擺動到另一側的時間,然後把這個時間分成N份,然後在每一份的時間里顯示不同的花樣就能實現圖形的顯示。當我們在擺動手臂的時候,並不能預先得知此次擺動需要的時間,怎樣得到從一側擺動到另一側的時間呢? 再想想,短時間內我們手臂的擺動頻率也不會有特別大的變化,我們只要能得到前一次擺動所用的時間,然後用這個時間近似得到下一次擺動所需要的時間,然後分N份就可以了。得到一次擺動所需的時間的任務由光遮斷器完成,在棒上裝一個可以擺動的用來遮擋光遮斷器光線的細桿,粗細比光遮斷器的狹縫稍寬,我用的是整流橋焊後剪下的一段管腳。每左右擺動一次這個桿就會通過一次光遮斷器,使單片機產生一次中斷,兩次中斷之間的時間就是想要得到的時間,實現這個功能用掉2051的一個定時器T0和外部中斷INT0。然後用2051的另一個定時器T1,其定時時間是T0的N分之一,每次中斷依次顯示一列,就是照片上的效果。 再細想一下,手臂擺動的頻率大於2Hz的時候才大概能由視覺暫留看出圖形,再快也不過十幾Hz,由T0為16位定時器的最長計時時間得到2051的時鍾頻率1MHz最合適,還有遮擋用的細桿的粗細也可以大概估算,使其不會對計時精度產生太大影響。
所用元件:AT89C20518元高亮LED共8個3.6元電池盒0.5元單面萬用板8元可以裁成3塊,做3個搖棒陶瓷諧振器1元光遮斷器2元電阻電容導線2元外殼*0.7元可以裁成2塊
可選元件:電源開關1元
總成本不超過20元
*外殼我用在家樂福買的半透明文件夾捲成的此電路電路非常簡單,代碼短,但是用到了2051的外部中斷編程和T0、T1定時器編程,非常適合初學者練習。我製作這個玩具花費了兩個晚上的時間。此電路和程序還有擴展改進的空間,如在長時間不擺動的情況下可以使單片機進入省電模式,顯示不僅限於對稱圖片等,大家可以試試。
以下是源程序:
/*************************************************************************///---------------//LED顯示搖棒//---------------//作者:nim於http://www.21icbbs.com2005-1-7////email:[email protected]////本設計版權歸作者所有,請勿擅自用於商業目的,轉載請註明作者及出處/*************************************************************************/#include<reg51.h>#defineSEG17//每幀圖片分成17列來顯示#defineINTERVAL20//每幅圖片在左右搖擺20次後換下一幅
typedefunsignedcharuchar;typedefunsignedintuint;
codecharpattern[17][3]={//3幅圖片的字模{0xff,0xff,0xff},{0xff,0xff,0xff},{0xff,0xff,0xff},{0xff,0x9f,0xff},{0xff,0x6f,0xf9},{0xff,0x77,0x65},{0xfe,0xbb,0x1e},{0x7e,0xdd,0xfe},{0x00,0xee,0xfe},{0x7e,0xdd,0xfe},{0xfe,0xbb,0x1e},{0xff,0x77,0x65},{0xff,0x6f,0xf9},{0xff,0x9f,0xff},{0xff,0xff,0xff},{0xff,0xff,0xff},{0xff,0xff,0xff},};
ucharphase,th1,tl1,index,count;
main(){EA=0;EX0=1;ET1=1;PX0=1;IT0=1;TMOD=0x11;index=0;EA=1;while(1){}}
voidInt0_Handle(void)interrupt0using2{uintt0_time;TR0=0;TR1=0;TF1=0;t0_time=TH0<<8|TL0;TL0=0;TH0=0;TR0=1;t0_time=65535-t0_time/SEG;th1=t0_time/256;TH1=th1;tl1=t0_time%256;TL1=tl1;if(count<3*INTERVAL){//3幅圖片循環count++;}else{count=0;}index=count/INTERVAL;if(th1!=0xff||tl1!=0xff){//如果擺動特別慢,定時器溢出就不顯示phase=0;TR1=1;}else{TR1=0;}}
voidTimer1(void)interrupt3using3{if(phase<SEG)//17段依次顯示{P1=pattern[phase][index];phase++;TH1=th1;TL1=tl1;}}