資源簡介
文件總共有三個部分,分別是89C51的源代碼,原理圖及PCB文件,所用元器件清單等。
代碼片段和文件信息
//宏定義
#define?uint?unsigned?int
#define?uchar?unsigned?char
#define?DUAN?P0
//頭函數
#include? ???
uchar?code?ssw[]=
{
0xC00xF90xA40xB00x990x920x820xF80x800x90
}; ????????
uchar?code?wei[]=
{
0xfe0xfd0xfb0xf7
};
uchar?pdata?tt[51]; ???//定義空數組用于AD0809取平均值
uchar?scale=20rsd_secput[4]; //定義占空比比例,熱釋電計時秒變量
char?minsec; //定義計時分秒
bit?bdata?flag_autossflag_bsflag_rsdflag_jiejin=1; ??//位定義自動切換的,閃爍標志,報警位標志,熱釋電動作標志,接近傳感器標志
uchar?flag_set=0time; //設置變量:0?正常??1?調分??2?調秒
uint?lum;
bit?beep1; //ad0809讀出值
//函數聲明
void?delay(uchar?i);
//管腳聲明
sbit?LED?=?P3^5; //燈光控制輸出
sbit?change=?P1^4; ??//自動模式切換按鍵
sbit?set?=?P1^5; ?//設置按鍵
sbit?add?=?P1^6; //加按鍵
sbit?sub?=?P1^7; //減按鍵
sbit?rsd?=?P3^6;???//熱釋電
sbit?jiejin=P3^4;??//接近開關
sbit?buzz=P3^7;
sbit?led_1=P3^2;
sbit?led_2=P3^3;
sbit??CS=P1^2;???????
sbit?CLK=P1^0;??????
sbit?DIO=P1^1;?
void?display()
{
uchar?i; ???
if(flag_set==1&&ss==0)
{
put[0]=0xff;
put[1]=0xff&0x7f;
}else
{
put[0]=ssw[min/10%10];
put[1]=ssw[min%10]&0x7f;
}
if(flag_set==2&&ss==0)
{
put[2]=0xff;
put[3]=0xff;
}else
{
put[2]=ssw[sec/10%10];
put[3]=ssw[sec%10];
}
for(i=0;i<4;i++)
{
P2=wei[i];
P0=put[i];
delay(1);
P0=0xff;
}
}
unsigned?int?A_D()
{
unsigned?char?idat;
CS=1;???//一個轉換周期開始
CLK=0;??//為第一個脈沖作準備
CS=0;??//CS置0,片選有效
DIO=1;????//DIO置1,規定的起始信號??
CLK=1;???//第一個脈沖
CLK=0;???//第一個脈沖的下降沿,此前DIO必須是高電平
DIO=1;???//DIO置1,?通道選擇信號??
CLK=1;???//第二個脈沖,第2、3個脈沖下沉之前,DI必須跟別輸入兩位數據用于選擇通道,這里選通道CH0?
CLK=0;???//第二個脈沖下降沿?
DIO=0;???//DI置0,選擇通道0
CLK=1;????//第三個脈沖
CLK=0;????//第三個脈沖下降沿?
DIO=1;????//第三個脈沖下沉之后,輸入端DIO失去作用,應置1
CLK=1;????//第四個脈沖
for(i=0;i<8;i++)??//高位在前
{
CLK=1;?????????//第四個脈沖
CLK=0;?
dat<<=1;???????//將下面儲存的低位數據向右移
dat|=(unsigned?char)DIO;? ?//將輸出數據DIO通過或運算儲存在dat最低位?
} ?? ????????
CS=1;??????????//片選無效?
return?dat; ?//將讀出的數據返回?????
}
/*****************按鍵函數*****************/
void?KEY()
{
uint?lum_meanlum_all;
uchar?bc;
if(change==0) ??//自動切換按鍵按下
{
delay(10); ??//去抖
if(change==0) ??//再次判斷按鍵按下
{
buzz=0; ??//蜂鳴器鳴響
flag_auto=!flag_auto;?//自動模式標志位取反
if(flag_auto==1) ??//當切換到手動模式時??首先將LED發光比例設置在50%
scale=20;
if(flag_auto==0)
{
led_1=0;
led_2=1;
}else
{
led_1=1;
led_2=0;
}
}
while(!change)?display();buzz=1;?//按鍵釋放??松開按鍵后關閉蜂鳴器
}
if(jiejin==0&&flag_jiejin==1) ?//接近傳感器檢測到障礙時??開啟報警
{
buzz=0;
flag_jiejin=0;
}
if(jiejin!=flag_jiejin) ??//接近傳感器檢測不到障礙時??關閉報警
{
buzz=1;
flag_jiejin=1;
}
if(set==0) ??//設置鍵按下時
{
delay(10);
if(set==0)
{
buzz=0;
flag_set++; ??//設置變量++
if(flag_set==3) ??//加到3時回復回正常模式
flag_set=0;
flag_bs=0; ?//按下設置?關閉報警
}
while(!set)?display();?buzz=1; //按鍵釋放
}
if(flag_set==1) ??//加鍵按鍵只有在設置狀態(flag_set!=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-19?15:24??智能臺燈\
?????文件???????28160??2019-04-19?15:23??智能臺燈\元器件清單.xls
?????目錄???????????0??2019-04-19?15:22??智能臺燈\智能臺燈電路圖\
?????文件??????465920??2017-02-15?20:11??智能臺燈\智能臺燈電路圖\4BIT_8SEG_LED.PcbLib
?????目錄???????????0??2019-04-19?15:22??智能臺燈\智能臺燈電路圖\__Previews\
?????文件???????77751??2019-04-19?15:18??智能臺燈\智能臺燈電路圖\__Previews\task3pcb.PcbDocPreview
?????文件???????79685??2018-06-06?10:46??智能臺燈\智能臺燈電路圖\__Previews\task3原理圖.schPreview
?????文件?????????117??2017-02-16?10:26??智能臺燈\智能臺燈電路圖\task3.DsnWrk
?????文件??????764416??2017-02-15?22:37??智能臺燈\智能臺燈電路圖\task3pcb.PcbDoc
?????文件????????6150??2019-04-19?15:18??智能臺燈\智能臺燈電路圖\task3pcb.PcbDoc.htm
?????文件??????449024??2017-02-16?10:28??智能臺燈\智能臺燈電路圖\task3原理圖.sch
?????文件??????104448??2017-02-15?20:32??智能臺燈\智能臺燈電路圖\task3原理圖庫.SchLib
?????目錄???????????0??2019-04-19?15:22??智能臺燈\視力燈??程序\
?????文件???????19129??2016-04-27?14:50??智能臺燈\視力燈??程序\C51.LST
?????文件???????14649??2016-04-27?14:50??智能臺燈\視力燈??程序\C51.OBJ
?????文件????????8071??2016-04-27?14:50??智能臺燈\視力燈??程序\C51.c
?????文件????????6376??2016-04-27?14:50??智能臺燈\視力燈??程序\STARTUP.A51
?????文件???????14048??2016-04-27?14:50??智能臺燈\視力燈??程序\STARTUP.LST
?????文件?????????749??2016-04-27?14:50??智能臺燈\視力燈??程序\STARTUP.OBJ
?????文件???????13217??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈
?????文件???????21055??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈.M51
?????文件????????3821??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈.hex
?????文件??????????59??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈.lnp
?????文件?????????185??2019-04-19?15:25??智能臺燈\視力燈??程序\智能臺燈.plg
?????文件???????70639??2017-02-11?20:31??智能臺燈\視力燈??程序\智能臺燈.uvgui.Administrator
?????文件????????5347??2017-02-11?20:31??智能臺燈\視力燈??程序\智能臺燈.uvopt
?????文件???????13949??2017-02-11?20:31??智能臺燈\視力燈??程序\智能臺燈.uvproj
?????文件???????55615??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈_uvopt.bak
?????文件???????????0??2016-04-27?14:50??智能臺燈\視力燈??程序\智能臺燈_uvproj.bak
- 上一篇:rdlc報表 完整
- 下一篇:CATIA汽車曲面綜合設計
評論
共有 條評論