求单片机89C51设计要用C语言程序要附加Proteus仿真图,显示管要用7seg-mpx8-ca-blue传到a111116523 163的

仿真图与程序对应 编译测试过的更好
需要51出来进74HC595再进LED。通过4*4键盘控制 的仿真图 对应C程序

第1个回答  2013-10-02
请问具体是做什么设计??是计算器还是密码锁还是抢答器??用74HC595一般是用在共阴数码管的驱动上,你这个是共阳的,直接用普通三极管就可以替代的了。
第2个回答  2013-09-27

给你一个我做的简易计算器的吧,汇编和C的都有,随便选

追问

请问 如果是51出来后通过74LC595后再连LED 程序与电路图该怎样改呢

第3个回答  2013-09-27
/***程序仿真用89c52 数码管用共阳极数码管P0口段选,P3.0和P3.1位选定时器2用法见百度“T2CON”***/#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code num[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}; //共阳极数码管0-9数组以及全灭和“-”符号uchar data da[2]; //定义显示缓存uint sec; //定义秒uchar a; //显示位选择//延时子程序void d(uint i){uint j;for(;i>0;i--)for(j=110;j>0;j--);}//显示函数void prt(){da[0]=sec/10;//十位存入显示缓存da[1]=sec%10;//各位存入显示缓存P0=num[da[a]];//将要显示的数据付给P0d(5);//延迟一小段时间P3<<=1;//P3数据向左移移位P0=0xff;//消隐a++;//显示数据指向下一位if(a>1) {a=0; P3=0x01;}//第二个数据扫完9517指向第一个数据}//定时器中断子函数timer2() interrupt 5{static uchar t;TF2=0;t++;if(t==20) //定时够20次即1s{t=0; //t清零sec++; //秒加1if(sec==60) sec=0; //}}//主函数void main(){   //RCAP2H=(65536-50000)/256;   //RCAP2L=(65536-50000)%256;   //定时器2定时50MSTR2=1;   //启动定时器2ET2=1;   //打开定时器2中断EA=1;   //开总中断P3=0x01;while(1){prt();   //显示}}望采纳···
相似回答