资源描述:
《《C语言编程实训》实训指导书三.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、-7-《C语言编程实训》实训指导书三适应专业:应用电子技术广州康大职业技术学院自动化系二0一0年十一月-7-《C语言编程实训》实训三八红旗手单片机时钟程序设计一、实训目的1.掌握LED显示、键盘、定时/计数器综合应用程序的设计方法;2.熟悉运用PROTEUSISIS仿真调试单片机时钟程序的基本操作。二、实训设施PROTEUS计算机软件、PC机三、实训要求1.使用C语言编程,实现由单片机控制LED数码管显示时、分、秒的电子时钟,并具有用按键修改时钟参数的功能(采用2个按键)。2.写出1000字以上的实训总结报告(内容以单片机时钟程序设计及
2、源程序清单为主)。四、实训内容1.设计单片机时钟硬件系统(1)学习单片机时钟工作原理①6位七段LED显示器(共阳极数码管),采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短(不超过10毫秒),且人眼具有视觉残留效应,因此看起来与全部显示器持续点亮效果完全一样。②动态扫描时,单片机芯片的P1口(P1.0~P1.5)输出段控信号,P3口(P3.0~P3.5)输出位控信号,当两口为高电平时,该字段就不显示;当两口为低电平时,就显示相应字段。③时间校正的操作方法:两按键串联,接在
3、单片机芯片的P2.4与P2.5之间,按下按键K1,可调整“分”;按下按键K2,可调整“时”。(2)使用PROTEL绘制电路原理图·从PROTEUS库中选取以下元器件:①7SEG-MPX2-CA(或7SEG-MPX6-CA):六位数码管②AT89C51:单片机③BUTTON:按键④CAP、CAP-ELEC:电容、电解电容⑤CRYSTAL:晶振⑥RES:电阻·放置元器件·放置电源和地(终端)·连线·元器件属性设置·电气检测绘制完全的电路原理如图3-1所示-7-图3-1单片机电子时钟电路原理图2.学习识读单片机时钟程序程序清单:#includ
4、e#defineuintunsignedint#defineucharunsignedcharvoidkeys();sbitP30=P3^0;sbitP31=P3^1;sbitP32=P3^2;sbitP33=P3^3;sbitP34=P3^4;sbitP35=P3^5;sbitkey=P2^4;sbitkey1=P2^5;ucharcodetable[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};-7-ucharhour=23,minute=59,se
5、cond=0;uinta,b,dd,ee,gg,hh;staticcharcount=0;voiddelay(uintz){intx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidint1()interrupt1using2{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;}voidmain(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;for(
6、;;){a=hour/10;b=hour%10;dd=minute/10;ee=minute%10;gg=second/10;hh=second%10;keys();P3=0X00;P1=table[a];P30=1;delay(1);P3=0X00;P1=table[b];P31=1;delay(1);P3=0X00;P1=table[dd];P32=1;delay(1);-7-P3=0X00;P1=table[ee];P33=1;delay(1);P3=0X00;P1=table[gg];P34=1;delay(1);P3=0X00
7、;P1=table[hh];P35=1;delay(1);if(count==20){count=0;second++;if(second==60){second=0;minute++;if(minute==60){minute=0;hour++;if(hour==24)hour=0;}}}}}voidkeys(){if(key==0){delay(5);if(key==0){while(!key);delay(5);minute++;if(minute==60){minute=0;delay(10);}-7-}}if(key1==0)
8、{delay(5);if(key1==0){while(!key1);delay(5);hour++;if(hour==24){hour=0;delay(10);}}}}3.PROTEUS仿真(1)加载目标