- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 中断概述 5.2 80C51单片机的中断系统 80C51单片机中断系统内部结构图 单片机C语言程序设计 一:C51对标准C的扩展 1、 C51数据类型 在编程时,为了书写方便,经常用简化的缩写形式来定义数据类型。其方法是在源程序开头使用#define语句自定义简化的类型标识符。 例如: #define uchar unsigned char #define uint unsigned int 这样,在编程中,就可以用uchar代替unsigned char,用uint代替unsigned int来定义变量。 sfr用于声明字节型(8位)的SFR; sfr16用于声明字型(16位)的SFR。 如: sfr P0 = 0x80; sfr16 DPTR = 0x82; 如果定义时略去存储类型标志符,编译器会自动选择默认的类型,由SMALL,COMPACT和LARGE存储模式指令限制。 6、C51常用头文件 #include reg51.h #include intrins.h 本征函数,如 _crol_ 、_cror_; #include stdio.h 输入输出函数,如 scanf 、printf; #include math.h 数学计算函数,如 abs 、sin; #include string.h 字符串处理函数,如 strcpy; #include stdlib.h 类型转换及内存分配函数,如 atoi; #include absacc.h绝对地址访问函数,如XBYTE 二 中断应用的C语言编程 ORG 0000H LJMP MAIN ORG 0003H LJMP INTT0 ORG 0100H MAIN: MOV IE, #81H SETB IT0 MOV SP, #3FH MOV A, #0FEH CLR 00H LOOP: MOV P2, A LCALL DELAY JB 00H, LOOP1 RL A LJMP LOOP LOOP1: RR A LJMP LOOP INTT0: CPL 00H RETI DELAY: …… END 5.3 80C51单片机的定时器/计数器 5.3.1 定时器/计数器的计数和定时功能 5.3.3 定时工作方式0 #include reg51.h sbit P1_0=P1^0; void main(void) { TMOD=0x00; TH1= 0xfc; TL1=0x03; IE=0x00; TR1=1; for( ; ; ) { do { } while (!TF1); TH1= 0xfc; TL1=0x03; TF1=0; P1_0=!P1_0; } } 5.3.4 定时工作方式1 #include reg51.h sbit P1_0=P1^0 ; void main( void ) { TMOD=0x10 ; /* T/C0工作在定时器非门控制方式1 */ P1_0=0; TH1= 0xff; /* 预置计数初值 */ TL1= 0x83; EA=1 ; /* CPU中断开放 */ ET1= 1 ; /* T/C0中断开放 */ TR1=1;
文档评论(0)