1.实验目的

1. 学习在PC机系统中扩展简单I/O?接口的方法。
2. 什么是SPI接口。
3. 学习TPYBoard I2C接口的用法。
4. 学习LCD5110接线方法。
5. 设定时钟并将当前时间显示在LCD5110上。

2.所需元器件

DS3231模块一个
TPYBoard板子一块
LCD5110显示屏一个
数据线一条
杜邦线若干

3.TPYBoard的SPI接口

LCD5110需要SPI接口与TPYBoard进行连接传输数据,SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,TPYBoard有两个SPI接口,我们用的为SPI1接口。

4.TPYBoard的I2C接口

DS3231是I2C接口通信的,它通过I2C接口与TPYboard进行数据通讯,DS3231通过这个接口与TPYBoard进行双向通讯,进行数据传输,TPYBoard有两个I2C接口,我们在这用的是I2C接口1。

5.DS3231的接线方法

DS会我们在这只用到DS3231的SCL,SDA,VCC,GND四个针脚即可设定读出当前时间,我们用的位I2C接口1,即DS3231的针脚SCL接TPYboard的针脚X9,针脚SDA接TPYBoard的针脚X10。

6.控制5110显示屏显示6x8字符

先看一下LCD5110针脚含义吧(注意:LCD5110的针脚有些不一样的)
TPYBoard的针脚与5110的针脚对应关系如下:

TPYBoard       LCD5110    memo
————————————————————————————
# any   Pin        => RST       Reset pin (0=reset, 1=normal)
# any   Pin        => CE        Chip Enable (0=listen for input,   1=ignore input)
# any   Pin        => DC        Data/Command (0=commands, 1=data)
#   MOSI          => DIN       data flow (Master out, Slave in)
#   SCK           => CLK       SPI clock
# 3V3   or any Pin  => VCC       3.3V logic voltage (0=off, 1=on)
# any   Pin        => LIGHT     Light (0=on, 1=off)
#   GND           => GND
还是看不明白的话,直接上针脚编号吧
TPYBoard       LCD5110    memo
————————————————————————————
Y10        => RST       Reset pin (0=reset, 1=normal)
Y11        => CE        Chip Enable (0=listen for input, 1=ignore input)
Y9         => DC        Data/Command (0=commands, 1=data)
X8         => DIN       data flow (Master out, Slave in)
X6         => CLK       SPI clock
VCC
Y12        => LIGHT     Light (0=on, 1=off)
GND

7.源代码

接线ok后,并且导入font.py文件、upcd8544.py文件以及DS3231.py,编写main.py设定时间,运行main.py即可将当前时间显示在5110显示屏上。

# main.py -- put your code here!
import pyb
import upcd8544
from machine import SPI,Pin
from DS3231 import DS3231ds=DS3231(1)
ds.DATE([16,11,26])
ds.TIME([16,14,6])while True:ds.TEMP()ds.DATE()SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)#CLK =>SPI(1).SCK  'X6' SPI clockRST    = pyb.Pin('X1')CE     = pyb.Pin('X2')DC     = pyb.Pin('X3')LIGHT  = pyb.Pin('X4')lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)lcd_5110.lcd_write_string('Date',0,0)lcd_5110.lcd_write_string(str(ds.DATE()),0,1)lcd_5110.lcd_write_string('Time',0,2)lcd_5110.lcd_write_string(str(ds.TIME()),0,3)lcd_5110.lcd_write_string('Tem',0,4 )lcd_5110.lcd_write_string(str(ds.TEMP()),0,5)pyb.delay(1000)

转载于:https://www.cnblogs.com/xxosu/p/10062757.html

Micropython教程之TPYBoard DIY电子时钟(萝卜学科编程教育)相关推荐

  1. Micropython教程之TPYBoard DIY金属探测仪实例演示(萝卜学科编程教育)

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输入输出程序的设计方法. 3. 学习LJ12A3-4-Z/BX 金属接近开关的工作原理. 4. 硬件接线方法 ...

  2. Micropython教程之TPYBoard开发板DIY智能温控小风扇(萝卜学科编程教育)

    2019独角兽企业重金招聘Python工程师标准>>> 1.实验目的 1.?学习在PC机系统中扩展简单I/O?接口的方法.     2.?进一步学习编制数据输出程序的设计方法.?? ...

  3. micropython仿真器_Micropython教程之TPYBoard DIY超声波测距仪实例演示

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  4. micropython做中继_超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示...

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  5. 超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  6. micropython教程nucleo-f767zi开发板_Micropython教程之TPYBoard开发板制作电子时钟(萝卜学科编程教育)...

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 什么是SPI接口. 3. 学习TPYBoard I2C接口的用法. 4. 学习LCD5110接线方法. 5. 设定时钟并将当前 ...

  7. Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)

    2019独角兽企业重金招聘Python工程师标准>>> 大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件 ...

  8. Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例

    1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一步学习编制数据输出程序的设计方法. 3.学习蓝牙模块的接线方法及其工作原理. 4.学习L298N电机驱动板模块的接线方法. 5. ...

  9. Micropython教程之TPYBoard制作蓝牙+红外循迹小车

    1.实验目的 学习在PC机系统中扩展简单I/O接口的方法. 进一步学习编制数据输出程序的设计方法. 学习蓝牙模块的接线方法及其工作原理. 学习L298N电机驱动板模块的接线方法. 学习蓝牙控制小车的工 ...

最新文章

  1. 自动驾驶行业内时间表和技术解析
  2. sql server无效的对象名称 - 但表列在SSMS表列表中
  3. Java布尔类的compareTo()
  4. Ubuntu编译安装VASP
  5. [概统]本科二年级 概率论与数理统计 第三讲 离散型随机变量
  6. AndroidManifest.xml文件详解(application)
  7. html5 canvas(小树姐的牛掰到爆了的作品)
  8. 揭秘.NET Core剪裁器背后的技术
  9. 我这几年来是如何编写 Go HTTP 服务的(转载)
  10. 基于docker的php调用基于docker的mysql数据库的方法
  11. 《色彩解答》系列之二 色彩比例
  12. 「企业架构」TOGAF 和Zachman有什么区别?
  13. 在LLVM中编写Backend Pass的详细教程(1)
  14. android6.0原生brower_Android原生下载组件DownloadManager
  15. Java setlocale方法_Java Configuration.setLocale方法代碼示例
  16. tensorflow(gpu) win10安装 1060显卡驱动
  17. 事务的隔离级别2 (TRANSACTION ISOLATION LEVEL)
  18. 计算机键盘按键错乱,笔记本键盘按键错乱怎么办 解决笔记本电脑个别按键功能错乱...
  19. 阿里云部署.NET后端
  20. 【安装填坑】-import win32api, sys, os ImportError: DLL load failed: 找不到指定的模块。

热门文章

  1. pytorch采用GPU加速方法
  2. 投我以木桃,报之以琼浆。匪报也,永以为好也!
  3. 两个网段共享打印机_两个网段打印机共享
  4. 用SAPI做一个聊天模拟器
  5. electron+vue3+vite2 如何使用打印
  6. 计算机操作系统学习笔记----进程管理
  7. android 创建多个闹钟,Android设置多个闹钟
  8. php mobi_PHP核心技术与最佳实践 mobi epub
  9. 51单片机教程__模块化编程
  10. Java实现 LeetCode 41 缺失的第一个正数