动态数码管循环显示设计(HUBU电信)

实验任务(两个实验):

1.单只数码管循环显示0-9;

2.8只数码管滚动显示单个数字。

第一题实验电路如下:

此题我写的代码比较笨,同学们可以进行TAB列表操作进行修改,详见下方C语言

本文档仅供学习参考之用,作业请勿抄袭

第一题 汇编代码:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

MOVTMOD,#01H

MOV TL0,#10H

MOVTH0,#00H

SETB TR0

MOV R0,#0FEH

MOV A ,R0

LOOP0: JBCTF0,PTF0 ; 既使用了查询方式计时,也使用了子程序计时 SJMP LOOP0

PTF0: MOV A,#3fH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP1: JBCTF0,PTF1; 循环9次,最后进行一个大循环

SJMP LOOP1

PTF1: MOV A,#06H

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#10H

MOV TH0,#000H

LOOP2: JBC

TF0,PTF2

SJMP LOOP2

PTF2: MOV A,#5bH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP3: JBCTF0,PTF3

SJMP LOOP3PTF3:

MOV A,#4fH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP4: JBCTF0,PTF4

SJMP LOOP4PTF4:

MOV A,#66H

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP5: JBCTF0,PTF5

SJMP LOOP5

PTF5: MOV A,#6dH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP6: JBCTF0,PTF6

SJMP LOOP6

PTF6: MOV A,#7dH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP7: JBCTF0,PTF7

SJMP LOOP7

PTF7: MOV A,#07H

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP8: JBCTF0,PTF8

SJMP LOOP8

PTF8: MOV A,#7fH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

LOOP9: JBCTF0,PTF9

SJMP LOOP9

PTF9: MOV A,#6fH

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOVTL0,#10H

MOV TH0,#000H

AJMP LOOP0

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

第一题c语言代码:

#include"reg51.h"

void delay (void) {

TMOD=0x01;

TR0=1;

TH0=(65536)/256; //查询方式计时

TL0=(65536)%256;

while (! TF0)

{}

TF0=0;

}

void main(){

int i=0;

int table [10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义数码表while(1){

for(i=0;i<10;i++){

P0 = table[i];

delay();

delay(); //使用延时程序delay();

}

}

}

第二题电路图:

第二题 汇编代码:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV TMOD,#01H

MOV TL0,#00H

MOV TH0,#00H

SETB TR0

MOV R0,#0FEH

MOV A ,R0

LOOP0: JBC TF0,PTF0; 既使用了查询方式计时,也使用了子程序计时

SJMP LOOP0

PTF0: MOV A,#0c0H

MOV p0,A

MOV p2,#01H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP1: JBC TF0,PTF1; 循环9次,最后进行一个大循环 SJMP LOOP1

PTF1: MOV A,#0f9H

MOV p0,A

MOV p2,#02H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP2: JBC TF0,PTF2

SJMP LOOP2

PTF2: MOV A,#0a4H

MOV p0,A

MOV p2,#04H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP3: JBC TF0,PTF3

SJMP LOOP3

PTF3: MOV A,#0b0H

MOV p2,#08H

MOV p0,A

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP4: JBC TF0,PTF4

SJMP LOOP4

PTF4: MOV A,#99H

MOV p0,A

MOV p2,#10H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP5: JBC TF0,PTF5

SJMP LOOP5

PTF5: MOV A,#92H

MOV p0,A

MOV p2,#20H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP6: JBC TF0,PTF6

SJMP LOOP6

PTF6: MOV A,#82H

MOV p0,A

MOV p2,#40H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP7: JBC TF0,PTF7

SJMP LOOP7

PTF7: MOV A,#0f8H

MOV p0,A

MOV p2,#80H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP8: JBC TF0,PTF8

SJMP LOOP8

PTF8: MOV A,#80H

MOV p0,A

MOV p2,#01H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

LOOP9: JBC TF0,PTF9

SJMP LOOP9

PTF9: MOV A,#90H

MOV p0,A

MOV p2,#02H

ACALL DELAY

ACALL DELAY

ACALL DELAY

MOV TL0,#00H

MOV TH0,#00H

AJMP LOOP0

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

第二题C语言代码:

#includevoid delay (void) {

TMOD=0x01;

TR0=1;

TH0=(65536)/256;

TL0=(65536)%256; //查询方式计时

while (! TF0)

{}

TF0=0;

}

void main(){

int i=0;

int j=0x80;

int table [10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义数码表

int weima[10] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //定义位码表

while(1){

for(i=0;i<10;i++){

P0 = table[i];

P2 = weima[i];

delay();

delay();

delay(); //延时程序调用,多次调用则会增长延时时间

delay();

delay();

}

}

}

实验结果:

第一题实验结果:

第二题实验结果:

数码管动态显示c语言,动态数码管循环显示设计C语言及汇编代码(HUBU)相关推荐

  1. c语言可视化学生管理系统,课程的设计C语言可视化程序学生成绩管理系统.doc

    课程的设计C语言可视化程序学生成绩管理系统 C语言可视化程序 设计报告 行政班级 机械0805 姓名 魏永涛 学号 0806080524 指导老师 夏建芳 课题名称 学生成绩管理系统 C可视化程序设计 ...

  2. 51单片机数码管循环显示0 9c语言,如何采用单片机实现数码管循环显示0-9

    描述 8个数码管滚动显示同一个数字 8个数码管显示多个不同的字符 8个数码管闪烁显示 8个数码管滚动显示数字串 #include __CONFIG(0x3B31); unsigned char tab ...

  3. C语言动态宽字符串,【分享】C语言动态长度字符串

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 很多朋友都用惯了高级语言的字符串变量,就是定义一个字符串变量,直接可以赋值,但在C语言里没有字符串变量这样的概念,只有字符数组,因此,只能定义一个固定数组 ...

  4. C语言中如何用循环编译菱形,c语言for循环如何打印菱形

    c语言for循环如何打印菱形 c语言for循环打印菱形的方法:使用两个for循环,实现条件判断,代码为[int i,j;for(i=0; i<2*n-1; i++){if(i=n-i-1& ...

  5. c语言第五章循环结构答案,C语言循环结构练习题带答案

    <C语言循环结构练习题带答案>由会员分享,可在线阅读,更多相关<C语言循环结构练习题带答案(8页珍藏版)>请在人人文库网上搜索. 1.第5章循环结构程序设计练习题1.单项选择题 ...

  6. 16x16点阵汉字c语言,16x16led点阵滚动汉字显示设计。

    下面给大家介绍下我制作的16*16led点阵设计,希望与各位电子爱好者共同讨论,共同进步. 下图是电路图连接图 下面是74HC154 4线-16线译码器引脚说明,以及地址/全能输入对应的输出表. 滚动 ...

  7. 凸轮设计c语言程序,凸轮理论轮廓曲线设计c语言程序.doc

    /************习题4-1凸轮轮廓曲线绘制程序**********/ #include #include #define PI 3.1415926 void main() { double ...

  8. C语言编写程序输出循环字母,用C语言编写一个程序,从键盘上输入一个小写字母,将其本身及对应的大写字母输出....

    程序如下: #include int main() { char ch; scanf("%c",&ch); printf("%c",ch-'a'+'A' ...

  9. 数据结构c语言版课设,数据结构课程设计c语言版

    代码片段和文件信息 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define NULL 0 #define INFEASI ...

最新文章

  1. 正则表达式 (re包)——python(快餐)
  2. 部门日报系统部署备忘录
  3. Windows Server 2012 +WDK7600.16385.1+VS2008驱动开发环境搭建
  4. 【译】你不知道的Chrome调试工具技巧 第六天:command 菜单
  5. Linux---如何创建文本文件
  6. MW313R和FWR310路由器桥接
  7. base64和base32的区分方法
  8. 计算机笔记Excel,秦路天善智能EXCEL学习笔记1-文本清洗函数
  9. 如何免费破解安装正版Adobe Photoshop CC2017
  10. 《社交app攻击风险应对策略》
  11. Windows漏洞修复服务器,三种Windows服务器SSL/TLS的安全漏洞以及其补救方法
  12. OF-Link物联网云平台简介
  13. 用算法撩妹都不会,别跟我说你是程序员
  14. 5g网络测试用什么软件,5G 来袭 — 推荐几款好用到爆的测试APP!
  15. php 的安装目录在哪,怎样查看PHP的安装目录和详细信息
  16. ibm v5000增加磁盘_IBM storwize V5000存储基础配置
  17. rebar3使用本地依赖
  18. cloudcompare软件使用总结
  19. 单相半波可控整流电路 Single Phase Half Wave Controlled Rectifier
  20. 文件服务器跨vlan之间访问,[转载]实现不同的VLAN访问同一个服务器

热门文章

  1. 大数据前景如何,G20告诉你答案
  2. Windows Server 2012 配置指南 之 系统语言汉化篇
  3. 创建Supermarket数据库并查询商品信息
  4. 基于Proteus的四位数码管显示
  5. 天猫,淘宝,京东平台的商品能否一键导入到有赞店铺?
  6. 让生气的顾客开心的 10 种方法
  7. python 阶乘计算器
  8. 读书类知识付费产品简单介绍
  9. ld 新解Hello world
  10. 南大计算机陈教授,个人简介