打印

求教:单片机仿8255!

[复制链接]
4833|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
talentyang|  楼主 | 2007-4-11 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  求教各位前辈.
  做好的一个键盘是用MCU接8255做的,键盘是五乘五的,口线用了八根. 
   现在8255没了.如果把8255用51单片机代替,但不能在51单片机里烧程序,因为不想破坏原板的大局.那要怎么做呢?
  想得头都痛了,请各位大哥给开开窍. 
  我觉得单片机本身无逻辑,不烧程序,它怎么也起不到8255的键扫功能啊.汽车没人开,能跑吗?|
   我觉只能是靠别的方法写程序进去.我的想法是把主单片机当作个外挂ROM,在PSEN的下降沿,往51里送机器码来执行一条指令操作,可行吗? 时序可以满足吗?
  有其他方法吗?代替的单片机本身不可以烧程序.
  我真的发疯了,怎么可能嘛?可公司的师傅说绝对可以办到. 

相关帖子

沙发
lyjian| | 2007-4-11 18:11 | 只看该作者

kao,吐血!

不烧程序的51是是废品一个,什么也做不了。
天大的笑话:单片机不烧程序那拿来做什么?单片机本来就是用来烧写程序的!
还是天大的笑话:“因为不想破坏原板的大局”——烧程序和原板的大局有什么关系?
“公司的师傅说绝对可以办到”是指51仿真8255可以办到吧?确实可以办到(写个程序就行),但51如果不烧程序的话就绝对办不到!

使用特权

评论回复
板凳
懒人| | 2007-4-11 18:29 | 只看该作者

晕,不写程序?

没程序别用单片机啊.
用单片机仿真8255? 可以吧

使用特权

评论回复
地板
airwill| | 2007-4-11 19:51 | 只看该作者

你的师傅出的题, 不难啊

哈哈, 不要被师傅考倒啦!
提示一下, 你的思维可有点太局限8255啦, 盯着功能, 做个单片机程序就是啦

使用特权

评论回复
5
平常人| | 2007-4-11 20:24 | 只看该作者

楼上说的极是,用另一个单片机模拟8255啦,完全不动原有单

使用特权

评论回复
6
highway| | 2007-4-11 21:24 | 只看该作者

提供非日产的82C55,有需求请按签名联系我

一般来说用CPLD设计的比较多,用MCU也是个方法,不错

使用特权

评论回复
7
talentyang|  楼主 | 2007-4-11 21:31 | 只看该作者

我也郁闷啊.单片机不烧程序怎么行呢?

我也郁闷啊.单片机不烧程序怎么行呢?
  本来我的做法就是用了另一个单片机仿的8255,程序都调完了,环境搭后,伟福也好使.
  可师傅的批阅是在原理图那个新加单片机上写了"无程序"三字,说程序都在主单片机上.而且说绝对可实现.我郁闷啊.
  单片机本身哪有逻辑啊.想不通.

使用特权

评论回复
8
平常人| | 2007-4-11 21:52 | 只看该作者

哈哈,楼主这回才讲清楚,原来是这个新加的单片机中不能

这样就有点难度了,但可以实现。

原理上需要把程序通过可能的通道(如UART、SPI等)灌到新加单片机的RAM中,再在RAM中执行这个灌进去的程序。

问题是如何启动通讯通道并接收灌进去的程序并运行它。这个要求可以实现,但需要这个新加的单片机有较多的信号与主单片机连接,可问题是如果主单片机上有这么多口线,还要另一个单片机做什么?烧钱呢?除非是做练习!


另一种很大的可能而且很可能是,师傅让你用一个新单片机模拟8255,而不执行键盘扫描的工作;键盘扫描仍有原来的单片机完成,即原单片机中的程序不动,只用一个新的单片机替换8255。“没有程序”的意思是“没有键盘扫描的程序”!!

使用特权

评论回复
9
talentyang|  楼主 | 2007-4-12 08:15 | 只看该作者

谢谢.

  非常感谢您的回答.
  但是我不明白,51单片机是哈佛结构,程序存储器的空间和数据存储器的空间是分离的.单片机上电后,是按PC指针的指示,在程序存储器的空间寻址,取操作数,执行的.那又RAM又如何可以跑程序呢?而且主单片机的I/O资源我只能用到八根.
  刚才又硬着头皮找了师傅.师傅说了,你找不到资料,肯定能实现.没办法,我还得憋啊.我估计这肯定是个不按套路出牌的东西.
  我是应届的学生,刚到公司实习,感觉大学学到东西少啊.但你出了学校就再也没有理由把没学过这个理由当借口.只要任务下来,就要硬着头皮去做.我还是个新人,请前辈们多多指教.
  喜欢这个痛苦并快乐着的职业.只是现在还在痛苦中......
  憋的直挠墙.
  

使用特权

评论回复
10
lyjian| | 2007-4-12 09:16 | 只看该作者

有这样的师傅也痛苦

直接把要求说明白不就行了,何必故弄玄虚?

使用特权

评论回复
11
jxmemail| | 2007-4-12 10:10 | 只看该作者

双机通讯共用存储器

  可以试试将两片MCU的数据线接在一起,仿8255的MCU使用外部ROM。地线根据需要自己连。将仿8255的程序编译汇编好的BIN文件或HEX文件作为数据块,存储在主MCU的ROM或EEPROM中。设计好开机顺序和握手信号,应该没什么问题。

使用特权

评论回复
12
xwj| | 2007-4-12 10:14 | 只看该作者

很可能是你的理解错误,你最好是去问清楚你师傅的真是意

使用特权

评论回复
13
JJG| | 2007-4-12 10:19 | 只看该作者

将烧了程序的51上面的型号改为8255给你们师傅.

当然接口要与8255做得一样.

使用特权

评论回复
14
hq_y| | 2007-4-12 10:36 | 只看该作者

让你动脑筋而已~~~~~~~~~

要是我做,大概是这样的步骤:

1)使用表贴的单片机

2)找一个万用板,带表贴封装,然后做成DIP40,再把晶振电容等焊接上去

3)把单片机的对应管脚的32个管脚连接到DIP40上,注意,只需要把4×8个管脚连接上;另外,RD、WR、INt0等这些关键的管脚要连接到正确的管脚上;

4)要研究8255的时序;8255的3个端口都是双向口,可以配置的;所以原来程序会对这些口进行操作;那么,单片机接收到这些时序的时候,要能对其做出反应;例如,读一个口的数据,那么,51单片机就要模拟这个时序,按照这个时序把数据返回~~~~~~~~~~~~~~

使用特权

评论回复
15
talentyang|  楼主 | 2007-4-12 12:56 | 只看该作者

Re:11楼: 双机通讯共用存储器

Re:11楼: 双机通讯共用存储器
我这么考虑过,但是只可用到八根口线.再加握手信号PSEN的话就多了啊.
五乘五键盘直接接才用十根.
意思我真没理解错,确实是只有主单片机有程序.
继续挠墙中......

使用特权

评论回复
16
jxmemail| | 2007-4-14 16:34 | 只看该作者

使用双口RAM

最简单的就是,主机将模拟8255的程序做数据,开机初始化后,将他写入一片双口RAM,双口RAM作为仿8255MCU的ROM用。写好数据后,主机发复位信号给仿真MCU,应该没什么问题。
复杂一点的就是,开发主机做烧录器用,使用电平转换芯片,将仿真程序直接写入仿真MCU,复位仿真MCU。就是开发主机程序比较麻烦。

使用特权

评论回复
17
平常人| | 2007-4-14 17:23 | 只看该作者

没有程序的单片机,就等于一个废物

单片机的程序可以放在片内,也可以放在片外,现在要求程序不能放在片内也不能放在片外,那就不要用单片机了。

使用特权

评论回复
18
talentyang|  楼主 | 2007-4-16 09:40 | 只看该作者

很感谢各位老师的指导.

很感谢各位老师的指导.
关键是师傅给我的原理图上主MCU的I/O资源只可用八根,既做数据总线有做地址总线分别接仿8255的两组I/O,地址线中间有373锁存.其实就是原来8255和单片机的接口.在这种条件的束缚下,我一直认为是不可能实现的.
  也可能我想的太窄,各位老师有什么想法呢?

使用特权

评论回复
19
hq_y| | 2007-4-16 10:41 | 只看该作者

该说的都说了,纸上谈兵是没有任何意义的,如果你把原理

也许还有人愿意指导你;

使用特权

评论回复
20
jxmemail| | 2007-4-16 11:44 | 只看该作者

人懒没的救了

你丫就是个懒鬼。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

25

帖子

0

粉丝