AT89C51单片机数码管闪烁问题怎么解决0

LJbobo2018.05.04浏览32次分享举报

#include#defineu8unsignedchar#defineu16unsignedintsbitdula=P2^6;//段选信号的锁存器控制sbitwela=P2^7;//位选信号的锁存器控制u8codewei[]={0x7f,0xbf,0xdf,0xef,0xf7,0... #include

#define u8 unsigned char

#define u16 unsigned int

sbit dula=P2^6;//段选信号的锁存器控制

sbit wela=P2^7;//位选信号的锁存器控制

u8 code wei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//数码管各位的码表

u8 code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x00};//0-f的码表

u8 dis_shu[8]={0};

bit dis_flag=0;

u8 lcd_state=0;

u8 dis_time_count=0;

//******数码管显示函数***********//

void display(long num)

{

long i,weishu;

for(weishu=0,i=num;i;weishu++)

{

i=i/10;

}

for(i=weishu;i;i--)

{

dis_shu[8-i]=num%10;

num=num/10;

}

for(i=weishu;i<8;i++)

{

dis_shu[7-i]=9;

}

if(dis_flag==1)

{

dis_flag=0;

switch(lcd_state)

{

case 0:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 1:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 2:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 3:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 4:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 5:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 6:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

case 7:dula=1;P0=duan[dis_shu[lcd_state]];dula=0;P0=0x00;wela=1;P0=wei[lcd_state];wela=0;break;

default:break;

}

lcd_state=(++lcd_state)%8;

}

}

//********定时器0中断处理函数********//

void Timer0() interrupt 1

{

dis_time_count++;

if(dis_time_count==2)

{

dis_time_count=0;

dis_flag=1;

}

TH0=0xfc;

TL0=0x18;//中断10us

}

//********定时器0初始化函数********//

void time0init()

{

TMOD=0x01;

TH0=0xfc;

TL0=0x18;//中断10us

ET0=1; //允许T0中断

TR0=1; //开启定时器

EA=1; //开启总中断

}

void main()

{

time0init();

dula=0;

wela=0;

while(1)

{

display(678);

}

} 展开

51单片机数码管闪烁c语言,AT89C51单片机数码管闪烁问题怎么解决相关推荐

  1. 单片机设置12分频c语言,AT89C51单片机,如何实现延迟一秒

    满意答案 爱在身边lovely 2013.09.07 采纳率:59%    等级:12 已帮助:7408人 其实可以用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都 ...

  2. 51单片机设计简易计算机原理,基于AT89C51单片机简易计算器的设计(DOC).docx

    PAGE PAGE # 基于AT89C51单片机简易计算器的设计 [摘要]单片机的出现是计算机制造技术高速发展的产物,它是嵌 入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域, 电子.科技 ...

  3. 基于at89c51单片机的led数字倒计时器设计c语言,at89c51单片机led数字倒计时器课程设计论文-本科毕业设计.doc...

    课 题: AT89C51单片机LED数字倒计时器 专 业: 班 级: 学 号: 姓 名: 指导教师: 设计日期: 成 绩: 重庆大学城市科技学院电气学院 目录 一.设计目的作用1 二.设计要求1 三. ...

  4. 52单片机led灯闪烁c语言程序,单片机 LED 灯闪烁程序

    点亮 LED 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁 ...

  5. rs232通信接口单片机51c语言,AT89C51单片机控制的CAN总线RS232接口电路设计

    内容介绍 原文档由会员 jiji888 发布 AT89C51单片机控制的CAN总线/RS232接口电路设计 1.44万字 我自己原创的毕业设计,今年最新的,仅在本站独家提交,大家放心使用 目录 引言1 ...

  6. 单片机原理及应用c语言编程,单片机原理及应用(C语言版)

    目录 模块1单片微型计算机 项目1:认识单片微型计算机 任务11:认识单片机 任务12:相关知识 项目2:认识单片机应用 任务21:了解单片机应用 任务22:相关知识 项目3:认识仿真软件Pr ...

  7. 单片机里程计量设计c语言,基于单片机的出租车计价器的里程计算设计

    社会发展的越快,人们的生活质量越好,从以前的走路.骑自行车,再到坐公交车地铁等,到了现在出门"打的",出租车已经成为人们出门的重要代步工具了.因此出租车计价器系统也显得尤为重要.计 ...

  8. 两位数码管秒表c语言,两位数码管显示计时器.doc

    两位数码管显示计时器 一.题目 用定时0的方式1实现数码管两位59S循环计时(计时器) 二.思路方案 本实验利用单片机的定时器/计数器定时和计数的原理,通过proteus 仿真软件来实现模拟实现.模拟 ...

  9. 单片机自动售货机c语言,基于单片机的自动售货机

    随着人工.场地等费用不断增加,需要有人值守的商店售卖商品模式成本太大,需要一种新型的.自动的.无人的售货系统来代替.自从自动售货机发明以来,这种机器就在全球范围迅速普及推广.本文意在通过单片机来设计一 ...

  10. 基于单片机的数字电压表设计c语言,基于单片机的数字电压表设计(.doc

    基于单片机的数字电压表设计( 成绩 西南科技大学城市学院 City College of Southwest University Of Science and Technology 基于单片机的数字 ...

最新文章

  1. PHP 取302跳转后真实 URL 的两种方法
  2. poj-3641 Pseudoprime numbers(费马小定理)
  3. Jquery的toggle()与trigger()方法
  4. JavaScript 发布-订阅模式
  5. 前端设置使用rem最经典代码
  6. 安卓逆向_11 --- methodprofiling(方法分析)【在 smali 代码中打印信息 --- 协议分析常用】
  7. 阿里云RDS深度定制-XA Crash Safe
  8. 6.4. Test::More
  9. 在windows系统上word转pdf
  10. 网易python面试_网易游戏面试经验(一)
  11. 人脸对齐(十九)--Regressing a 3D Face Shape from a Single Image
  12. SpringBoot的C2C水果商城系统
  13. 简单易学!一步步带你理解机器学习算法——马尔可夫链蒙特卡罗(MCMC)
  14. JQuery.BlockUI弹框插件
  15. Linux固态硬盘 设置写入缓存,固态硬盘做缓存如何设置
  16. 东莞:“风暴眼”中的世界工厂
  17. 项目开发流程_【直播回放】房地产开发项目全流程全税种税收筹划
  18. 2012蓝桥杯省赛真题 鲁卡斯序列
  19. VMware多款产品中存在两个严重漏洞,美国国土安全部要求联邦机构5天内修复
  20. 双端影视APP后台搭建及前端安装编译大概流程

热门文章

  1. Java性能优化的50个细节(珍藏版)
  2. linux 交叉编译ffplay,交叉编译ffmpeg生成ffplay
  3. [免费专栏] ATTACK安全之Android ICMP隧道攻击原理与入侵检测实践
  4. gsp认证计算机系统检查内容,版GSP认证之附录计算机系统检查项目PPT课件.ppt
  5. Pytorch:目标检测网络-非极大值抑制(NMS)
  6. 在php页面出现乱码的原因,html网页乱码原因与解决方法
  7. Docker搭建Nginx集群
  8. NGINX集群+KeepLived实现高可用
  9. 湖南省工业技师学院计算机证,湖南省工业技师学院
  10. 京东商城,超大型电商系统架构设计原则与实践!8页ppt详解