课设题目:数码管手机号
要求:四位一体共阴数码管循环左移显示手机号,显示完成蜂鸣器响一次,重复循环
一:共阴极数码管16进制编码1~f如下:
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
二:proteus中各元件符号表示:CRYSTAL 晶振 ;电解电容:CAP-即可搜到;电阻:res;
7SEG-MPX4-CC 四个共阴二极管显示器 1234 是阴公共端;
排阻:respack
三:总体电路图
  
实物图:(前三位的手机号,太懒,不想上传太多图片了)
四  代码实现
#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单片机之数码管动态循环左移显示手机号相关推荐

  1. 51单片机八位数码管1到F动态滚动显示仿真及程序

    51单片机八位数码管1到F动态滚动显示仿真及程序 动态滚动显示仿真及程序 #include<reg51.h> #define uchar unsigned char #define uin ...

  2. 单片机学习笔记————51单片机实现数码管中的倒计时程序

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

  3. 51单片机实现数码管显示小数

    51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...

  4. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  5. 51单片机控制数码管显示

    前言 今天学习51单片机的数码管模块 我的学习板上面的数码管是4为一体由12个引脚控制的模块. 今天就编程控制它显示我们想要的输出. 数码管本质上是由8个LED拼接而成的,他们分别叫做a,b,c,d, ...

  6. 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真

    51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...

  7. 51单片机学习 数码管 倒计时

    51单片机学习 数码管 倒计时 简介 1.硬件部分 普中单片机 开发板 (138译码器控制)数码管 2.软件部分 keil软件 硬件部分 138译码器 简介 74LS138 为3 线-8线译码器,共有 ...

  8. 利用51单片机+0.96寸iic接口oled显示图片或动图

    利用51单片机+0.96寸iic接口oled显示图片或动图 前言:之前讲过如何使用oled显示数字以及字符,但并未讲述如何显示BMP格式的图片, 这篇将在之前的基础上加以封装一些函数用来显示图片 硬件 ...

  9. 【031】基于51单片机的超声波倒车雷达系统(带温度显示补偿)Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计一份: (2).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计 ...

最新文章

  1. nyoj——297(期望)
  2. STK 卫星覆盖分析笔记
  3. QT的QGraphicsPathItem类的使用
  4. centOS目录结构
  5. 让你成为高效的Web开发者的10个步骤
  6. 36岁,还要不要去互联网公司
  7. gpu版本的torch安装
  8. mac笔记本安装tree工具显示文件目录结构
  9. h5带mysql数据库的留言板_html5实现留言板的代码实例分享
  10. 2017 年“认证杯”数学中国数学建模网络挑战赛 比赛心得
  11. 基于 Mybatis 和 Springboot 的后台管理系统 BootDo | 软件推介
  12. Word另存为PDF时,将目录转换为PDF书签
  13. 真正的QString转char,utf8编码转gb2312编码
  14. 送男孩子情人节礼物送什么?情人节必备礼物合集
  15. 计算机科学与技术影响因子排名,173个学科SCI期刊影响因子排名
  16. Android之Manifest文件
  17. 黑马程序员匠心之作|C++教程从0到1入门编程-c++核心编程
  18. 机器学习——线性回归(拟合一条直线)
  19. Ext3文件系统介绍
  20. 高考投档计算机检索,高考志愿投档

热门文章

  1. js操作session
  2. eMMC(一)——基本架构
  3. javascript textarea的换行符
  4. spring报错:ORA-01017: invalid username/password; logon denied
  5. java random nextint_java Random.nextInt()方法的具体使用
  6. 全球及中国酸性饮料行业研究及十四五规划分析报告
  7. php开发环境搭建套件,PHP开发环境套件与自定义安装方法介绍
  8. HTML往herf超链接中插入变量
  9. Selenium 常用函数总结
  10. 手把手教你 Tableau 绘制漏斗图(二十一)