本科实验报告。
课程名称: 单片机原理与应用技术
实验项目: 双字节bcd加法实验
实验地点: 信息学院二层机房
专业班级: 测控1301 学号: 2013001859
学生姓名: 王才。
指导教师温景国。
2024年4月16日。
实验一双字节bcd加法实验。
一、实验目的。
1)熟悉并掌握mcs-51指令系统和程序设计方法。
2)掌握双字节加法的程序算法。
二、实验设备。
计算机。操作系统:windows98/2000/xp
应用软件:w**e6000或其他。
三、实验内容。
完成有进位位的双字节bcd的加法实验。两个加数分别放于30h~31h和40h~41h,结果放于50h~52h。两个加数为2896h和3986h。
四、实验原理。
两数低位相加后保留进位位,高位数相加时,将低位的进位加上。
五、实验源程序。
org 0000h
mov 30h,#96h
mov 31h,#28h
mov 40h,#86h
mov 41h,#39h
mov a,31h
clr cadd a,41h
da amov 52h,a
mov a,30h
addc a,40h
da a mov 51h,a
clr aaddc a,0
mov 50h,a
六、实验结果与分析。
本实验实现的是双字节bcd加法。两个加数分别是2896h和3986h。执行完后(50)=01h,(51)=82h,(52)=67h。
七、实验心得。
通过这次实验,我学会了双字节bcd的加法实验,掌握了双字节数的程序算法,同时对编码转换程序的编写方法也有了一定的掌握。增强了我分析问题和解决问题的能力,在实践中加深对知识的理解。
本科实验报告。
课程名称: 单片机原理与应用技术
实验项目: 子程序及其调用实验
实验地点: 信息学院二层机房
专业班级: 测控1301 学号: 2013001859
学生姓名王才。
指导教师温景国。
2024年4 月16日。
实验二子程序及其调用实验。
一、实验目的。
1、通过编辑练习常用指令,理解并掌握mcs-51单片机的指令系统。
2、掌握子程序调用的程序设计。
3、掌握子程序调用过程中保护现场与恢复现场以及调用程序与被调用程序之间的参数传递。
4、学习汇编语言的程序设计方法。
二、实验设备。
计算机。操作系统:windowsxp
应用软件:w**e6000
三、实验内容。
编写程序,计算。a1,a2,..a10存放在内部ram的20h开始的存储区内,计算所得结果放入r2和r3中。
4、实验源程序。
org 0000h
main: mov r0,#20h
mov r7,#10h
mov r3,#
mov r2,#
mov 20h,#05h
mov 21h,#04h
mov 22h,#03h
mov 23h,#02h
mov 24h,#01h
mov 25h,#09h
mov 26h,#08h
mov 27h,#07h
mov 28h,#06h
mov 29h,#00h
loop: mov a ,@r0
acall sort
add a,r2
mov r2,a
clr aaddc a,r3
mov r3,a
inc r0
djnz r7,loop
sjmp $
sort: mov dptr,#tab
movc a,@a+dptr
rettab: db 0,1,4,9,16,25,36,49,64,81
五、实验结果与分析。
本次实验是计算0到9的平方和,实验结果为011d,与计算结果相符。子程序调用不必重复编写同样的程序,有利于提高编码效率,缩短源程序与目标程序的长度,节省程序存储的空间,使程序模块化、通用化,便于阅读、交流。
6、实验心得。
通过这次实验,我理解并掌握了子程序调用的程序设计,掌握子程序调用过程中保护现场与恢复现场以及调用程序与被调用程序之间的参数传递。子程序调用能很好的提高编码效率,节省程序存储的空间,应该多加练习,熟练掌握。
本科实验报告。
课程名称: 单片机原理与应用技术
实验项目数据排序实验
实验地点: 信息学院二层机房
专业班级: 测控1301 学号: 2013001859
学生姓名王才。
指导教师温景国。
2024年 4月 23日。
实验三数据排序实验。
一、实验目的。
1)熟悉并掌握mcs-51指令系统和程序设计方法。
2)掌握排序程序算法。
3)掌握用循环程序实现数据排序的方法。
二、实验设备。
计算机。操作系统:windows98/2000/xp
应用软件:w**e6000或其他。
三、实验内容。
编写一个通用排序子程序并调试,其功能为将ram的40h~4fh单元16个字节无符号二进制整数按从小到大顺序排序,将排序后的数据存放在50h~5fh缓冲区中。
四、实验原理。
从40h单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序正确,则不作任何操作;如果顺序错误,则将这两个数位置对换。这样,在完成第一遍n-1次比较后,最小的数到了最后,所以第二遍比较只需要比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag清零,在循环结束时,若flag=1说明排序未完成,进入外循环;若flag=0,说明排序完成,程序结束。
五、实验源程序。
org 0000h
mov r7,#10h
mov r0,#40h
mov r1,#20h
start: mov a,r1
mov @r0,a
inc r0
dec r1
djnz r7,start
mov r7,#0fh
lp0: mov r0,#40h
mov a,r7
mov r6,a
clr 7fh
lp1: mov a,@r0
mov 20h,@r0
inc r0
mov 21h,@r0
clr csubb a,21h
jc lp2
setb 7fh
mov @r0,20h
dec r0
mov @r0,21h
inc r0
lp2: djnz r6,lp1
jnb 7fh,lp3
djnz r7,lp0
lp3: mov r7,#10h
mov r0,40h
mov r1,#50h
lp4: mov a,@r0
mov @r1,a
inc r0
inc r1
djnz r7,lp4
sjmp $
end六、实验结果。
7、实验心得。
通过这次实验,我掌握了排序程序算法,同时也学会了用循环程序实现数据排序。这次实验也是我意识到自己对汇编指令系统掌握的不够好,不能顺利完成编程,以后实验前要做好准备,这样实验时才能快速准确。
本科实验报告。
课程名称: 单片机原理与应用技术
实验项目: 定时器中断实验
实验地点: 信息学院二层机房
专业班级: 测控1301 学号: 2013001859
学生姓名: 王才。
指导教师温景国。
2024年4月23日。
实验四定时器中断实验。
一、实验目的。
1)深刻理解对mcs-51单片机定时/计数器内部结构、工作原理和工作方式。
2)掌握定时/计数器工作在定时和计数两种状态下的编程方法。
3)掌握中断服务程序设计方法。
二、实验设备。
计算机。操作系统:windows98/2000/xp
应用软件:w**e6000或其他。
三、实验内容。
设单片机的时钟频率为12mhz,要求在p1.0脚上输出周期为2ms的方波。
四、实验原理。
周期为2ms的方波要求定时间隔为1ms,每次时间到将p1.0取反。定时计数器频率为fosc/12,tcy=12/fosc=1us。
每个机器周期定时计数器加1,1ms=1000us,需技术次数为1000/(12/fosc)=1000。由于加1计数器向上计数,为得到1000个计数之后的定时器溢出,必须给加1计数器赋初值65536-1000。
五、实验源程序。
org 0000h
ajmp start
org 001bh
ajmp t1int
org 0030h
start: setb tr1
setb et1
setb ea
mov sp,#60h
mov tmod,#10h
mov th1,#0fch
mov tl1,#18h
main: ajmp main
t1int: cpl p1.0
mov th1,#0fch
mov tl1,#18h
retiend
6、实验结果。
7、实验心得。
通过这次实验,我对mcs-51单片机定时/计数器内部结构、工作原理和工作方式有了更加深刻的理解,同时也掌握了定时/计数器工作在定时和计数两种状态下的编程方法以及中断服务程序设计方法。在今后的学习中,要更加注重实践,通过动手来增强自己解决问题的能力。
嵌入式ARM嵌入式系统设计
摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...
嵌入式系统
期末作业考核。满分100分。一 判断题 每题3分,共30分 1.嵌入式系统中的软件系统主要由嵌入式操作系统和应用软件组成,其中嵌入式微处理器属于嵌入式软件系统的核心。答 错。2.运行在智能手机或平板电脑中的android系统是一种嵌入式操作系统。答 对。3.windriver公司所提供的软件开发包是...
嵌入式系统
关于嵌入式系统 献给热爱此道的初学者们前言。网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易 一 嵌入式系统的概念。着重理解 嵌入 的概念。主要从三个方面上来理解。1 从硬件上,将基于cpu的处围器件,整合到cpu芯片内部,...