实验1---BCD码转换成十六进制码.doc_第1页
实验1---BCD码转换成十六进制码.doc_第2页
实验1---BCD码转换成十六进制码.doc_第3页
实验1---BCD码转换成十六进制码.doc_第4页
实验1---BCD码转换成十六进制码.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验1 BCD码转换成十六进制码1. 实验目的(1) 熟悉编码转换程序(2) 掌握编写和运行子程序的技巧2实验设备计算机一台硬件配置:pentium2及以上配置,内存为128MB,硬盘剩余空间100MB,配置有串口,并口,和USB口操作系统:Windows98/2000/xp应用软件:KeilC513实验内容将片内RAM 20H单元中两位BCD码转换成相应的十六进制码,转换结果保存于22H单元4实验原理提示常用BCD码转十六进制码的方法为“乘十加数”法。例如,将BCD码10010010(表示十进制数92)转换成十六进制编码表示形式,算法为:=(09*0A+02) =5CH。其中Y为转换后的十六进制数。再二进制运算中乘法可以用移位(左移)实现,*0A可以写成*08+*02,其中*08是将被乘数左移3为,*02是将被乘数左移1为。则(09*0A+02)=(09+08+09*02+02)=(01001000+00010010+00000010)=(01011100)=5CH。 5.BCD码转换成十六进制码的实验程序流程图如图6.实验参考程序ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV R0,#12H MOV R1,#06H MOV R2,#08H MOV R3,#11H MOV A,R0 ADD A,R2 DA A MOV R2,A ANL A,#0FH MOV R0,A MOV A,R2 ANL A,#0F0H SWAP A ADD A,R1 ADD A,R3 DA A MOV R3,A ANL A,#0FH MOV R1,A MOV A,R3 MOV R3,#0H ANL A,#0F0H SWAP A MOV R2,A RET END7.实验要求(1)掌握编码转换程序的编写方法(2)根据实验任务要求,编制源程序(3)上机调试程序,记录相关调试信息(4)写出实验报告实验2 排列程序1. 实验目的(1) 熟悉MCS-51指令系统,掌握程序设计方法。(2) 掌握排序程序算法(3) 掌握循环程序实现数据排序的基本方法。2. 实验设备计算机一台,配置同上3. 实验内容编写并调试一个通用排序子程序,其功能为将RAM的40H4FH单元16个子字节无符号二进制整数按从小到大顺序排列,将排序后数据存储于RAM的50H5FH单元中。4. 实验原理提示从40H单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序对,则不作任何操作;如果顺序不对,则将这两个数交换位置。这样,在完成第1遍n-1次比较后,最大的数到了最后,所以第2遍比较只是比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag=1说明排序未完成,进入外循环;若flag=0,说明排序已完成,程序结束。实验程序:ORG 0LJMP MAINORG 40HMAIN: MOV R5,#10H MOV R0,#40H MOV A,#0H MOV R1,#0H MOV R2,#10HLOOP0: ACALL LOOP INC R0 INC R1 DJNZ R5,LOOP0LOOP1: MOV R0,#40H MOV B,#0FHLOOP2: MOV A,R0 MOV 10H,A INC R0 MOV 11H,R0LOOP3: CJNE A,11H,LOOP4LOOP4: JC LOOP5 MOV A,R0 MOV R0,10H DEC R0 MOV R0,A INC R0LOOP5: DJNZ B,LOOP2 DJNZ R2,LOOP1 SJMP $LOOP: MOV DPTR,#TAB MOV A,R1 MOVC A,A+DPTR MOV R0,A RETTAB: DB 3,5,4,1,7,9,3,4,6,1,12,45,23,17,34,12END实验3 定时器1. 实验目的(1)、加深对MCS-51单片机定时器内部结构,工作原理和工作方式的理解(2)、掌握定时器工作在定时器状态下的编程方法(3)、掌握中断服务程序的设计方法2.实验设备计算机,单片机实仪,KeilC51和Proteus软件。3、实验内容定时器实验在使用12MHz晶振的条件下,用T1产生50ms定时,两个7段LED数码管从“00”开始显示,每1s加1,到达“59”后,再从“00”开始,完成60s定时功能。4、实验原理提示定时/计数器实际上是加1计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。MCS-51单片机内部包括T0和T1两个定时/计数器。每个定时/计数器有4种工作方式。一、 定时器计数初值的确定在定时工作状态下,输入的时钟脉冲是由晶体振荡器的输出经12分频取得的,因此,定时器可看作是对单片机机器周期的计数器。若晶振频率为12MHz,则定时器的加1计数器每隔加1。加1计数器满溢出时才申请中断,所以在给加1计数器赋计数初值时,输入的是加1计数器计数的最大值与这一计数的差值。设加1计数器计数的最大初值为M,计数值为N,计数初值为Count,则Count的计算方法如下。定时状态:Count=M-定时时间/T,T=12/fosc若单片机的时钟频率为12MHz,T1工作在定时方式1,定时时间为50ms,则其计数初值Count为: Count=M-定时时间/T=2-50000/1=65536-50000=15536=3CB0H所以,定时器的计数初值为TH1=3CH,TL1=0B0H。二、 定时器初始化程序定时器包括两个控制寄存器TMOD和TCON,向TMOD和TCON写入相应的值来设置各个定时器的操作模式和控制功能。启动定时器的步骤如下:(1)、设定TMOD的值:TMOD=10H,设置T1工作于定时方式1(16位方式)(2)、设定IE的值:启动中断SETBET1。(3)、设定TL1和TH1的值:TL1=0B0H,TH1=3CH。(4)、启动T1定时:SETBTR1。实验电路图实验程序流程图实验程序: ORG 0000H AJMP START ORG 001BH AJMP TIME1 ORG 0030HSTART: MOV SP, #60H MOV TMOD, #10H SETB EA SETB ET1 MOV R3, #60 MOV R0, #0 MOV R1, #0 MOV TH1, #3CH MOV TL1, #0B0H SETB TR1 AJMP $TIME1: PUSH ACC PUSH PSW INC R0 MOV A, R0 CJNE A, #20, T_LP2 MOV A, R1 MOV B, #10 DIV AB SWAP A ADD A,B MOV P1, A INC R1 CJNE R1, #60, LP0 MOV R1, #00HLP0: MOV R0,#00HT_LP2: MOV TH1, #3CH MOV TL1, #0B0H POP PSW POP ACC RETI END 试验要求(1) 画出实验程序流程图:编写汇编语言和C51程序。(2) 上级调试该程序。实验四-基本输入/输出1.实验目的(1) 掌握MCS-51单片机I/O口的基本输入/输出功能。(2) 学习延时子程序的编写和使用。2.实验设备计算机一台;单片机试验仪一台;Keil C51和Proteus软件。3.实验内容(1)P0作为输出口,接8只发光二极管,编写程序使发光二极管实现“单灯左移”。(2)P0作为输出口,接8只发光二极管,P2作为输入口,P2.0和P2.1接两个按键和;当按下时P0口上连接的8只发光二极管全亮;当按下时P0口上连接的8只发光二极管全灭。4.实验原理提示(1)P0口为双向I/O口,具有较大的负载能力,除作为地址、数据复用口外,还可以用作通用I/O口。P2口味准双向口,常作为通用I/O使用。当某一口线作为输入口线时,必须向锁存器相应位写入“1”,该位才能作为输入。(2)常用延时方法常用循环指令来实现延时,设晶振为12MHz,因此1个机器周期为1us。 DELAY: MOV R5,#250 ;=1个机器周期,设定外循环次数为250次 D1: MOV R6,200 ; =1个机器周期,设定内循环次数为250次 DJNZ R6,$ ; =2个机器周期,本次执行200次 DJNZ R5,D1 ; =2个机器周期,本次执行250次 RET ; =2个机器周期,返回子程序T=+(+(*200)+)250+=1+(1+(2*200)+2)*250+2=100753个机器周期共延时 100753*1us=100753us=0.1us5.实验电路图实验电路图如下图所示实验程序流程图实验内容()的输出实验程序流程图如下图所示。实验内容()的输入实验程序流程图如下图所示。实验程序 ORG 0000H MOV P0,#0FFH MOV A,#0FEHSTART:MOV P0,A ACALL DELAY RL A AJMP STARTDEL

温馨提示

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

最新文档

评论

0/150

提交评论