Агуулгын хүснэгт:

Микроконтроллер ашиглан дижитал цаг (RTC хэлхээгүй AT89S52): 4 алхам (зурагтай)
Микроконтроллер ашиглан дижитал цаг (RTC хэлхээгүй AT89S52): 4 алхам (зурагтай)

Видео: Микроконтроллер ашиглан дижитал цаг (RTC хэлхээгүй AT89S52): 4 алхам (зурагтай)

Видео: Микроконтроллер ашиглан дижитал цаг (RTC хэлхээгүй AT89S52): 4 алхам (зурагтай)
Видео: Связь Modbus ESP32 | FLProg SCADA 2024, Арванхоёрдугаар сар
Anonim
Микроконтроллер ашигладаг дижитал цаг (RTC хэлхээгүй AT89S52)
Микроконтроллер ашигладаг дижитал цаг (RTC хэлхээгүй AT89S52)
Микроконтроллер ашигладаг дижитал цаг (RTC хэлхээгүй AT89S52)
Микроконтроллер ашигладаг дижитал цаг (RTC хэлхээгүй AT89S52)

Цагийг тайлбарлая … "Цаг бол цагийг (харьцангуй) тоолж, харуулдаг төхөөрөмж" !!!

Би үүнийг зөв хэлсэн гэж бодож байна.

ТАЙЛБАР: Уншихад 2-3 минут шаардагдах бөгөөд төслийг бүхэлд нь уншина уу, эс тэгвээс би гэмтсэн хэсгийг хариуцахгүй болно

Алхам 1: Бүрэлдэхүүн хэсгүүд шаардлагатай

Бүрэлдэхүүн хэсгүүд шаардлагатай
Бүрэлдэхүүн хэсгүүд шаардлагатай
Бүрэлдэхүүн хэсгүүд шаардлагатай
Бүрэлдэхүүн хэсгүүд шаардлагатай
Бүрэлдэхүүн хэсгүүд шаардлагатай
Бүрэлдэхүүн хэсгүүд шаардлагатай

6 бүрэлдэхүүн хэсэг шаардлагатай:

1. Микроконтроллер (би AT89S52-8051 гэр бүлийг ашигласан), програмчлах боломжтой аливаа микроконтроллерийг ашиглаж болно.

2.7 сегментийн дэлгэц

3. Болор осциллятор (12 МГц)

4. Конденсатор (10uF, 33pF/22pF)

5. LED

6. эсэргүүцэл (330 Ом)

7. шарагч (пьезо)

8. түлхүүрийг түлхэх

Би гагнуурын төмөр, утас, урсгал ….. цахилгаан оруулаагүй болно !!! надад туслаарай:)

Алхам 2: Хэлхээ диаграм

Хэлхээ диаграм
Хэлхээ диаграм
Хэлхээ диаграм
Хэлхээ диаграм

Энэ бол 8051 микроконтроллер ашигладаг дижитал цагны схем юм.

Бидний харж байгаагаар микроконтроллер нь 7 сегментийн гурван дэлгэцтэй холбогдсон бөгөөд тусдаа портууд нь мултиплекс хийгддэггүй бөгөөд сүүлийн цагийн цифр зөвхөн 1 -ийг үзүүлсэн шиг зөвхөн зүүтэй холбогддог.

LED болон дуут дохио нь кодын дагуу өөрөө тайлбарлагддаг.

LED -ийн 1 нь AM -д зориулагдсан бөгөөд би дохиоллын хувьд зураг дээр харуулаагүй өөр LED холбосон.

12 МГц давтамжтай кристалл осциллятор нь цагны хурдтай холбогддог бөгөөд микроконтроллерийн тасалдлын шинж чанарыг ашиглан яг 1 секундын тоололд хүрдэг.

ХОЁРДУГААР ХЭРЭГЛЭХ ДУНД ЛЕД -ийг "28, 32 -Р" ПИН -тэй холбосон

Намайг уучлаарай, залхуурлын минь схемийг 3 LED харуулаагүй байна

28 -р зүү LED: эхний 30 секунд анивчих

32 -р зүү LED: 30 секунд анивчих

**** бүхэл бүтэн минутанд хувь нэмэр оруулна !! Хөөх

Алхам 3: Кодлох

Кодлох
Кодлох
Кодлох
Кодлох
Кодлох
Кодлох

Би keil програм хангамжийг ашиглан RTC -ийн C кодыг микроконтроллер ашиглан бүтээж, hex файл авсан.

Илүү ихийг мэдэхийн тулд үүнийг кодлох хэсгийг үзнэ үү !!

Кодлох хэсгийн гол зүйл бол порт бүрийн зүү нь 7 сегментийн дэлгэц бүрт хамаарах цифрийг харуулах болно.

8051 тасалдлын шинж чанарыг секундэд тоолох, дахин ачаалахад ашигладаг. жишээ нь зөвхөн 1 -р аргумен 1 секундын хоцрогдолтой хоцрогдох функцийг үүсгэхтэй адил. (TMOD, TL0, TH0, IE үнэ цэнэ бүр нь цаг гаргахад хувь нэмэр оруулдаг)

AM -ийн LED нь өөр 12 цагийн турш програмчлагдсан байдаг.

Түүнчлэн сэрүүлгийг AM эсвэл PM -д тусгайлан тохируулах боломжтой бөгөөд дохиоллын зүүг давтамжийн кодоор дамжуулж дохиоллын цагт дуугардаг. Мин, цаг, хэмнэх унтраалга бүхий дохиоллын товчлуурыг сэрүүлгийг тохируулахад ашигладаг. Сэрүүлгийг хоёр удаа дарахад дохиоллын функц идэвхгүй болно

КОД: Зөвхөн санааг олж авах C код (hex файл нь төслийн яг нэг хэсэг юм)

github.com/abhrodeep/Arduino_projs/blob/master/digitalclock.c

Алхам 4: Эцэст нь…

Эцэст нь…
Эцэст нь…

Бүгд бэлэн !!! Одоо iT'S бол тод, нарийвчлалтай цагийг эдлэх цаг болжээ.

Зөвлөмж болгож буй: