1.头文件
在 #include 2.单片机端口 首先我们知道STC89C52RC这个芯片有4*8=32个IO端口是可以被我们用程序控制输出高电平或低电平的。拿P0表示它可以一次性控制8个引脚端口输出每个引脚想输出的电平状态,P0是一个寄存器,它的功能是控制所对应的8个单片机IO端口(P0.0~P0.7)输出我们想要输出的电平,比如我们控制P0.0单个IO端口输出低电平,P0.1~P0.7这7个IO端口输出高电平,程序中使用这条语句“P0=0xFE;”,其他P1,P2,P3也是一样的操作。 3.IO端口与二进制 C语言中的十六进制0xFE用二进制表示 11111110,我们也就知道了单片机的P0.0排在了这八个位的最底端。我们控制P0.2单个IO端口输出低电平,其他IO端口输出高电平,则是“P0=0xFB; ”二进制表示 11111011。对这些知识没有过接触的读者用计算器可以快速查看,不过以后还是尽量口算比较好。 4.单个IO端口声明 有时我们只关心单片机的一个引脚的电平控制,其他7个我们不用把人家强制输出成其他电平,而“P0=0xFE;”就是强制把其他7个IO端口都输出了固定高电平状态。要想实现单独控制一个IO端口,这时我们用这条语句来声明“sbit LED=P0^0;”也就是只控制一个位,此时想让单独的P0.0输出低电平只需“LED=0;”即可,LED不过是表示P0.0所用的名字而已,你可以根据喜好改写这个名字。 值得注意的是,程序书写中如果没有“sbit LED=P0^0;”这个提前定义,直接“P0.0=0;”这样书写是不符合语法的,必须先给IO端口一个命名,而且“sbit LED=P0.0;”这样的写法同样也不符合语法,规定是“P0^0”。 还有我们也不能命名已经在 #include 像“sbit PSW=P0^0;”,“sbit CY=P0^0;”这样定义会编译报错的,因为命名冲突了。#include 5.程序点亮LED 1.硬件连接 假设开发板上的LED连接情况如下 那么我们用程序来点亮它就比较简单了,只需让P0.0输出低电平即可。 2.代码 3.提醒 上述代码只是简单入门第一个程序,但是这段代码在本教程所使用的开发板中并不能点亮一盏灯,原因是开发板实际硬件连接并不是如上图所示。此讲的原理图只是作为第一个程序的入门讲解参考。
上一篇:51单片机-初识原理图
下一篇:51单片机-实际LED硬件连接
设计资源 培训 开发板 精华推荐
- 特斯拉线圈全桥一体板
- STLQ50C18R 50mA、3uA 电源电流低压降线性稳压器的典型(固定版本)应用
- TS39100C 1A超低压差稳压器典型应用电路
- REP010: 工作在183MHz IF的双频IS-136前端IC
- 80元用主机散热风扇改装焊接排烟风机
- LT1952IGN 18V 至 72V 宽输入、高效率、12V/12A 输出、有源复位正激转换器的典型应用电路
- 触摸无极调光雪花灯
- RT9284B微型封装、高性能、白光LED恒流开关稳压器驱动4串WLED的典型应用
- 使用 Analog Devices 的 REF192 的参考设计
- DC675A-A,演示电路采用 LT1568CGN,4 阶窄带通滤波器
- 暑期加油站:零起点带你学遍单片机
- 了解是德科技校准服务及5G 精彩专题,下载技术文章送好礼!
- TI 嵌入式处理主题直播月|报名观看直播赢好礼【低功耗WiFi MCU、Sitara AM57X平台、机器学习】
- Molex紧凑型Type-C连接器 为您的设计节约宝贵空间!下载好礼送!
- 有奖问答|ADI技术直通车——电化学传感测量与气体检测
- 安世半导体新能源应用探索站,闯关赢好礼!
- 一道题,测试你是不是MSP430的真爱粉儿~
- 【EEWORLD第三十八届】2012年05月社区明星人物揭晓!
- 新年芯币竞价第二期——开发板竞价
- 【分享成长,10月有奖】EEWORLD优秀主题/回复第15期活动开始啦!!!