Technology sharing

[TB Works] 51 MCU Proteus simulatio consiliorum LCD12864 calendarii perpetui et temperaturae magna ratio in MCU fundatur

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Imaginem descriptionem hic inserere

Experimentum fama: Designatio LCD12864 calendarii perpetui et temperaturae magna ratio in microcontroller

Background introductio

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.

Hardware introduction

  1. STC89C52 microcontrollerUt nucleus moderatoris systematis, variis functionibus exsequendis tractandis competit.
  2. LCD12864 display: Adhibebant informationes ut tempus, tempus, tempus et tortor.
  3. DS18B20 sensorem temperatus: Adhibetur monitor temperatus ambientis in tempore reali.
  4. BOMBINATOR: used for hour time and terror commonition.
  5. Button moduliSuspendisse a metus ac metus posuere interdum.
  6. Aliae electronice partes: Ut resistentes, capacitores, etc., ad constructionem et operationem stabilem adhibentur.

circa design

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.

Pelagus nexu instructiones

  1. LCD12864 display
    • Datae portus D0-D7 cum P0 microcontrollis portu connexi sunt.
    • Imperium annuit RS, RW et E cum P2.0, P2.1, et P2.2 respective microcontroller.
  2. DS18B20 sensorem temperatus
    • Data portum DQ cum P3.7 portu microcontrolli connexum est.
  3. BOMBINATOR
    • Connectunt ad P2.0 portum microcontroller.
  4. Button moduli
    • Quaelibet puga pyga cum microcontroller P1 portu coniungitur, quae ad scandendum et detegendo statum detectum adhibetur.

software design

systema initialization "

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 */
}

Tempus ostentationem et update

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)