2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hoc experimentum intendit ad designandum et efficiendum perpetuum systema calendarium innixum in LCD12864 propono de STC89C52 microcontroller, et temperatura sensorem integrare ad munus vigilantia temperatus percipere. Systema horae temporis congruunt ac trepidi munus habet, ac per stridore suggerunt. Hoc consilium non solum percipere potest praecipuas horologii et temperaturas ostentationes, sed etiam functiones quasdam terrores habet, idoneos reddens missionibus domum vel officium.
Circuitus maxime compositus est a microcontroller, LCD ostentus, temperatus sensor et BOMBINATOR. LCD12864 screen ostentus cum microcontrollo per parallelum interfaciem coniungitur, DS18B20 sensorem temperatum cum microcontrollo per unius filum interfaciei coniungitur, et BOMBINATOR per I/O portum microcontrolli regitur.
Postquam systema in possibilitate est, primum initialized, inter quas initialization LCD propono, horologium initializationem, initializationem interrumpunt, etc. Codex initialization talis est:
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 */
}
Systema continue reficit tempus in principali ansa et ostendit per LCD propono. Eodem tempore, valor temperatus per sensorem DS18B20 legitur et in LCD proponitur.
while ( 1 )
{
Clock_Fresh( clock_time ); /* 时间刷新 */
Lcd_Clock( clock_time ); /* 时间显示 */
Sensor_Fresh( temperature ); /* 温度更新 */
Lcd_Temperture( temperature ); /* 温度显示 */
/* 整点报时 */
if ( (*clock_time == 0x59)