蓝桥杯STC15单片机复习——DS1302

发布者:tnzph488最新更新时间:2022-08-15 来源: csdn关键字:蓝桥杯  STC15  单片机  DS1302 手机看文章 扫描二维码
随时随地手机看文章

前言

本次实验测试STC15的定时计数器,,STC15F2K60S2单片机共有三个定时计数器,我们比较常用的只是定时器0和定时器1.所谓计数器,就是计算定时计数器对应引脚的脉冲,对于国信长天的板子,上面搭载有NE555的谐振电路,可以输出频率可调的方波,本此实验通过计数器采集其输出的方波并计算显示其大致频率。


1、计数器

首先配置定时计数器0为计数器模式,用于采集NE555的信号输出。


#include

#define uint unsigned int 

#define uchar unsigned char

void ALL_Init();

void delay_ms(uint ms);

void SEG_show(uint num);

void Timer0Init(void);


uchar SEG_num[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

int num = 0;


void main()

{

ALL_Init();

Timer0Init();

while(1)

{

SEG_show(num);

}

}


void Time0_run() interrupt 1

{

num++;

}


void Timer0Init(void)

{

AUXR = 0x80; //定时器时钟1T模式

TMOD = 0x04; //设置定时器模式

TL0 = 0xFF; //设置定时初值

TH0 = 0xFF; //设置定时初值

TF0 = 0; //清除TF0标志

TR0 = 1; //定时器0开始计时

ET0 = 1;

EA = 1;

}


void SEG_show(uint num)

{

P25 = 0;P26 = 1;P27 = 1;P0 = 0x01;

P25 = 1;P26 = 1;P27 = 1;

P0 = SEG_num[num/10000];

delay_ms(10);

P25 = 0;P26 = 1;P27 = 1;P0 = 0x02;

P25 = 1;P26 = 1;P27 = 1;

P0 = SEG_num[num/1000%10];

delay_ms(10);

P25 = 0;P26 = 1;P27 = 1;P0 = 0x04;

P25 = 1;P26 = 1;P27 = 1;

P0 = SEG_num[num/100%10];

delay_ms(10);

P25 = 0;P26 = 1;P27 = 1;P0 = 0x08;

P25 = 1;P26 = 1;P27 = 1;

P0 = SEG_num[num/10%10];

delay_ms(10);

P25 = 0;P26 = 1;P27 = 1;P0 = 0x10;

P25 = 1;P26 = 1;P27 = 1;

P0 = SEG_num[num%10];

delay_ms(10);

P25 = 0;P26 = 1;P27 = 1;P0 = 0x00;

}


void delay_ms(uint ms)

{

int i;

for(;ms>0;ms--)

for(i = 864;i>0;i--);

}


void ALL_Init()

{

P25 = 1;P26 = 0;P27 = 1;

P0 = 0x00;

P25 = 0;P26 = 1;P27 = 1;

P0 = 0x00;

P25 = 0;P26 = 0;P27 = 1;

P0 = 0xff;

}


使用杜邦线将板子上的SIGNAL引脚与P34(定时计数器0的引脚)相连,即可采集信号。

2、定时器

成功采集到信号以后,我们需要计算每秒的脉冲数,这样才能得到频率,将定时器计数器1配置为定时器模式,每隔1s进行一次计算。


int num1;

void main()

{

ALL_Init();

Timer0Init();

Timer1Init();

while(1)

{

SEG_show(num1);

}

}


int x = 0;

void Time1_run() interrupt 3

{

x++;

if(x == 999)

{

x = 0;

num1 = 2*num;

num = 0;

}

}


void Timer1Init(void) //1毫秒@11.0592MHz

{

AUXR |= 0x40; //定时器时钟1T模式

TMOD &= 0x0F; //设置定时器模式

TL1 = 0xCD; //设置定时初值

TH1 = 0xD4; //设置定时初值

TF1 = 0; //清除TF1标志

TR1 = 1; //定时器1开始计时

ET1 = 1;

EA = 1;

}


在定时器1的中断服务函数中,将采集到的脉冲数*2并显示出来,即可得到频率,对着15这个计数器采集脉冲究竟是上升沿还是下降沿表示有点懵逼,但是经过实际示波器测试,输出的频率确实为采集到的脉冲数的两倍,得到这个关系即可。


结语

至此,完成了STC15的定时器与计数器测试实验。

关键字:蓝桥杯  STC15  单片机  DS1302 引用地址:蓝桥杯STC15单片机复习——DS1302

上一篇:蓝桥杯STC15单片机复习——定时计数器中断
下一篇:蓝桥杯STC15单片机复习——DS18B20

推荐阅读最新更新时间:2024-11-06 19:22

通过采用AVR单片机ATXmega128A1进行便携式仪表的设计
1.引言 工业化仪表,因其集信息的获取.转换.存储.传输.分析.处理及显示于一体而成为工业控制领域的基础和核心之一.随着计算机技术.微电子技术的发展,工业化仪表已逐渐发展成为具有微处理器系统的智能化仪表.便携式智能仪表因其携带方便.操作方便.界面友好.人机接口丰富.功耗低等特性,使得其在当今生活中越来越普及. AVR XMEGA是8/16位AVR微处理器的升级版本.其采用Atmel picoPower技术,所有器件均可使用1.6V工作电压.MCU具有5霺唤醒时间和100nA的业界极低耗电量,其内部增加集成了全速USB?高速高精度模拟系统.DMA控制器和创新的事件系统,最大限度的提升了数据吞吐量和实时性能,并有效减轻了处理器负载
[单片机]
通过采用AVR<font color='red'>单片机</font>ATXmega128A1进行便携式仪表的设计
单片机系统软件抗干扰策略在通信电源中的应用
1 引言   单片机构成的监控系统广泛应用在工业自动化装置、生产过程控制和仪器仪表等各个领域。单片机应用于工业环境时,工作场所不仅有弱电设备,而且有更多的强电设备;不仅有数字电路,而且有许多模拟电路,形成一个强电与弱电、数字与模拟共存的局面。高速变化的数字信号有可能形成对模拟信号的干扰。此外,在一些强电设备,如:通信电源中往往还有电感、电容等储能元件,当电压、电流发生剧烈变化时就会形成瞬变噪声干扰。瞬变噪声频谱宽、能量大,对电子器件的危害很大,也是导致设备故障停机的主要原因。 由于单片机应用环境往往比较恶劣,干扰严重,这就要求单片机应用系统既有较强的抗干扰能力。尽管我们采取了硬件抗干扰措施,但由于干扰信号产生的原因很复杂,且具有很
[电源管理]
单片机风扇模拟控制系统设计
引言 单片机原理应用广泛根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和存储器扩展设计、接口技术应用设计。其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。电风扇模拟控制系统具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好, 具有较高的推广价值,在很多领域都有广泛的应用。 本文设计出以STC89S52单片机为核心的电风扇模拟控制系统,采用了LCD1206直接指示,显示状态,并自动复位的设计思想,它能根据按键输入的信号,经过单片机的控制处理并产生不同的与输入信号
[单片机]
<font color='red'>单片机</font>风扇模拟控制系统设计
基于PIC16F676单片机的点型光电感烟探测器设计
摘要:介绍了点型光电感烟探测器的工作原理,阐述了PIC16F676单片机的特殊功能,同时给出了该功能在探测器设计中的应用方法,最后给出了基于PIC16F676单片机设计的探测器的硬件构成和软件程序。 关键词:单片机(微控制器);点型光电感烟探测器;PIC16F676 火灾是人类面临的最大威胁之一,火灾探测对防御火灾具有举足轻重的作用。光电感烟探测器是目前消防中使用的主要探测器之一。光电感烟探测器分为两大类:其中“线型光电感烟”是利用烟雾对光束能量的衰减原理制成的光电感烟探测器,该探测器正常工作需要比较长的空间距离,所以称之为“线型”,否则,烟雾对光束能量的衰减太小不能获取足够的报警信息;“点型光电感烟”是利用烟雾对光束的散射
[单片机]
基于单片机80C196KC的静电除尘电源三相交流调压控制系统
   1.引言   静电除尘器有除尘效率高、运行和维修费用相对低廉等特点,在减少排放到大气中有害粉尘方面起着十分重要的作用,是当前使用较为广泛的一种环保设备。静电除尘器是利用高压静电吸附带电离子的原理进行除尘。一般来说,静电极板电压越高,对带电离子的吸附能力就越强,除尘效率越高。但电压越高,电场内会出现频繁的火花闪烁,甚至产生电弧,放电过程难以控制,除尘效率明显降低,这种情况应该避免。如果能够控制极板电压长时间维持在临界放电状态,就可以获得最佳的除尘效果并有效节约电力资源。实验证明,基于单片机80C196KC的 静电除尘 电源三相交流调压控制系统能够很好实现这一功能。    2.静电除尘电源主电路及交流调压结构   2.
[单片机]
基于<font color='red'>单片机</font>80C196KC的静电除尘电源三相交流调压控制系统
[单片机框架][bsp层][cx32l003][bsp_i2c] I2C/IIC硬件配置和使用
I2C 简介 I2C 是双线双向的串行总线,它为设备之间数据交换提供了一种简单高效的方法。I2C 标准是一个具有冲突检测机制和仲裁机制的真正意义上的多主机总线。它能防止两个或者多个主机在同时请求控制总线时发生数据冲突。 I2C 总线控制器,能满足 I2C 总线的各种规格并支持所有与 I2C 总线通信的传输模式。 I2C 总线使用连接设备的 SCL (串行时钟总线)和 SDA (串行数据总线)来传送信息。数据在主机与从机之间通过 SCL 时钟线控制在 SDA 数据线上实现一个字节一个字节的同步传输, 每个字节为 8位长度,一个 SCL 时钟脉冲传输一个数据位,数据由最高位 MSB 开始传输,每个传输字节后跟随一个应答位, 每
[单片机]
[<font color='red'>单片机</font>框架][bsp层][cx32l003][bsp_i2c] I2C/IIC硬件配置和使用
基于单片机的逻辑无环流可逆调速系统设计
  1 引言   生产中有许多机械要求既能正转,又能反转,而且常需要快速起动和制动,即需要可逆调速系统。由模拟电路实现的可逆调速系统,线路复杂,调整困难,可靠性低,缺乏灵活的控制。因此,这里给出一种基于单片机的逻辑无环流可逆调速控制系统设计方案。该系统设计采用全数字电路,实现数字脉冲触发、数字转速给定检测和数字PI算法等功能,由软件实现转速、电流调节及逻辑判断和复杂运算,具有不同于一般模拟电路的最优化、自适应、非线性、智能化等控制规律,而且更改灵活方便。   2 系统组成和控制原理   2.1 系统组成   该数字逻辑无环流可逆调速系统是由 AT89C51 单片机实现双闭环控制、无环流逻辑控制、触发脉冲的形成及相位控制,如
[单片机]
基于单片机的汽车尾灯控制器设计
  随着现代社会的不断进步,人们愈来愈离不开汽车。然而,随着汽车数量的急剧增加,道路安全就愈发引起人们的关注。现在认识到,仅仅依靠汽车本身的结构因素保证行车安全,已经是不现实的事情,因而必须强化对车辆上涉及安全的主要部位,进行定期的检查,并按一定的技术标准对它们的技术状况加以考核,通过具有一定精度的各种检验台测试取得的数据,科学而又定量地判断车辆安全装置的技术状况,给出恰当的评价。而汽车车灯故障率在汽车行驶过程中是比较高的,车灯故障时,不能正确反应汽车驾驶员的行车意识而给安全行车埋下事故隐患。   而随着电子系统能够在汽车产品中的广泛应用,大大保证了控制系统的自动化,而且汽车造型日趋流线型,汽车尾灯对于汽车整体造型的完美体现有着
[单片机]
基于<font color='red'>单片机</font>的汽车尾灯控制器设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved