- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 C51认识
第八章 单片机C51的程序设计 在学会使用汇编语言后,学习C语言编程是一件比较容易的事。下面是一个简单的例子: 89S52的P1引脚上接8个发光二极管,让接在P1引脚上的发光二极管按要求发光。 8.1 简单的C程序介绍 例1-1:?让接在P1.0引脚上的LED发光。/*****************************/ 单灯闪烁程序/*************** **************/#include?“reg51.h”sbit?P1_0=P1^0;void?main( ){? P1_0=0;?} 这个C语言程序包含了哪些信息 1.“文件包含”处理 所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有4行,但C编译器在处理的时候却要处理几十或几百行。这里程序中包含REG51.h文件的目的是为了要使用P1这个符号,即通知C编译器,程序中所写的P1是指80C51单片机的P1端口而不是其它变量。 reg51.h 文件包含以下内容: /*-----------------------------------------REG51.HHeader?file?for?generic?80C51?and?80C31?microcontroller.Copyright?(c)?1988- 2001?Keil?Elektronik?GmbH?and?Keil?Software,?Inc.All?rights?reserved.---------------------------- ------- ---------*//*?BYTE?Register?*/sfr?P0?=?0x80;sfr?P1?=?0x90;sfr?P2?=?0xA0;sfr?P3?=?0xB0;sfr?PSW?=?0xD0;sfr?ACC?=?0xE0; sfr?B?=?0xF0;sfr?SP?=?0x81;sfr?DPL?=?0x82;sfr?DPH?=?0x83;sfr?PCON?=?0x87;sfr?TCON?=?0x88;sfr?TMOD?=?0x89;sfr?TL0?=?0x8A;sfr?TL1?=?0x8B;sfr?TH0?=?0x8C;sfr?TH1?=?0x8D;sfr?IE?=?0xA8;sfr?IP?=?0xB8; sfr? SCON?=?0x98;sfr? SBUF?=?0x99;/*?BIT?Register?*//*?PSW?*/sbit? CY?=?0xD7;sbit? AC?=?0xD6;sbit? F0?=?0xD5;sbit? RS1?=?0xD4;sbit? RS0?=?0xD3;sbit? OV?=?0xD2;sbit? P?=?0xD0; /*?TCON?*/sbit? TF1?=?0x8F;sbit? TR1?=?0x8E;sbit? TF0?=?0x8D;sbit? TR0?=?0x8C;sbit? IE1?=?0x8B;sbit? IT1?=?0x8A;sbit? IE0?=?0x89;sbit? IT0?=?0x88; /*?IE?*/sbit? EA?=?0xAF;sbit? ES? =?0xAC;sbit ?ET1?=?0xAB;sbit? EX1?=?0xAA;sbit? ET0?=?0xA9;sbit? EX0?=?0xA8; /*?IP?*/?sbit?PS?=?0xBC;sbit?PT1?=?0xBB;sbit?PX1?=?0xBA;sbit?PT0?=?0xB9;sbit?PX0?=?0xB8; /*?P3?*/sbit? RD?=?0xB7;sbit? WR?=?0xB6;sbit? T1?=?0xB5;sbit? T0?=?0xB4;sbit? INT1?=?0xB3;sbit? INT0?=?0xB2;sbit? TXD?=?0xB1;sbit ?RXD?=?0xB0; /*?SCON?*/sbit? SM0?=?0x9F;sbit? SM1?=?0x9E;sbit? SM2?=?0x9D;sbit? REN?=?0x9C;sbit? TB8?=?0x9B;sbit? RB8?=?0x9A;sbit? TI?=?0x99;sbit? RI?=?0x98; 注意: 1. sfr?P1?=?0x90; 定义P1与地址0x90对应,P1口的地址就是0x90(0x90是C语言中十六进制数的写法
文档评论(0)