精华内容
下载资源
问答
  • 七段数码管机器驱动七段数码管机器驱动七段数码管机器驱动七段数码管机器驱动七段数码管机器驱动七段数码管机器驱动七段数码管机器驱动
  • 七段数码管

    千次阅读 2018-08-07 12:47:08
    #七段数码管 import turtle, time def drawGap(): #绘制数码管间隔 turtle.penup() turtle.fd(5) def drawLine(draw): #绘制单段数码管 drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40)...
    #七段数码管
    import turtle, time
    def drawGap(): #绘制数码管间隔
        turtle.penup()
        turtle.fd(5)
    def drawLine(draw):   #绘制单段数码管
        drawGap()
        turtle.pendown() if draw else turtle.penup()
        turtle.fd(40)
        drawGap()
        turtle.right(90)
    def drawDigit(d): #根据数字绘制七段数码管
        drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
        drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
        drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
        drawLine(True) if d in [0,2,6,8] else drawLine(False)
        turtle.left(90)
        drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
        drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
        drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
        turtle.left(180)
        turtle.penup()
        turtle.fd(20)
    def drawDate(date):
        turtle.pencolor("red")
        for i in date:
            if i == '-':
                turtle.write('年',font=("Arial", 18, "normal"))
                turtle.pencolor("green")
                turtle.fd(40)
            elif i == '=':
                turtle.write('月',font=("Arial", 18, "normal"))
                turtle.pencolor("blue")
                turtle.fd(40)
            elif i == '+':
                turtle.write('日',font=("Arial", 18, "normal"))
            else:
                drawDigit(eval(i))
    def main():
        turtle.setup(800, 350, 200, 200)
        turtle.penup()
        turtle.fd(-350)
        turtle.pensize(5)
    #    drawDate('2018-10=10+')
        drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))
        turtle.hideturtle()
        turtle.done()
       
        
    main()

     

    展开全文
  • 利用8255A控制七段数码管循环动态显示00~99。

    一、实验目的

    掌握数码管显示数字的原理。

    二、实验原理和内容

    在这里插入图片描述

    三、编程提示

    在这里插入图片描述

    四、电路接线图

    在这里插入图片描述

    五、程序设计流程图

    在这里插入图片描述

    六、一些说明

    1. 将01h送到C口后,再将要显示的数据送到A口,显示的是个位。
    2. 将02h送到C口后,再将要显示的数据送到A口,显示的是十位。
    3. 注意判断进位。

    七、程序源代码

    stack segment stack
        db 200 dup(0)
    stack ends
    
    data segment
        APORT equ 288h
        CPORT equ 28ah
        CTRL equ 28bh
        num db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh  ;0~9
    data ends
    
    code segment
        assume cs:code,ds:data,ss:stack
    
        delay MACRO
          local loop_delay
          local flag
          push cx
          push bx
          xor bx, bx
          flag:mov cx, 0ffffh
          loop_delay:loop loop_delay
          inc bx
          cmp bx, 10
          jnz flag
          pop bx
          pop cx
       ENDM
    
    main: mov ax,data          
          mov ds,ax
          mov ax, stack
          mov ss, ax
          mov dx, CTRL
          mov al, 80h  ;写入控制字
          out dx, al
          xor si, si
          xor di, di
    loop1:cmp si, 10  ;检查个位是否已经增加到10
          jz carry          ;进位
          mov dx, CPORT
          mov al, 02h
          out dx, al
          mov dx, APORT
          mov al, num[di]   ;显示十位
          out dx, al
          delay
          mov dx, CPORT
          mov al, 01h
          out dx, al
          mov dx, APORT
          mov al, num[si]   ;显示个位
          out dx, al
          inc si           ;个位+1
          delay
          jmp loop1  ;还没有进位个位继续增加
    carry:xor si, si   ;进位后将个位清零
          cmp di, 10  ;十位增加到10就从00重新开始
          jz exit
          mov dx, CPORT
          mov al, 02h
          out dx, al
          mov dx, APORT
          mov al, num[di]
          out dx, al
          inc di   ;十位+1
          delay
          jmp loop1
     exit:xor di, di
          jmp loop1
          mov ah,4ch
          int 21h
    code ends
         end main
    
    展开全文
  • 七段数码管显示实验七段数码管显示实验七段数码管显示实验七段数码管显示实验七段数码管显示实验
  • 七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置绘制模式:input:输入当前日期的数字形式process:根据每个数字绘制七段数码管表示...

    七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置

    绘制模式:

    input:输入当前日期的数字形式

    process:根据每个数字绘制七段数码管表示

    output:绘制当前日期的七段数码管表示

    20171220142747243.jpg?20171120142758

    示例一:

    #DrawSevenSegDisplay.py

    import turtle, datetime

    def drawLine(draw): #绘制单段数码管

    turtle.pendown() if draw else turtle.penup()

    turtle.fd(40)

    turtle.right(90)

    def drawDigit(digit): #根据数字绘制七段数码管

    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,6,8] else drawLine(False)

    turtle.left(90)

    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)

    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)

    turtle.left(180)

    turtle.penup()

    turtle.fd(20)

    def drawDate(date): #获得要输出的数字

    for i in date:

    drawDigit(eval(i)) #注意: 通过eval()函数将数字变为整数

    def main():

    turtle.setup(800, 350, 200, 200)

    turtle.penup()

    turtle.fd(-300)

    turtle.pensize(5)

    drawDate(datetime.datetime.now().strftime('%Y%m%d'))

    turtle.hideturtle()

    main()

    效果展示:

    20171220143012679.jpg?20171120143022

    示例二:

    #DrawSevenSegDisplay.py

    import turtle, datetime

    def drawGap(): #绘制数码管间隔

    turtle.penup()

    turtle.fd(5)

    def drawLine(draw): #绘制单段数码管

    drawGap()

    turtle.pendown() if draw else turtle.penup()

    turtle.fd(40)

    drawGap()

    turtle.right(90)

    def drawDigit(d): #根据数字绘制七段数码管

    drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)

    drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)

    drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)

    drawLine(True) if d in [0,2,6,8] else drawLine(False)

    turtle.left(90)

    drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)

    drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)

    drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)

    turtle.left(180)

    turtle.penup()

    turtle.fd(20)

    def drawDate(date):

    turtle.pencolor("red")

    for i in date:

    if i == '-':

    turtle.write('年',font=("Arial", 18, "normal"))

    turtle.pencolor("green")

    turtle.fd(40)

    elif i == '=':

    turtle.write('月',font=("Arial", 18, "normal"))

    turtle.pencolor("blue")

    turtle.fd(40)

    elif i == '+':

    turtle.write('日',font=("Arial", 18, "normal"))

    else:

    drawDigit(eval(i))

    def main():

    turtle.setup(800, 350, 200, 200)

    turtle.penup()

    turtle.fd(-350)

    turtle.pensize(5)

    drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))

    turtle.hideturtle()

    main()

    效果展示:

    20171220143242065.jpg?20171120143253

    总结

    以上就是本文关于Python绘制七段数码管实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

    本文标题: Python绘制七段数码管实例代码

    本文地址: http://www.cppcns.com/jiaoben/python/215261.html

    展开全文
  • 数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point)。它价格便宜、使用简单,通过对其不同的管脚输入相对...

    数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point)。它价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。

    本案例使用turtle库实现,首先了解下turtle的使用方法

    turtle的空间体系

    1,绝对坐标体系,中心是(0,0)就是我们初中就开始学的绝对坐标体系

    2,相对坐标体系,turtle是海龟,头部朝向左侧为正,右侧朝向为负的一个体系

    turtle的颜色控制体系

    1,可以用一些默认的颜色来控制

    2,可以用最大值255或者最大值为1来控制,切换方式为turtle.colormode(255)或者turtle.colormode(1)来控制

    turtle的运动控制函数

    1,turtle.fd(d)走直线,行进距离是d

    2,turtle.circle(r,angle) 绘制一个图形,r是半径,angle是弧形的角度,如果r是正数,则表示圆心在tutle的左侧,如果r是负数,则表示圆心在turtle的右侧

    3,turtle.speed(x) x的取值从0到10,越大速度越快

    4,turtle.goto(x,y)可以把画笔直接移动到绝对坐标体系的某一个点

    turtle的运动方向控制函数

    1,seth(angle) 将turtle当前的方向设置为绝对坐标下的angle角度

    2,left(angle) 将turtle朝向设置为海龟当前朝向左侧的angle

    2,right(angle) 将turtle朝向设置为海龟当前朝向右侧的angle

    turtle的流程控制

    1,turtle画笔默认首先在中心的位置。并且画笔是放下状态

    2,turtle.penup() 抬起画笔

    3,turtle.pendown() 放下画笔

    4,turtle.pensize() 设置画笔的粗细

    5,turtle.pencolor() 设置画笔的颜色

    6,turtle.done()表示状态,运行完之后不会退出,需要手动退出,如果不加入的话,turtle画布会自动退出

    7,turtle.write(c,font=(“Arial”,18,”normal”))来写文字c,包括汉字

    8,turtle.hideturtle()函数可以隐藏turtle的的画笔

    代码实现

    import turtle,time

    def drawGap():

    turtle.penup()

    turtle.fd(5)

    def drawLine(draw):

    drawGap()

    turtle.pendown() if draw else turtle.penup()

    turtle.fd(40)

    drawGap()

    turtle.right(90)

    def drawDigit(digit):

    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,6,8] else drawLine(False)

    turtle.left(90)

    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)

    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)

    turtle.left(180)

    turtle.penup()

    turtle.fd(20)

    def drawDate(date):

    turtle.pencolor('red')

    for i in date:

    if i == '-':

    turtle.write('年',font=('Arial',18,'normal'))

    turtle.pencolor('green')

    turtle.fd(40)

    elif i == '=':

    turtle.write('月',font=('Arial',18,'normal'))

    turtle.pencolor('blue')

    turtle.fd(40)

    elif i == '+':

    turtle.write('日',font=('Arial',18,'normal'))

    else:

    drawDigit(eval(i))

    def main():

    turtle.setup(800,350,200,200)

    turtle.speed(10) # 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

    turtle.pensize(5)

    turtle.penup()

    turtle.fd(-300)

    drawDate(time.strftime('%Y-%m=%d+', time.gmtime()))

    turtle.hideturtle() # 隐藏画笔的turtle形状

    turtle.done()

    if __name__ == '__main__':

    main()

    效果图

    ae9737250465

    七段数码管

    参考:中国大学MOOC网 《Python语言程序设计》

    展开全文
  • 七段数码管及其驱动原理,七段数码管及其驱动原理,七段数码管及其驱动原理,
  • 8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转。这是看Mooc视频写的一个关于用七段数码管显示当前时间# -*-coding:utf-8 -*-import turtle as timport timedef drawGap():t.penup...
  • 七段数码管Verilog文件

    2021-03-20 09:43:07
    七段数码管Verilog文件,可以直接使用
  • 七段数码管绘制

    2019-02-16 13:02:36
    基于python平台利用现有的turtle库实现七段数码管的绘制
  • 七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置 绘制模式: input:输入当前日期的数字形式 process:根据每个数字绘制七段数码管表示...
  • 用 74154N 译码器驱动七段数码管,实现七段数码管数字 0 到 9 的显示。
  • 七段数码管显示日期.py
  • 七段数码管数字钟

    2018-12-07 14:58:46
    选用8253的计数器2进行100ms的定时,其输出 OUT2与8259的IRQ7相连,当定时到100 ms时产生一个中断...8255的A口接七段数码管的位选信号,B口接数码管的段选信号,时、分的数值通过对8255的编程可送到七段数码管上显示。
  • 七段数码管PCB封装库

    2019-06-02 14:03:29
    设计软件:Altium Designer 10 七段数码管PCB封装库
  • 【初学python】实例七:七段数码管绘制

    万次阅读 多人点赞 2019-01-22 13:22:21
    七段数码管:...我们既然想绘制以上8个七段数码管,那么我们就要先绘制一个七段数码管,想要绘制一个七段数码管,就要先绘制一条线(一个七段数码管是有七条线组成的),像这样我们把一...
  • 根据mooc上的七段数码管绘制及摸索绘制出动态可刷新版七段数码管,小白之举,仅供参考,只放代码,不做赘述,有问题可以评论区探讨。
  • 七段数码管实例

    2020-03-27 16:11:48
    实列七段数码管基本思路代码实例代码优化举一反三方法思维 七段数码管 基本思路 步骤1绘制单个数字对应的数码管 步骤2获得一串数字,绘制对应的数码管 步骤3获得当前系统时间,绘制对应的数码管 代码实例 import ...
  • 七段数码管分为共阳极及共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的...
  • 七段数码管的绘制

    2020-06-30 19:00:16
    七段数码管的绘制 # 七段数码管绘制实例 import turtle as tu def drawLine(draw): #绘制单段数码管 tu.pendown() if draw else tu.penup() tu.fd(40) tu.right(90) def drawDight(dight): #根据数字绘制七段...
  • 七段数码管software

    2013-04-15 12:22:41
    七段数码管的software程序,运行可通过!
  • 数字118的七段数码管怎么打,不用日期形式绘制七段数码管,利用python的形式来运行</p>
  • 一种类似七段数码管的电显字体

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,466
精华内容 586
关键字:

七段数码管