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

合集下载

单片机实验3 拆字、拼字子程序设计

单片机实验3  拆字、拼字子程序设计

实验3 拆字、拼字子程序设计
1、实验内容
1)内部RAM 20H单元存放二位压缩的BCD码,
试将BCD码变成相应的ASCII码存放到以
40H单元为首地址的内部RAM单元
2)内部RAM 79H,7AH内存放着个位和十位两位
BCD码, 将它们变成压缩的BCD码存到R2内。

(以上程序要求取数、送数均用间接寻址)
3) 内部RAM 7AH,79H内存放两位BCD码高位在前,将它们拼成一个字节加1并进
行十进制凋整,然后再将个位送79H拾位送7AH。

要求伎用拼字、拆字子程完成。

2、实验步骤
1)打开PV32编程序。

汇编正确进入调试界面。

否则修改程序重新汇编直到通过。

2)打开DATD窗口给加数、被加数赋值
3)单步调试观察并记禄寄存器、内存的变化。

判断程序是否正确。

若发现问题重返编辑
界面,修改、存盘、汇编。

返回调试界面调试通过。

4)设断点调试、记禄结果。

3、实验报告
1)折字子程序流程图及程序清单
2)拼字子程序流程图及程序清单
3)标准BCD码与压缩BCD码的相同点与不同点是什么?
4)*第3问的流程图及程序清单(选做)。

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

单片机实验二  拆字程序  实验报告
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
思考
如何用断点方式调试本程序。
把光标指向语句左边,然后单击,会出现一个符号。同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。
佛山科学技术学院
实验报告
课程名称实验项目拆字程序
专业班级姓名学号

单片机拆字程序实验

单片机拆字程序实验

单片机拆字程序实验单片机拆字程序实验是一种通过单片机控制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. 尝试利用其他芯片和硬件实现类似的效果。

拆字拼字

拆字拼字

拆字拼字单片机原理及应用实验报告姓名:学号班级:指导教师:单片机原理及应用实验报告实验项目名称:拆字、拼字实验实验日期:2014年12月7日实验成绩:实验评定标准:一、实验目的掌握汇编语言设计和调试方法,掌握拆字和拼字的程序编写方法。

二、实验器材Keil-uVision4软件三、实验内容把7000H的内容拆开,高位送7000H低位,低位送7002H低位,7001H、7002H 高位清零,把7000H、7001H的低位相拼后,送入7002H中。

单步运行到BP1,观察7000H 和A 单元中内容是否为68,单步运行到BP2,观察7001H 单元中内容是否为6,单步运行到BP3,观察7002H 单元中内容是否为8,若是,程序对,若不是,反复修改程序直到正确为止。

同样可调试拼字程序。

五、实验结果及分析(附上编写的程序、执行的截屏及分析)实验参考程序:拆字程序:ORG 30H ;程序入口地址OV DPTR,#7000HMOV A,#68HMOVX @DPTR, A ;给7000H赋初值MOVX A, @DPTR ;(7000H)送AANL A, #0F0H ;取(7000H)的高位送7001HSWAP AINC DPTRMOVX @DPTR, AMOV DPTR,#7000HMOVX A, @DPTR ;(7000H)送A ANL A, #0FH ;取(7000H)的高位送7001HMOV DPTR, #7002HMOVX @DPTR, A拼字实验:ORG 0000HLJMP MAINORG 0680HMAIN: MOV DPTR,#7000H;(7000H)送A,屏蔽高位MOV A,#06HMOVX @DPTR,AMOV DPTR,#7001HMOV A,#08HMOVX @DPTR,AMOV DPTR,#7000HMOVXA,@DPTR;交换高位,送A ANL A,#0FHSWAP AMOV R0,AINC DPTRMOVX A,@DPTRANL A,#0FHORL A,R0INC DPTRMOVX @DPTR,ASJMP $END实验图片:图1图2图3图4图5图6图7图8图9图10实验中主要的程序代码如上所示,该程序展示的是拆字的过程,在右下角的区域可以观察到先显示的是68,之后显示68 06,最后显示68 06 08,是首先将68送到7000H,再将7000H送到A中,接下来便要进行高低位的交换并屏蔽掉高位后送到7001H,最后屏蔽高位后送到7002H即完成了此次任务。

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

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

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

实验要求:通过本实验,掌握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的使用有了更加透彻的理解,熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用,并且逐步掌握汇编语言设计和调试方式。

单片机实验3 拆字、拼字子程序设计

单片机实验3 拆字、拼字子程序设计

单片机实验3 拆字、拼字子程序设计拆字和拼字是人类阅读、语言学习和表达中的基本技能。

在这个实验中,我们将设计一个单片机程序,通过拆字和拼字的子程序来练习和提高汉字的识别和组词能力。

一、实验目的1. 加深对单片机中汇编语言的理解和掌握。

2. 熟悉单片机的输入、输出、延时等基本指令。

3. 实现汉字的拆字和拼字的子程序,提高汉字识别和组词能力。

二、实验器材1. 单片机开发板(AT89C52)2. 八位数码管3. 九键键盘4. 连接线5. 电脑、Keil C51集成开发环境三、实验内容A.数码管显示编写一个数码管驱动程序,通过按键输入一个数字,将其显示在数码管上。

数码管由8个LED组成,每个LED对应一个二进制位。

因此,我们需要将输入的数字转换为二进制数,并控制相应的LED显示。

B.拆字子程序编写一个拆字子程序,将输入的汉字拆成单个的汉字拼音。

汉字的拼音有一个对应的二进制编码,可参考GB2312中的表格。

在程序中,我们需要首先读取键盘输入的汉字,然后将汉字转换为相应的二进制代码,并将其存储在单片机中。

接着,我们需要将二进制代码分解成单个的拼音,并依次显示在数码管上。

四、程序设计在程序中,我们首先需要定义数码管所对应的输出端口和数码管的位数。

```;定义IO端口和数码管位数MOV P0,#0MOV P2,#0x01MOV DPTR,#TABLEMOVX A,DPTRMOV P2,#0x00MOV R0,#0x00MOV R1,#0x01MOV R2,#0x00MOV R3,#0x00MOV R4,#0x00MOV R5,#0x00MOV R6,#0x00MOV R7,#0x00```在键盘输入数字后,我们需要将其转换为二进制数,并存储在单片机的寄存器中。

对于一个单独的数字,我们可以用以下程序将其转换为二进制码:```;循环显示DISPLAY:MOV P0,#0xFFCLR CJNB R0,SKIP1MOV P0,#0xFESKIP1:RRC AJNB R1,SKIP2MOV P0,#0xFDSKIP2:RRC AJNB R2,SKIP3MOV P0,#0xFBSKIP3:RRC AJNB R3,SKIP4MOV P0,#0xF7SKIP4:RRC ADJNZ R5,DISPLAY```在将汉字转换为二进制编码之后,我们需要编写一个循环程序来分解二进制编码,并将每个拼音对应的二进制代码显示在数码管上。

实验二 拆字程序、拼字程序设计

实验二 拆字程序、拼字程序设计

实验二:拆字程序、拼字程序设计院(系):电子工程学院课程名称:单片机原理及应用日期:4.2.1 实验目的1. 掌握汇编语言指令的使用规范。

2. 掌握汇编语言程序设计方法。

3. 掌握MCS-51单片机的存储器结构。

4. 掌握单片机中数据存储形式。

4.2.2 实验预习1.熟悉Keil集成编译环境的使用方法。

2. 复习单片机指令系统。

3. 复习利用Keil集成编译环境查看单片机存储器状态的方法。

4.2.3 实验原理计算机中数据都是以字节为单位存储的二进制数,完成本实验需熟练掌握二进制的数据结构和原码,补码等数据编码方法以及单片机各指令对数据的影响。

4.2.4 预作实验任务1. 简介用Keil集成编译环境编辑、编译、调试程序的过程。

2. 简介用Keil调试程序时查看内部数据存储器和内部程序存储器状态的方法。

3. 输入并编译以下程序,在Keil中运行ORG 0000HAJMP MAINORG 0100HMAIN: MOV R0,#30HMOV 30H,#78HMOV 31H,#0AFHMOV A,@R0INC R0XCHD A,@R0SJMP $运行结果为: A = , R0 = , (30H) = , (31H) = ,4. 输入并编译以下程序,在Keil中运行,记录运行结果。

ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#79HANL A,#0FH ;A=ORL A,#0A3H ;A=XRL A,#0F0H ;A=CPL A ;A=SWAP A ;A=CLR A ;A=SJMP $5. 补全程序以完成程序功能。

程序功能:读取外部数据存储器2000H单元内容,并将其高四位送至P1端口的低四位,P1端口高4位不变。

MOV DPTR, ;外部存储器地址送DPTRA,@DPTR ;读取数据ANL A, ;屏蔽累加器低4位A ;累加器高低4位交换ANL P1,#0FH ;屏蔽P1低4位ORL A,P1 ;A和P1相或MOV P1, ;结果输出至P16. 补全程序以完成程序功能。

单片机拆字拼字实验报告

单片机拆字拼字实验报告
二.实验目的:
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

单片机实验指导书

单片机实验指导书

单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。

二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。

本程序通常把数据送显示缓冲区时使用。

三、实验器材:计算机1台。

四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。

2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。

3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。

右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。

(3)单步执行观察寄存器8000H-8002H的变化。

六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。

2、熟悉软件调试方法。

二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。

本程序一般用于把显示缓冲区数据取出拼装成一个字节。

单片机实验报告

单片机实验报告

学校单片机实验报告姓名:东方古国学号:200906大范甘迪教师:股份实验1:置数、拆字及拼字实验人员:丁云智指导老师:刘易实验地点:6C701 实验时间:2012年3月29日一、实验要求置数1、掌握汇编语设计和调试方法,熟悉键盘操作2、熟悉使用keil软件3、分别将70H~8FH、2000H~20FFH置数拆字程序1、掌握汇编语言设计和调试方法2、学会运用交换指令SWAP和逻辑运算指令ANL等指令3、把2000H的内容拆开,高位送2001H低四位,低四位送2002H低四位,2001H、2002H高四位清零4、熟悉使用keil软件拼字1、熟悉指令的运用2、把2000H、2001H的低四位分别送入2002H高四位和低四位二、实验原理置数拆字拼字三、程序设计置数:Org 00HAJMP MAINORG 30HMAIN:MOV R0,#70HMOV R1,#00H LOOP:MOV @R0,#0FFHINC R0INC R1CJNE R1,#20H,LOOPEND拆字:MOV DPTR,#2000H MOV A,#12H MOVX @DPTR,A SWAP AANL A,#0FHMOV DPTR,#2001H MOVX @DPTR,A MOV DPTR,#2000H MOVX A,@DPTRANL A,#0FHMOV DPTR,#2002H MOVX @DPTR,AEND拼字:ORG 00HAJMP MAINORG 30HMAIN:MOV DPTR,#2000HMOV A,#12HMOVX @DPTR,AINCDPTRMOV A,#34HMOVX @DPTR,ALOOP:MOV DPTR,#2000HMOVX A,@DPTRANL A,#0FHSWAP AMOVB,AINCDPTRMOVX A,@DPTRANL A,#0FHORLA,BINCDPTRMOVX @DPTR,AEND四、现象及结果置数:(1)在地址框内输入"d:0x0070",按回车,显示16个“FF”。

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实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。

拆字、拼字实验

拆字、拼字实验
分析思路, 绘制流程图: 问:怎么拼?
高低4位交换后送B
7001H内容送A,屏蔽高4位 A和B相加或相或后送7002H 结束
得30H 得04H 得34H
开始 7000H内容送A,屏蔽高4位
得03H
实验报告要求
实验题目:拆字、拼字实验 实验目的、意义:熟悉8051单片机及实验箱,练 习用汇编语言编程、调试及在单片机上运行、查 看结果的方法步骤。 主要设备、软件:8051单片机实验箱、PC机、 DVCC实验系统 下面的项目,两个题目分别说明: 程序功能 流程图 实验步骤:1、2、3、……(写拼字的实验步骤 时只需写出与拆字的区别即可) 实验现象、结果 心得、总结:实验中学到了什么、遇到什么问题、 怎么解决的。
,显示
5、点击“联接”按钮,联接DVCC实验箱。
“联接”按 钮
6、编写源程序
方法:新建,编程,保存为CWORD.asm
“新建”按 钮
保存为CWORD.asm
“保存”按 钮
7、先编译再调试源程序,直至无错
若“调试”按钮为灰色,则点击一下编程窗口即可。
8、装载目标文件 方法:按“Ctrl+L”,选择 “CWORD”下拉菜单中选择“外部数据窗口” , 在数据窗口中点右键,选择“设置数据块新地 址”,填写7000(注意没有后缀H)
检查运行结果:7001H和7002H单元 中的内容应为03H和04H
题目二:拼字实验
要求:把7000H、7001H单元内容的低4位相拼后的字 节送7002H。用于将显示缓冲区的数据取出拼装成一 个字节。
9、装入起始地址 在反汇编窗口(绿色窗口)点右键 ->设置新PC为0050
10、从起始地址开始连续运行程序(点运行按钮或F9) 程序运行完后,实验箱数码管显示一提示符“┌ ” 且PC机屏幕出现一对话框,应先按RESET键,再按 PCDBG键后返回调试界面。

实验二 拆字程序、拼字程序

实验二  拆字程序、拼字程序

单片机原理及其接口技术实验报告实验二:拆字程序、拼字程序学院:基础与信息工程学院专业:电子信息工程专业学号:姓名:日期:一.实验要求:将20H单元的二进制代码转化为ASCII码,保存在21H,22H 单元中;将7030H,7031H中的二进制代码压缩后存放于7032H中二.实验目的:1、掌握基本的51汇编程序书写、编译2、熟悉51指令的运用3、掌握内RAM,外RAM区域数据操作三.程序与流程图程序一:ROG 0000HSJMP MAINORG 0030HMAIN: MOV A,20HANL A,OFHCJNE A,#10,NEXT1NEXT1: JNC NEXT2ADD A,#30HSJMP DONENEXT2: ADD A,#37H DONE: MOV 21H,AMOV A,20HANL A,#0H0HSWAP ACJNE A,#10,NEXT3 NEXT3: JNC NEXT4ADD A,#30HSJMP DONE1 NEXT4: ADD A,#37H DONE1:MOV 22H,ASJMP $END程序二:ORG 0700H MAIN: MOV DPTR,#7030H MOVX A,@DPTRANL A,#0FHSWAP AMOV B,AINC DPTRMOVX A,@DPTRANL A,#0FHORL A,BINC DPTRMOVX @DPTR,ASJMP $END四.实验感受:我的感受是:1更加了解了汇编语言2单片机学习更加有目的性3学会了准备实验。

单片机_拆字程序实验

单片机_拆字程序实验

单片机_拆字程序实验太原工业学院计算机工程系成绩:单片微型计算机原理及应用课程实验报告课程:单片机微型计算机原理及应用姓名:专业:计算机科学与技术学号:日期:2016年4月太工计算机工程系计算机原理实验室实验一:拆字程序实验实验环境PC机+Win 7+V系列仿真器集成调试软件实验日期2016.04.22 一.实验内容基本要求:1.熟悉51仿真系统2.设计并单步调试实现将R5中一字节数拆分成两位独立的数据分别存于R6,R7中扩展要求:1.将R6,R7中的一位HEX数据转换为输出ASCII编码二.理论分析或算法分析设计并单步调试实现将R5中一字节数拆分成两位独立的数据分别存于R6,R7中R5←#data低四位清零R6←高四位高四位清零R7←低四位将R6,R7中的一位HEX数据转换为输出ASCII编码三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)基本要求源程序:org 80hmov r5,#2bhmov a,r5anl a,#0f0hswap amov r6,a;高位mov a,r5anl a,#0fhmov r7,a;低位sjmp$end扩展要求源程序:org 80hmov r5,#2bhmov a,r5anl a,#0f0hswap amov r6,a;高位mov a,r5anl a,#0fhmov r7,a;低位clr cmov a,r6subb a,#0ahjc l1mov a,r6add a,#37hmov r6,asjmp nextl1: mov a,r6add a,#30hmov r6,anext: clr cmov a,r6subb a,#0ahjc l2mov a,r7add a,#37hmov r7,asjmp herel2: mov a,r7add a,#30hmov r7,ahere: sjmp hereend四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)基本要求:扩展要求:五.结论通过本实验,对单片机的使用有了更加透彻的理解,为以后基于汇编的单片机程序开发打下坚实的基础。

MCS-51单片机实验4-1拆字与拼字程序

MCS-51单片机实验4-1拆字与拼字程序

A只CC是BCD 码,每个
数字不会超过0808039H,可
2以0不H 用屏蔽0,8直H 接相
加,实验中的程序,
21H 03H
适合0至F所有十六进
2制2数H 的拆解8与3拼H合。
B
0003HH
实验一、拆字与拼字程序
【实验目的】
掌握顺序结构程序设计方法 掌握数字的拆解与拼合方法(含BCD码)
【接线方式】
暂无
实验一、拆字与拼字程序
【实验内容及要求】
编写程序,实现以下功能 1、将片内RAM的20H内容拆开,高位送21H,低 位送22H。 编写程序, 2、将20H的低位、21H的低位送22H的高位、低 位。
【实验流开程始图】
(20H)送A,
A内数据高低 四位交换
屏蔽高四位保 留低四位
A送21H
(20H)送A 屏蔽高四位保
留低四位
A送22H
结束
开始 (20H)送
A, A内数据屏蔽高四
位保留低四位 A内数据高低
四位交换
A送B
(21H)送A
屏蔽A高四位 保留低四位
A加B送A
A加B送A
结束
【程序代码及运行结果 拆字程序】
ORG 0000H MOV A,20H
ACC
SWAP A
ANL A,#0FH MOV 21H,
20H
A MOV A,20H
21H
ANL A,#0FH
22H
MOV 22H,A
803388HH
83H
08H 03H
SJMP $
【程序代码及运行结果 拼字程序】
ORG
0000H
MOV A,20H
ANL A,#0FH

实验报告格式1-拆字、拼字实验

实验报告格式1-拆字、拼字实验

单片机原理及应用实验报告实验项目名称:拆字、拼字实验实验日期:2012年11月26日实验成绩:实验评定标准:1)实验结果是否正确A()B()C()2)实验结果分析A()B()C()3)实验报告是否按照规定格式A()B()C()一、实验目的掌握汇编语言的设计和调试方法,掌握拆字和拼字的程序编写方法。

二、实验器材PC一台keil软件一套三、实验内容把7000H的内容拆开,高位送到7001H低位,低位送7002H低位,7001H、7002H高位清零,把7000H、7001H的低位相拼后,送入7002H中。

拆字程序如下:MOV DPTR,#7000HMOV A,#68HMOVX @DPTR,AMOVX A,@DPTRANL A,#0F0HSW AP AINC DPTRMOVX @DPTR,AMOV DPTR,#7000HMOVX A,@DPTRANL A,#0FHMOV DPTR,#7002H MOVX @DPTR,A拼字程序:LJMP MAINMAIN: MOV 50H,#20H MOV 51H,#16HMOV 52H,#10HMOV 53H,#2AHMOV 54H,#29HMOV 55H,#06HMOV 56H,#1AHMOV 57H,#0EHMOV 58H,#0ACHMOV 59H,#03HMOV 60H,#01HMOV R0,#50HMOV R3,#9HLP0: CLR 7FHMOV A,R3MOV R2,AMOV R0,#50HLP1:MOV 20H,@R0 MOV A,@R0INC R0MOV 21H,@R0CLR CSUBB A,21HJC LP2MOV @R0,20HDEC R0MOV @R0,21HINC R0SETB 7FHLP2:DJNZ R2,LP1JNB 7FH,LP3DJNZ R3,LP0LP3:SJMP $END四、实验结果拆字实验结果:拼字实验结果五、实验结果分析拆字实验调试程序时,单步运行到BP1,观察到7000H和A单元中内容是68,单步运行到BP2,观察到7001H单元中内容为6,单步运行到BP3,观察到内容为8。

顺序程序设计:拆字和拼字

顺序程序设计:拆字和拼字

微处理器原理课实验日志一、实验题目:顺序程序设计:拆字和拼字二、实验结果本次实验目的是为了掌握顺序程序的编写方法,掌握拆字和拼字的方法,学会编写和调试程序的过程和方法以及掌握C51编写方法。

实验一、实现拆字功能,阅读理解程序并完成程序的填空。

最后运行程序,验证是否正确。

程序如下:ORG 0000HAJMP STARTORG 0100HSTART:MOV DPTR,#0200H ;指定的字节MOVX A,@DPTRMOV B,A;数据暂存SW AP A(1);A中数据高位和低位交换ANL A,#0FH ;屏敝高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH (2)MOVX @DPTR,ALOOP: SJMP LOOPEND运行程序,然后对X:0200H赋值,点击分步运行,就能观察到0201H、0202H值的变化。

结果如下:实验二、学习用C语言编写拆字程序,理解XBYTE,DBYTE等语句的含义。

程序如下:#include"reg51.h"#include"absacc.h"void main(){XBYTE[0x0200]=0x69;XBYTE[0x0201]=XBYTE[0x0200];XBYTE[0x0201]>>=4; ; 将0201H中的数右移4位XBYTE[0x0202]=XBYTE[0x0200];XBYTE[0x0202]&=0x0f;}运行结果如下:实验三,拼写程序,题目为:分别编写汇编语言程序和C程序,把片内RAM30H 、31H两个字节的低位分别送入32H的高位和低位,过程与拆字程序相反。

假设(30H)=12H, (31H)=34H,运行程序后(32H)=24H 第一、用汇编语言编写的程序如下:ORG 0000HAJMP STARTORG 0100HSTART:MOV 30H, #12HMOV 31H, #34HMOV A, 30HANL A, #0FHSW AP AMOV 32H, AMOV A,31HANL A,#0FHORL 32H,ALOOP: SJMP LOOPEND运行结果如下:第二、用C语言编写的程序:#include"reg51.h"#include"absacc.h"void main(){ DBYTE[0x30]=#0x12;DBYTE[0x31]=#0x34;DBYTE[0x32]=DBYTE[0x30];DBYTE[0x32]&=0x0f;DBYTE[0x32]<<=4;DBYTE[0x31]&=0x0f;DBYTE[0x32]|=DBYTE[0x31];}运行结果如下:三、实验过程中的问题及解决方案在本次实验中,遇到的问题是在第一个实验中不知道怎么把值69用汇编语句,实现对外部存储单元的赋值。

单片机实验报告_拼字程序

单片机实验报告_拼字程序

单片机实验报告_拼字程序
一、实验目的
本实验旨在掌握单片机的输入输出口的配置和使用,熟悉单片机界面及操作。

通过实现拼字游戏,提高学生对单片机程序设计的理解和应用能力。

二、实验器材
1. 套装板:STC89C52RC开发板 1块
2. USB线 1根
3. 1602液晶屏 1块
4. DAC芯片 1块
5. 电脑软件:Keil、STC-ISP
三、实验内容
1. 通过数码管显示当前选择的字母
2. 用按键进行可选字母上、下翻页
3. 用1602液晶显示出已拼接的单词
4. 实现音效,为已拼接的单词输出音效
四、实验原理
1.外设连接
(1)数码管连接到P2口,实现显示当前选中字母
(2)LCD连接到P0口,实现显示出已拼接的单词
2.程序流程
(1)初始化
包括数码管、LCD、按键和DAC的初始化
显示当前选中的字母,通过一个计数器进行控制
(3)按键扫描
进行按键扫描并作出响应
(4)捕捉拼字
如果按键被按下,则捕捉当前选中的字母并加入已拼接单词
(5)显示已拼接单词
(6)音效输出
当单词拼接完成后,进行音效输出
五、实验过程
1.确认电路连接无误,上电后数码管和1602液晶能正常显示
2.在Keil中编写程序,进行调试,确认程序逻辑无误,并可实现数码管和1602液晶的显示工作
3.将程序下载入开发板中,接上DAC音效芯片,进行测试
4.测试完成后,将程序重新上传至单片机,并将开发板与电源断开
六、实验结果
实现了拼字游戏程序,能够选定字母,并根据按键操作进行字母切换、单词拼接、单词显示和音效输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查20—22H中内容变化情况。
五、思考
如何用断点方式调试本程序。
整体运行程序,如果最终结果与理论结果不一致,采用断点方式调试程序,把光标移到断点处,点击“菜单”→“执行”→“执行到光标处”。逐步检查每步所得结果,观察其与推算结果是否一致,逐步排除错误,直至程序调试成功。
3、拆字程序内容
org 00h
ljmp star
org 30h
star: mov a,20h
swap a
anl a,#0fh
mov 21h,a
mov a,20h
anl a,#0fh
mov 22h,a
sjmp $
end
2、把20H的内容拆开,高位送21H低位,低位送22H低位
由图可知,程序把20h内容拆开,高位送21H低位,低位送22H低位
拼字程序实验
一、实验目的
进—步掌握汇编语言设计和调试方法。
二、实验内容
把20H、21H的低位分别送入22H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节。
三、程序框图
四、实验步骤
单步或用断点方式运行程序,检查22H内容变化情况。
程序内容
org 00h
ljmp star
org 30h
star: a,20h
anl a,#0fh
swap a
mov b,a
mov a,21h
anl a,#0fh
orl a,b
mov 22h,a
sjmp $
end
2、把20H、21H的低位分别送入22H高低位
由图可看出:把20H、21H的低位分别送入22H高低位。
佛山科学技术学院
实验报告
课程名称单片机原理与应用实验项目拆字程序,拼字程序实验
专业班级姓名学号
指导教师成绩日期201 1年月日
实验二拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把20H的内容拆开,高位送21H低位,低位送22H低位,21H、22H高位清零,一般本程序用于把数据送显示缓冲区时用。
相关文档
最新文档