- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KeilC实例代码
第三章
例3-1
#include AT89X51.h //预处理命令
void main(void) //主函数名
{
unsigned int a; //定义变量a 为unsigned int 类型
unsigned char b; //定义变量b 为unsigned char 类型
do
{ // do while 组成循环
for (a=0; a65535; a++)
P1_0 = 0; //65535 次设P1.0 口为低电平,点亮LED
P1_0 = 1; //设P1.0 口为高电平,熄灭LED
for (a=0; a30000; a++); //空循环
for (b=0; b255; b++)
P1_1 = 0; //255 次设P1.1 口为低电平,点亮LED
P1_1 = 1; //设P1.1 口为高电平,熄灭LED
for (a=0; a30000; a++); //空循环
}
while(1);
}
例3-4
#include AT89X51.H //预处理文件里面定义了特殊寄存器的名称如P1 口定义为P1
void main(void)
{
//定义花样数据
const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
0xE7,0xDB,0xBD,0x7E,0xFF};
unsigned int a; //定义循环用的变量
unsigned char b; //在C51 编程中因内存有限尽可能注意变量类型的使用
//尽可能使用少字节的类型,在大型的程序中很受用
do{
for (b=0; b32; b++)
{
for(a=0; a30000; a++); //延时一段时间
P1 = design[b]; //读已定义的花样数据并写花样数据到P1 口
}
}while(1);
}
例3-5
sfr P1 = 0x90; //这里没有使用预定义文件,
sbit P1_0 = P1 ^ 0; //而是自己定义特殊寄存器
sbit P1_7 = 0x90 ^ 7; //之前使用的预定义文件其实就是这个作用
sbit P1_1 = 0x91; //这里分别定义P1 端口和P10,P11,P17 引脚
void main(void)
{
unsigned int a;
unsigned char b;
do{
for (a=0;a50000;a++)
P1_0 = 0; //点亮P1_0
for (a=0;a50000;a++)
P1_7 = 0; //点亮P1_7
for (b=0;b255;b++)
{
for (a=0;a10000;a++)
P1 = b; //用b 的值来做跑马灯的花样
}
P1 = 255; //熄灭P1 上的LED
for (b=0;b255;b++)
{
for (a=0;a10000;a++) //P1_1 闪烁
P1_1 = 0;
for (a=0;a10000;a++)
P1_1 = 1;
}
}while(1);
}
例3-6
unsigned int data ABC _at_ 0x0028;
unsigned int data CBA _at_ 0x002A;
unsigned int data *Port _at_ 0x002C;
#include at89x51.h
#include stdio.h
void main(void)
{
SCON = 0x50; //串口方式1,允许接收
TMOD = 0x20; //定时器1 定时方式2
TH1 = 0xE8; //11.0592MHz 1200 波特率
TL1 = 0xE8;
TI = 1;
TR1 = 1; //启动定时器
ABC = 10; //设初值
CBA = 20;
Port = CBA; //取CBA 的地址放到指针变量Port
*Port = 100; //更改指针变量Port 所指向的地址的内容
printf(1: CBA=%d\n,CBA); //显示此时CBA 的值
Port = ABC; //取ABC 的地址放到指针变量Port
CBA = *Port; //把当前Port 所指的地址的内容赋给变量CBA
printf(2: CBA=%d\n,CBA); //显示此时CBA 的值
printf( ABC=%d\n,ABC); //显示ABC 的值
}
例3-7
#include at89x51.h
#include s
您可能关注的文档
- 21养花PPT.ppt
- 浙江电算化自考试题及答案1204.doc
- 行政事业单位内部控制练习题及答案.doc
- 2015电算化685题理论题xhl.doc
- 基础会计电大2012职业技能实训基础会计100%答案形成性考核_基础会计_职业技能实训答案.doc
- 2015年继续教育考试试卷.doc
- 幼儿学前识字大全.ppt
- 管理学选择习题.doc
- 2014年市统计局非金融资产投资培训课件.ppt
- 怎样给笔记本电脑液晶屏换灯管.doc
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
文档评论(0)