❶ 一个比较大的单片机程序一般会达到多大80c51的rom是4K,如果程序大于4K盛不下了咋办
比较大的程序还真不好说,很多单片机编程软件开发商把2KB定为一个标准,超过2KB就闷轿不能使用免费软件了。
所以可以把2KB作为大小程序的标准,大的程序可以达到64KB(也就是8位单片机的ROM上限)。一般嘛,2-16KB比较多。
如果程序过大,可以考虑扩展外部EEPROM,比如AT24C256(32KB)之类的来实现,也可以使用并行扩展(不推荐,占用IO口过多)。数罩唯
也可以更简单一些,薯培使用增强型的51单片机(也很多),比如AT89S52(8KB FlashROM),还有STC12C5A60S2(带10位AD,60KB ROM)。型号很多很多,价格都在10块/片里面,不推荐用80C51(标准型51,功能实体太少,太弱,价格不便宜)
❷ 单片机 编译好的代码太大 烧写不进去 怎么办
程序的大小和生成的hex大小没关系。而是看你的code区占用了多少,你的单片机有多大的code区,另外内存通常是运行中存储数据的。比8k的flash大的单片机太多了。
code代码区data片内xdata片外
❸ 利用单片机,在一个8*8的点阵显示屏上显示一个“大”字,怎样编程啊帮帮忙啊,我作业,不用太精炼的语
由于是8x8,行与列数一样,可以行驱动或列驱动(当然行列硬件上不一样除外)。
以行驱动为例:
1.首先用字模提取软件提取“大”字的字模。软件网上很多,用“字模提取”关键字可以搜到。也可以用EXCEL在8x8上方框上自己写毕手一个“大字”,然后有标记的为1,没标记的为0,那么一行下来有8位既一个节,总共8行,共8个字节。
2.把这8个字节做成数组。放在FLASH里比较好。
3.使用时,数组第一个元手敏嫌素送第一行,然后选通第一行,延时一下,关第一行,重复第二行,八行送完后再重新开始。
4.每秒最少扫描拿孝屏幕50次,否则会闪烁。