当前位置: 首页 > news >正文

互联网定制产品网站网站对联代码div

互联网定制产品网站,网站对联代码div,陈家镇建设发展公司网站,清理优化大师本节将向大家介绍如何用 51 单片机去控制开发板上的 LED。开发板上的 LED 位置标注有 “LED 模块”。 第二章要写 3 个程序代码:第一个代码实现点亮开发板上的第一个 LED;第二个代码让第一个 LED 以 1 秒为周期闪烁;第三个代码使 8 个 LED 以…

本节将向大家介绍如何用 51 单片机去控制开发板上的 LED。开发板上的 LED 位置标注有 “LED 模块”。

第二章要写 3 个程序代码:第一个代码实现点亮开发板上的第一个 LED;第二个代码让第一个 LED 以 1 秒为周期闪烁;第三个代码使 8 个 LED 以流水灯的方式一位一位移动。左上角数码管可能因引脚冲突乱跳,不用理会,只要 LED 显示正确即可。

目录

一、新建工程

二、LED介绍

三、开发板上LED连接方式


一、新建工程

上一节已安装好软件,现在双击打开。编写代码前需新建一个工程,工程就像办公的桌子,有了它才能编写代码。

建工程步骤如下:

点击 “project”,选择 “new project”

提示保存工程位置时,默认会保存到文档,建议在桌面上新建一个名为 “keilproject” 的文件夹,将代码集中放在这里。

双击打开该文件夹,再新建一个名为 “2 -1 点亮一个 LED” 的文件夹。

工程名字建议起通用的,如 “project”,点击保存。

此时会弹出对话框让选择单片机型号,51 单片机有很多公司生产,有多种型号,我们用的是 STC89C52,但软件中没有STC,可选用 Atmel文件夹里的 AT89C52,它与 STC89C52 操作方式和功能一样。

接着会弹出复制启动文件到工程文件底下的对话框,选 “是” 或 “否” 均可,选 “是” 新建工程后会自动添加启动文件,一般不需要修改,所以选 “否”。

工程建立完成后,可看到工程及 “target 1”,点击左边加号,能看到编写代码的文件夹。

新建好工程后,要在工程里新建一个 C 语言程序文件。

选中组,右键点击添加新文件到组里

51 单片机可用 C 语言、C++ 语言和汇编语言编写,一般用 C 语言,因为 C++ 效率慢,汇编语言更底层难理解。

选中 C 语言,文件名起 “main”,点击添加,此时会出现 “main.c” 文件和编辑框。

先编译试一下,有三个按钮,“translate” 是编译,“build” 是建立工程,“rebuild” 是重新编译所有文件,一般点 “build”。

点击后下面会出现建立信息,提示没有错误但有一个警告,警告是 “无法确定根段”,这意味着缺少主函数 “main”。

在右边添加 “main” 函数,格式为 “void main ()”,回车后打两个花括号,再按 “Tab” 键缩进,使代码更有层次。

主函数字体太小,可通过 “configuration” 配置,选择第二个选项卡 “颜色和字体”,选择 “C C++” 编辑文件,点击 “font” 字体,在右边设置字体大小。

再次点击 “build”,显示 “0 error 0 warning”,即没有错误和警告。

二、LED介绍

建立好工程后,先了解本节要讲的 LED。学一个器件前,应通过百度等方式了解其原理和用法。LED 中文名是发光二极管,外文名是 “light emitting diode”,缩写为 LED。其用途广泛,可用于照明、广告灯、指引灯、屏幕等,在照明方面优势明显,相比白炽灯和节能灯,LED 更省电且亮度高。

LED 在电路图里的符号如上图所示,右边是较大的 LED 实物图,它区分正负极,图中左边是正极,右边是负极,只有正极接正极、负极接负极,才有电流通过,LED 才会亮,接反则不亮。

区分直插 LED 正负极的方法:里面较大的一块可看作 “大红旗”,较小的看作 “小红旗”,小的代表正极,大的代表负极;若引脚没剪过,长角是正极,短角是负极。开发板上的是贴片 LED,个头小,背面画有箭头指示正负极方向。

三、开发板上LED连接方式

接下来了解开发板上的 LED 连接方式。打开开发板资料,找到新版原理图(新版和旧版连接方式一样)

在原理图右下角可看到 LED 模块。

有 8 个 LED,右边是 VCC(电源正极),左边红色字是网络编号,连接到单片机的 P2引脚,P2引脚出来直接连到 LED 负极。

LED 正极出来通过一个电阻,这个电阻是四个一体的排阻,开发板上两个小黑块就是,它有八个引脚,里面是四个电阻,阻值为 1000 欧。

从排阻上写的数字 “102” 可看出,在电路元器件编号中,“102” 表示前两位 “10” 是有效数字,第三位 “2” 是倍率,即后面加2个 0,所以是 1000 欧。同理,“473” 是 47 后面加 3 个 0,即 47000 欧;“1001” 是 100 后面加1个 0,即 1000 欧。

电阻的作用是限流,若 LED 直接接 5V 电压,可能因电流过大烧毁,所以串联一个电阻。

当 LED 正极接正,负极接负时会点亮;若正负极都接正,则不亮。

这就将问题转化为控制单片机引脚输出高低电平,高电平是 5V,低电平是 0V,单片机使用的是 TTL 电平规范。接下来的主要任务是控制单片机的 P2 口输出高低电平。

通过上图解释单片机如何控制硬件设备。单片机名字叫 MCU,里面集成了 CPU,代码在 CPU 里执行。外部是引脚,如 P2 口引脚。CPU 通过寄存器控制引脚,寄存器是一种存储器,8 个为一组,每个寄存器下面都连着一根线控制硬件。比如 P2 口寄存器有 8 位,每一位背后都有一根导线,通过驱动器增大电流后连接到 P2 口端口。CPU 可通过程序直接访问寄存器并写值,写 “1” 引脚为高电平(5V),写 “0” 为低电平。P2 口也是 8 个为一组,寄存器每一位对应一个 P2 口引脚。

要点亮第一个 LED,需给 P2 口最低位低电平(0),其余为高电平(1),即二进制 “1111 1110”。但 C 语言程序不能直接写二进制,需将其转化为十六进制或十进制,一般转化为十六进制,因为二进制转十六进制可一眼看出。十六进制是二进制的简写,把四个二进制数化成一个十六进制数,十六进制数从 0 到 9,10 用字母 a 表示,依次是 b、c、d、e、f,f 代表 15,覆盖了四位二进制的所有情况。将 “1111 1110” 四个一组分开,“1111” 对应十六进制的 “f”,“1110” 对应 “e”,完整语句为 “P2 = 0xfe;”,在 C 语言里语句要以分号结尾。

写好代码点击 “build” 编译,提示 “P2 口是未定义的标识符”,需要在主函数之前添加头文件。右键点击 “insert”,选择头文件打开,里面定义了很多寄存器,包括 P2 寄存器,地址是十六进制的 A0。添加头文件后再次编译,显示没有错误和警告。

下一步将代码下载到单片机,打开 STC-ISP 软件,选择单片机型号为 STC89C52,新版本串口号可自动搜索。

点击 “打开程序文件”,在工程目录里找不到文件,因为编译器默认不生成下载文件,需在 “output” 选项卡里勾选 “create” 创建 HEX 文件,点击 “OK” 后再次编译,会生成 HEX 文件

选择该文件点击 “打开”,再点击 “下载”,下载后重新打开单片机开关,第一个 LED 点亮,第一个任务完成。

但代码还少一步,单片机上电后程序不会停止,主函数执行完会从头开始执行,“P2 = 0xfe” 会不断被执行,这不是我们想要的。

为让程序停下来,可在主函数下面写一个 “while” 循环,格式为 “while (1)”,回车后加一对花括号,“while” 是关键字,会变成蓝色。“while” 循环判断括号里的逻辑表达式,若为真则执行花括号里的语句,这里写 “1”,“1” 代表永远为真,程序会一直在循环里,相当于停下来。再次编译下载,现象不变,但程序实际上已停止对 P2 口的操作。

#includevoid main(){P2=0xFE; //1111 1110while(1){}

还可对程序进行升级,之前让 P2 口引脚电平为 “1111 1110” 点亮一个 LED,若想让 8 个 LED 一个亮一个灭,可把 “fe” 改成 “55”,十六进制的 “55” 是二进制的 “0101 0101”,下载后可看到 LED 间隔亮灭的现象。

http://www.yayakq.cn/news/659208/

相关文章:

  • 好用建站模板建设网站需要什么人员
  • 网站做网站做任务适合做网站开发的电脑配置
  • 长春网站建设外包在哪学短视频培训课程
  • 做招聘信息的网站有哪些全球最好的域名注册公司
  • 如何在百度里做推广网站如何提升网站alexa排名
  • 建站工具箱 discuz城市建设模拟游戏网站中文注解
  • 济南物流公司网站建设网站二次开发没人做
  • 网站介绍怎么写范文wordpress云建站教程视频
  • 各主流网站做景区宣传网站怎么制作小程序
  • 一站式平台网站开发技术wordpress编辑器媒体库
  • 保险微网站制作智慧校园学生管理系统
  • 网站添加在线支付wordpress菜单移到右边
  • 做电商网站的框架结构图重庆建设网站哪里好
  • 桂林北站是哪个区河南省和建设厅网站
  • 沈阳专业网站制作设计汽车专业科技网站建设
  • 郑州租赁房网站建设做招聘信息的网站
  • 静态网站建设的技术运用网站建设单子
  • 邵东做网站的公司wordpress文字头像
  • 网站建设与维护协议自己做网站需要做啥
  • 广西网站建设产品介绍市场调研的方法有哪些
  • 儋州市住房和城乡建设局官方网站asp网站建设外文参考文献
  • 杭州雄飞网站建设网络公司三站合一网站营销
  • 厦门人才网唯一官方网站wordpress论坛模板
  • 建站公司怎么获客虚拟主机装2个wordpress
  • wordpress如何把网站语言改成英文买域名做网站推广都是些什么
  • 南阳网站排名价格一个网站多少钱?
  • 成都网站制作培训多少钱wordpress还原网站源码
  • 传媒建站推荐西安网站制作设计找哪家
  • 免费域名网站的广州开发区第二小学
  • 网站流量的重要性网站建设情况登记表