蜂鸣器代码

#include<reg52.h>
#include<intrins.h>#define uint unsigned int
#define uchar unsigned charsbit beep=P2^3;
uchar temp;
void delay(void)   //误差 -0.000000000023us
{unsigned char a,b;for(b=221;b>0;b--)for(a=207;a>0;a--);
}
void main()
{temp=0xf0;P1=temp;while(1){temp=_crol_(temp,1);P1=temp;beep=~beep;//~是按位取反,蜂鸣器给0响,给1不响delay();}}

数码管:

数码管由a到dp分别接的是P0.0到P0.7
a是低位dp是高位, 若想输出一则b、c输出高电压,由高位到低位排序二进制是00000110,然后将二进制转换为16进制是0x06。原理就是这样的,下面是数字显示对应16进制的数:
位选和段选:
a~dp是段选,公共脚是位选



静态显示:

#include<reg52.h>
#include<intrins.h>#define uint unsigned int
#define uchar unsigned charsbit beep=P2^3;
sbit DUAN =P2^6;//数码管段选
sbit WEI=P2^7; //数码管位选
uchar temp;
void main()
{WEI=1;//打开位选锁存器P0 = 0xfe;//1111 1110 给第一个数码管接地,让它工作WEI =0;//关闭位选锁存器,进行段选(显示数字)DUAN=1;//打开段选锁存器P0 = 0x06;DUAN =0;//锁存段选锁存器
}

动态显示:

#include<reg52.h>
#include<intrins.h>#define uint unsigned int
#define uchar unsigned charsbit beep=P2^3;
sbit DUAN =P2^6;//数码管段选
sbit WEI=P2^7; //数码管位选
uchar temp;
//共阴极数码管段选表0——9,code表示数组中的数据在程序执行过程中不能被修改
//加code存放的是ROM区不加code存放的是RAM区
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(void)   //误差 -0.000000000001us
{unsigned char a,b;for(b=15;b>0;b--)for(a=152;a>0;a--);
} void display(uint i)
{   uint bai,shi,ge;bai=i/100;shi=i%100/10;ge=i%10;P0=0xff;//清除断码WEI=1;//打开位选锁存器P0 = 0xfe;//1111 1110 给第一个数码管接地,让它工作WEI =0;//关闭位选锁存器,进行段选(显示数字)DUAN=1;//打开段选锁存器P0 =table[bai];DUAN =0;//锁存段选锁存器delay();P0=0xff;//清除断码WEI=1;P0 = 0xfd;WEI =0;DUAN=1;P0 = table[shi];DUAN =0;delay();P0=0xff;//清除断码WEI=1;P0 = 0xfb;WEI =0;DUAN=1;P0 = table[ge];DUAN =0; delay(); }void main()
{while(1){display(999);}
}

C51蜂鸣器和数码管动静态显示相关推荐

  1. 【51单片机】数码管的静态显示

    数码管的静态显示 锁存引脚高电平表示直通状态,为低电平表示锁存状态 段锁存定位显示数字,位锁存定位用哪段数码管 12M的晶振接两个30pf的电容,6M的晶振接20pf的电容 三态:高电平,低电平,高阻 ...

  2. 51单片机入门—共阳数码管的静态显示

    共阳数码管的静态显示 共阳数码管的原理图 共阳数码管的原理图 数码管的类型 CT107D单片机综合实训平台上使用的数码管是F3461BH,倒数第2个字母是"B",说明这个数码管是共 ...

  3. 蓝桥杯单片机学习日记1-LED 蜂鸣器 继电器 数码管的简单驱动

    此片文章用于记录蓝桥杯单片机的学习. LED 蜂鸣器 继电器 数码管 这些都是比赛时常用的外设,如下原理图:  LED部分:  蜂鸣器和继电器部分(图中还有步进电机部分):  数码管部分: 可见,上述 ...

  4. 任务11:“数码管”的静态显示和动态显示

    本系列教程以AVR单片机为对象,介绍单片机的快速开发方法. 参考教材:<单片机技术及应用项目教程> 栾秋平 电子工业出版社 2019.6 第1版 本文介绍"数码管"的静 ...

  5. 【蓝桥杯-单片机学习笔记(三)】共阳数码管的静态显示

    一.要求 在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复. 二.数码管 1.七段数码管 七段数码管,其实内部由8个发光二极管构 ...

  6. 51单片机怎么显示当前时间_(进阶篇)51单片机之按键控制蜂鸣器、数码管、按键值移位显示...

    一.实操演示- 按键控制蜂鸣器 1.图文详细 独立按键硬件电路 蜂鸣器硬件电路 2.连接方式: J20的第3号引脚连接到J7引脚,即P15连接J7. J29的第7.8号引脚连接到JP1的第1.2号引脚 ...

  7. 5动态显示图片_单片机入门 数码管的静态显示和动态显示 壁纸

    首先是静态显示,代码如下 #include "reg52.h"sbit dula=P2^6; sbit wela=P2^7;main() {wela=1;//打开位选,控制哪个数码 ...

  8. 蓝桥杯学习03-共阳数码管的静态显示

    要点:数码管的显示原理与对应段码:数码管显示的相关思维 1.原理图接口对应: [注] Y6C控制公共端com,Y7C控制段码显示: com端:公共端控制数码管数字的显示: 2.共阳数码管F3461BH ...

  9. 学习笔记——共阳数码管的静态显示

    目录 一.任务简述 二.实现方法 三.参考代码 一.任务简述 在CT107D单片机上实现8个数码管分别单独依次显示0-9,然后所有数码管同时显示0-9,以此循环. 二.实现方法 实现方法很简单,先弄清 ...

最新文章

  1. MQTT:物联网的神经系统
  2. IDEA出现import org.junit.Test飘红解决方案
  3. excel如何把顺序倒过来_Excel 中的计算运算符和优先顺序级别
  4. 【解题报告+感想感言】2019年第十届蓝桥杯【C++省赛B组】【第五题:迷宫】
  5. oracle32位客户端安装教程,Win7系统32位Oracle11g客户端安装详述
  6. Vs2010架构设计-层图(Layer Diagram)
  7. python中监控错误的语句_Python学习_07_错误、异常
  8. Java程序员已经饱和了,还有必要培训Java编程嘛
  9. 使用webpack搭建vue项目;webpack+vue
  10. window电脑垃圾清理脚本
  11. kingbase之时间日期加减
  12. tomcat服务器连接数问题解决
  13. 第二章 一阶逻辑 2.2 一阶逻辑合式公式及解释
  14. 哔哩哔哩2020年Q4及全年财报:全年营收120亿元,同比增长77%
  15. 微信小程序支付开发具体步骤
  16. Java项目:SSM药品进货销售仓储信息管理系统
  17. java实现16支球队分成4组
  18. 浏览器中利用js打包下载所有类型文件
  19. 神鱼:未来PoS是更好的选择,Staking和Defi可能会形成博弈
  20. 解决C3P0在Linux下Failed to get local InetAddress for VMID问题

热门文章

  1. 【Python函数】——sort,sorted
  2. python字典格式_python – 格式self,这是一个字典
  3. python怎样分析文献综述怎么写_怎么写文献综述?
  4. RE validation in Java EE
  5. bzoj 3157 bzoj 3516 国王奇遇记 —— 推式子
  6. php-fpm配置笔记
  7. C# Redis实战(二)
  8. UltraGrid中实现下拉Grid(UltraDropDown)
  9. mysql几个timeout参数_MySQL中 timeout相关参数解析
  10. 涂鸦WIFI模组方案(模组 SDK)