51单片机之数码管动态循环左移显示手机号
#include<reg52.h>
#define uchar unsigned char;
#define uint unsigned int;sbit beep=P1^2;
sbit P2_0 = P2^0;//位选数据的十位,即左边第一位数码管
sbit P2_1 = P2^1;//位选数据的个位,即第二位数码管
sbit P2_2 = P2^2;//位选数据的十位,即第三位数码管
sbit P2_3 = P2^3;//位选数据的个位,即最后一位数码管unsigned char tcount,a=0,kk=0;
unsigned char table1[]={0x00,0x00,0x00,};//加上你想要显示的手机号对应十六进制/* 延时1ms的延时函数 */
void delay_ms(unsigned int n)
{unsigned int i=0,j=0;for(i=0;i<n;i++)for(j=0;j<123;j++);
}/* 数码管显示函数 */
void SMG_display()
{P0=table1[kk];//第1个数码管显示的数字P2_0 = 0;delay_ms(2);P2_0 = 1;P0=table1[kk+1];//第2个数码管显示的数字P2_1 = 0;delay_ms(2);P2_1 = 1;P0=table1[kk+2];//第3个数码管显示的数字P2_2 = 0;delay_ms(2);P2_2 = 1;P0=table1[kk+3];//第4个数码管显示的数字P2_3 = 0;delay_ms(2);P2_3 = 1;
}/* 定时器初始化 */
void Timer0Init()
{TMOD=0x01; //定时器0中断方式1TH0=(65536-5000)/256; //设初值5000us=5msTL0=(65536-5000)%256;EA=1; //打开总中断开关ET0=1; //T0中断允许TR0=1; //T0中断开始(启动T0)
}/* 定时器中断 */
void timer0() interrupt 1 using 0
{TH0=(65536-5000)/256; //无自动重装载功能,需要再次设初值TL0=(65536-5000)%256;tcount++; //中断循环次数,每次进入中断tcount数值加1SMG_display(); if(tcount==200) //200*5000us=1s{tcount=0;kk++;if(kk>10){kk=0;beep=0;delay_ms(50);beep=1;}}}
/* 主函数 */
void main()
{Timer0Init();while(1);
}
51单片机之数码管动态循环左移显示手机号相关推荐
- 51单片机八位数码管1到F动态滚动显示仿真及程序
51单片机八位数码管1到F动态滚动显示仿真及程序 动态滚动显示仿真及程序 #include<reg51.h> #define uchar unsigned char #define uin ...
- 单片机学习笔记————51单片机实现数码管中的倒计时程序
一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...
- 51单片机实现数码管显示小数
51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...
- 51单片机七段数码管显示时钟无按键控制—①—74HC595版
参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...
- 51单片机控制数码管显示
前言 今天学习51单片机的数码管模块 我的学习板上面的数码管是4为一体由12个引脚控制的模块. 今天就编程控制它显示我们想要的输出. 数码管本质上是由8个LED拼接而成的,他们分别叫做a,b,c,d, ...
- 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真
51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...
- 51单片机学习 数码管 倒计时
51单片机学习 数码管 倒计时 简介 1.硬件部分 普中单片机 开发板 (138译码器控制)数码管 2.软件部分 keil软件 硬件部分 138译码器 简介 74LS138 为3 线-8线译码器,共有 ...
- 利用51单片机+0.96寸iic接口oled显示图片或动图
利用51单片机+0.96寸iic接口oled显示图片或动图 前言:之前讲过如何使用oled显示数字以及字符,但并未讲述如何显示BMP格式的图片, 这篇将在之前的基础上加以封装一些函数用来显示图片 硬件 ...
- 【031】基于51单片机的超声波倒车雷达系统(带温度显示补偿)Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计一份: (2).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计 ...
最新文章
- nyoj——297(期望)
- STK 卫星覆盖分析笔记
- QT的QGraphicsPathItem类的使用
- centOS目录结构
- 让你成为高效的Web开发者的10个步骤
- 36岁,还要不要去互联网公司
- gpu版本的torch安装
- mac笔记本安装tree工具显示文件目录结构
- h5带mysql数据库的留言板_html5实现留言板的代码实例分享
- 2017 年“认证杯”数学中国数学建模网络挑战赛 比赛心得
- 基于 Mybatis 和 Springboot 的后台管理系统 BootDo | 软件推介
- Word另存为PDF时,将目录转换为PDF书签
- 真正的QString转char,utf8编码转gb2312编码
- 送男孩子情人节礼物送什么?情人节必备礼物合集
- 计算机科学与技术影响因子排名,173个学科SCI期刊影响因子排名
- Android之Manifest文件
- 黑马程序员匠心之作|C++教程从0到1入门编程-c++核心编程
- 机器学习——线性回归(拟合一条直线)
- Ext3文件系统介绍
- 高考投档计算机检索,高考志愿投档
热门文章
- js操作session
- eMMC(一)——基本架构
- javascript textarea的换行符
- spring报错:ORA-01017: invalid username/password; logon denied
- java random nextint_java Random.nextInt()方法的具体使用
- 全球及中国酸性饮料行业研究及十四五规划分析报告
- php开发环境搭建套件,PHP开发环境套件与自定义安装方法介绍
- HTML往herf超链接中插入变量
- Selenium 常用函数总结
- 手把手教你 Tableau 绘制漏斗图(二十一)