汇编语言实验-按键并口查表减法语句的用法_第1页
汇编语言实验-按键并口查表减法语句的用法_第2页
汇编语言实验-按键并口查表减法语句的用法_第3页
汇编语言实验-按键并口查表减法语句的用法_第4页
汇编语言实验-按键并口查表减法语句的用法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

深圳大学实验报告课程名称:微型计算机技术实验项目名称:汇编语言实验—按键、并口、查表、减法语句的用法学院:专业:指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务部制一、实验目的:1、使用汇编语言进行编程,了解单片机内程序运行情况。2、了解汇编语言的MOVC,SUBB的用法。3、使用汇编语言进行查表,并且将查表的值送给并口,用查表+并口的方式实现跑马灯。二、实验仪器:微机原理实验箱。三、实验相关电路图四、实验内容实验过程:判断按键是否按下,并且每一次按下,从表中读取一个数据,赋予并口,让LED转换读懂以下ASM文件,并用C语言重新实现它(将写好的C语言以实验报告形式提交)以下是汇编代码:KEY1BITP3.3KEY1_StateEQU69HKEY1_Down_TimeEQU6BHDelayTimes_1MSEQU6DHDelayTimes_10MSEQU6EHDelayTimes_100MSEQU6FHKEY1_Down_StateBIT00HORG0000HLJMPSTARTORG0100HSTART:MOVSP,#70HCLRKEY1_Down_StateMOVKEY1_State,#00HMOVKEY1_Down_Time,#00HMOVP3,#0FFHMAIN:LCALLKEY_SCANJNBKEY1_Down_State,MAIN_ENDCLRKEY1_Down_StateLCALLKEY1_Down_ProcMAIN_END:LJMPMAINKEY1_Down_Proc:MOVA,KEY1_StateINCKEY1_StateMOVDPTR,#TABMOVCA,@A+DPTRMOVP3,AMOVA,#10SUBBA,KEY1_StateJNZKEY1_Down_Proc_EndMOVKEY1_State,#00HKEY1_Down_Proc_End:RETKEY_SCAN:JNBKEY1,KEY1_SCAN_DOWNMOVKEY1_Down_Time,#00HLJMPKEY1_SCAN_ENDKEY1_SCAN_DOWN:INCKEY1_Down_TimeMOVA,KEY1_Down_TimeCJNEA,#5,KEY1_SCAN_ENDSETBKEY1_Down_StateKEY1_SCAN_END:MOVDelayTimes_10MS,#1LCALLDelay10MSRETDelay10MS:MOVA,DelayTimes_10MS JZDelay10MS_END MOVR7,ADelay10MS_1:MOVR6,#150Delay10MS_2:MOVR5,#200Delay10MS_3:DJNZR5,Delay10MS_3DJNZR6,Delay10MS_2 DJNZR7,Delay10MS_1Delay10MS_END:RETTAB:DB0EFH,0DFH,0BFH,7FH,0FFH,0EFH,0CFH,9FH,3FH,7FH,0FFH;END************************************************************以下是C语言代码:Delay.c#include<STC12C5A60S2.h>#include<common.h>voidDelay_ms(uint16state){uint16i;for(;state>0;state--) for(i=0;i<1000;i++); }*************************************Key-scan.c#include<STC12C5A60S2.h>#include<common.h>externDelay_ms(uint16state);uint8codetable[]={0xef,0xdf,0xbf,0x7f,0xff};voidKEY1_Down_Proc(){statici=-1;i++;Delay_ms(100);P3=table[i];if(i==5) i=-1;}voidKEY1_SCAN_END(){Delay_ms(10);}voidKEY1_SCAN_DOWN(){ KEY1_Down_Time++;if(KEY1_Down_Time==5) { KEY1_Down_State=1; }}voidKEY_SCAN(){if(KEY1==0){KEY1_SCAN_DOWN();}else{KEY1_Down_Time=0;} KEY1_SCAN_END(); Delay_ms(10);}********************************************************Main.c#include<STC12C5A60S2.h>#include<common.h>int16KEY1_State;int16KEY1_Down_Time;int16KEY1_Down_State;extern Key_scan();extern KEY1_Down_Proc();voidmain(){KEY1_State=0;KEY1_Down_Time=0;KEY1_Down_State=0; P3=0xFF;while(1){Key_scan();if(KEY1_Down_State==1){KEY1_Down_State=0; KEY1_Down_Proc();}}}深圳大学学生实验报告用纸指导教师批阅意见:成绩评定:

温馨提示

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

评论

0/150

提交评论