单片机实验二 拆字程序 实验报告

合集下载

总的单片机实验报告17(全部哟)参考模板

总的单片机实验报告17(全部哟)参考模板

重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称拆字、拼字实验实验类型设计性开课实验室语音楼学院信息科学与工程学院学生姓名学号开课时间2012 至2013 学年第1学期一、实验目的掌握汇编语言的设计与调试方法,掌握拆字拼字的程序编写方法;二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位,7001H,7002H高位清零,把7000H、7001H的低位相拼后,送入7002H三、实验步骤(1)打开Keil程序,执行菜单命令“Project –“New Project”创建“拆字、拼字实验”项目,并选择单片机型号为AT89C51;(2)执行菜单命令“New”创建文件,输入源程序,保存为“拆字、拼字实验.A51”。

在Project”栏的File项目管理窗口中右击文件组,选择“Add Fileto Group‘Source Grop1’”将源程序“拆字、拼字实验.A51”添加到项目中。

(3)执行菜单命令“Project”->“Option For Target‘Target 1’”,在弹出的对话框中选择“Output”选项卡,选中“Greate HEX File”。

(4)执行菜单命令“Project”->“Build Target”,编译源程序。

如果编译成功,则在“Output Window”窗口中显示没有错误,并创建了“拆字、拼字实验.HEX”文件。

(5)执行菜单命令“Debug”->“Start /Stop Debug Seesion”,按F11键,单步运行程序。

四、实验调试及结果程序:MOV DPTR,#7000HMOV A,#68HMOVX @DPTR,AMOVX A,@DPTRANL A,#0F0HSWAP AINC DPTRMOVX @DPTR,AMOV DPTR,#7000HMOVX A,@DPTRANL A,#0FHMOV DPTR,#7002HMOVX @DPTR,A结果:调试方法:单步运行到BP1,观察7000H单元中的内容和A单元中的内容是否为68,单步运行到BP2,观察7001H单元中的内容是否为6,单步运行到BP3,观察7002H单元中的内容是否为8,若是,程序对,若不是,反复修改程序直到正确为止。

微处理器实验报告顺序程序设计拆字和拼字

微处理器实验报告顺序程序设计拆字和拼字

微处理器原理与应用实验日志实验题目:顺序程序设计:拆字和拼字实验目的:1、掌握顺序程序编写方法2、掌握拆字和拼字方法3、学会编写和调试程序的过程和方法4、掌握C51编程方法。

实验要求:1、阅读、运行并调试已给的程序;2、模仿已给程序分别汇编程序和C程序完成拼字程序;实验主要步骤:1、启动计算机,进入Keil C51的集成开发环境;2、根据已给程序分别编辑汇编程序和C程序;3、编辑完成以后对程序进行编译,生成目标代码;4、运行、调试目标代码和进行结果检查;5、根据要求分别编写汇编程序和C程序;6、编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;7、修改内存单元中的内容在观察存储单元内容的变化;实验结果:汇编程序:ORG 0000HAJMP STARTORG 0100HSTART: MOV A,30HANL A,#0FHSW AP AMOV 32H,AMOV A,31HANL A,#0FHORL 32H,ASJMP $END#include""#include""void main(){DBYTE[0x30]=0x12;DBYTE[0x31]=0x34;DBYTE[0x30]<<=4; //20DBYTE[0x31]&=0x0f; //04DBYTE[0x32]=DBYTE[0x30]|DBYTE[0x31];}心得体会:在本次实验中,发现输入数据有两种方法,一种是在程序中直接赋值,另一种是直接双击0x0200这个单元,就可以对它赋值,最后运行结果一样,但后一种明显改动数据方便,这让我意识到了优化程序的重要性。

在第三个实验中,对用C语言编写的程序,不知道或语句怎么写,在请教老师之后得以解决,但是,在编译程序时没有问题,运行程序出现了错误。

一直没有找到问题,在最后重新建立工程,文件等必要步骤之后,就完成了程序的运行。

单片机拆字程序实验

单片机拆字程序实验

单片机拆字程序实验单片机拆字程序实验是一种通过单片机控制LED灯来实现拆字效果的实验。

通过该实验,可以学习单片机编程和数字电子技术知识,既能提高对硬件的理解,又能锻炼编程能力。

一、实验器材1. 单片机开发板2. 16x8 点阵 LED 模块3. 20P 配对排母头4. DC5V 2A 电源适配器5. 杜邦线、电阻等。

二、实验原理本实验通过单片机控制16x8点阵LED模块实现拆字效果,具体原理如下:1. 系统时钟为12M,通过定时器中断驱动点阵扫描显示,显示速度为50ms/帧。

2. 使用一个数组存储汉字的字模数据,每个汉字占据16字节,字节以二进制形式存储,通过给定的字模数据生成汉字的字形。

3. 利用按键调用拆字函数实现对汉字的拆分,如将“福”字拆分为“示”、“口”、“田”。

4. 利用移位运算实现汉字显示的左右滚动,通过控制移位幅度来实现滚动速度。

三、实验步骤1. 连接电路:将16x8点阵LED模块与单片机开发板相连,DC24V接DCIN,GND接GND, DIN接P2.0, CLK接P2.1, CS接P2.2。

2. 编写程序:在Keil C51编译器中编写程序,包括定义汉字数组、各个函数和中断程序等。

3. 烧录程序:将编写好的程序烧录到单片机开发板中。

4. 调试程序:按键触发拆字函数,观察汉字的拆分和滚动效果是否正确。

五、实验注意事项1. 拆字函数必须考虑多种情况,比如汉字的结构、不同拆分方式的可行性等,以保证拆分的正确性。

2. 调试时需要注意数组赋值的顺序,尤其是大端小端问题,否则可能会导致汉字显示出错。

3. 单片机开发板的电源必须与点阵LED模块的电源匹配,以确保正常工作。

六、实验拓展1. 实现更多的汉字拆分和显示样式,比如上下滚动、闪烁等。

2. 利用串口通信实现汉字输入和显示。

3. 尝试利用其他芯片和硬件实现类似的效果。

微机原理与接口技术-拆字程序

微机原理与接口技术-拆字程序

《微机原理与接口技术》课程实验报告
一、实验目的和要求
实验目的:掌握汇编语言设计和调试方式。

实验要求:通过本实验,掌握8051汇编程序设计以及仿真实验的流程及方法。

二、实验环境
DVCC单片机仿真实验系统独立工作以及连PC机。

三、实验内容及实施
【实验内容】把7000H的内容拆开,高位送7001H低位,低位送7002H低位。

7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区使用。

【源程序】
【实验步骤】
(1)先用存储器读写方法将7000H单元置成34H。

(2)用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输人0050H后按STEP为单步,按EXEC为连续)。

(3)按MON键或RESET键退出。

(4)检查7001H和7002H单元中的内容应为03H和04H
四、实验结果
五、实验讨论
用断点方式调试本程序的方法:把光标指向语句左边,然后单击,会出现一个符号。

同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。

通过本次实验,对单片机的RAM和ROM的使用有了更加透彻的理解,熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用,并且逐步掌握汇编语言设计和调试方式。

单片机拆字拼字实验报告

单片机拆字拼字实验报告
二.实验目的:
1、掌握基本的51汇编程序书写、编译
2、熟悉51指令的运用
3、掌握内RAM,外RAM区域数据操作
三.程序与流程图
程序一:
ROG 0000H
SJMP MAIN
ORG 0030H
MAIN:MOV A,20H
ANL A,OFH
CJNE A,#10,NEXT1
NEXT1:JNC NEXT2
ADD A,#30H
单片机实验报告单片机综合实验报告单片机实验板单片机实验箱单片机实验单片机实验心得单片机实验板原理图单片机实验软件单片机实验室单片机实验da
单片机原理及其接口技术实验报告
实验二0H单元的二进制代码转化为ASCII码,保存在21H,22H单元中;将7030H,7031H中的二进制代码压缩后存放于7032H中
END
程序二:
ORG 0700H
MAIN: MOV DPTR,#7030H
MOVX A,@DPTR
ANL A,#0FH
SWAP A
MOV B,A
INC DPTR
MOVX A,@DPTR
ANL A,#0FH
ORL A,B
INC DPTR
MOVX @DPTR,A
SJMP $
END
四.实验感受:
我的感受是:1更加了解了汇编语言
SJMP DONE
NEXT2: ADD A,#37H
DONE:MOV 21H,A
MOV A,20H
ANL A,#0H0H
SWAP A
CJNE A,#10,NEXT3
NEXT3:JNC NEXT4
ADD A,#30H
SJMP DONE1
NEXT4: ADD A,#37H

2013春单片机-实验2-拆字程序

2013春单片机-实验2-拆字程序

suogr@教学群号:31696867教9楼C 区181号信箱西北师范大学计算机科学与工程学院单片机与接口软件实验2-拆字程序索国瑞2013春选课班s u o g r @f o x m a i l.c o mQ Q 群:31696867西北师大计算机学院单片机与接口2013年4月7日星期日2拆字程序⏹实验目的⏹实验设备⏹实验内容⏹实验步骤⏹实验记录⏹实验结果分析2013年4月7日星期日3西北师大计算机学院索国瑞:suogr @ 实验目的⏹练习汇编语言源程序的设计方法⏹了解手工汇编目标程序的方法⏹掌握Keil 软件的使用2013年4月7日星期日4西北师大计算机学院索国瑞:suogr @ 实验设备⏹装有Keil 软件的PC 机2013年4月7日星期日5西北师大计算机学院索国瑞:suogr @ 实验内容⏹编一程序,将2000H 单元的内容拆开:其中的高四位D7~D4送入2001H 单元的低四位;2000H 单元的低四位D3~D0送入2002H 单元的低四位,并将2001H 和2002H 单元的高四位清零。

2013年4月7日星期日6西北师大计算机学院索国瑞:suogr @ 参考代码⏹0RG 0010HMOV DPTR,#2000H MOVX A,@DPTR MOV B,A SWAP AANL A,#0FH INC DPTRMOVX @DPTR,A INC DPTR MOV A,B2013年4月7日星期日7西北师大计算机学院索国瑞:suogr @ ANL A, #0FH MOVX @DPTR,AWAIT2: SJMP WAIT22013年4月7日星期日8西北师大计算机学院索国瑞:suogr @ 实验步骤⏹启动Keil 软件⏹输入实验程序⏹检查已输入的程序⏹设法使得CPU 启动后能转到0010H 单元⏹单步执行程序,观察实验现象,记录各单元结果⏹以断点方式执行程序,观察实验现象,记录各单元结果⏹将实验中2000H 单元的高低四位保存位置互换,再重复上述过程2013年4月7日星期日9西北师大计算机学院索国瑞:suogr @ 实验记录⏹记录程序输入后与汇编指令对应的机器码⏹记录程序执行后各指定单元的值⏹记录程序执行过程中PC 、DPTR 、A 、B 的变化规律2013年4月7日星期日10西北师大计算机学院索国瑞:suogr @ 实验结果分析⏹分析各指定单元的结果变化特点⏹分析WAIT2标号的地址值⏹分析A 、DPTR 、B 的作用⏹分析程序各指令作用,加注释⏹分析整个程序的结果特点,绘制出程序流程图。

哈工大单片机实验报告

哈工大单片机实验报告

软件实验在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。

实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。

二、实验内容把2000~20FFh的内容清零。

三、程序框图四、实验过程(1)实验中定义R0为循环次数,利用定义了初值的数据指针DPTR不断加1指向需要被清零的外部数据存储器单元。

(2)再利用MOVX语句,将外部存储器指定内容清零。

(3)用CJNE比较语句判断循环是否结束。

五、实验结果及分析问题回答:清零前2000H~20FFH中为内存里的随机数,清零后全变为0。

六、实验源程序;清零程序ORG 0000HMOV DPTR,#2000HMOV R0,#0FFHORG 0660HMAIN: MOV A,#00HMOVX @DPTR,AINC DPTRDJNZ R0,MAINEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。

三、程序框图四、实验过程(1)定义数据指针DPTR为2000H,将其中内容送入累加器A中,利用高低四位交换语句SWAP可将高四位移至低四位,再用语句ANL与0FH进行与操作取出高四位送入2001H低位(2)再次让数据指针DPTR为2000H,将其中内容送入累加器A中,直接与0FH相与取出低四位送入2002H低位。

五、实验结果及分析问题回答:将ANL A,#0FH改为ORL A,#0F0H可以实现将高位置为1。

六、实验源程序;拆字程序ORG 0000HMAIN: MOV DPL, #00HMOV DPH, #20HMOVX A, @DPTRSWAP AANL A, #0FHINC DPTR-3-MOVX @DPTR, AMOV DPL,#00HMOVX A, @DPTRANL A, #0FHINC DPTRINC DPTRMOVX @DPTR, AEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。

单片机的实验报告

单片机的实验报告

一、实验目的及要求:(1)学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;(2)熟悉TD-51单片机系统板及实验系统的结构及使用;(3)进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;(4)学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;(5)完成指定MCS51单片机综合设计题二、实验运行环境软件环境:KEIL uv2, PROTEUS7.4硬件环境:PC机, TD-51系统板三、软件部分实验一清零程序与拆字程序设计(1)清零程序:把7000H-7FFFH的内容清零。

(2)拆字程序:把7000H的内容拆开,高位送7001H低位,低位送7002H低位。

7001H,7002H高位清零,一般本程序用于把数据送显示缓冲区时用。

a)程序流程图图1 清零程序图2 拆字程序b)实验参考程序清零程序:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A, #00HMOV DPTR,#7000H ;赋给首地址MOV R1,#100H ;循环次数,完成对7000H-70FFH的置一MOV R2, #10HLOOP1: MOVX @DPTR,AINC DPTRDJNZ R1,LOOP1DJNZ R2,LOOP1 ; 因为都是先减一之后再做比较,所以0FFH、0FH个数要100H、10H次SJMP $END拆字程序:ORG 0000HLJMP MAINORG 1000HMAIN:MOV DPTR,#7000HMOVX A,@DPTR ;赋值MOV R0,AANL A,#0F0H ;得到高四位SWAP AINC DPTRMOVX @DPTR,A ;高位给7001HMOV A,R0ANL A,#0FH ;得到低四位INC DPTRMOVX @DPTR,A ;低位给7002HSJMP $END实验二拼字程序与数据传送程序设计(1)拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示缓冲区的数据取出拼装成个字节。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
00H
ORG 30H
00H
00H
30H
MOV A,30H
00H
30H里的数
30H里的数
ANL A,#0FH
30H里的数
高四位清零,低四位不变
高四位清零,低四位不变
MOV 22H,A
22H里的数
A高四位清零,低四位不变
A高四位清零,低四位不变
MOV A,30H
A高四位清零,低四位不变
30H里的数
30H里的数
将累加器A内容送片内RAM的20H单元
赋值:A=30H
将累加器A的高低位互换
将互换高低位后的累加器A高四位清零,低四位不变
将累加器A内容送片内RAM的21H单元
结束
单步运行程序,填写下论分析值
实际运行结果值
ORG 00H
00H
00H
00H
LJMP STAR
00H
00H
SWAP A
30H里的数
30H里的数高低位数转换
30H里的数高低位数转换
ANL A,#0FH
30H里的数高低位数转换
高四位清零,低四位不变
高四位清零,低四位不变
MOV 21H,A
21H里的数
A里面的数
A里面的数
SJMP $
00H
00H
00H
END
00H
00H
00H
思考
如何用断点方式调试本程序。
把光标指向语句左边,然后单击,会出现一个符号。同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。
佛山科学技术学院
实验报告
课程名称实验项目拆字程序
专业班级姓名学号
指导教师成绩日期年月日
实验目的
掌握汇编语言设计和调试方法。
实验内容
把20H的内容拆开,高位送21H低位,低位送22H低位,21H、22H高位清零,一般本程序用于把数据送显示缓冲区时用。
程序框图
开始
赋初始值:A=30H
累加器A高四位清零,低四位不变
实验报告内容:一.实验目的二.实验仪器(仪器名称、型号、参数、编号)三.实验原理(原理文字叙述和公式、原理图)四.实验步骤五、实验数据和数据处理六.实验结果七.分析讨论(实验结果的误差来源和减小误差的方法、实验现象的分析、问题的讨论等)八.思考题
相关文档
最新文档