51单片机怎么让数码管动态显示1234动态显示后通过按键变成静态显示?


是一个译码芯片,CBA二进制对应的十进制数值与Y0~Y7位置相符,Y输出端低电平有效
J13跳帽当1、2短接即存储器控制方式,2、3短接即IO口控制方式,习惯使用IO控制方式
当LE为高电平时候Q输出与D输入一致,当LE为低电平,Q输出不随D输入改变,能够起到锁存数据的功能,因为P0口分时复用,所以为了不影响驱动蜂鸣器、继电器等器件,开发板电路中采用触发器进行数据锁存
起到一个加大驱动电流且取反的作用,若N_BUZZ为低电平为蜂鸣器响。因此IN7为高电平,Q7位高电平,D7位高电平,P06为高电平且Y5C为高电平,Y5C要为高电平,则需要Y5为低电平(WR与GND短接,74HC02为或非门),也就是CBA对应101

状态机消抖/三行代码法独立按键实现蜂鸣器、继电器、LED控制

如果一个变量只有几种可能的值,则可以定义为“枚举类型”;所谓“枚举”就是把可能的值一一的列举出来,变量的值只限于列举出来的值的范围

enum 枚举类型{枚举成员列表}; //其中的枚举成员列表是以逗号“,”相分隔 默认情况下:该枚举列表中的常量值分别为:0,1,2,3,4

宏定义有弱点:其定义的只是预处理阶段的名字,在编译器的预处理阶段会进行简单的名字替换,而且不会进行类型的安全检查,其作用域是全局的,因此若程序中有变量true、false,则会被替换。为了避免这样的情况,采用将全部的宏用大写来命名,以区别于正常的代码。

9、IAP15使用的注意事项

内部RC振荡器(自带晶振)

1、在stc-isp点击“Keil仿真设置”->“添加型号和头文件到Keil中”,将文件添加到目录中后,创建项目选择MCU型号为“STC15F2K60S2”(差不多)
2、在option里点击“Debug”设置仿真器选择呢“STC Monitor-51 Driver”,COM口选择相应的口,波特率选选最高或默认即可
3、创建仿真芯片选择“将IAP15F2K61S2设置为仿真芯片(5.0V版本)”
1、P3.0和P3.1作为仿真使用的串口,如果操作P3.0和P3.1会导致仿真失败
2、软件延时指令集选择STC-Y5系统
3、断点是停止在此语句执行之前的

3、定时器(数量更多功能更多)
4、串口(数量更多功能更多)

1、熟悉如何使用IAP15单片机进行仿真
2、尝试用STC-ISP软件生成IAP15单片机的软件延时

10、程序结构及注意事项

1、定时器0:1ms中断一次
2、状态机消抖矩阵键盘函数

1、熟悉蓝桥杯模板的程序结构和函数
2、尝试自己编写类似的模板程序

1、熟悉CT107板子上的功能模块
2、熟悉8051系统单片机(微机原理)
4、熟悉运放基本原理和计算方法

最近进的公司是一个做路由器的。。很多嵌入式工程师。有个项目( 智能空调控制)是跟嵌入式工程师对接,我做APP+PHP。。他做服务器。我们用MQTT(由于emqtt是用erlang写的,所以我也学了点erlang,后期有时间分享一下,这个语言很好,很强大。特别抽象)。这个项目激发了我对嵌入式的兴趣,于是乎。开始从51单片机搞起了。。所以就有了这篇文章。。。今天搞得东西挺多。我最近都是笔记形式,不想以前写的那么详细。。。因为学的东西太多,白天在公司搞项目,没时间写太具体。。。

>keil安装和使用,下载程序到开发板

>点亮第一个led灯,这个很简单。给单片机的p0口 的最低位,输入一个高电平,就可以点亮一个动态数码管【当然下载程序之后,要连线】

>在点亮led之后,再加点程序控制,让led闪烁。。。闪烁的思路也简单: 一下高电平。然后延时,再低电平。。再延时。。就OK了。。延时多少秒合适? 可以通过keil软件仿真算出。仿真的时候,记得把晶振调整跟开发板一样。我的开发板是12M

>点亮led之后,再来一个流水灯,思路就是循环设置一个数码管的某一段 为 高电平。其他段为低电平。。然后,延时循环。就可以达到流水灯的效果

/* 方法一: 不用库函数 //方法二,使用库函数

>再然后,控制蜂鸣器。。我的开发板是无源蜂鸣器靠频率驱动。把频率换算成周期: F = 1 / T,周期通过延时函数实现。 然后改变高低电平的占空比,可以实现蜂鸣器的声音大小。频率改变的是蜂鸣器

//改变高低电平的占空比(比例) 控制蜂鸣器声音大小

>在然后,控制一个继电器。这个很简单。跟点亮led灯同样的思路

>再然后,在静态数码管上做了个循环显示0~F的程序,思路就是 1~F 怎么在静态数码管上表示? 因为我的开发板静态数码管是共阳数码管。要用低电平才能点亮对应的段。然后把每一位数字(0~F)对应的

二进制算出对应的十六进制,就是我程序中定义的那个数组表示的就是( 0 ~ F).

>在然后,在8个动态数码上显示1~8,用到38译码器模块的输入,输出,我的第一版(傻瓜版程序)

然后经过封装改造的程序:

我要回帖

更多关于 单片机怎么让数码管和流水灯一起亮 的文章

 

随机推荐