资源简介
本文档包括74LS595驱动点阵的proteus仿真电路和基于8951的c语言测试程序,非常适合单片机初学者使用!
代码片段和文件信息
/**************************************/
/*我的第一个LED显示程序,请高手多指点 */
/*程序功能:用两个点阵LED顺序显示0-9 */
/*作者:邓国明 */
/*地址:厦门大学机电工程系03级 */
/*Email:gmdengxm@163.com */
/**************************************/
#include
#define uchar unsigned char
#define uint unsigned int
/*******************数字点阵**************/
uchar code shuzi[10][16] =
{
{0x000x000x100x200x100x200xF80x3F0x000x200x000x200x000x000x000x00} //“1“0
{0x000x000x700x300x080x280x080x240x080x220x880x210x700x300x000x00} //“2“1
{0x000x000x300x180x080x200x880x200x880x200x480x110x300x0E0x000x00} //“3“2
{0x000x000x000x070xC00x040x200x240x100x240xF80x3F0x000x240x000x00} //“4“3
{0x000x000xF80x190x080x210x880x200x880x200x080x110x080x0E0x000x00} //“5“4
{0x000x000xE00x0F0x100x110x880x200x880x200x180x110x000x0E0x000x00} //“6“5
{0x000x000x380x000x080x000x080x3F0xC80x000x380x000x080x000x000x00} //“7“6
{0x000x000x700x1C0x880x220x080x210x080x210x880x220x700x1C0x000x00} //“8“7
{0x000x000xE00x000x100x310x080x220x080x220x100x110xE00x0F0x000x00} //“9“8
{0x000x000xE00x0F0x100x100x080x200x080x200x100x100xE00x0F0x000x00} //“0“9
};
/*********************汉字点阵*******************/
/********************位口定义*******************/
sbit P17 = P1^7;
/********************变量定义********************/
uint delayidelayjrxdiijknm; //delayidelayjn 延时函数变量。rxdi为串行口输出变量
//ijkm输出控制变量
/********************函数声明*******************/
void delay(uint n); //不精确延时函数,延时n ms
void rxdout(uchar *d); //串行口输出函数
/*******************主函数**********************/
void main()
{
SCON = 0x00; //串行口方式0,RXD输出数据,TXD输出脉冲
while(1)
{
for( i = 0; i < 10; i++) //数字显示
{
for(k = 0; k < 10; k++)
{
for((m = 0 j = 0); j < 16; j += 2)
{
P17 = 0; //P17口为595锁存
rxdout(&shuzi[i][j]);
rxdout(&shuzi[i][j+1]);
P17 = 1; //595上升沿锁存数据
P1 = m; //行驱动
++m;
delay(1); //延时200微秒
}
}
delay(200); //延时准备显示下一个数字
delay(200);
delay(200);
}
}
}
/*******************子函数定义*********************/
void delay(uint n) //不精确延时12MHz延时大约(200+3)*n微秒
{
for( ; n > 0; n--)
{
for(delayi = 0; delayi < 100; delayi++)
{
;
}
}
}
void rxdout(uchar *d) //串行口输出
{
SBUF = *d;
while(TI == 0);
TI = 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5115 2002-04-16 14:32 595和138点阵LED\STARTUP.A51
文件 174 2006-03-18 17:35 595和138点阵LED\led595.plg
文件 2806 2006-03-18 16:58 595和138点阵LED\led595.c
文件 11679 2006-03-18 16:57 595和138点阵LED\STARTUP.LST
文件 45 2006-03-18 16:57 595和138点阵LED\led595.lnp
文件 6302 2006-03-18 16:57 595和138点阵LED\led595.M51
文件 749 2006-03-18 16:57 595和138点阵LED\STARTUP.OBJ
文件 6415 2006-03-18 16:57 595和138点阵LED\led595.LST
文件 4101 2006-03-18 16:57 595和138点阵LED\led595.OBJ
文件 4082 2006-03-18 16:57 595和138点阵LED\led595
....... 2039 2006-03-18 14:48 595和138点阵LED\led595_Uv2.Bak
文件 2043 2006-03-18 16:58 595和138点阵LED\led595.Uv2
....... 1608 2006-03-18 15:35 595和138点阵LED\led595_Opt.Bak
文件 1609 2006-03-18 16:58 595和138点阵LED\led595.Opt
文件 72690 2006-03-18 17:35 595和138点阵LED\led595.DSN
文件 386 2006-03-18 17:35 595和138点阵LED\led595.PWI
目录 0 2006-03-18 13:58 595和138点阵LED
----------- --------- ---------- ----- ----
121843 17
- 上一篇:空间后方交会C++
- 下一篇:C++ 网络聊天室设计报告及主要源程序
评论
共有 条评论