北鼻君 发表于 2018-5-25 10:30 仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。 |
zl2168 发表于 2018-5-15 21:04 请问有对应的程序吗 |
感觉cs,a1,a0都直接连单片机就行啊 |
看你的图,8255没有复位。 8255不需要复位吗? |
本帖最后由 zl2168 于 2018-5-15 21:06 编辑 实例60 8255A扩展8位LED数码管动态显示 先Proteus仿真一下,确认有效。 ![]() ![]() 以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。 |
本帖最后由 zl2168 于 2018-5-15 21:01 编辑 实例36 并行扩展8255 先Proteus仿真一下,确认有效。 ![]() ![]() 以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。 |
顶一下,好几天了,找不出原因在哪,按理来说这么简单的电路,不应该找这么长时间找不出问题啊 |
这是键盘程序 void KeyScan() //键盘扫描程序,key应定义为全局无符号字符型 { uchar temp; PC=0X0F; if(PC!=0X0F) { delayms(1); if(PC!=0X0F) { temp=PC; PC=0xf0; key=temp|PC; switch(key) { case 0xee:key=0;break; case 0xed:key=1;break; case 0xeb:key=2;break; case 0xe7:key=3;break; case 0xde:key=4;break; case 0xdd:key=5;break; case 0xdb:key=6;break; case 0xd7:key=7;break; case 0xbe:key=8;break; case 0xbd:key=9;break; case 0xbb:key=10;break; case 0xb7:key=11;break; case 0x7e:key=12;break; case 0x7d:key=13;break; case 0x7b:key=14;break; case 0x77:key=15;break; } key_flag=1; } } } |