第 1 页 共 13 页

一.中断系统

基本框架:

#include"stc15.h"

void main()

{

EA=1;//开总中断开关

EX0=1;

//开中断0 的开关(中断1:EX1=1;中断2:INT_CLKO|=0x10;中断3:INT_CLKO|=0x20;

中断4:INT_CLKO|=0x40)

IT0=1;

//下降沿有效 (中断1 的IT1 也可直接设置;中断2,3,4 均为下降沿有效)

P21=0;

while(1);//等待中断

}

void INT_ISR() interrupt 0//(外部中断1 中断号:2; 2:10; 3:11; 4:16 )

{

P21=~P21;

}

二.定时器

1.基本框架

#include"stc15.h"

void Timer0Init(void);//声明

void main(void)

{

P2M1=0;

P2M0=0;

Timer0Init(); //定时器初始化 (不要忘记)

ET0=1;//打开定时器T0 (T1:ET1=1; T2:IE2|=0x04; T3:IE|=0x20; T4:IE|=0x40)

EA=1;//开总中断开关

while(1);

}

void Timer0Init(void) //10 毫秒@11.0592MHz

{

AUXR&= 0x7F; //定时器时钟12T 模式

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

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

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

TF0 = 0; //清除TF0 标志

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

}

void t0_ISR(void) interrupt 1 //(中断号:T1:3; T2:12; T4:20)

{

static unsigned char cnt10ms=0;//一定是static

cnt10ms++;//一定有计数

—16 级控卓越—单片机考试资料

第 2 页 共 13 页

if(cnt10ms>=50)//大于等于是容错

{

cnt10ms=0;//置0

P2=~P2;

}

}

2.各定时器12 分频10 毫秒

A.定时器1:

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

{

AUXR&= 0xBF; //定时器时钟12T 模式

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

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

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

TF1 = 0; //清除TF1 标志

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

}

B.定时器2:

void Timer2Init(void) //10 毫秒@11.0592MHz

{

AUXR&= 0xFB; //定时器时钟12T 模式

T2L = 0x00; //设置定时初值

T2H = 0xDC; //设置定时初值

AUXR |= 0x10; //定时器2 开始计时

}

C.定时器3:

void Timer3Init(void) //10 毫秒@11.0592MHz

{

T4T3M&= 0xFD; //定时器时钟12T 模式

T3L = 0x00; //设置定时初值

T3H = 0xDC; //设置定时初值

T4T3M |= 0x08; //定时器3 开始计时

}

D.定时器4:

void Timer4Init(void) //10 毫秒@11.0592MHz

{

T4T3M&= 0xDF;

stc15单片机c语言 pdf,stc15单片机编程指南.pdf相关推荐

  1. C语言数据交换算法和伪指令,补充:单片机c语言与汇编语言混合编程.ppt

    补充:单片机c语言与汇编语言混合编程 reg51.h和reg52.h:实质上是没有区别的,都是一些特殊功能寄存器的申明 sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0 ...

  2. linux环境下的c编程指南,C语言Socket简单编程指南PDF

    1.介绍 Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措? ...

  3. Hive编程指南.pdf下载

    好东西就是要免费共享的,尤其是知识,只有个人强大了,祖国才会强大,哈哈,有点扯了!为节省大家的时间,现将现成的资料奉上: Hive编程指南.pdf 链接:https://pan.baidu.com/s ...

  4. 高质量c++/c编程指南pdf

    高质量c++/c编程指南pdf,以下是链接 链接:https://pan.baidu.com/s/1NJRhYYahSrjuVbk3rsnXzA  提取码:er89

  5. c语言万能编程模板_51-STC单片机C语言-普遍通用万能编程模板

    \\ < 8051 单片机 C 语言编程模板> 1. 函数头文件 ............................................................. ...

  6. 单片机c语言LONG变量,单片机C语言编程当中定义的变量类型决定了什么

    在单片机编程中,基本上常用的都是,unsigned char,unsigned int.unsigned long这三种类型,变量的定义不同的类型,就决定了位宽,也就决定了变量的数据范围. char ...

  7. arduino和单片机c语言,Arduino和单片机的区别-与非网

    Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(ArduinoIDE).由一个欧洲开发团队于2005年冬季开发.其成员包括Massimo Ban ...

  8. 单片机c语言关键字 id,单片机关键字sfr和sbit的理解

    在单片机C语言编程中,扩充了两个关键字sfr和sbit. sfr(Special Function Register特殊功能寄存器的缩写),sbit(特殊功能寄存器位),与定义一般的int.char型 ...

  9. 51单片机c语言除法符号,单片机c语言教程:C51运算符和表达式

    上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧.这个语句就是 typedef,这是个很好用的语句,但我却不常用它,通常我定义变量的数据类型时都是使 用标准的关键字,这样别人能很方便的 ...

  10. 单片机c语言设计数据,单片机C语言设计.doc

    单片机C语言设计 第5章 单片机C语言程序设计 C-51的特点 C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机.DSP.ARM等. C语言程序本身不依赖于机器 ...

最新文章

  1. All in one TFS 项目建立
  2. ES10 可以使用几个新特性
  3. wenstorm设置谷歌_WebStorm+Chrome调试Vue步骤
  4. 网站漏洞扫描工具_如何实现免费网站漏洞扫描?推荐一款神器给你
  5. Android修改高度,android – 如何在运行时更改软键盘的高度?
  6. tableview分割线
  7. 在线假单词随机生成器
  8. 【CCCC】L2-003 月饼 (25分),贪心
  9. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=”files.pythonhosted.org“,
  10. java后端AppV3版本微信支付CV大法2021-11-12
  11. Python 让书法作品和 PIL 库来一场美丽的邂逅
  12. 计算机专业买笔记本要机械硬盘吗,买笔记本电脑要注意什么配置?内存与SSD挑选...
  13. Linux下pppd拨号脚本配置
  14. 互联网金融保弘实业理财投资|白领理财有哪些窍门
  15. Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题
  16. 【数据分析师-数据分析项目案例三】多因素房价预测分析案例
  17. 23 PPT图表链接和动画
  18. maven package后 Idea项目中找不到target文件
  19. GWAS-性状间相关性图的绘制
  20. 2019年最新中科院人工智能领域JCR期刊分区(附2019-2020人工智能领域顶级会议分类表)

热门文章

  1. JN5169 JN-AN-1217-Zigbee-3-0-Base-Device
  2. 业务安全漏洞挖掘归纳总结
  3. thinkphp 短信api接口调用
  4. 锂电池的充电原理以及快充原理
  5. 锂电池充电原理__2020.03.10
  6. SUNLORDINC顺络电子LTCC产品推广资料
  7. 微信公众号模板消息内容key提取代码
  8. c语言system title,system() – C语言库函数
  9. 简洁界面清爽让人非常舒服的一款短视频去水印微信小程序源码自带接口支持多种流量主
  10. html源码taptap,taptap开源应用电脑版