产品概述

单片机中断计数 学好单片机,先掌握单片机的结构,特点和原理,67页内容详细介绍

小编 2024-10-06 产品概述 23 0

学好单片机,先掌握单片机的结构、特点和原理,67页内容详细介绍

单片机内容概述

单片机的

概念

一片半导体硅片集成:中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线。用于测控领域的单片微型计算机,简称单片机。

单片机使用时,通常是处于测控系统的核心地位并嵌入其中,所以国际上通常把单片机称为嵌入式控制器。

单片机的

分类

(1)通用型单片机就是其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可以全部提供给用户。

用户根据需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其它外围设备,并编写相应的软件来满足各种不同需要的测控系统。通常所说的和本书介绍的是指通用型单片机。

(2)专用型单片机是专门针对某些产品的特定用途而制作的单片机。

单片机

67页内容详细介绍单片机(文末有获取)

1000G机械必备设计资料内容详情

这1000G资料涉及的范围很广,具体来说包括机械设计、机械原理、模具、机械加工、材料类、电气行业、各种零件模型和非标等等领域,具体内容有:上千份文档类(各类机械设计手册、液压类手册、自动化类手册等等,所有历史文章的PPT源文件等)、常用的设计工具(一些自动计算表格)以及各类视频教程类,我相信这1000G资料对于提升你的能力一定会有很大的帮助。同时在你工作中遇到相关问题的时候,这些资料也能提供很好的指导作用。

目录

计算表格

设计手册

视频教程

各类工具

PPT源文件

获取方式

单片机入门-C51语言用按键中断和查询两种方法调整电子钟参数解说

单片机入门-C51语言用按键中断和查询两种方法调整电子钟参数解说视频:

视频教程

传统的单片机中断5个。包括两个外部中断(int0,int1),2个定时中断t1,t0,和一个串口中断(uart)。中断具有简单直观、易于控制。

优点:

响应快、电平和时钟触发中断、计数中断、定时中断、来自串口数据中断、睡眠中断唤醒模式中断。

缺点:

只能采用单任务机制,程序只能按顺序依次执行,缺乏灵活性,只能使用中断函数实时地处理一些较短的任务,在较复杂的应用中使用极为不便。

按键控制有查询和中断两种方式,中断必须借助中断引脚,而查询按键可用任何IO端口。按键较少时,一个按键占用一个IO口,而按键数量较多时,多采用矩阵形式,如常用,4个端口作为输出、4个端口作为输入的4*4矩阵来获得16个按键。

按键控制用查询方法步骤:

设计好按键电路;声明按键对应的IO管脚变量,如sbit KEY=P1^6;用if语句判断是否按键按下,如if(KEY==0);延时消除抖动。

按键控制用外部中断方法步骤:

1.设计好按键电路;

2.设置外部中断用触发方式IT0/IT1

3.使能外部中断EX0/EX1

4.使能总中断EA

5.中断函数程序的编写

本文用到的电路图如下:

本文用到的代码如下:

#include "lcd12864.h"

unsigned char count=0;

unsigned char hour=15,minute=59,second=34;

unsigned char CLOCK[]="15:59:34";

unsigned char keyNum=0;

sbit KEY_ADD=P1^6;

sbit KEY_SUB=P1^7;

void int0() interrupt 0//处理功能选择的按键中断请求

{

keyNum++;

if(keyNum>3)

{

keyNum=0;

}

}

void timer0() interrupt 1

{

TH0=0x3c;//T0 15536-->65536 =50ms

TL0=0xb0;

count++;

if(count==20)//1S

{

count=0;

second++;

if(second==60)

{

second=0;

minute++;

if(minute==60)

{

minute=0;

hour++;

if(hour==24)

{

hour=0;

}

}

}

}

}

void mydelay(unsigned int k)

{

unsigned char i;

unsigned int j;

for(j=k;j>0;j--)

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

}

void main()

{

lcd_init();

lcd_clr();

IT0=1;

EX0=1; //按键1 外部中断0

TMOD=0x01;

TH0=0x3c;//T0 15536-->65536 =50ms

TL0=0xb0;

ET0=1;//T0

EA=1;

TR0=1;//启动定时器

printchars(5,0,"Clock",0);

while(1)

{

CLOCK[0]=hour/10+0x30;

CLOCK[1]=hour%10+0x30;

CLOCK[3]=minute/10+0x30;

CLOCK[4]=minute%10+0x30;

CLOCK[6]=second/10+0x30;

CLOCK[7]=second%10+0x30;

printchars(4,2,CLOCK,0);

{

if(keyNum==1)

{

ds(0,4,'H',0);

}

if(keyNum==2)

{

ds(0,4,'M',0);

}

if(keyNum==3)

{

ds(0,4,'S',0);

}

TR0=0;

switch(keyNum)

{

case 0:break;

case 1:

{

if(KEY_ADD==0)//用户按下加1按键

{

if(hour<23)hour++;else hour=0;

}

if(KEY_SUB==0)//用户按下减1按键

{

if(hour>0)hour--;else hour=23;

}

mydelay(1000);

break;

}

case 2:

{

if(KEY_ADD==0)//用户按下加1按键

{

if(minute<59)minute++;else minute=0;

}

if(KEY_SUB==0)//用户按下减1按键

{

if(minute>0)minute--;else minute=59;

}

mydelay(1000);

break;

}

case 3:

{

if(KEY_ADD==0)//用户按下加1按键

{

if(hour<59)second++;else second=0;

}

if(KEY_SUB==0)//用户按下减1按键

{

if(hour>0)second--;else second=59;

}

mydelay(1000);

break;

}

}

TR0=1;

}

}

}

相关问答

51 单片机 中定时器的四种工作方式的各自定时范围?

工作方式013位计数模式最大范围0-8191工作方式116位计数模式最大范围0-65535工作方式28位自动重装计数模式0-255工作模式3(只有T0)TL0和TH0将被分割...

单片机 同时运行几个 中断 ?

单片机可以同时运行多个中断,但是它们之间需要通过优先级来进行区分和控制。当有多个中断同时发生时,单片机会根据各个中断的优先级先后执行,处理高优先级的中...

单片机中断 响应时间肿么计算-ZOL问答

中断响应时间:从外部中断请求有效(外部中断请求标志置1)到转向中断入口地址所需要的响应时间。每个机器周期的S5P2时刻,INTx引脚的电平被锁存到内部寄存器中...

一个关于 单片机 的定时 中断 的问题.有这样一句话:假设时钟频率...

[最佳回答]51单片机在内部要对晶振12MHZ,所以12M晶振除以12就是1M,即1秒钟有1M个时钟周期,每个时钟周期就是10^-6秒,即1us.TH0和TL0分别为定时器T0的高八位和...

51 单片机 怎么用 中断 检测编码器?

在使用51单片机中断检测编码器时,需要将编码器的A、B相信号接到单片机的外部中断口,然后通过编程设置外部中断的触发方式和中断服务程序。当编码器发生旋转时...

【18.MCS-51 单片机 的最小时序定时单位是()。A.状态B.拍节C....

[最佳回答]CDACBBBCC

单片机 C语言定时器怎么调用-ZOL问答

单片机中通过中断的方式来调用定时器。具体的调用方式可以参考通过如下程序:程序功能:利用定时器进行定时,实现每秒中led闪烁一次#includesbitled...

51 单片机 中断 系统有哪些寄存器?

答:51单片机的中断系统有以下几种寄存器:中断允许寄存器IEEA——全局中断ES——串口中断ET2——定时器2中断EX1——外部中断1ET1——定时器1中断EX0...

单片机中断 优先级是如何划分的?

CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被...

单片机 编程:8个流水灯每隔一秒亮一个,用 中断 的方式。求完整编程啊!(低电平亮的,而且只能有?

unsignedintTimeCounter=0;主程序定时器初始化256分之一秒;while(1);//这段你自己写,因为不知道什么单片机,时钟多少。。。计数范围可能不够考虑累...uns...

猜你喜欢