实验1 BCD码转换成十六进制码
更新时间:2024-05-01 00:02:01 阅读量: 综合文库 文档下载
- 实验1号马铃薯种薯简介推荐度:
- 相关推荐
实验1 BCD码转换成十六进制码 1. 实验目的
(1) 熟悉编码转换程序
(2) 掌握编写和运行子程序的技巧 2实验设备 计算机一台
硬件配置:pentium2及以上配置,内存为128MB,硬盘剩余空间100MB,配置有串口,并口,和USB口
操作系统:Windows98/2000/xp 应用软件:KeilC51 3实验内容
将片内RAM 20H单元中两位BCD码转换成相应的十六进制码,转换结果保存于22H单元 4实验原理提示
常用BCD码转十六进制码的方法为“乘十加数”法。例如,将BCD码10010010(表示十进制数92)转换成十六进制编码表示形式,算法为:YH=(09*0A+02)H =5CH。其中YH为转换后的十六进制数。再二进制运算中乘法可以用移位(左移)实现,*0A可以写成*08+*02,其中*08是将被乘数左移3为,*02是将被乘数左移1为。则(09*0A+02)
H=(09+08+09*02+02)D=(01001000+00010010+00000010)B=(01011100)B=5CH。
5.BCD码转换成十六进制码的实验程序流程图如图 6.实验参考程序 ORG 0000H LJMP MAIN ORG 0030H MAIN: 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 END 7.实验要求
(1)掌握编码转换程序的编写方法 (2)根据实验任务要求,编制源程序 (3)上机调试程序,记录相关调试信息 (4)写出实验报告
实验2 排列程序 1. 实验目的
(1) 熟悉MCS-51指令系统,掌握程序设计方法。 (2) 掌握排序程序算法
(3) 掌握循环程序实现数据排序的基本方法。 2. 实验设备
计算机一台,配置同上 3. 实验内容
编写并调试一个通用排序子程序,其功能为将RAM的40H~4FH单元16个子字节无符号二进制整数按从小到大顺序排列,将排序后数据存储于RAM的50H~5FH单元中。 4. 实验原理提示
从40H单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序对,则不作任何操作;如果顺序不对,则将这两个数交换位置。这样,在完成第1遍n-1次比较后,最大的数到了最后,所以第2遍比较只是比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag=1说明排序未完成,进入外循环;若flag=0,说明排序已完成,程序结束。 实验程序: ORG 0 LJMP MAIN ORG 40H
MAIN: MOV R5,#10H MOV R0,#40H MOV A,#0H MOV R1,#0H MOV R2,#10H LOOP0: ACALL LOOP INC R0 INC R1
DJNZ R5,LOOP0 LOOP1: MOV R0,#40H MOV B,#0FH
LOOP2: MOV A,@R0 MOV 10H,A INC R0
MOV 11H,@R0 LOOP3: CJNE A,11H,LOOP4 LOOP4: JC LOOP5 MOV A,@R0 MOV @R0,10H DEC R0
MOV @R0,A INC R0
LOOP5: DJNZ B,LOOP2 DJNZ R2,LOOP1 SJMP $
LOOP: MOV DPTR,#TAB MOV A,R1
MOVC A,@A+DPTR MOV @R0,A RET
TAB: DB 3,5,4,1,7,9,3,4,6,1,12,45,23,17,34,12 END
实验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?s加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 0030H START: 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
16 ADD A,B MOV P1, A INC R1
CJNE R1, #60, LP0 MOV R1, #00H LP0: MOV R0,#00H T_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接两个按键PB0和
PB1;当按下PB0时P0口上连接的8只发光二极管全亮;当按下PB1时P0口上连接的8
只发光二极管全灭。 4.实验原理提示
(1)P0口为双向I/O口,具有较大的负载能力,除作为地址、数据复用口外,还可以用作通用I/O口。P2口味准双向口,常作为通用I/O使用。当某一口线作为输入口线时,必须向锁存器相应位写入“1”,该位才能作为输入。 (2)常用延时方法
常用循环指令来实现延时,设晶振为12MHz,因此1个机器周期为1us。 DELAY: MOV R5,#250 ;T1=1个机器周期,设定外循环次数为250次 D1: MOV R6,200 ; T2=1个机器周期,设定内循环次数为250次 DJNZ R6,$ ; T3=2个机器周期,本次执行200次 DJNZ R5,D1 ; T4=2个机器周期,本次执行250次 RET ; T5=2个机器周期,返回子程序
T=T1+(T2+(T3*200)+T4)250+T5=1+(1+(2*200)+2)*250+2=100753个机器周期 共延时 100753*1us=100753us=0.1us 5.实验电路图
I/O实验电路图如下图所示
6.实验程序流程图
实验内容(1)的输出实验程序流程图如下图a所示。 实验内容(2)的输入实验程序流程图如下图b所示。
7.实验程序
ORG 0000H MOV P0,#0FFH MOV A,#0FEH START:MOV P0,A ACALL DELAY RL A
AJMP START DELAY:MOV R5,#250 D1: MOV R6,#200 DJNZ R6,$ DJNZ R5,D1 RET END
ORG 0000H
MOV P2,0FFH START:JB P2.0,LP0 MOV P0,#00H LP0: JB P2.1,START MOV P0,#0FFH AJMP START END
8实验要求
(1) 编写相应的程序。 (2) 上机调试通过的程序。 (3) 写出实验报告。
正在阅读:
实验1 BCD码转换成十六进制码05-01
电影雷锋个人观后感07-30
一起励志加油的话语11-20
数据结构1第1章:绪论07-18
幼儿园食品安全宣传知识06-27
外商投资企业增加分销、经营范围所需材料09-21
高考求函数值域及最值得方法及例题 - 训练题(3)09-22
药检所实习心得12-31
2022年关于幼儿园元旦活动策划方案范文03-25
一起写作业作文1000字02-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 十六进制
- 换成
- 实验
- BCD
- 商业银行高息揽储的危害、成因及对策
- server-u15使用教程、serv-u服务器使用方法和ftp文件服务器搭建
- 生物药剂学
- 铌酸锂晶体光学性能的仿真研究本科学位论文 - 图文
- 《创业案例》课程总结及教学建议
- 商务工作情况和存在问题及对策1
- 解剖学 运动系统习题
- 成本会计实务习题及答案
- 关于全面推进居家养老服务工作的意见-中华人民共和国民政部
- 五年级级部工作计划
- 共产党员就是一面旗帜
- 7上历史第10课“秦王扫六合”教学案(学习型展示课例)
- 高考专题训练七 空间向量与立体几何
- 2016-2021年中国数控金切加工专机行业市场发展现状及投资前景预
- 鄂尔多斯羊绒集团学习手册
- 学习理论的主要流派
- 关于农村初中学生心理健康状况的调查分析与对策研究
- (小学)2017-2018学年第一学期小学音乐、体育、美术、信息技术抽
- 关于稳定和发展乡村医生队伍的建议
- 小学六年级语文 精品阅读题 50篇(有答案)