一、畢業(yè)設(shè)計(jì)(論文)的內(nèi)容
內(nèi)容:
現(xiàn)在生活中,人們越來越注意身體鍛煉,越來越多的人采用騎行的方式既能環(huán)保出行,又能鍛煉身體,放松身心。但在騎行的過程中,也有一些不便。如自行車沒有車燈或現(xiàn)有的自行車車燈都不太亮。在馬上上,經(jīng)??匆婒T自行車的人,在要轉(zhuǎn)方向時(shí),伸出手示意后面的車輛或行人,存在安全隱患等等
因此,本系統(tǒng)要求使用單片機(jī)或其他控制器件實(shí)現(xiàn)一個(gè)智能騎行帽的設(shè)計(jì)和實(shí)現(xiàn)。? 可自動控制LED燈,在光線昏暗的地方提供照明。在帽體上通過燈帶進(jìn)行轉(zhuǎn)向提醒,后側(cè)人員提醒,可實(shí)現(xiàn)多種供電方式,可USB供電,也可太陽能板供電,或動力儲存電。要求設(shè)計(jì)盡可能的方便使用,合理。要求熟悉單片機(jī)或其他控制器的原理和設(shè)計(jì),熟練掌握C語言或其他編程語言的設(shè)計(jì)編程,完成時(shí)間管理器的軟件、硬件設(shè)計(jì)與實(shí)現(xiàn)。整個(gè)畢業(yè)設(shè)計(jì)還要求完成相應(yīng)的英文翻譯和畢業(yè)設(shè)計(jì)論文。
1、通過學(xué)習(xí)掌握程序設(shè)計(jì)、調(diào)試技術(shù)。
2、掌握仿真軟件的使用方法,并能編輯、編譯和下載設(shè)計(jì)文件。
3、掌握系統(tǒng)搭建實(shí)用硬件系統(tǒng)的方法。
二、畢業(yè)設(shè)計(jì)(論文)的要求與數(shù)據(jù)
要求:
- 系統(tǒng)能自動檢測光線強(qiáng)度,并控制騎行帽前LED燈的開關(guān),在光線昏暗的地方提供照明。
- 在帽體后方,通過燈帶進(jìn)行轉(zhuǎn)向提醒,給后側(cè)人員提醒。
- 可實(shí)現(xiàn)多種供電方式,可USB供電,也可太陽能板供電,或動力儲存電。
- 可播放音樂。
/**********************************
**********************************/
/**********************************
包含頭文件
**********************************/
#include "adc.h"
/**********************************
函數(shù)定義
**********************************/
uint Adc0832_Get_Value(uchar CH)
{
uint dat = 0x00;
uchar i,test,adval;
adval = 0x00;
test = 0x00;
//初始化
ADC_CLK = 0;
ADC_DATI = 1;
_nop_(); _nop_();
ADC_CS = 0;
_nop_();
ADC_CLK = 1;
_nop_(); _nop_();
//通道選擇
if(CH == 0x00)
{
ADC_CLK = 0;
ADC_DATI = 1; //通道0的第一位
_nop_();
ADC_CLK = 1;
_nop_(); _nop_();
ADC_CLK = 0;
ADC_DATI = 0; //通道0的第二位
_nop_(); _nop_();
ADC_CLK = 1;
_nop_();
}
else
{
ADC_CLK = 0;
ADC_DATI = 1; //通道1的第一位
_nop_(); _nop_();
ADC_CLK = 1;
_nop_(); _nop_();
ADC_CLK = 0;
ADC_DATI = 1; //通道1的第二位
_nop_();
ADC_CLK = 1;
_nop_();
}
ADC_CLK = 0; _nop_();
ADC_DATI = 1;
for( i = 0;i < 8;i++ ) //讀取前8位的值
{
_nop_();
adval <<= 1;
ADC_CLK = 1;
_nop_(); _nop_();
ADC_CLK = 0;
_nop_();
if (ADC_DATO)
adval |= 0x01;
else
adval |= 0x00;
}
for (i = 0; i < 8; i++) //讀取后8位的值
{
test >>= 1;
if (ADC_DATO)
test |= 0x80;
else
test |= 0x00;
_nop_();
ADC_CLK = 1;
_nop_(); _nop_();
ADC_CLK = 0;
_nop_();
}
//比較前8位與后8位的值,如果不相同舍去。若一直出現(xiàn)顯示為零,請將該行去掉
if (adval == test)
dat = test;
_nop_(); _nop_();
ADC_CS = 1; //釋放ADC0832
ADC_DATO = 1;
ADC_CLK = 1;
return dat;
}
?