淘宝上网站建设续费,微信公众号的激活方法,楚雄 网站建设,wordpress 多媒体分类文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介
本项目使用Proteus8仿真Arduino单片机控制器#xff0c;使用TM1637、共阳数码管等。 主要功能#xff1a; 系统运行后#xff0c;数码管显示数字、字符。 二、软件设计
/*
作者#xff1a;嗨小易使用TM1637、共阳数码管等。 主要功能 系统运行后数码管显示数字、字符。 二、软件设计
/*
作者嗨小易QQ3443792007*/#define CLK 2
#define DIO 3#include GyverTM1637.h
GyverTM1637 disp(CLK, DIO);uint32_t Now, clocktimer;
boolean flag;void setup() {Serial.begin(9600);disp.clear();disp.brightness(7); // яркость, 0 - 7 (минимум - максимум)}void loop() {normClock();scrollClock();twistClock();scrolls();twists(); ints();fadeBlink();
}void twists() {disp.clear();delay(200);for (byte i 0; i 10; i) {disp.twist(3, i, 20);delay(300);}// скрутка массива БАЙТbyte troll[4] {_L, _O, _L, _empty};disp.scrollByte(troll, 100);delay(500);
}void twistClock() {byte hrs 21, mins 55;uint32_t tmr;Now millis();while (millis () - Now 5000) { // каждые 10 секундif (millis() - tmr 500) { // каждые полсекундыtmr millis();flag !flag;disp.point(flag); // выкл/выкл точкиif (flag) {// ***** часы! ****mins ;if (mins 59) {mins 0;hrs;if (hrs 24) hrs 0;}// ***** часы! ****byte dispTime[] {(byte)hrs / 10, (byte)hrs % 10, (byte)mins / 10, (byte)mins % 10};disp.twist(dispTime, 35); // выводим время массивом}}}disp.point(0); // выкл точки
}void scrolls() {disp.clear();delay(1000);for (byte i 0; i 10; i) {disp.scroll(3, i, 50);delay(300);}// прокрутка массива БАЙТbyte troll[4] {_t, _r, _o, _l};disp.scrollByte(troll, 100);delay(500);
}void fadeBlink() {// пишем HELLdisp.displayByte(_H, _E, _L, _L);Now millis();while (millis () - Now 3000) { // 3 секундыfor (int i 7; i 0; i--) {disp.brightness(i); // меняем яркостьdelay(40);}for (int i 0; i 8; i) {disp.brightness(i); // меняем яркостьdelay(40);}}
}void scrollClock() {byte hrs 15, mins 0;uint32_t tmr;Now millis();while (millis () - Now 5000) { // каждые 10 секундif (millis() - tmr 500) { // каждые полсекундыtmr millis();flag !flag;disp.point(flag); // выкл/выкл точкиif (flag) {// ***** часы! ****mins ;if (mins 59) {mins 0;hrs;if (hrs 24) hrs 0;}// ***** часы! ****byte dispTime[] {(byte)hrs / 10, (byte)hrs % 10, (byte)mins / 10, (byte)mins % 10};disp.scroll(dispTime, 70); // выводим время массивом}}}disp.point(0); // выкл точки
}void normClock() {byte hrs 15, mins 0;uint32_t tmr;Now millis();while (millis () - Now 5000) { // 10 секундif (millis() - tmr 500) { // каждые полсекундыtmr millis();flag !flag;disp.point(flag); // выкл/выкл точки// ***** часы! ****mins ;if (mins 59) {mins 0;hrs;if (hrs 24) hrs 0;}// ***** часы! ****disp.displayClock(hrs, mins); // выводим время функцией часов}}disp.point(0); // выкл точки
}void ints() {// тупо отправляем цифрыdisp.displayInt(-999);delay(200);disp.displayInt(-99);delay(200);disp.displayInt(-9);delay(200);disp.displayInt(0);delay(200);disp.displayInt(6);delay(200);disp.displayInt(66);delay(200);disp.displayInt(666);delay(200);disp.displayInt(6666);delay(200);
} 三、实验现象
B站演示视频https://space.bilibili.com/444388619 联系作者
视频地址https://space.bilibili.com/444388619/video 专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发PCB设计视频分享技术交流。