利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减 直至765398并保持此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动 ,当数码管上数减到停止时,实验板上流水灯出停止然后全部开始闪烁,3秒后(用 T0定时)流水灯全部关闭,数码管上显示出“HELLO”,到此保持住
#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”,到此保持住的更多相关文章
- nexys4ddr数码管动态扫描Verilog例程
题目:实现数码管动态扫描功能,将十六个开关的值以十六进制的方式在4个数码管上同时显示出来. `timescale 1ns / 1ps module top( clk, sw, seg, an ); / ...
- 利用动态图层实现数据的实时显示(arcEngine IDynamiclayer)
marine 原文利用动态图层实现数据的实时显示(arcEngine IDynamiclayer) 说明:最近一个项目用到这方面知识,文章主要来至网络,后期会加入自己的开发心得.(以下的代码实例中,地 ...
- 为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)
在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAcce ...
- [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面
原文:[ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面 随着最终用户对用户体验需求的不断提高,实际上我们很多情况下已经在按照桌面应用的标准来设计Web应用,甚至很多Web页面本身就 ...
- 20145335郝昊《网络攻防》Exp 4 利用nmap扫描
20145335郝昊<网络攻防>Exp 4 利用nmap扫描 实验原理 使用msf辅助模块,nmap来扫描发现局域网中的主机ip 实验步骤 首先使用命令创建一个msf所需的数据库 serv ...
- C++利用动态数组实现顺序表(不限数据类型)
通过类模板实现顺序表时,若进行比较和遍历操作,模板元素可以通过STL中的equal_to仿函数实现,或者通过回调函数实现.若进行复制操作,可以采用STL的算法函数,也可以通过操作地址实现.关于回调函数 ...
- 利用AWVS扫描Web漏洞
实验目的 利用AWVS扫描Web漏洞. 实验原理 AWVS是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞. 实验内容 AWVS是一个自动化的web应用程序安全测试工具, ...
- c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)
c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...
- 关于利用动态代理手写数据库连接池的异常 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 ...
随机推荐
- maven生命周期和依赖的范围
转载:http://blog.csdn.net/J080624/article/details/54692444 什么是依赖? 当 A.jar 包用到了 B.jar 包时,A就对B产生了依赖: 在项目 ...
- 全文搜索引擎 Elasticsearch 安装
全文搜索引擎 Elasticsearch 安装 学习了:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html 拼音:https://www ...
- Hdfs的ACL測试
Hadoop从2.4.0版本号開始支持hdfs的ACL,在CDH5.0其中也集成了该特性,以下对其进行一些測试: unnamed user (file owner) 文件的拥有者 unnamed gr ...
- YII获取当前URL
<?php //当前域名 echoYii::app()->request->hostInfo; //除域名外的URL echoYii::app()->request ...
- Selenium系列之--02 不同浏览器获取Xpath的方法
一.Chrome浏览器 1.1 获取XPath 1. 使用浏览器打开需测试的网址,然后点击[F12]按钮,打开开发者调试工具: 2. 点击开发者工具中第一行的第一个对话框Elements,这时就看 ...
- Hibernate基础-HelloWord
1. ORM :ORM (Object /Relation Mapping ): 对象/关系映射(理解) 1) ORM 主要解决对象 -关系的映射 2) .ORM的思想:将关系数据 ...
- 如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招
漏洞概述 近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器.被感染的主机出现 crontab 任务异常.系统文件被删除.CPU ...
- web编程非常实用的在线工具大全
目前,不管是前端开发人员还是个人站长,经常需要一些代码处理类的工具,比如:代码对比.代码格式化.图标制作等.有时就是一时急用可电脑上又没有安装相关的软件,这里为大家收集了一些我们经常会用到的在线工具. ...
- Axure使用笔记
软件设置类 两个矩形的双边框,边框重合: 项目---项目设置---边界对齐---内边界对齐. 自动备份时间设置 文件-自动备份设置-默认15分钟,根据电脑硬件可以调整. Axure 8 可以不用安装 ...
- 【iOS9系列】-3DTouch开发
[iOS9系列]-3DTouch开发 第一:简介 3DTouch 是iOS9系统系统下,在iPhone6s(iPhone6s Plus)手机上才能够使用的功能.熟练使用后,发现还是很便捷的. 但是模拟 ...