51单片机练习(04)

news2024/11/18 11:33:12

eg1:使用定时器的方式实现单片机流水灯

#include <REGX52.H>
#include <INTRINS.H>
#define uchar unsigned char
#define uint unsigned int
uchar temp,t0;

// 初始化函数
void init(){
  temp = 0xfe;
	//第一个发光二级管点亮
	P1 = temp;
	// 初始化定时器
	TMOD = 0x11;
	TH0 = (65536-50000)/256;
	TL0 = (65536-50000)%256;
	EA = 1;
	ET0 = 1;
	// 启动定时器
	TR0 = 1;
}
// 定时器中断函数
void timer0() interrupt 1 {
    	TH0 = (65536-50000)/256;
			TL0 = (65536-50000)%256;
	    t0 ++;
	    if(t0 == 10){
			   t0 = 1;
				 temp = _crol_(temp,1);
				 P1 = temp;
			}
}

void main(){
	  // 初始化函数调用
    init();
   	while(1){
		  

		}

}

代码的截图如下所示
在这里插入图片描述单片机课后作业数码管和流水灯显示

#include <REGX52.H>
#include <INTRINS.H>
#define uchar unsigned char
#define uint unsigned int
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
sbit dula  = P2^6;
sbit wela  = P2^7;	
uchar code table[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x36,0x76,0x38,0x3f,0};

// 初始化函数
void init(){
	shu = 432;
  temp = 0xfe;
	//第一个发光二级管点亮
	P1 = temp;
	// 初始化定时器
	TMOD = 0x11;
	TH0 = (65536-50000)/256;
	TL0 = (65536-50000)%256;
	// 初始化定时器1
	TH1 = (65536-50000)/256;
	TL1 = (65536-50000)%256;
	EA = 1;
	ET0 = 1;
	// 打开定时器1
	ET1 = 1;
	// 启动定时器
	TR1 = 1;
	TR0 = 1;
}
// 定时器中断函数
void timer0() interrupt 1 {
    	TH0 = (65536-50000)/256;
			TL0 = (65536-50000)%256;
	    t0 ++;
	    if(flag != 1){
			  if(t0 == 10){
			     t0 = 1;
			  	 temp = _crol_(temp,1);
				   P1 = temp;
			  }
			  

			}else{
			   if(t0%4 == 0){
				     P1 = ~P1;
				 }
				 if(t0 == 60){
				     TR0 = 0;
					   P1 = 0xff;
					   flag1 = 1;
					   
				 }
			}

}

// 定时器1的中断函数
void timer1() interrupt 3 {
    	TH1 = (65536-50000)/256;
			TL1 = (65536-50000)%256;
	    t1 ++;
	    if(t1 == 2){
				  t1 = 0;
			    shu --;
			    // 将我们的bai shi ge 进行分离
				  bai = shu/100;
				  shi = shu%100/10;
				  ge = shu%10;
				  if(shu == 398){
		      			  
  						TR0 = 0;
						  TH0 = (65536-50000)/256;
							TL0= (65536-50000)%256;
						  TR0 = 1;
						  flag = 1;
						  t0 = 0;
						  // 关闭led灯
						  P1 = 0xff;
					    TR1 = 0;
         						

					}
			}   

}
// 延时函数
void delay(uint z){
    uint x,y;
	  for(x = z; x > 0; x --){
		   for(y = 110; y > 0; y--){
			     


        }
     }

}

// 显示子程序
void display(uchar aa , uchar bb , uchar cc ,uchar bai,uchar shi,uchar ge)
{
       

	     dula = 1;
		   P0 = table[aa];
			 dula = 0;
			 wela = 1;
			 P0 = 0xfe;
			 wela = 0;
			 delay(5);
			
			 dula = 1;
		   P0 = table[bb];
			 dula = 0;
			 wela = 1;
			 P0 = 0xfd;
			 wela = 0;
			 delay(5);
			
			 dula = 1;
		   P0 = table[cc];
			 dula = 0;
			 wela = 1;
			 P0 = 0xfb;
			 wela = 0;
			 delay(5);
	    
	     // -------------||-----------------||----------------||---------------||-------------||---------------------||--------------
	
	     dula = 1;
		   P0 = table[bai];
			 dula = 0;


			 wela = 1;
			 P0 = 0xf7;
			 wela = 0;
			 delay(5);
			
			 dula = 1;
		   P0 = table[shi];
			 dula = 0;
			
			 wela = 1;
			 P0 = 0xef;
			 wela = 0;
			 delay(5);
			
			 dula = 1;
		   P0 = table[ge];
			 dula = 0;
			
			 wela = 1;
			 P0 = 0xdf;
			 wela = 0;
			 delay(5);

}



void main(){
	  // 初始化函数调用
    init();
   	while(1){
			   // 调用函数并赋值形参
			   if(flag != 1){
				      display(7,6,5,bai,shi,ge);
				 }else{
				      display(16,17,18,18,19,20);
				 }
		   

		}

}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1120979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络协议--IP选路

9.1 引言 选路是IP最重要的功能之一。图9-1是IP层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生&#xff0c;也可以由其他主机产生。在后一种情况下&#xff0c;主机必须配置成一个路由器&#xff0c;否则通过网络接口接收到的数据报&#xff0c;如果目的地址不…

游戏盾如何有效防护DDoS

从进入计算机时代以来&#xff0c;DDoS攻击一直是网络世界中的一大威胁&#xff0c;让无数服务陷入瘫痪。这种攻击的原理非常简单&#xff1a;攻击者使用大量的僵尸主机或蠕虫病毒&#xff0c;向目标服务器发送海量请求&#xff0c;迅速耗尽服务器的资源&#xff0c;使其无法继…

ATF安全漏洞挖掘之FUZZ测试

安全之安全(security)博客目录导读 ATF(TF-A)/OPTEE之FUZZ安全漏洞挖掘汇总 目录 一、tf-a-tests简介 二、TF-A SMC_FUZZING 一、tf-a-tests简介 tf-a-tests.git - Trusted Firmware-A Tests 版本下载 tf-a-tests.git - Trusted Firmware-A Tests 文档描述 Getting Star…

大二第三周总结(算法+生活)

算法&#xff1a; 题目&#xff1a;有效的括号 这个题目也是做过很多回了。主要就是数据结构中”栈“的应用&#xff0c;先进后出。 解题思路&#xff1a; 1.创建 Map 哈希表形成键值对映射 2.进行遍历字符串 在遍历过程中 如果 遍历到的字符c 是左括号&#xff0c;则入栈 pu…

【2024秋招】2023-8-5-小红书-数据引擎团队后端开发提前批面经

1 面试官介绍 OLAP引擎&#xff0c;离线引擎&#xff0c;大数据分析中间件 2 自我介绍 缺点&#xff1a; &#xff08;1&#xff09;面试官让重点介绍自己最在行的项目&#xff0c;我真的在自我介绍上扯了一些别的东西… &#xff08;2&#xff09;在面试的时候因为想看简…

学习笔记---0基础+干货满满的单链表专题~~

目录​​​​​​​ 1. 链表的概念及结构&#x1f451; 1.1 什么是链表&#xff1f;&#x1f440; 1.2 为什么需要链表&#xff1f;⁉️ 1.3 链表的结构是怎么样的&#xff1f;❓ 2. 链表的分类&#x1f99c; 3. 实现单链表&#x1faf5; 3.1 要实现的目标&#x1f3af;…

Ubuntu更新镜像源切换

概述 用ubuntu用apt命令&#xff0c;自动安装或更新包的时候&#xff0c;默认的镜像源服务器非常卡&#xff0c;很不方便。切换到国内的镜像源&#xff0c;下载更新非常快。为防止以后忘记&#xff0c;本文以国内服务器阿里巴巴的为例简单描述。 版本 Ubuntu23.10 找到更新…

使用 类加载器 或者 类对象 读取文件(参考的路径都是编译以后的文件夹,out 或者 target 文件夹 )

以下内容 本人都是 用 Maven 工程总结的 &#xff0c;所以会和普通项目的项目目录不太一样。相对路径&#xff1a;项目 的 根目录 开始查找。&#xff08; 但是在我们真正开发的时候&#xff0c;我们读到的更多的文件并不是直接放在我们项目里面这个文件夹里面&#xff0c;而是…

OpenAI 现已开始考虑自研 AI 芯片战略

根据 TechCrunch 的报道&#xff0c;随着 AI 芯片短缺的问题日益严重&#xff0c;OpenAI 现已开始考虑自研 AI 芯片。 据悉&#xff0c;从去年开始 OpenAI 内部就已经开始讨论 AI 芯片战略&#xff0c;以解决其 AI 芯片短缺的问题。这些方案包括自研 AI 芯片、与英伟达等芯片制…

用节点亲和性把 Pod 分配到节点

用节点亲和性把 Pod 分配到节点 当前集群信息&#xff1a; rootk8s-master:~# kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s…

宝塔部署code-server

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家来访。 code-server其实就是vscode网页版&#xff0c;可以实现随时随地编程。那么本教程是将源码的二进…

理解电路:从电报机到门电路,我们如何做到“千里传信”?

目录 背景 从信使到电报&#xff0c;我们怎么做到“千里传书”&#xff1f; 理解继电器&#xff0c;给跑不动的信号续一秒 小结 背景 所有最终执行的程序其实都是使用“0”和“1”这样的二进制代码来表示的。我们知道&#xff0c;对应的整数和字符串&#xff0c;其实也是用…

2023 年和 2024 年 10 个最佳加密货币趋势

1.熊市低迷 加密货币市场已进入持续数月的长期看跌阶段。尽管 2023 年初出现了一些看涨走势&#xff0c;但大多数领先的加密货币随后都出现了看跌低迷&#xff0c;导致其市值大幅下跌。 此外&#xff0c;持续的熊市可归因于一系列因素&#xff0c;包括宏观经济不确定性、利率…

复杂系统设计基本注意事项

目录 一、软件复杂性度量方法 &#xff08;一&#xff09;McCabe度量方法 &#xff08;二&#xff09;John Ousterhout度量方法 &#xff08;三&#xff09;一般建议 二、复杂性带来的危害 &#xff08;一&#xff09;修改扩散&#xff08;Modification Diffusion&#x…

力扣每日一题54:螺旋矩阵

题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#…

电路电子技术4 等效电阻的计算实际电源等效变换

1.等效电阻的计算 思路&#xff1a;清楚电路结构即可。可以看到&#xff08;R1//R2&#xff09;&#xff08;R3//R4&#xff09;。 这样即可得到答案C。 2.电流源等效电压源 实际电压源等效为实际电流源时&#xff0c;电流源的电激流应等于电压源的源电源除以电压源的内阻。 实…

django基于Python的房价预测系统+爬虫+大屏可视化分析

欢迎大家点赞、收藏、关注、评论 文章目录 前言一、项目介绍二、开发环境三、功能需求分析1 数据采集功能设计2数据管理功能设计3爬虫功能需求分析4 数据可视化功能需求分析数据库表的设计 四、核心代码五、效果图六、文章目录 前言 房价是一个国家经济水平的重要体现&#xff…

JS加密/解密之闭包的运用

深入探讨JavaScript闭包的演变与应用 摘要&#xff1a; 本文将深入探讨JavaScript闭包的概念、特性以及其在实际开发中的应用。我们将从闭包的起源开始&#xff0c;探讨它在JavaScript编程中的重要性&#xff0c;并通过实例展示闭包在不同场景下的灵活应用。 引言 JavaScrip…

2005.6-2018.6月中国企业OFDI微观数据

2005.6-2018.6月中国企业OFDI微观数据 1、时间&#xff1a;2005.6-2018.6 2、范围&#xff1a;公司 3、指标&#xff1a;Year、Month、Chinese Entity、 Quantity in Millions 、Share size、Transaction Party、Sector、Subsector、Country、Region、BRI 4、数据解释&…

矩阵的转置c++

大家好&#xff0c;我叫徐锦桐&#xff0c;个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识&#xff0c;还有日常折腾的经验&#xff0c;欢迎大家来访。 介绍 由下面的图片可以看出&#xff0c;从左上角到右上角的那条斜线是分界线&#xff08;这条…