Proteus 8.13 下16x16点阵屏输出文字(附取模

本文介绍了如何在Proteus中设计电路原理图,使用C语言编写程序控制16x16点阵屏显示汉字,包括汉字取模过程,并演示了如何通过仿真运行验证程序。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

会使用proteus,会C编程,严格注意版本要一致

资源链接:https://pan.baidu.com/s/1CGxG5vDGphukl-I1xsdt2w?pwd=ctt9 
提取码:ctt9
 


一、电路原理图设计

使用proteus绘制原理图如下

其中红色方框部分不能省略

     16x16&74HC154 proteus中没有16x16的点阵屏,需要自己绘制,参考下面链接

Proteus8.6中16x16LED点阵制作教程_proteus16×16点阵-CSDN博客

上面电路原理图绘制完成了,可以进行的程序编写

二、程序编写

1.程序设计

#include <regx52.h>

//延时函数
void Delay(unsigned int xms)
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}
//用字模提取程序生成字模数组
//中
unsigned char data_1[]={0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00};

//国
unsigned char data_2[]={0x00,0x00,0x7F,0xFC,0x40,0x04,0x40,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x4F,0xE4,
0x41,0x04,0x41,0x44,0x41,0x24,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04};

//电路设计时使用P1端口组的低4位来控制行
void Row(unsigned char _row)
{
	P1=_row;
}
//输出汉字
void show_lcd_16x16(unsigned char* arrData)
{
	static int j=0,i=0;
	
	Row(j);//行扫描
	P2=arrData[i++];//点亮对应行低8位
	P0=arrData[i];//点亮对应行高8位
	
	//行、列扫描完重置
	if(++j>=16)
		j=0;
	
  if(++i>=32)
		i=0;
	
	Delay(1);
}

void main()
{
	int j=0,i=1;
	while(1)
	{
		if(i)
	       show_lcd_16x16(data_1);
		else
		   show_lcd_16x16(data_2);
		
		if(j++>500)
		{
			j=0;
			i=!i;
			P2=0x00;
	        P0=0x00;
		}	
	}
}

2.汉字取模

解压后直接点击.exe可执行程序

点击选项设置如上图

输入“中国”

3.仿真运行

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值