频率计

上传人:jiups****uk12 文档编号:40001255 上传时间:2018-05-22 格式:DOC 页数:9 大小:472.50KB
返回 下载 相关 举报
频率计_第1页
第1页 / 共9页
频率计_第2页
第2页 / 共9页
频率计_第3页
第3页 / 共9页
频率计_第4页
第4页 / 共9页
频率计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《频率计》由会员分享,可在线阅读,更多相关《频率计(9页珍藏版)》请在金锄头文库上搜索。

1、一 单片机主控电路:用单片机 T0 口作为频率计接口 在系统的设计中,可将单片机系统的各个中断口用作外部计数器的接口,由于其为数 字电路的特点,可将其作为频率计的接口,被测信号频率范围在 10HZ30MHZ,对应的 输入为 TTL 电平。其连接电路图如下图所示被测信号输入频率计子程序:PUBLIC PINGLVPINGLV: MOV TMOD,#05H ;初始化 TMOD。 MOV TH0,#00H ;初始化 TH0 MOV TL0,#00H ;初始化 TL0 SETB EA ;开中断 SETB ET0 ;开 T0 中断 MOV R1,#64H ;设置外循环次数 SETB TR0 ;启动 T0

2、 LOOP3: MOV R3,#0AH ;完成一秒钟计数,实现频率功能 LOOP2: MOV R2,#64H LOOP1: NOPNOPNOPNOPNOPNOPNOP DJNZ R2,LOOP1 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOPNOP ;18 个 LOOP DJNZ R3,LOOP2 NOP NOP NOP NOP NOP NOP NOPNOP NOP NOP NOPNOP ;12 个 LOOP DJNZ R1,LOOP3CLR TR0 ;关定时器 0,计数器存入 TH0,TL0 RET ;子

3、程序结束Void frep( ) /实现频率的数值显示范围为 10HZ30000HZ unsigned int data xxx;unsigned char data xchar; bit tt; while(1) PINGLV( ); /调用频率的汇编计数程序xxx=TH0*256+TL0;buffer0=(unsigned char)(xxx/10000+0x30);buffer1= (unsigned char)(xxx%10000)/1000+0x30);buffer2= (unsigned char)(xxx%1000)/100+0x30);buffer3= (unsigned ch

4、ar)(xxx%100)/10+0x30);buffer4= (unsigned char)(xxx%10+0x30);PRINT( ); /显示计数频率值tt=scankey( ); /检验是否有键按下 if(tt) KEY(); /调用键盘子程序xchar=KEYDATA;if( xchar=0x0f) /若为 F 键则返回,其他则继续执行频率计子程 序 return; 二 LED 显示部分,采用静态显示,8 个 LED(省略后三个)2,清屏子程序 PUBLIC CLS ;清屏子程序 CLS: MOV A,#0FFHMOV DPTR,#8000HMOVX DPTR ,AMOV DPTR,#

5、9000HMOVX DPTR,AMOV DPTR,#0A000HMOVX DPTR,AMOV DPTR,#0B000HMOVX DPTR,AMOV DPTR,#0C000HMOVX DPTR,A3,LED 显示子程序 PUBLIC PRINT ;LED 显示程序 PRINT:PUSH PSWCLR CMOV A,bufferSUBB A,#30HMOV DPTR,#TABLEDMOVC A,A+DPTRMOV DPTR,#0C000HMOVX DPTR,AMOV A,buffer+1SUBB A,#30HMOV DPTR,#TABLEDMOVC A,A+DPTRMOV DPTR,#0B000H

6、MOVX DPTR,AMOV A,buffer+2SUBB A,#30HMOV DPTR,#TABLEDMOVC A,A+DPTRMOV DPTR,#0A000HMOVX DPTR,AMOV A,buffer+3SUBB A,#30HMOV DPTR,#TABLEDMOVC A,A+DPTRMOV DPTR,#9000HMOVX DPTR,AMOV A,buffer+4SUBB A,#30HMOV DPTR,#TABLEDMOVC A,A+DPTRMOV DPTR,#8000HMOVX DPTR,APOP PSWRETTABLED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H

7、,82H,0F8H,80H ;0-8DB 90H,88H,83H,0C6H,0A1H,86H,84H,0FFH,8CH ;9 A B C D E FDB 0BFH ;“-“4,显示欢迎界面 HELLO 的子程序 void hello() /欢迎界面程序 XBYTE0xc000=0x89;XBYTE0xb000=0x86;XBYTE0xa000=0xc7;XBYTE0x9000=0xc7;XBYTE0x8000=0xc0;三 键盘2,键盘部分程序: PUBLIC KEY KEY: MOV R7,#00HMOV A,#00HMOV B,#0EH KEY1: NOPORL A,BMOV DPTR,#

8、WR273MOVX DPTR,ANOPNOPNOPNOPMOV DPTR,#RD244MOVX A,DPTRANL A,#0FHCJNE A,#0FH,KEY2INC R7SETB CMOV A,BRLC AANL A,#0FHCJNE A,#0FH,KEY0MOV A,#0EHMOV R7,#00H KEY0: MOV B,ASJMP KEY1 KEY2: CPL AANL A,#0FHJNB ACC.0,KEY6MOV A,#00HSJMP KEY9 KEY6: JNB ACC.1,KEY7MOV A,#01HSJMP KEY9 KEY7: JNB ACC.2,KEY8MOV A,#02H

9、SJMP KEY9 KEY8: MOV A,#03H KEY9: XCH A,R7MOV B,#04HMUL ABADD A,R7MOV DPTR,#KTAB1MOVC A,A+DPTRMOV KEYDATA,ALCALL SOUND KEYUP:MOV DPTR,#RD244MOVX A,DPTRANL A,#0FHCJNE A,#0FH,KEYUPRET KTAB1:DB 33H,0DH,0FH,0EHDB 32H,0BH,0CH,0AHDB 31H,39H,38H,37HDB 30H,35H,36H,34H KTAB0:DB 00H,01H,02H,03HDB 04H,05H,06H,0

10、7HDB 08H,09H,0AH,0BHDB 0CH,0DH,0EH,0FH SOUND:SETB P1.0LCALL TIM0CLR P1.0RET TIM0:MOV R7,#40HTIME1:MOV R6,#00HTIME2:NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZ R6,TIME2DJNZ R7,TIME1RET、3,键盘测试程序: PUBLIC TESTKEY TESTKEY: MOV buffer,#41HMOV buffer+1,#30HMOV buffer+2,#30HMOV buffer+3,#31H TESTK0: LCALL P

11、RINTLCALL KEYMOV A,KEYDATACLR CSUBB A,#30HJNC TESTK1RET TESTK1: MOV buffer,buffer+1MOV buffer+1,buffer+2MOV buffer+2,buffer+3MOV buffer+3,KEYDATALJMP TESTK04,检验是否有键按下程序: bit scankey() /送全 0 信号到行扫描口,读列扫描端口,若为全 1,则没有键按下 unsigned char data kk; kk=RD244; kk=0x0f if(kk!=(unsigned char)0x0f) return 1; else return 0; 四,主程序: void main() unsigned char data CHAR,xchar;CLS(); /调用清屏子程序SSSS:hello(); /调用欢迎界面子程序KEY(); /调用键盘子程序CHAR=KEYDATA;switch(CHAR)case 10: PINGLV(); /若为 A,完成频率的技术与显示break;default: goto SSSS; 姓名:吴婷婷学号:200705010129

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号