2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
अस्य प्रयोगस्य उद्देश्यं STC89C52 सूक्ष्मनियन्त्रकस्य LCD12864 प्रदर्शने आधारितं शाश्वतं पञ्चाङ्गप्रणालीं परिकल्पयितुं कार्यान्वितुं च, तथा च तापमाननिरीक्षणकार्यं साकारयितुं तापमानसंवेदकं एकीकृत्य च अस्ति प्रणाल्यां घण्टावारसमयस्य झंकारः अलार्मकार्यं च भवति, तथा च बजरद्वारा प्रॉम्प्ट् करोति । एतत् डिजाइनं न केवलं मूलभूतघटिकायाः तापमानप्रदर्शनस्य च साक्षात्कारं कर्तुं शक्नोति, अपितु कतिपयानि अलार्मकार्याणि अपि सन्ति, येन गृहस्य वा कार्यालयस्य वा परिदृश्यानां कृते उपयुक्तं भवति
परिपथः मुख्यतया सूक्ष्मनियन्त्रकः, एलसीडी-प्रदर्शनम्, तापमानसंवेदकः, बजरः च सन्ति । LCD12864 प्रदर्शनपट्टिका समानान्तर-अन्तरफलकस्य माध्यमेन सूक्ष्मनियन्त्रकेन सह सम्बद्धा भवति, DS18B20 तापमानसंवेदकः एकतार-अन्तरफलकस्य माध्यमेन सूक्ष्मनियन्त्रकेन सह सम्बद्धः भवति, तथा च बजरः सूक्ष्मनियन्त्रकस्य I/O पोर्ट् मार्गेण नियन्त्रितः भवति
प्रणालीं चालू कृत्वा प्रथमं तस्य आरम्भः भवति, यत्र LCD प्रदर्शनस्य आरम्भः, घड़ी आरम्भः, व्यत्ययप्रारम्भः इत्यादयः सन्ति । आरम्भसङ्केतः निम्नलिखितरूपेण अस्ति ।
void main( void )
{
uchar clock_time[6] = { 0X00, 0X59, 0X23, 0X09, 0X04, 0X11 }; /* 定义时间变量 秒 分 时 日 月 年 */
uchar alarm_time[2] = { 10, 06 }; /* 闹钟设置 alarm_time[0]: 分钟 alarm_time[1] :小时 */
uchar temperature[2]; /* 定义温度变量 temperature[0] 低8位 temperature[1] 高8位 */
Lcd_Initial(); /* LCD初始化 */
Clock_Fresh( clock_time ); /* 刷新时间 */
Clock_Initial( clock_time ); /* 时钟初始化 */
/* 中断初始化 */
EA = 1; /* 开总中断 */
ET0 = 1; /* Timer0 开中断 */
ET2 = 1; /* Timer2 开中断 */
TMOD = 0x01; /* Timer0 工作方式 1 */
RCAP2H = 0x3c;
RCAP2L = 0xb0; /* Timer2 延时 50 ms */
}
प्रणाली मुख्यपाशस्य समयं निरन्तरं ताजगीं करोति तथा च LCD प्रदर्शनद्वारा प्रदर्शयति । तस्मिन् एव काले DS18B20 संवेदकस्य माध्यमेन तापमानमूल्यं पठित्वा LCD इत्यत्र प्रदर्शितं भवति ।
while ( 1 )
{
Clock_Fresh( clock_time ); /* 时间刷新 */
Lcd_Clock( clock_time ); /* 时间显示 */
Sensor_Fresh( temperature ); /* 温度更新 */
Lcd_Temperture( temperature ); /* 温度显示 */
/* 整点报时 */
if ( (*clock_time == 0x59)