MSP-LAB实训-16x16点阵显示综合例程

[复制链接]

7

主题

16

帖子

125

积分

慕课讲师

积分
125
楼主
查看: 1793回复: 1 发表于 2019-1-17 17:11:10   只看该作者
MSP-LAB实训-16x16点阵显示综合例程
实验要求:
1、使用MSP-LAB实验系统上的16x16点阵间隔显示中文字符串:”全新TI电赛训练套件”;
2、在四位数码管显示实时时钟;
题意分析及程序框架设计:
1、根据图一的点阵原理图得知,四个8x8点阵分别由POS1~POS16NEG1~NEG16连接和驱动;
2、如果全部采用GPIO驱动POSxNEGx,单片机管脚是不够的,所幸原理图中显示,这些信号也同时被四个移位寄存器74HC595所驱动,所以,只要单片机的GPIO驱动行移位寄存器组和列移位寄存器组即可。从原理图查看得知,行列移位所需的所有信号脚都连接在J15,单片机只要与图一中红色圆圈中的J15的相应管脚连接即可;
3、由图二原理图得知,四位移位数码管的数字输入由J11通过U1574HC573驱动数码管输入,因此需要将U15LE脚接高,即J82脚接到3脚,而J11与单片机的Px口连接;

4、为了节省管脚资源,四位移位数码管的位选择线由图三的三八译码芯片74HC138驱动,单片机控制J6234管脚即可;
5、本题中还有一个重要的实现内容是中文字库的产生和数码管字库设计,其中数码管字库设计及其实现原理由例程1.3详细介绍,这里不详细描述,而中文点阵字库可以使用在线字库生成器协助,本例题采用http://www.lixin.me/wordmodel/ 生成中文字库,但其中“TI”则自己手工绘制并填写字模;
6、16x16点阵扫描原理则是在例程1.48x8点阵基础上扩展,为了稳定显示,本例程采用Timer0中断,其中CCR0中断设置为78us一次,这样,78us*16*16=19.968ms一次完整的扫描,即50HZ扫描一次;
7、而采用Timer1中断控制RTC的计数,4ms一次中断,两个四位数码管即8位数码管扫描输出一次,共花32ms
程序设计实现:
1、硬件连线:
(1) P1.0~P1.2分别连接J6432管脚;
(2) P2.0~P2.7分别连接J161~8管脚;
(3) P3.0~P3.7分别连接J111~8管脚;
(4) J823管脚互相连接;
连接示意图见
2、程序设计:
(1) Grace设计:
① Timer0设计图
② Timer1设计:
③ GPIO设计
(2) CCS工程设计
① Timer0中断**程序

② 数码管字库设计程序
③ Timer1中断**程序
④ 点阵固定显示字符为
    unsigned char Buf[9][32] ={
                               {0x1 ,0x0 ,0x1 ,0x0 ,0x2 ,0x80 ,0x4 ,0x40 ,0x8 ,0x20 ,0x10 ,0x50 ,0x2f ,0xee ,0xc1 ,0x4 ,0x1 ,0x0 ,0x1 ,0x40 ,0xf ,0xe0 ,0x1 ,0x0 ,0x1 ,0x0 ,0x1 ,0x8 ,0x7f ,0xfc ,0x0 ,0x0},   //全
                               {0x10 ,0x8 ,0xa ,0x1c ,0x7f ,0x60 ,0x0 ,0x40 ,0x22 ,0x40 ,0x14 ,0x44 ,0xff ,0xfe ,0xa ,0x48 ,0x7f ,0x48 ,0x8 ,0x48 ,0xa ,0x48 ,0x29 ,0x88 ,0x48 ,0x88 ,0x89 ,0x8 ,0x28 ,0x8 ,0x10 ,0x8},     //新
                               {0x0, 0x0, 0x0, 0x0, 0x7F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0, 0x0, 0x0, 0x0},  //TI
                               {0x2 ,0x0 ,0x2 ,0x0 ,0x2 ,0x10 ,0x7f ,0xf8 ,0x42 ,0x10 ,0x42 ,0x10 ,0x7f ,0xf0 ,0x42 ,0x10 ,0x42 ,0x10 ,0x7f ,0xf0 ,0x42 ,0x10 ,0x2 ,0x0 ,0x2 ,0x4 ,0x2 ,0x4 ,0x1 ,0xfc ,0x0 ,0x0},    //电
                               {0x1 ,0x0 ,0x7f ,0xfe ,0x44 ,0x42 ,0x9f ,0xf4 ,0x4 ,0x40 ,0x1f ,0xf0 ,0x4 ,0x40 ,0x7f ,0xfc ,0x8 ,0x20 ,0x1f ,0xf0 ,0x28 ,0x2e ,0xc9 ,0x24 ,0x9 ,0x20 ,0x1 ,0x0 ,0x6 ,0xc0 ,0x18 ,0x30},   //赛
                               {0x1 ,0x4 ,0x41 ,0x4 ,0x31 ,0x24 ,0x11 ,0x24 ,0x1 ,0x24 ,0x1 ,0x24 ,0xf1 ,0x24 ,0x11 ,0x24 ,0x11 ,0x24 ,0x11 ,0x24 ,0x11 ,0x24 ,0x11 ,0x24 ,0x16 ,0x24 ,0x1a ,0x4 ,0x14 ,0x4 ,0x8 ,0x4}, //训
                               {0x10 ,0x40 ,0x10 ,0x48 ,0x27 ,0xfc ,0x40 ,0x80 ,0x48 ,0xa0 ,0xfb ,0xf0 ,0x11 ,0x20 ,0x21 ,0x20 ,0x42 ,0x24 ,0xfb ,0xfe ,0x0 ,0x20 ,0x0 ,0xa8 ,0x39 ,0x26 ,0xc2 ,0x22 ,0x44 ,0xa0 ,0x0 ,0x40},    //练
                               {0x1 ,0x0 ,0x1 ,0x4 ,0xff ,0xfe ,0x2 ,0x80 ,0x4 ,0x40 ,0xf ,0xe0 ,0x18 ,0x10 ,0x2f ,0xee ,0xc8 ,0x4 ,0xf ,0xe0 ,0x8 ,0x4 ,0xff ,0xfe ,0x4 ,0x0 ,0x8 ,0x20 ,0x1f ,0xf0 ,0x0 ,0x10},       //套
                               {0x10 ,0x40 ,0x10 ,0x40 ,0x12 ,0x40 ,0x22 ,0x48 ,0x23 ,0xfc ,0x64 ,0x40 ,0xa4 ,0x40 ,0x28 ,0x40 ,0x20 ,0x44 ,0x3f ,0xfe ,0x20 ,0x40 ,0x20 ,0x40 ,0x20 ,0x40 ,0x20 ,0x40 ,0x20 ,0x40 ,0x20 ,0x40}//,    //件
    };
⑤ 主程序设计为:
原文来自微博:https://weibo.com/1404637705/Hcni5na7M?from=page_1005051404637705_profile&wvr=6&mod=weibotime&type=comment#_rnd1547715698134

45

主题

179

帖子

455

积分

二氧化硅

Rank: 2

积分
455
沙发
发表于 2019-1-18 09:51:25   只看该作者
学习了,感谢分享
快速回复 返回顶部 返回列表