单片机汇编语言 周期性信号的频率和占空比

单片机汇编语言 周期性信号的频率和占空比

ID:33709918

大小:66.50 KB

页数:6页

时间:2019-02-28

单片机汇编语言 周期性信号的频率和占空比_第1页
单片机汇编语言 周期性信号的频率和占空比_第2页
单片机汇编语言 周期性信号的频率和占空比_第3页
单片机汇编语言 周期性信号的频率和占空比_第4页
单片机汇编语言 周期性信号的频率和占空比_第5页
资源描述:

《单片机汇编语言 周期性信号的频率和占空比》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、周期性信号的频率和占空比测试接法:INT0接周期性信号(1)测量信号的周期INT0的初始化应该为:voidint0_init(){EA=0;//关掉所有中断允许IT0=1;//选用下降沿触发INT0中断EA=1;//开所有中断EX0=1;//开INT0中断}INT0的中断服务程序应该为:UnsignedintCycleTime=0;//周期的计数值voidint0_svr()interrupt0{if(!flag1)//第一次下降沿出现时启动Timer1计数;{timer1_init();flag1=1;}Else

2、//第二次下降沿出现时停止Timer1计数,计算周期,并关掉INT0中断{EX0=0;CycleTime=TH1*256+TL1;//获得一个周期的计数值,乘上机器周期就可以了}}//Timer1计算信号的周期,由于只计算一次,所以选用MODE1.voidtimer1_init(){EA=0;//GATE=0;C/T=0;M1=0;M2=1;TMOD=TMPD

3、0x10;//从0开始计数TH1=0;TL1=0;EA=1;ET1=1;}考虑一个问题:如果信号的周期特别长,超过了65536个机器周期,那该怎么处理?解决

4、方案:当Time1超过65536,会触发Timer1中断,在中断里面计数,假设为Y_Y那么最终的计数应该是:(Y_Y*65536+CycleTime)UnsignedintY_Y_=0;voidtimer1_svr()interrupt3{timer1_init();Y_Y++;}(1)测量周期信号的高电平时间利用Timer0对高电平进行计数,由于只计算一次,所以选用MODE1.Voidtimer0_init(){EA=0;//GATE=1;C/T=0;;M1=0;M2=1;TMOD=TMOD

5、0x09;TH0=0

6、;TL0=0;EA=1;ET0=1;}I)在INT0的中断里面直接关掉Timer0,并将计数结果(TH0、TL0)提取出来计算II)考虑一个问题:如果信号的周期特别长,超过了65536个机器周期,处理方法与上面一样34、并行接口扩展可以采用74LS595,是串入并出的,可接任意个595,只占用3个脚,即ser(数据),sclk(移位时钟),srclk(输出)。所有的74LS595的sclk连在一起,srclk连在一起,第一个595的ser接单片机一个IO引脚,每一个595的QH‘接下一个595的ser。sclk置低

7、,置ser,再将sclk置高,就移了一位二进制数据进595了,重复这么移,直到所有的数据移入,再将srclk先置低再置高,就将原先移入的数据写到595输出寄存器,在各个595的输出引脚上反映出来。也就是将单片机三个引脚扩展成了很多个并行口。3*3键盘矩阵MOV AL,82HOUT 43H,ALBEGIN:MOV AL,0              OUT 40H,ALWAIT:   IN   AL,41H              AND AL,0FH CMP AL,0FH JZ   WAIT           

8、   MOV CX,7FFH      L0:LOOP L0     ST:MOV  BL,3              MOV BH,4              MOV AL,0FEH              MOV CL,0FH              MOV CH,0FFHL1:OUT 40H,AL        ROL  AL          MOV AH,AL         IN    AL,41H         AND  AL,CL         CMP  AL,CL           

9、            JNZ   L2         ADD CH,BH         MOV AL,AH         DEC  BL         JNZ  L1         JMP  BEGINL2: INC  CH          RCR  AL          JC    L2          MOV AL,CH         JMP  KEYTABLE42并口扩展org0000hajmpmainorg0030hmain:movsp,#60hmovdptr,#8003hmova,#9

10、0hmovx@dptr,am:movdptr,#8000hmovxa,@dptrlcalldelaymovdptr,#8001hmovx@dptr,alcalldelayajmpmdelay:movr6,#00hdjnzr6,$retend43、流程控制ORG0000HAJMP0030HORG0013HLJMPHA2S3ORG0030HHA2S:MOVP1,

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

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

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