#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. Meteor集合

    在本教程中,我们将学习如何使用 MongoDB集合. 创建集合 我们可以使用以下代码来创建一个新的集合- meteorApp/client/main.js MyCollection = new Mon ...

  2. 【APUE】进程基础

    进程标识符:非负整数 ID为0的进程通常是是调度进程,常被称为交换进程.该进程是内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程 ID为1的进程是init进程,在自举过程结束时由内核调用 ...

  3. 【计算机视觉】SIFT中LoG和DoG比較

    在实际计算时,三种方法计算的金字塔组数noctaves,尺度空间坐标σ,以及每组金字塔内的层数S是一样的.同一时候,如果图像为640*480的标准图像. 金字塔层数: 当中o_min = 0,对于分辨 ...

  4. C项目实践之通讯录管理案例

    1.功能需求分析 通讯录管理案例主要实现对联系人的信息进行添加.显示.查找.删除.更新和保存功能.主要功能需求描述如下: (1)系统主控平台: 充许用户选择想要进行的操作,包括添加联系人信息,显示.查 ...

  5. Source code for redis.connection

    redis.connection — redis-py 2.10.5 documentation http://redis-py.readthedocs.io/en/latest/_modules/r ...

  6. 滑动窗体的最大值(STL的应用+剑指offer)

    滑动窗体的最大值 參与人数:767时间限制:1秒空间限制:32768K 通过比例:21.61% 最佳记录:0 ms|8552K(来自 ) 题目描写叙述 给定一个数组和滑动窗体的大小.找出全部滑动窗体里 ...

  7. bzoj1486【HNOI2009】最小圈

    1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1778  Solved: 827 [Submit][Statu ...

  8. HDU 5056 Boring count(不超过k个字符的子串个数)

    Boring count Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  9. Chapter 20: Diagnostics

    WHAT'S IN THIS CHAPTER?n Code contractsn Tracingn Event loggingn Performance monitoringWROX.COM CODE ...

  10. eclipse自动创建项目出错Cannot change version of project facet Dynamic Web Module to 2.3.

    Cannot change version of project facet Dynamic Web Module to 2.3. step1:修改properties step2:修改web.xml ...