基于51单片机汇编程序波形发生器实训报告_第1页
基于51单片机汇编程序波形发生器实训报告_第2页
基于51单片机汇编程序波形发生器实训报告_第3页
基于51单片机汇编程序波形发生器实训报告_第4页
基于51单片机汇编程序波形发生器实训报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机实训报告(波形发生器)1、 设计方案(1)、硬件基本设计思路 本设计方案采用8051单片机和DAC0832将数字信号转化成模拟信号,并通过LM324运算放大器将信号进行处理,最终得到各种波形。其中,波形的切换采用矩阵键盘通过外部中断0来实现。(2) 、软件基本设计思路 首先,将基本波形通过程序进行编写,并调试成功;其次,再编写按键扫描子程序;最后,将按键程序放入中断中,并进行整体调试,直到调通为止。(3) 、程序说明 略 二、原理图波形发生器原理图三、程序JUCHIEQU50HSANJIEQU51HFANGBEQU52HTIXINEQU53HKUEQU55HORG0000H;程序入口AJ

2、MPMAIN;指向主程序ORG0003H;主程序入口地址AJMPINTT0;指向按键中断程序ORG0030H;中断程序入口地址MAIN:;主程序MOVP2,#00H;将P2口初始化为0SETBEA;开总中断SETBEX0;开启外部中断0SETBIT0;将外部中断0设置为下降沿有效MOVDPTR,#00FFH;设置输入寄存器地址MOVJUCHI,#00H;初始化MOVSANJI,#00HMOVFANGB,#00HMOVTIXIN,#00H;*START:MOVA,KU;将键码送累加器ACJNEA,#00H,W1;将累加器A和00H比较,如果相等,则00键按下 顺序执行,否则跳到W1再判断01键是

3、否按下 MOVSANJI,#00H;屏蔽其他波形MOVFANGB,#00HMOVTIXIN,#00HAJMPJCB;跳转到锯齿波形W1:CJNEA,#01H,W2;判断01键是否按下MOVJUCHI,#00H;屏蔽其他波形MOVFANGB,#00HMOVTIXIN,#00HAJMPSJB;跳转到三角波形W2:CJNEA,#02H,W3;判断02键是否按下MOVTIXIN,#00HMOVJUCHI,#00H;屏蔽其他波形MOVSANJI,#00HAJMPFB;跳转到方波W3:CJNEA,#03H,W4;判断03键是否按下,没有按下,跳转回去继续循环扫描MOVJUCHI,#00H;屏蔽其他波形MO

4、VSANJI,#00HMOVFANGB,#00HAJMPTXB;跳转到梯形波W4:AJMPSTART;*INTT0:;中断程序;*键盘扫描子程序KEY*KEY:ACALLKS;调按键查询子程序,判断是否有键按下JNZK1;有键按下,转移 WEI1跳转ACALLDELAY;无键按下,调延时程序去抖AJMPK4;继续查询按键;*键盘逐列扫描程序*K1:ACALLDELAYACALLKS;再次判别是否有键按下JNZK2;有键按下,转移AJMPK4K2:MOVR3,#0FEH;首列扫描字送R3MOVR4,#00H;首列号送R4K3:MOVA,R3MOVP2,A;列扫描字送P2口MOVP1,#0FFH;

5、初始化P1口MOVA,P1;读取行扫描值JBACC.0,L1;第零行无键按下转查第一行为1跳转MOVA,#00H;第零行有键按下,行首键号送AAJMPLK;转求键号L1:JBACC.1,NEXT;第一行无键按下,转查下一列MOVA,#03HAJMPLK;键扫描结束,返回;*NEXT:INCR4;修改列号MOVA,R3JNBACC.2,KEY;三列扫描完返回按键查询状态RLA;未扫描完,改为下列扫描字MOVR3,A;扫描字暂存R3AJMPK3;转列扫描程序LK:ADDA,R4;形成键码送AMOVKU,APUSHACC;键码入栈保护;*K4:ACALLKS;等待键释放JNZK4POPACC;键释放

6、,弹栈送ARETI;中断返回;*按键查询子程序*KS:;MOVA,#00HMOVP2,#00H;全扫描字送p2口MOVP1,#0FFHMOVA,P1;读入P1口状态CPLA;变正逻辑,高电平表示有键按下ANLA,#0FH;屏蔽高四位RET;子程序返回;*锯齿波*JCB:MOVA,JUCHI;转换初值WW:MOVXDPTR,A;D/A转换INCA;A自加1NOP;延时CJNEA,#255,WW;判断A是否加到255,若没有返回到WW继续加MOVJUCHI,AAJMPSTART;*三角波*SJB:MOVA,SANJI;转换初值EE:MOVXDPTR,A;D/A转换INCANOPCJNEA,#255

7、,EEDEC AQQ:MOVXDPTR,ADECANOPCJNEA,#00,QQMOVSANJI,AAJMPSTART;*方波*FB:MOVA,FANGBMOVXDPTR,AACALLDELAY3ACALLDELAY3CPLAMOVXDPTR,AACALLDELAY3ACALLDELAY3MOVFANGB,APOPACCAJMPSTART;*梯形波*TXB:MOVA,TIXINSS:MOVXDPTR,AINCAACALLDELAY3CJNEA,#255,SSACALLDELAY3ACALLDELAY3DECAZZ:MOVXDPTR,ADECAACALLDELAY3CJNEA,#00,ZZACALLDELAY3ACALLDELAY3MOVTIXIN,AAJMPSTART;*1msDELAY3:MOVR0,#7DHDEL7:NOPNOPDJNZR0,DEL7RET;*50毫秒延时子程序DELAY2:MOVR0,#05DEL5:MOVR1,#10DEL4:MOVR2,7DHDE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论