实验一 任钊锋0205

2018-05-20  本文已影响32人  任钊锋0205

1.了解大板单片机的应用,了解烧录软件和keil的使用

2.汉字“后来的你”的显示

keil代码

//该板子上的点阵为8*8,只能显示简单的一些汉子,如果要显示真正的汉字//通过取模软件取的可以选择16*16点阵的板子#include#includesbit SRCLK=P3^6;sbit RCLK=P3^5;sbit SER=P3^4;//--定义要使用的IO口--//#define COMMONPORTSP0//--列选通控制--//unsigned char code TAB[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//--点阵字码--//unsigned char code CHARCODE[4][8]={0x0e,0x10,0x37,0x55,0x55,0x57,0x50,0x90, //后0x02,0x54,0x78,0xff,0xFF,0x78,0x54,0x02, //来0x3F,0x55,0x95,0x1f,0x20,0xc8,0x45,0x7f, //的{0x20,0x7f,0xa4,0x4a,0xff,0x58,0x64,0x40} //中};void delay(unsigned int time){ unsigned int i,j; for(i=0;i>7;

dat<<=1;

SRCLK=1;

_nop_();

_nop_();

SRCLK=0;

}

RCLK=1;

_nop_();

_nop_();

RCLK=0;

}

/*******************************************************************************

* 函数名        : main

* 函数功能   : 主函数

* 输入          : 无

* 输出        : 无

*******************************************************************************/

void main()

{

unsigned char tab, j;

unsigned int  i;

while(1)

{

for(i= 0; i<50; i++ )  //两个字之间的扫描间隔时间

{

for(tab=0;tab<8;tab++)

{

Hc595SendByte(0x00);     //消隐

COMMONPORTS = TAB[tab]; //输出字码

Hc595SendByte(CHARCODE[j][tab]);

delay(2);

}

}

j++;

if(j == 4)

{

j = 0;

}

}

}

点阵的设计和实现

遇到的问题:16进制转换不熟练,上课没有好好听讲所以对于原理是临时抱佛脚学的,索幸在设计和实现上没有遇到太多问题,可是也少了很多自我探索的过程。感谢技术支持王政同学

上一篇下一篇

猜你喜欢

热点阅读