云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 单片机课程设计--点阵设计

单片机课程设计--点阵设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 11:25:08

2.2 程序设计

2.2.1 8*8点阵数字显示编码

由1.3.4 8?8点阵显示原理知,当某行置低电平,某列置高电平时,对应的LED发光二极管就亮。

下图所示“0”字符的编码,当选择第一行时,将相应的行管脚置低,由于没有二极管发亮,故对应的列全置低;当选择第二行时,将相应的行管脚置低,由于3、4、5个二极管亮,故相应的列管脚置高,依次可得选择行的编码为:

{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; “0”的编码为:{0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18}; “1”的编码为:{0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x08}; “2”的编码为:{0x00,0x18,0x24,0x24,0x08,0x10,0x20,0x3C}; “3”的编码为:{0x00,0x18,0x24,0x04,0x08,0x04,0x24,0x18}; “4”的编码为:{0x00,0x08,0x08,0x18,0x28,0x3C,0x08,0x08}; “5”的编码为:{0x00,0x3C,0x20,0x38,0x04,0x04,0x24,0x18}; “6”的编码为:{0x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18}; “7”的编码为:{0x00,0x3C,0x24,0x04,0x08,0x10,0x10,0x10}; “8”的编码为:{0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18}; “9”的编码为:{0x00,0x18,0x24,0x24,0x1C,0x4,0x24,0x18}; “10”的编码为:{0x4C,0xD2,0x52,0x52,0x52,0x52,0x52,0xEC};

9

2.2.2 程序设计

(1)开机检测程序

开机检测程序让8?8点阵全部点亮,以检测屏幕是否有坏点。主要语句如下:

P0=0xff;//列置高

P2=0x00;//行置低,全亮

P0=0x00;//关闭所有LED (2)数字显示程序

8?8点阵以列动态扫描显示的方式显示0-9任意数字。程序如下: void display(int n)//n为待显示的数 {

int a;

for(a=8;a>0;a--) {

P2=table[a];//已编码的行数表

10

P0=graph[n][a];//已编码的列二维数表

}

}

(3)外部中断程序 ①外部中断1

该段程序用来控制依次加一功能,程序如下: void INT_0() interrupt 0 { EX0=0; delay(50); EX0=1;

if(lie==12) lie=0; else { lie++;

P0=graph[lie][hang]; delay(500); }

}

②外部中断2

该段程序用来控制依次减一功能,程序如下: void INT_1() interrupt 2 { EX1=0; delay(50); EX1=1;

if(lie==0) lie=12; else { lie--;

P0=graph[lie][hang]; delay(500); }

}

11

③定时中断

动态扫描的时间为1ms,对定时器0赋相应的值,程序如下: void t0(void) interrupt 1 { }

TH0=(65536-1000)/256; TL0=(65536-1000)%6; P2=tab[hang];

P0=graph[lie][hang]; hang++; if(hang==8) hang=0;

2.3 仿真

基于Proteus和Keil C对设计的程序和硬件进行联调仿真,初步验证了原理图和程序的正确性,意味着可以进入下一步操作——用Protel 99进行PCB布线,制版。

3.电路的安装与调试

3.1 制版

①去打印店把画好的PCB用专用的油纸打印出来 ②用熨斗将油纸上电路线条印到铜板上 ③将印好的铜板泡到适量浓度的氯化铁溶液中 ④在预留的元件孔位上钻孔

⑤安放元件,并将元件用焊锡将其焊在电路板上 ⑥用万用表测各个连接点,检查电路的通断情况 ⑦下载程序调试,直至符合要求为止

12

搜索更多关于: 单片机课程设计--点阵设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2.2 程序设计 2.2.1 8*8点阵数字显示编码 由1.3.4 8?8点阵显示原理知,当某行置低电平,某列置高电平时,对应的LED发光二极管就亮。 下图所示“0”字符的编码,当选择第一行时,将相应的行管脚置低,由于没有二极管发亮,故对应的列全置低;当选择第二行时,将相应的行管脚置低,由于3、4、5个二极管亮,故相应的列管脚置高,依次可得选择行的编码为: {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; “0”的编码为:{0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18}; “1”的编码为:{0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x08}; “2”的编码为:{0x00,0x18,0x24,0x24,0x08,0x

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com