《单片机控制LED灯点亮(C语言).PPT》由会员分享,可在线阅读,更多相关《单片机控制LED灯点亮(C语言).PPT(45页珍藏版)》请在人人文库网上搜索。

1、1,单片机控制 led灯点亮,2,主要内容,一、点亮板子上的第一个灯D0 二、点亮板子上的D0、D2、D4、D6灯,与D1、D3、D5、D7灯交替闪烁 三、流水灯:从D0-D7依次点亮,3,一、点亮板子上的第一个灯D0,1)目标 了解单片机的基本设计思路和编程方法,和单片机的最小系统。 2)分析 利用单片机的一个输入/输出口来控制一盏发光二极管点亮,4,引脚,1)4个I/O口占了32个引脚 2)电源和接地又占了2个引脚 3)剩下的6个引脚是时钟引脚和控制引脚,5,6,硬件说明,使用单片机的P1口来驱动8个LED,发光二极管的阳极接高电平,故P1口为低电平时,就可以驱动其点亮 D0与P1.0口是。

2、相连的,P1.0用来表示P1口的最低位; 本任务中给单片机的P1.0口一个低电平信号即可完成控制。所以,只需给P1.0低电平信号,其他引脚均为高电平,7,点亮D0灯: D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 1 1 1 1 0 从二进制转化为十六进制:0 xfe,8,源程序,include void main() P1=0 xfd;,9,Keil的使用,掌握Keil工程的建立和软件的开发,10,1启动Vision Vision2是一个标准的Windows应用程序,双击Keil Vision2图标即可启动,也可以选择“开始”“程序”Keil Vision2”命令来启动运行。其。

3、主界面如图1-28所示,11,2创建一个项目并选择单片机 选择“Project”(项目)“New Project”(新建项目)命令,如图1-29所示,将弹出“Greate New Project”(新建项目)对话框,12,随后会弹出一个对话框,要求选择单片机的型号。在该对话框中显示了Vision2的器件数据库,从中可以根据使用的单片机来选择,13,AT89S52,8051 based Full Static CMOS controller with Three-Level Program Memory Lock, 32 I/O lines, 3 Timers/Counters, 8 Inter。

4、rupts Sources, Watchdog Timer, 2 DPTRs(DATA POINTER REGISTERS ), 8K Flash Memory, 256 Bytes On-chip RAM 基于8051全静态CMOS控制器、 三级加密程序存储器 、 32个I/O口 、三个定时器/计数器 、八个中断源 、看门狗定时器、2 个数据指针 寄存器、8k字节Flash,256字节片内RAM,14,3创建一个新的源程序文件,并把这个源文件添加到项目中 单击工具栏中的新建文件图标(或选择“File”(文件)“New”(新建)命令),文件操作窗口即可出现新建文件。保存该空白文件,单击工具栏中。

5、的保存图标(或选择“File”(文件)“Save”(保存)命令),弹出如图1-32所示的“Save as”(保存为)对话框,在“文件名”文本框中输入欲保存的文件名,保存时注意加上正确的后缀名,15,单击Target 1前面的+号,然后在Source Group 1上单击鼠标右键,弹出快捷菜单。 选择“Add Files to Group Source Group 1”(添加文件到项目)命令,弹出如图1-34所示的对话框。选中文件(注意选择文件类型),然后单击“Add”(添加)按钮,即可添加选中文件到项目中,16,4输入源程序:此时就可以输入源程序了。 5设置目标硬件的工具选项 程序编写完成后,。

6、还要对项目进行进一步的设置,以满足要求,17,Output”选项卡 如图所示,其中有多个选项,此处选择“Create HEX File”复选框用于生成可执行代码文件,该文件可以用编程器写入单片机芯片,文件的扩展名为.HEX,默认情况下该项未被选中,如果要写芯片做硬件实验,就必须选中该项。其余选项均取默认值,不做任何修改,18,6编译项目并创建HEX文件 可以通过工具栏中的图标直接进行。从左到右的图标分别是:编译、编译连接、全部重建、停止编译和对工程进行设置,19,对源程序编写之后编译,最终要得到结果,提示0个错误,0个警告。同时还可看到,该程序的内部RAM的使用量(data=8.0),外部RA。

7、M的使用量(xdata=0),代码量(code=18)等一些信息,20,7.将生成的hex文件,通过ISP下载到板子中。 请观察现象,21,源程序,include void main() P1=0 xfd;,22,C语言复习,Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main() 总程序从这里开始执行; 其他语句;,23,C语言-51单片机的头文件,通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h 常用有:reg51.h。

8、 reg52.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算,24,十六进制,是二进制的简短表示形式。 十进制中的0-15分别表示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 熟练掌握二进制与十六进制之间的转换。 规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数,25,二进制和十六进制的转换,如:0001B - 1H B表示为二进制,H为十六进制 1001B - 9H 1010B - AH 0010 1100 - 2CH 1111 1110 - FEH 在C语言编程中是不。

9、能用H的.十六进制整常数的前缀为0X或0 x,26,十六进制整常数,十六进制整常数的前缀为0X或0 x。其数码取值为09,AF或af。 以下各数是合法的十六进制整常数: 0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535) 以下各数不是合法的十六进制整常数: 5A (无前缀0X) 0X3H (含有非十六进制数码,27,各种进位制的对应关系,28,二、点亮板子上的0、2、4、6灯,与1、3、5、7灯交替闪烁,29,点亮0、2、4、6灯: D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 0 1 0 1 0 从二进制转化为十六进制:0 xaa 点亮。

10、1、3、5、7灯: D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 1 0 1 0 1 从二进制转化为十六进制:0 x55,30,include #define uint unsigned int #define uchar unsigned char void delay(); void main() while(1) P1=0 xaa; delay(); P1=0 x55; delay(); void delay() uint x,y; for(x=100;x0;x-) for(y=600;y0;y-) ;,31,1)宏定义 #define uint unsigned int 。

11、#define uchar unsigned char #define 标识符 字符串 C语言中的例子: #define PI 3.1415926 2)函数声明 函数声明是指函数的定义在后面,而前面需要对它进行调用,这样就需要预先作声明,一般来说函数的声明只是函数首部加上分号即可,32,3)数据类型 Int signed int 范围是多少? unsigned int 范围是多少? char 可以表示小整数或者单个字符。 当char表示整数时, signed char的范围是多少? unsigned char的范围是多少,33,C51的数据类型,基本数据类型,类型,符号,关键字,数的表示范围,。

12、所占位数,整型,字符型,实型,有,无,signed) int,16,3276832767,signed) short,16,3276832767,signed) long,32,21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,128127,无,unsigned char,8,0255,34,4)While (表。

13、达式)语句(内部也可为空)特点:先判断表达式,后执行语句。原则:若表达式不是0,即为真,那么执行语句。否则跳出while 语句。 While(1) while(1)就是while(true),条件判断直接为true,循环永远不会退出 。也称为死循环,35,5)delay()函数 是一个延时函数。 两个for语句,构成了循环嵌套。用数数的方式消耗时间产生延迟效果 。具体延迟多久取决于若干因素,以后再讨论。 void delay() uint x,y; for(x=100;x0;x-) for(y=600;y0;y-) ; 注意:第二个for循环体是一条空语句,36,5)for循环 for (表达。

14、式1;表达式2;表达式3) 语句(内部可为空)执行过程:1.求解一次表达式1.2.求解表达式2,若其值为真(非0 即为真),则执行for中语句。然后执行第3步。否则结束for 语句,直接跳出,不再执行第3步。3.求解表达式3.4.跳到第2步重复执行,37,三、流水灯:从D0-D7依次点亮,38,分析: D0亮 0 xfe 11111110 D1亮 0 xfd 11111101 D2亮 0 xfb 11111011 D3亮 0 xf7 11110111 D4亮 0 xef 11101111 D5亮 0 xdf 11011111 D6亮 0 xbf 10111111 D7亮 0 x7f 01111。

15、111,39,软件分析: 1)依次把这8个值赋给P1口,延时一段程序,40,void main() while(1) P1=0 xfe; delay(100); P1=0 xfd; delay(100); P1=0 xfb; delay(100); P1=0 xf7; delay(100); P1=0 xef; delay(100); P1=0 xdf; delay(100); P1=0 xbf; delay(100); P1=0 x7f; delay(100);,41,2)将0 xfe赋给P1口,然后使用移位函数来改变P1口的值,达到流水灯的效果 移位函数: _crol_,_cror_:将c。

16、har型变量循环向左(右)移动指定位数后返回 。 _crol_,_cror_: c51中的intrins.h库函数,42,include #include #define uint unsigned int #define uchar unsigned char uchar temp; void delay(uint,程序如下,43,void main() temp=0 xfe; while(1) for(num=0;num8;num+) P1=temp; delay(100); temp=_crol_(temp,1); P1=0 xff; delay(100);,44,void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-) ;,45,课后练习,请在keil环境下编写一下程序: 1.点亮最后一个LED 2.点亮1、2、5、6这四个LED 3. 让第三个LED闪烁 4. 设计出流水灯程序,从D7D0。

c语言程序小灯从右向左闪烁,单片机控制LED灯点亮(C语言).PPT相关推荐

  1. stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭

    stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭 接触stm32已经有一年半的时间了,从最开始的stm32F103ZET ...

  2. 按键控制led灯python程序_树莓派使用threading函数实现多按键控制LED灯

    讲两个知识点.一个是关于上拉和下拉,另一个是关于threading函数. 1.上拉电阻和下拉电阻 上拉就是把一个不确定的信号通过一个电阻连接到高电位,这样在开关断开是信号为高电位,开关合上时信号为低电 ...

  3. 51单片机控制LED灯

    个人网站:Geek交流圈 控制单个LED灯 基础知识 C-51的数据类型扩充定义sfr:特殊功能寄存器声明sbit:特殊功能位声明bit:位变量声明 例:sfr SCON = 0X98;sbit OV ...

  4. 51单片机-控制LED灯

    目录 1.硬件设计 2.软件设计 2.1.点亮一颗LED灯 2.2.LED闪烁 2.3.LED流水灯 3.知识点 3.1.while函数的应用 3.2.常用数据类型 3.3.延时函数的自动生成 1.硬 ...

  5. 一、51单片机控制LED 灯

    1.目标分析 通过51单片机控制8个LED灯依次点亮,形成流水灯. 2.原理图分析 2.1. 74HC573芯片 (1) LED控制涉及到74HC573芯片,上图中的U13.想知道该芯片如何工作的,应 ...

  6. 51单片机led灯闪烁程序C语言,51单片机控制led灯闪烁程序

    Keil 写程序的过程,建立工程-->保存工程-->建立文件-->添加文件到工程-->编写程序-->编译-->下载程序. #include sbit LED = P ...

  7. 按键控制LED定时点亮c语言,单片机定时中断循环点亮LED灯,我有个51单片机的实验,要求51单片机的P1口外接发光二极管依。...

    网友问答: #include #include #define uchar unsigned char#define uint unsigned intsbit ds=P2^2;sbit dula=P ...

  8. 51单片机控制LED灯显示模式

    1.在交通灯控制系统的基础上修改硬件电路 2.AT89C51单片机的P1口接8个独立按键,P0口接8个LED灯,led等的上拉电阻改用排阻,设计硬件电路. 3.编写程序,实现基本要求:当P1.0键按下 ...

  9. 单片机控制LED灯长亮

    #include <reg51.h> //此文件中定义了51的一些特殊功能寄存器void main() { P1 = 0x00; //置P0口为低电平 } 使用低电平驱动,LED发光二极管 ...

最新文章

  1. 2017-2018-1 20155202 《信息安全系统设计基础》第9周学习总结
  2. 【怎样写代码】确保对象的唯一性 -- 单例模式(一):问题案例
  3. 微信小程序接入,https服务器搭建和调试
  4. 用户模式 VS 内核模式(1)
  5. 写更漂亮的javascript
  6. 【例题+习题】【数值计算方法复习】【湘潭大学】(一)
  7. python卸载旧版本后依旧残余的问题
  8. Win32 文件(2)
  9. 检查pdf字体是否全部嵌入
  10. 逻辑回归算法深度思考-优点和缺点
  11. 感谢有你,一路同行,历史文章汇总,涉及STM32、模块使用、传感器、物联网、鸿蒙、仿真和综合实例等嵌入式的方方面面,欢迎关注。
  12. 2018校招笔试真题汇总
  13. bootstrap btn按钮颜色
  14. 通过GB28181实现对安防摄像头的直播回放控制
  15. 用c语言做一个五子棋程序,C语言制作简单五子棋游戏
  16. sass、scss、和css的关系
  17. OrCAD怎样把原理图输出为DXF格式
  18. 图像特征提取之Haar特征_人脸识别
  19. 如何听节拍器_钢琴练习中节拍器的使用
  20. photoshop保存背景透明图片办法

热门文章

  1. python脚本转lua_从Python运行Lua脚本
  2. 功率放大器模块是什么?哪里可以采购?
  3. 高分屏使用IDEA的缩放优化
  4. 用代理服务器实现Drcom共享上网
  5. LeetCode刷题记录(3)
  6. Win7 魔兽争霸打开时最小化
  7. 马克斯cms有php,马克斯CMS(maxcms)
  8. 个人站长福音:接入支付宝接口,实现在线支付功能
  9. 去除有道云笔记总在最前的设置
  10. 4-5 实现其他菜单项(Implementing the Other Menus)