秒信号发生器.doc

秒信号发生器.doc

ID:62294586

大小:172.50 KB

页数:6页

时间:2021-04-25

秒信号发生器.doc_第1页
秒信号发生器.doc_第2页
秒信号发生器.doc_第3页
秒信号发生器.doc_第4页
秒信号发生器.doc_第5页
资源描述:

《秒信号发生器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、硬件电路设计(1)复位电路复位是使单片机处于某种确定的初始状态。单片机工作从复位开始。在单片机RST引脚引入高电平并保持2个机器周期,单片机就执行复位操作。复位操作有两种基本方式:一种是上电复位,另一种是上电与按键均有效的复位。如图1所示为复位电路:图1复位电路开机瞬间RST获得高电平,随着电解电容C3的充电,RST引脚的高电平将逐渐下降。若该高电平能保持足够2个机器周期,就可以实现复位操作。根据经典电路选择参数,选取C3=10µF,R1=10KΩ。(2)晶振电路单片机的时钟信号通常有两种产生方式:一是内部时钟方式,二是外部时钟方式。内部时钟方式是利用单片

2、机内部的振荡电路产生时钟信号。外部时钟方式是把外部已有的时钟信号引入到单片机内。本次设计中,采用的是12MHz晶振,配上30pF的电容,构成谐振,这样有助于输出稳定的波形。图2所示为晶振电路:图2晶振电路在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),作为单片机内部振荡电路的负载,构成自激振荡器,可在单片机内部产生时钟脉冲信号。C1和C2的作用是稳定振荡频率和快速起振。根据经典电路选择参数,本电路选用晶振12MHz,C1=C2=33PF。其中晶振周期(或外部时钟信号周期)为最小的时序单位。(3)串口调试电路二、程序设计程序思路说明:只需要4个按键

3、。关于频率和占空比的确定,对于12M晶振,输出频率为1KHZ,这样定时中断次数设定为10,即10MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为10ms,这样可以设**定占空比可从1-99%变化。即10ms*100=1s#include#defineucharunsignedchar#defineuintunsignedintuchartimer0_tick,ZKB=1;//timer0_tick计数,ZKB占空比uchari=0,n=0,temp=0;codeseven_seg[10]={0xc0,0xf9,0xa4,0xb

4、0,0x99,0x92,0x82,0xf8,0x80,0x90};//1,2,3,4,5,6,7,8,9codescan[2]={0xfd,0xfe};ucharcounter[2]={0,0};sbitAN1=P3^2;//调整个位sbitAN2=P3^3;//调整十位sbitAN3=P3^4;//启动按键sbitAN4=P3^5;//确认按键voiddelay(uintz)//软件延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}staticvoidtimer0_isr(void)interrupt1usin

5、g0//中断函数{TR0=0;TL0=(65536-10000)%256;TH0=(65536-10000)/256;TR0=1;if(ZKB>99)ZKB=1;if(ZKB<1)ZKB=99;counter[0]=ZKB%10;counter[1]=ZKB/10;n++;if(n==100){n=0;i++;if(i==2)i=0;P0=seven_seg[counter[i]];P2=scan[i];}timer0_tick++;if(timer0_tick++==100){timer0_tick=0;}if(AN2==0){delay(100);if(A

6、N2==0){temp=1;counter[0]++;if(counter[0]==10){counter[0]=0;}}}if(AN1==0){delay(100);if(AN1==0){temp=1;counter[1]++;if(counter[1]==10){counter[1]=0;}}}ZKB=counter[0]+counter[1]*10;if(AN4==0){delay(5);if(AN4==0)temp=0;}if(temp==1)P3_7=0;//P3_7为脉冲输出引脚else{if(timer0_tick<=ZKB)/*当小于占空比值时

7、输出低电平,高于时是高电平,从而实现占空比的调整*/{P3_7=1;}else{P3_7=0;}}}staticvoidtimer0_initialize(void)//中断初始化{EA=0;timer0_tick=0;TR0=0;TMOD=0x01;TL0=(65536-10000)%256;TH0=(65536-10000)/256;PT0=0;ET0=1;TR0=1;EA=1;}voidmain(void){STAR:delay(100);if(AN3!=0)gotoSTAR;//按键3启动脉冲timer0_initialize();while(1);}

8、//按按键3启动脉冲器,初始设置占空比

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。