小白自备笔记···
····
数码管1S左移,6位数码管从999999每一秒钟减一倒着计数,点阵9-0倒计时显示。

#include<reg52.h>       //头文件
#include<intrins.h>         //库函数头文件
#define uint unsigned int     //宏定义
#define uchar unsigned char
#define ulong unsigned long
uchar flag=0;    //定义变量
static uint index=0;
sbit LED=P0^0;
sbit ADDR0=P1^0;     //位声明
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
uchar code ledchar[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};  //数码管真值表
uchar ledbuff[7]={0xff,0xff,0xff,0xff,0xff,0xff,0xff};
uchar code image[10][8]={0xFF,0xC3,0xDB,0xDB,0xC3,0xDF,0xC3,0xFF,  //90xFF,0xC3,0xDB,0xC3,0xDB,0xDB,0xC3,0xFF,0xFF,0xC3,0xDF,0xEF,0xF7,0xF7,0xF7,0xFF,0xFF,0xC3,0xFB,0xC3,0xDB,0xDB,0xC3,0xFF,0xFF,0xC3,0xFB,0xC3,0xDF,0xDF,0xC3,0xFF,0xEF,0xE7,0xEB,0xED,0x81,0xEF,0xEF,0xFF,0xFF,0xC3,0xDF,0xC3,0xDF,0xDF,0xC3,0xFF,0xFF,0xC3,0xDF,0xDF,0xC3,0xFB,0xC3,0xFF,0xFF,0xF3,0xF7,0xF7,0xF7,0xF7,0xE3,0xFF,0xFF,0xE7,0xDB,0xDB,0xDB,0xDB,0xE7,0xFF};
void main()
{   static uchar j=0;ulong   sec=999999;EA=1;                //使能总中断ENLED=0;       //74HC138的4、5脚低电平有效  TMOD=0x10;TH1=0xFC;TL1=0x67;//定时一毫秒ET1=1;TR1=1;while(1){if(flag==1)       //判断一秒定时标志{flag=0;      //S秒定时清0标志sec--;        //秒定时加1ledbuff[0]=ledchar[sec%10];ledbuff[1]=ledchar[sec/10%10];ledbuff[2]=ledchar[sec/100%10];ledbuff[3]=ledchar[sec/1000%10];ledbuff[4]=ledchar[sec/10000%10];ledbuff[5]=ledchar[sec/100000%10];ledbuff[6]=~(0x01<<j);j++;if(j>=8){j=0;}index++;if(index>=10){index=0;}}} }
void interruptT0() interrupt 3
{static uint cnt=0;static uchar i=0;TH1=0xFC;TL1=0x67;switch(i){case 0 : ADDR3=1; ADDR2=0;ADDR1=0;ADDR0=0;i++;P0=ledbuff[0];break;   //数码管刷新case 1 :ADDR3=1; ADDR2=0;ADDR1=0;ADDR0=1;i++;P0=ledbuff[1];break;case 2 :ADDR3=1; ADDR2=0;ADDR1=1;ADDR0=0;i++;P0=ledbuff[2];break;case 3 :ADDR3=1; ADDR2=0;ADDR1=1;ADDR0=1;i++;P0=ledbuff[3];break;case 4 :ADDR3=1; ADDR2=1;ADDR1=0;ADDR0=0;i++;P0=ledbuff[4];break;case 5 :ADDR3=1; ADDR2=1;ADDR1=0;ADDR0=1;i++;P0=ledbuff[5];break;  case 6:ADDR3=1; ADDR2=1;ADDR1=1;ADDR0=0;i++;P0=ledbuff[6];break;     //led流水刷新case 7 : ADDR3=0; ADDR2=0;ADDR1=0;ADDR0=0;i++;P0=image[index][0];break;       //点阵刷新case 8 :ADDR3=0; ADDR2=0;ADDR1=0;ADDR0=1;i++;P0=image[index][1];break;case 9 :ADDR3=0; ADDR2=0;ADDR1=1;ADDR0=0;i++;P0=image[index][2];break;case 10 :ADDR3=0; ADDR2=0;ADDR1=1;ADDR0=1;i++;P0=image[index][3];break;case 11 :ADDR3=0; ADDR2=1;ADDR1=0;ADDR0=0;i++;P0=image[index][4];break;case 12 :ADDR3=0; ADDR2=1;ADDR1=0;ADDR0=1;i++;P0=image[index][5];break;  case 13:ADDR3=0; ADDR2=1;ADDR1=1;ADDR0=0;i++;P0=image[index][6];break;case 14:ADDR3=0; ADDR2=1;ADDR1=1;ADDR0=1;i=0;P0=image[index][7];break;default:break;} cnt++;if(cnt>=1000){cnt=0;flag=1;}
}

51单片机用中断实现流水灯,数码管和点阵同时显示相关推荐

  1. 中断控制流水灯c语言程序,51单片机按键中断控制流水灯

    满意答案 levis501523 2018.01.03 采纳率:58%    等级:12 已帮助:8301人 #include #include #define uchar unsigned char ...

  2. 51单片机-LED模块-来回流水灯

    51单片机-LED模块-来回流水灯 1. 视频 哔哩哔哩视频地址: https://www.bilibili.com/video/av89552821 51单片机-LED模块-来回流水灯 2. 文件 ...

  3. 51单片机 74HC154译码器制作流水灯+Proteus仿真

    51单片机 74HC154译码器制作流水灯+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uint unsigned int #d ...

  4. 51单片机AT24C02写读流水灯实例+Proteus仿真

    51单片机AT24C02写读流水灯实例+Proteus仿真 Proteus仿真 这个流水灯的状态是通过读取AT24C02地址中的数值来改变的.(有点废AT24C02) 程序代码 #include &l ...

  5. 51单片机通过CD4051实现流水灯效果+Proteus仿真

    51单片机通过CD4051实现流水灯效果+Proteus仿真 Proteus仿真效果 CD4051 CD4051是一款八选一模拟开关电路,内置3个地址选择端(A0-A2),低有效的使能输入端( E), ...

  6. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

  7. 单片机串口中断控制流水灯c语言,基于单片机AT89C51控制的中断控制流水灯_课程设计报告...

    <基于单片机AT89C51控制的中断控制流水灯_课程设计报告>由会员分享,可在线阅读,更多相关<基于单片机AT89C51控制的中断控制流水灯_课程设计报告(25页珍藏版)>请在 ...

  8. 51单片机C语言led流水灯及数码管实现秒表

    51单片机C语言练习题 单片机型号 普中科技的 led练习题 led小灯闪烁 #include<reg52.h> sbit LED = P0^0; void main() {unsigne ...

  9. 基于51单片机的心形流水灯

    心形流水灯套件 1  设计目的 (1)掌握单片机芯片AT89C51的基本功能和使用. (2)熟悉Proteus仿真软件的使用,了解各元件的功能及作用. (3)了解音乐的基本知识. (4)提高数字电子电 ...

最新文章

  1. J2ME开发心得-数组的使用
  2. Tkinter图片按钮
  3. 基于python+opencv的图像目标区域自动提取
  4. 不当IT民工——技术带来质的飞跃
  5. 编译原理完整学习笔记(三):词法分析
  6. 微信emoji表情数据如何添加到json中
  7. 说明书中电磁兼容部分指南和制造商的声明怎么写?
  8. 小米手机每次安装应用都需要属于小米账号密码
  9. 无油螺杆鼓风机-市场现状及未来发展趋势
  10. 如何将数据存入mysql_怎样将数据存入mysql数据库
  11. 结构体所占字节数的计算
  12. ISIS Neighbor Net Type DIS
  13. 一图看懂| 人工智能知识体系大全
  14. java本地缓存简介
  15. iPhone微信浏览器某些元素点击无效
  16. 获取文件哈希值_图解:什么是哈希?
  17. 什么是pisa测试_什么是pisa考试?
  18. docker build过程中出错 no such host
  19. matlab绿色 不伤眼,蓝光和超清哪个伤眼睛 伤害都很低不用过多担心
  20. 【汇编】 INT 21H 命令

热门文章

  1. 如何用计算机跟男神表白,如何向男生表白 跟喜欢的男生表白的话
  2. 如何快速把整站英文网站翻译成中文网站?
  3. transforms.Resize()的用法
  4. ROS-Industrial工业机器人培训课程资料-2019更新-Melodic、Kinetic、Indigo
  5. fanuc工业机器人系统运行速度设置
  6. iOS 开发 百度地图 在模拟器上只显示网格!
  7. 2021年土建方向-岗位技能(质量员)多少分及格及土建方向-岗位技能(质量员)模拟考试题库
  8. 计算机的基本组成部分
  9. 全球区块链第26周看点 | G20中方发言人:中国在数字货币、加密资产等领域做得较好...
  10. 屏幕,保护眼睛的设置