/*        名称:按键控制8X8LED点阵屏显示图形

说明:每次按下K1时,会使8X8LED点阵屏循环显示不同图形。

本例同时使用外部中断和定时中断。

*/

#include

#include

#define uchar unsigned char

#define uint unsigned int

//待显示图形编码

uchar code M[][8]=

{

{0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00},                //图1

{0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00},                //图2

{0x00,0x20,0x30,0x38,0x3c,0x3e,0x00,0x00}                //图3

};

uchar i,j;

//主程序

void main()

{

P0=0xff;

P1=0xff;

TMOD=0x01;                                //T0方式1

TH0=(65536-2000)/256;        //2ms定时

TL0=(65536-2000)%256;

IT0=1;                                        //下降沿触发

IE=0x83;                                //允许定时器0、外部0中

i=0xff;                                        //i的初值设为0xff,加1

后将从0开始

while(1);

}

//T0中断控制点阵屏显示

void Show_Dot_Matrix() interrupt 1

{

TH0=(65536-2000)/256;        //恢复初值

TL0=(65536-2000)%256;

P0=0xff;                                //输出位码和段码

P0=~M[ i][j];[ i]

P1=_crol_(P1,1);

j=(j+1)%8;

}

//INT0中断(定时器由键盘中断启动)

void Key_Down() interrupt 0

{

P0=0xff;

P1=0x80;

j=0;

i=(i+1)%3;                                //i在0,1,2中取值,因

为只要3个图形

问题如下

1.P0=0xff;P1=0xff-------这条语句是端口初始化不?

2.IE=0x83 ---- 1000 0011为什么是这个值?寄存器配置?

3.P0=0xff;

P0=~M[ i][j];

P1=_crol_(P1,1);

j=(j+1)%8;-----------------P0赋初值?P0给值?后面的就看不懂了

4.我用proteus仿真试了下,只有在按键按下的时候,才会显示图形,这样就是外

部中断。那定制器中断有何意义呢?

5.i=(i+1)%3---------为什么要(i+1)%3这样一个表达式再赋值给i呢?

按键控制8*8led点阵C语言程序,单片机按键控制8X8LED点阵屏显示图形 程序的几个问题...相关推荐

  1. avr单片机led数码管六位动态显示时分秒c语言程序,AVR单片机8位数码管显示的程序实现(两种方法介绍)...

    描述 本文为大家介绍两个AVR单片机8位数码管显示的程序实现. AVR单片机595驱动8位数码管的显示的电路实现 主程序代码 #include > #include //GCC中的延时函数头文件 ...

  2. micopython 18b20_MicroPython控制8*8LED点阵显示温度

    MicroPython顾名思义就是可以在单片机上跑的Python,借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡.LCD显示器.读取电 ...

  3. 机械手编程用c语言,51单片机机械手控制C程序.doc

    51单片机机械手控制C程序 //包含所需头文件 #include #define uchar unsigned char /***************------宏定义------******** ...

  4. 51单片机c语言按键扫描程序,单片机按键扫描数码管显示C语言程序

    电子科学与技术 单片机按键扫描数码管显示C语言程序 按键扫描数码管显示程序共定义了6个键的功能:K1.K2.K3.K4以及K5.K8组成的一对复合键,其中K2,K3为连击键,K5为上档键.在正常工作模 ...

  5. 单片机按键启停c语言,ZigBee-CC2530单片机 - 按键控制跑马灯的启停

    ZigBee-CC2530单片机 - 按键控制跑马灯的启停 程序源码 #include "ioCC2530.h" //引用CC2530头文件 #define LED1 (P1_0) ...

  6. 机械手 c语言,51单片机机械手控制C程序

    51单片机机械手控制C程序 //包含所需头文件 #include #define uchar unsigned char /***************------宏定义------******** ...

  7. 控制led亮度C语言程序,单片机pwm控制led亮度原理图

    单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...

  8. 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...

    本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...

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

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

最新文章

  1. linux获取最高权限并取消_Linux 更新glibc 漏洞 可以获取最高权限
  2. .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
  3. python回调函数实例详解_Python回调函数用法实例详解
  4. 设置电脑背景颜色为保护眼睛的颜色
  5. 最大流问题的Ford-Fulkerson模板
  6. 蓝桥杯 左baby右兄弟
  7. (转)CentOs 设置静态IP 方法
  8. BlockingQueue阻塞队列及其实现
  9. Replication的犄角旮旯(三)--聊聊@bitmap
  10. [机器学习]朴素贝叶斯原理和基于Spark 实例
  11. 215.数组中的第K个最大元素
  12. pe linux 引导修复工具下载,winpe系统引导修复工具
  13. MD5加密工具类(带盐值)
  14. android WPS中设置目录标题和目录引用
  15. CAD图纸的缩放——范围缩放
  16. 关于win10 无线网络不可用,网络适配器出现全感叹号
  17. Virtual Dub——一个令人爱不释手的小工具
  18. 【真北读书】弗兰克意义三途径,让你人生的意义不漂移
  19. linux ps1 配色,bashrc - PS1(提示符配色)
  20. React SSR: 基于 express 自构建 SSR 服务端渲染

热门文章

  1. ADG架构搭建5 -- 一主两备ADG主备切换
  2. 江苏大学计算机与通信工程学院宿舍,江苏大学计算机科学与通信工程学院
  3. 很好玩的html小游戏代码
  4. java反射进行字段类型判断_Java反射机制的讲解
  5. 编程天才“楼教主”—— 专访两届“黑客杯”世界编程大赛季军、清华大学博士生楼天城...
  6. 趣谈云计算:孙悟空脚踏七彩云,靠的就是云计算
  7. 【3D打印机】3D打印机的各项校准!让你更了解你的3D打印机
  8. 《虚拟化与云计算技术》实训
  9. 18大学计算机基础,最新大学计算机基础试题及答案完整版(18页)-原创力文档...
  10. 下载 kaakoo 咔咕 http://job.kaakoo.cn/download.aspx?ID=T679