#循循渐进学51单片机#定时器与数码管#not.4

1、熟练掌握单片机定时器的原理和应用方法。

1)时钟周期:单片机时序中的最小单位,具体计算的方法就是时钟源分之一。

2)机器周期:我们的单片机完成一个操作的最短时间。

3)定时器:打开定时器“储存寄存器”的值经过一个机器周期自动加一,也就是说,机器周期是一个计数周期。

4)

5)

6)

7)

2,代码实现

#include <REGX52.H>
sbit add0 = P1^0;
sbit add1 = P1^1;
sbit add2 = P1^2;
sbit add3 = P1^3;
sbit ENLED = P1^4;
unsigned int cnt = 1,i ,a = 0,arr = 1;
void main()
{ENLED = 0;add3 = 1;add0 = 0;add1 = 1;add2 = 1;TMOD = 0x01;//开启总开关TH0 = 0xfc;//置高位计值TL0 = 0x00;//置低位开始计值TR0 = 1;//计时器开始计时while(1) 
{if(1 == TF0)//判断是否进制{TF0 = 0;TH0 = 0xfc;TL0 = 0x00;if(100 > cnt){cnt = 0;hans();}}


3、使用定时器来实现延时,完成左右移动的流水灯的程序。

#include <REGX52.H>
sbit add0 = P1^0;
sbit add1 = P1^1;
sbit add2 = P1^2;
sbit add3 = P1^3;
sbit ENLED = P1^4;
unsigned int cnt = 0,arr3,a = 0,arr = 0,arr2 = 0;
void main()
{ENLED = 0;add3 = 1;add0 = 0;add1 = 1;add2 = 1;TMOD = 0x01;TH0 = 0xb8;TL0 = 0x00;TR0 = 1;while(1) 
{if(1 == TF0){TF0 = 0;TH0 = 0xb8;TL0 = 0x00;arr2++;arr++;if(50 == arr2){arr2 = 0;P0 = ~(0x80 >> cnt);cnt++; }if(cnt >= 8){cnt = 0;arr2 = 51;}if(arr == 400){P0 = ~(0x01 << a);a++;arr = 350;}		} if(a >= 8){arr2 = 0;cnt = 0;a = 0;arr = 0;}}}	


4、了解数码管的原理,掌握数码管的真值表的计算方法。


5、编程实现数码管静态显示秒表的倒计时。

#include <REGX52.H>
sbit add0 = P1^0;
sbit add1 = P1^1;
sbit add2 = P1^2;
sbit add3 = P1^3;
sbit ENLED = P1^4;
unsigned char code LedChar[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char i = 0x0f,a = 0;
void main()
{ENLED = 0;add3 = 1;add0 = 0;add1 = 0;add2 = 0;TMOD = 0x01;TH0 = 0xb8;TL0 = 0x00;TR0 = 1;while(1) 
{if(1 == TF0){TF0 = 0;TH0 = 0xb8;TL0 = 0x00;a++;if(a >= 50){a = 0;P0 = LedChar[i];if(i > 0)
{
i--;
}
else 
{
i = 0x0f;
}}}	
}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机视觉 | CNN】Image Model Blocks的常见算法介绍合集(四)

文章目录 一、Dilated Bottleneck with Projection Block二、NVAE Generative Residual Cell三、NVAE Encoder Residual Cell四、Bottleneck Transformer Block五、Spatial Feature Transform六、Big-Little Module七、Scale Aggregation Block八、Multiscale Dilated Convolut…

恒运资本:证券交易费用?

跟着股市越来越成为大众投资的挑选&#xff0c;对证券买卖费用的了解越来越受到关注。证券买卖费用是指投资者在进行证券买卖过程中需要付出的各种费用&#xff0c;这些费用直接影响到投资收益。本文将从多个视点剖析证券买卖费用。 1. 佣钱 佣钱是证券买卖中最基本的费用&…

字节一面:说说var、let、const之间的区别

前言 最近博主在字节面试中遇到这样一个面试题&#xff0c;这个问题也是前端面试的高频问题&#xff0c;作为一名前端开发工程师&#xff0c;熟练掌握js是我们的必备技能&#xff0c;var、let、const之间的区别我们也得熟练掌握&#xff0c;博主在这给大家细细道来。 &#x1f…

Java入坑之语法糖

一、for和for-each 1.1for和for-each概念 for 循环是一种常用的循环结构&#xff0c;它可以通过一个变量&#xff08;通常是 i&#xff09;来控制循环的次数和范围。for 循环的语法格式如下&#xff1a; for (初始化; 布尔表达式; 更新) {//代码语句 }for-each 循环是 Java …

北邮22级信通院数电:Verilog-FPGA(1)实验一“跑通第一个例程” 过程中遇到的常见问题与解决方案汇总(持续更新中)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 问题一&#xff1a;Verilog代码没有跑通 报…

【数据结构】二叉树链式结构的实现(三)

目录 一&#xff0c;二叉树的链式结构 二&#xff0c;二叉链的接口实现 1&#xff0c;二叉链的创建 2&#xff0c;接口函数 3&#xff0c;动态创立新结点 4&#xff0c;创建二叉树 5&#xff0c;前序遍历 6&#xff0c;中序遍历 7&#xff0c;后序遍历 三&#xff0c;结点个…

Mojo 语言官网

Mojo面向 AI 开发者的新型编程语言&#xff0c;无缝支持CPU、GPU&#xff0c;兼容Python&#xff0c;跟Python类似的语法&#xff0c;但是比Python快68000倍。目前Mojo仅支持Ubuntu&#xff0c;暂不支持Windows和Mac&#xff0c;可以在Mojo Playground先体验一下。 Mojo 语言…

【LeetCode-简单题KMP】459. 重复的子字符串

文章目录 题目方法一&#xff1a;移动匹配方法二&#xff1a;KMP算法 题目 方法一&#xff1a;移动匹配 class Solution {//移动匹配public boolean repeatedSubstringPattern(String s) {StringBuffer str new StringBuffer(s);//ababstr.append(s);//拼接一份自己 abababab…

day44:C++ day4,拷贝赋值、友元、常成员、运算符重载

一、仿照string类&#xff0c;完成myString 类 mystring.h #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> #include <cstring>using namespace std;class myString { private:char *str; //记录c风格的字符串int size; //记录字…

北大C++课后记录:文件读写的I/O流

前言 文件和平常用到的cin、cout流其实是一回事&#xff0c;可以将文件看作一个有限字符构成的顺序字符流&#xff0c;基于此&#xff0c;也可以像cin、cout读键盘数据那样对文件进行读写。 读写指针 输入流的read指针 输出流的write指针 注&#xff1a;这里的指针并不是普…

使用scp命令失败出错

使用scp命令失败出错&#xff0c;无反应。 解决&#xff1a; 1.使用ifconfig查看目标主机公网IP地址 ifconfig需使用公网ip 2.配置免密登录 可参考 远程登录ssh ssh-copy-id root目标主机ip再次尝试scp命令。 SCP&#xff08;Secure Copy&#xff09;是一个用于在本地主机和…

uni-app:通过ECharts实现数据可视化-如何引入项目

效果 引入文件位置 代码 <template><view id"myChart"></view> </template> <script> import echarts from /static/js/echarts.js // 引入文件 export default {mounted() {// 初始化EChartsconst myChart echarts.init(document…