明德至善 博学笃行
明德至善 博学笃行
实验课程名称:单片机应用技术实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
实验项目名称:点阵LED数字显示实验
专业班级:电子信息科学与技术08级1班
学生姓名:陈奇
学号:080712110057
实验成绩: 指导教师签字:
理 学 院
电子科学系
实验时间:2011年6月20日
实验十三 点阵LED数字显示实验
(
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
性实验)
一、实验目的:
1 解点阵数字的显示原理;
2 ⑵了解单片机字符输出原理。
二、实验内容:
在点阵数码显示器上从右到左移动循环显示0~9的字符。
三、实验硬件电路(如图1所示)
图1 硬件电路图
四、实验步骤
1、在Proteus中画出实验硬件电路;
2、根据实验要求,进入Keil C51操作环境编辑源程序,并进行汇编;
3、运行、调试程序和结果检查
⑴ 采用单步,设置断点等方法,态观察程序走向是否正确;
3 连续运行程序,观察点阵数码管显示是否正确。
五、思考题:
字符的字型码应该怎样编写,有哪两种方式?
字符的字形码有两种方式,一种是点阵式,还有一种是矢量式。
点阵字库常用来作为显示字库使用,这类点阵字库汉字最大的缺点是不能放大,一旦放大后就会发现文字边缘的锯齿。
矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。在显示、打印这一类字库时,要经过一系列的数学运算才能输出结果,但是这一类字库保存的汉字理论上可以被无限地放大,笔划轮廓仍然能保持圆滑,打印时使用的字库均为此类字库。
字符的循环移动显示原理是什么?
本设计采用的是组合法,将两个点阵字模数据第一次显示为第一个字符左移0位,第二个字符右移8位,按位或后送显;第二次显示时,第一个字符左移1位与第二个字符右移7位,按位或后送显,直到第一个字符左移8位后,第二个字符再与第三个字符进行同样的操作,进行显示。
仿真运行截图,如图2、3、4所示:
图2 仿真运行截图
图3 仿真运行截图
图4 仿真运行截图
六、实验总结:
1、写出原程序的注释语句,并说明其功能,
2、回答思考题。
源程序:
/*字形编码送P1口(高电平),行选送P3口(低电平)。*/
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char code tab[][8]={
0x3C,0x66,0x6E,0x6E,0x76,0x76,0x66,0x3C,
0x18,0x78,0x18,0x18,0x18,0x18,0x18,0x7E,
0x3C,0x66,0x66,0x06,0x1C,0x30,0x66,0x7E,
0x3C,0x66,0x06,0x1C,0x06,0x66,0x66,0x3C,
0x1C,0x3C,0x6C,0xCC,0xCC,0xFE,0x0C,0x0C,
0x7E,0x60,0x7C,0x66,0x06,0x06,0x66,0x3C,
0x1C,0x30,0x60,0x7C,0x66,0x66,0x66,0x3C,
0x7E,0x66,0x06,0x0C,0x08,0x18,0x30,0x30,
0x3C,0x66,0x66,0x3C,0x66,0x66,0x66,0x3C,
0x3C,0x66,0x66,0x66,0x3E,0x06,0x0C,0x38};
void delay(uchar x)
{uchar i;
while((x--)!=0)
{for(i=0;i<125;i++)
{;}
}
}
void main(void)
{
uchar
i,j,k,m,n,p,q;
while(1)
{for(j=0;j<10;j++)
{for(q=0;q<8;q++)
{for(k=0;k<15;k++)
{m=0x80;
for(i=0;i<8;i++)
{P3=~m;
n=tab[j][i];
n=(n<>8-q);
p=n|p;
P1=p;
delay(1);
m=(m>>1);
}
}
}
}
}
}
1 / 6