#include <reg52.h>
#include <intrins.h> #define uchar unsigned char
#define uint unsigned int /**tatle_du数组数据为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,H,L**/
uchar code tatle_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
0x76,0x79,0x38,}; uchar code tatle_we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; sbit dula=P2^;
sbit wela=P2^; uchar tt,t0,numwe,numdu,temp,bai,shi,ge,flag,flag1;
uint shu; void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge);
void delay(uchar z);
void inter_init(); void main()
{
inter_init();
while()
{
if(flag1 != )
{
display(,,,bai,shi,ge);
}
else
{
display(,,,,,);
}
} } /*定时器0流水灯与闪烁*/
void inter0() interrupt
{
TH0=(-)/;
TL0=(-)%;
tt++;
/*如果减数不到398,流水灯与减数同时运行,如果到了398开启闪烁*/
if(flag != )
{
/*流水灯*/
if(tt==)
{
tt=;
delay();
temp=_crol_(temp,);
P1=temp;
}
}
else
{
/*使灯闪烁4秒*/
if(tt%==)
{
P1=~P1;
}
if(tt==)
{
TR0=;
P1=0xff;
flag1=;
}
}
}
/*定时器1数码管显示*/
void inter1() interrupt
{
TH1=(-)/;
TL1=(-)%;
t0++; if(t0==)
{
t0=;
shu--;
bai=shu/;
shi=shu%/;
ge=shu%;
if(shu==)
{
TR0=; //关闭定时器0,关闭流水灯
P1=0xff;
TH0=(-)/;
TL0=(-)%;
tt=;
TR0=; //开启定时器0,并填充数据。使灯闪烁
flag=;
TR1=; //关闭定时器1保持数据显示
}
}
} void delay(uchar z)
{
uchar x,y;
for(x=z;x>;x--)
{
for(y=;y>;y--);
}
} void inter_init()
{
tt=;
t0=;
flag=;
flag1=;
shu=;
temp=0xfe;
P1=temp;
TMOD=0x11;
TH0=(-)/;
TL0=(-)%;
TH1=(-)/;
TL1=(-)%;
EA=;
ET0=;
ET1=;
TR0=;
TR1=;
} void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge)
{
dula=;
P0=tatle_du[aa];
dula=;
P0=0xff;
wela=;
P0=0xfe;
wela=;
delay(); dula=;
P0=tatle_du[bb];
dula=;
P0=0xff;
wela=;
P0=0xfd;
wela=;
delay(); dula=;
P0=tatle_du[cc];
dula=;
P0=0xff;
wela=;
P0=0xfb;
wela=;
delay(); dula=;
P0=tatle_du[bai];
dula=;
P0=0xff;
wela=;
P0=0xf7;
wela=;
delay(); dula=;
P0=tatle_du[shi];
dula=;
P0=0xff;
wela=;
P0=0xef;
wela=;
delay(); dula=;
P0=tatle_du[ge];
dula=;
P0=0xff;
wela=;
P0=0xdf;
wela=;
delay();
}
  

利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减 直至765398并保持此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动 ,当数码管上数减到停止时,实验板上流水灯出停止然后全部开始闪烁,3秒后(用 T0定时)流水灯全部关闭,数码管上显示出“HELLO”,到此保持住的更多相关文章

  1. nexys4ddr数码管动态扫描Verilog例程

    题目:实现数码管动态扫描功能,将十六个开关的值以十六进制的方式在4个数码管上同时显示出来. `timescale 1ns / 1ps module top( clk, sw, seg, an ); / ...

  2. 利用动态图层实现数据的实时显示(arcEngine IDynamiclayer)

    marine 原文利用动态图层实现数据的实时显示(arcEngine IDynamiclayer) 说明:最近一个项目用到这方面知识,文章主要来至网络,后期会加入自己的开发心得.(以下的代码实例中,地 ...

  3. 为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

    在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAcce ...

  4. [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面

    原文:[ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面 随着最终用户对用户体验需求的不断提高,实际上我们很多情况下已经在按照桌面应用的标准来设计Web应用,甚至很多Web页面本身就 ...

  5. 20145335郝昊《网络攻防》Exp 4 利用nmap扫描

    20145335郝昊<网络攻防>Exp 4 利用nmap扫描 实验原理 使用msf辅助模块,nmap来扫描发现局域网中的主机ip 实验步骤 首先使用命令创建一个msf所需的数据库 serv ...

  6. C++利用动态数组实现顺序表(不限数据类型)

    通过类模板实现顺序表时,若进行比较和遍历操作,模板元素可以通过STL中的equal_to仿函数实现,或者通过回调函数实现.若进行复制操作,可以采用STL的算法函数,也可以通过操作地址实现.关于回调函数 ...

  7. 利用AWVS扫描Web漏洞

    实验目的 利用AWVS扫描Web漏洞. 实验原理 AWVS是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞. 实验内容 AWVS是一个自动化的web应用程序安全测试工具, ...

  8. c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)

    c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...

  9. 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection

    代码如下: final Connection conn=pool.remove(0); //利用动态代理改造close方法 Connection proxy= (Connection) Proxy.n ...

随机推荐

  1. ultraiso:usb-hdd+ v2

    http://cn.ezbsystems.com/ultraiso/download.htm 普通隐藏:建立一个LBA前置的PBR包含表头的活动分区.高端隐藏:建立一个LBA后置的PBR包含表头的活动 ...

  2. Java 等额本金等额本息工具类

    原文:http://www.open-open.com/code/view/1449034309983 等额本息: /** * Description:等额本息工具类 * Copyright: Cop ...

  3. 【APUE】【转】守护进程编写

    http://blog.csdn.net/zg_hover/article/details/2553321 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务 ...

  4. 【python】SHA1 算法

    http://blog.163.com/sh_wenfen/blog/static/99708242007231103936938/

  5. topcoder srm 553

    div1 250pt: 题意:... 解法:先假设空出来的位置是0,然后模拟一次看看是不是满足,如果不行的话,我们只需要关心最后栈顶的元素取值是不是受空白处的影响,于是还是模拟一下. // BEGIN ...

  6. php 获取TZ时间格式

    php将时间格式化成T Z的方法 gmdate("c") 这个函数的用法,学会了吧!!! <?php var_dump(gmdate("c")); ini ...

  7. 弄技术要弄通-公司reis的pub/sub怎么使用的呢?

    Pub/Sub in Redis using PHP Posted on November 14, 2011by xmeng I would like to put an example togeth ...

  8. 理解Android进程创建流程(转)

    /frameworks/base/core/java/com/android/internal/os/ - ZygoteInit.java - ZygoteConnection.java - Runt ...

  9. C++实现KMP模式匹配算法

    #include<iostream> #include<string> #include<vector> using namespace std; void Nex ...

  10. c语言实现输出一个数的每一位

    比方输入1234.在屏幕上打印出1 2 3 4 代码展示: 方法一: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #includ ...