Teknologian jakaminen

[TB Works] 51 MCU:n Proteus-simulaatiosuunnittelu LCD12864:n jatkuvalle kalenteri- ja lämpötilanvalvontajärjestelmälle, joka perustuu MCU:hun

2024-07-08

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

Lisää kuvan kuvaus tähän

Kokeiluraportti: LCD12864:n ikuisen kalenterin ja lämpötilan valvontajärjestelmän suunnittelu, joka perustuu mikrokontrolleriin

Tausta esittely

Tämän kokeen tarkoituksena on suunnitella ja toteuttaa ikuinen kalenterijärjestelmä, joka perustuu STC89C52-mikrokontrollerin LCD12864-näyttöön, ja integroida lämpötila-anturi lämpötilanvalvontatoiminnon toteuttamiseksi. Järjestelmässä on tuntikohtainen kello- ja hälytystoiminto sekä äänimerkki. Tämä malli ei pysty toteuttamaan vain peruskellon ja lämpötilan näyttöä, vaan siinä on myös tiettyjä hälytystoimintoja, joten se sopii kotiin tai toimistoon.

Laitteiston esittely

  1. STC89C52 mikro-ohjain: Järjestelmän ydinohjaimena se vastaa eri toimintojen toteuttamisesta.
  2. LCD12864 näyttö: Käytetään näyttämään tietoja, kuten kellonaika, päivämäärä ja lämpötila.
  3. DS18B20 lämpötila-anturi: Käytetään valvomaan ympäristön lämpötilaa reaaliajassa.
  4. summeri: Käytetään tuntiaikaan ja hälytysmuistutukseen.
  5. Painikemoduuli: Käytetään käyttäjille ajan ja hälytystoimintojen asettamiseen.
  6. Muut elektroniset komponentit: Kuten vastukset, kondensaattorit jne., joita käytetään piirien rakentamiseen ja vakaaseen toimintaan.

piirin suunnittelu

Piiri koostuu pääasiassa mikro-ohjaimesta, LCD-näytöstä, lämpötila-anturista ja summerista. LCD12864-näyttö on kytketty mikro-ohjaimeen rinnakkaisliitännän kautta, DS18B20-lämpötila-anturi on kytketty mikro-ohjaimeen yksijohtimisliitännällä ja summeria ohjataan mikro-ohjaimen I/O-portin kautta.

Tärkeimmät liitäntäohjeet

  1. LCD12864 näyttö
    • Dataportit D0-D7 on kytketty mikro-ohjaimen P0-porttiin.
    • Ohjaussignaalit RS, RW ja E on kytketty mikro-ohjaimen P2.0:aan, P2.1:een ja P2.2:een.
  2. DS18B20 lämpötila-anturi
    • Dataportti DQ on kytketty mikro-ohjaimen P3.7-porttiin.
  3. summeri
    • Yhdistä mikro-ohjaimen P2.0-porttiin.
  4. Painikemoduuli
    • Jokainen painike on kytketty mikro-ohjaimen P1-porttiin, jota käytetään painikkeen tilan skannaamiseen ja tunnistamiseen.

ohjelmistosuunnittelu

järjestelmän alustus

Kun järjestelmä on kytketty päälle, se alustetaan ensin, mukaan lukien LCD-näytön alustus, kellon alustus, keskeytyksen alustus jne. Alustuskoodi on seuraava:

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

Ajan näyttö ja päivitys

Järjestelmä päivittää jatkuvasti pääsilmukan ajan ja näyttää sen LCD-näytön kautta. Samanaikaisesti lämpötila-arvo luetaan DS18B20-anturin kautta ja näytetään LCD-näytöllä.

while ( 1 )
{
	Clock_Fresh( clock_time );      /* 时间刷新 */
	Lcd_Clock( clock_time );        /* 时间显示 */

	Sensor_Fresh( temperature );    /* 温度更新 */
	Lcd_Temperture( temperature );  /* 温度显示 */

	/* 整点报时 */
	if ( (*clock_time == 0x59)