单片机实验一拆字程序
微机拆字实验报告
一、实验目的1. 了解汉字拆字的基本原理和方法;2. 掌握微机在汉字拆字中的应用;3. 熟悉汉字拆字程序的设计与实现。
二、实验原理汉字拆字是将一个汉字分解成若干个基本部件(称为笔画)的过程。
汉字拆字在汉字识别、汉字编码等领域有着广泛的应用。
微机拆字实验主要利用计算机的强大处理能力,实现对汉字的自动拆分。
三、实验内容1. 实验环境:Windows操作系统,Python编程语言,PyQt5图形界面库。
2. 实验步骤:(1)搭建实验环境,安装Python和PyQt5。
(2)编写汉字拆字程序,主要包括以下模块:① 汉字笔画识别模块:根据汉字笔画特征,识别汉字的各个笔画;② 汉字拆字模块:根据汉字笔画识别结果,将汉字拆分成基本部件;③ 汉字部件编码模块:将拆分后的汉字部件进行编码,便于存储和检索;④ 用户界面模块:实现用户输入汉字,展示拆分结果等功能。
(3)编写实验程序,实现以下功能:① 用户输入汉字,程序自动进行拆字;② 展示拆分结果,包括拆分后的汉字部件和编码;③ 用户可以调整拆分参数,如笔画识别阈值等。
3. 实验结果分析:(1)通过实验,成功实现了汉字的自动拆分,证明了程序的正确性。
(2)实验结果表明,汉字拆字程序具有较高的准确性和稳定性,能够满足实际应用需求。
四、实验总结1. 通过本次实验,掌握了汉字拆字的基本原理和方法,了解了微机在汉字拆字中的应用。
2. 在实验过程中,学习了Python编程语言和PyQt5图形界面库,提高了编程能力。
3. 通过对汉字拆字程序的设计与实现,锻炼了逻辑思维和问题解决能力。
4. 本次实验为后续相关研究奠定了基础,有助于进一步探索汉字拆字技术。
五、实验改进与展望1. 优化汉字笔画识别模块,提高识别准确率。
2. 丰富汉字部件编码方式,便于存储和检索。
3. 研究基于深度学习的汉字拆字方法,提高拆字效果。
4. 将汉字拆字技术应用于实际场景,如汉字识别、汉字编码等。
总之,本次微机拆字实验使我们对汉字拆字技术有了更深入的了解,为今后的学习和研究奠定了基础。
微处理器实验报告顺序程序设计拆字和拼字
微处理器原理与应用实验日志实验题目:顺序程序设计:拆字和拼字实验目的: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的使用有了更加透彻的理解,熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用,并且逐步掌握汇编语言设计和调试方式。
单片机实验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```在将汉字转换为二进制编码之后,我们需要编写一个循环程序来分解二进制编码,并将每个拼音对应的二进制代码显示在数码管上。
单片机拆字程序
单片机拆字程序单片机是一种集成电路,也是现代电子技术中常用的控制器件。
拆字程序是一种针对单片机的特定功能程序,用于将输入的文字进行拆分和显示。
在现代社会中,信息交流已经成为人们生活中不可或缺的一部分。
而文字作为最基本的信息表达方式,扮演着至关重要的角色。
然而,在某些场景下,我们可能需要对文字进行一些特殊的处理,比如拆分成单个的字母或汉字。
这时,单片机拆字程序就能发挥作用了。
单片机拆字程序的实现过程主要分为三个步骤:输入、处理和输出。
我们需要将待拆分的文字输入到单片机中。
这可以通过多种方式实现,比如通过键盘输入、通过串口接收等。
在输入过程中,我们需要保证输入的文字是有效的,即不能包含非法字符或符号。
接下来,单片机需要对输入的文字进行处理。
处理的方式可以根据具体需求而定。
对于英文字母,可以直接将每个字母分开显示;对于汉字,可以根据拼音或笔画将其拆分成单个的字母或汉字,并按照一定的顺序进行显示。
处理过程中需要注意的是避免重复输出相同的内容,确保每个字母或汉字只显示一次。
处理完成后的结果需要通过合适的输出方式进行显示。
单片机可以连接到液晶显示屏、数码管、LED灯等输出设备,将拆分后的字母或汉字按照预定的格式进行显示。
显示的方式可以是逐个显示,也可以是同时显示所有拆分后的字母或汉字。
除了基本的拆字功能,单片机拆字程序还可以扩展其他功能,比如添加字体库,使得显示的文字更加丰富多样;可以根据输入的文字进行动画效果的显示,增加视觉效果;还可以与其他设备进行联动,实现更复杂的应用场景。
总结起来,单片机拆字程序是一种针对文字拆分和显示的特定功能程序。
通过输入、处理和输出三个步骤,单片机可以将输入的文字按照一定的方式进行拆分和显示,提供更加个性化和丰富的信息交流方式。
随着技术的不断进步,单片机拆字程序在各个领域都有广泛的应用,为人们带来更多的便利和乐趣。
单片机拆字拼字实验报告
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
单片机的实验报告
一、实验目的及要求:(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,一般本程序用于把显示缓冲区的数据取出拼装成个字节。
拆字程序
计算机原理实验室实验报告课程名称:单片微型计算机原理及应用姓名学号28 成绩设备名称及软件环境MedWin v2.39 模拟仿真实验名称拆字程序实验日期一.实验内容将B寄存器中的一个十六进制数的高四位和低四位拆分,分别存放到R6和R7寄存器中,并转换成相应的ASCII码。
二.理论分析或算法分析十六进制数转换为ASCII码的算法:凡大于等于10的十六进制数加37H,凡小于10的十六进制数加30H,便可得到相应的ASCII码。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)MOV A, #5AHMOV B, AANL A, #0FHMOV R6, AMOV A, BSWAP AANL A,#0FHMOV R7, AMOV A, R6ADD A,#0F6HMOV A, R6JNC ADD1ADD A, #07HADD1: ADD A, #30HMOV R6, AMOV A, R7ADD A,#0F6HMOV A, R7JNC ADD2ADD A, #07HADD2: ADD A, #30HMOV R7, ARET四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)运行前内部数据区、特殊功能寄存器、寄存器的状态如下:运行后内部数据区、寄存器、特殊功能寄存器状态如下:五.结论通过本次实验,熟悉了MedWin仿真环境的使用。
掌握了内部数据存储器间的传送、数据交换指令SWAP的使用以及十进制数到十六进制转换的实现方法。
报告提交日期(注意:内容写不下时允许表格添加新行。
A4纸张(全班要求统一)边距上下左右2厘米,表格要求满页,字体宋体5号,固定单倍行距,文字部分用汉字排版格式,左对齐)(本备注允许删除)。
单片机_拆字程序实验
单片机_拆字程序实验太原工业学院计算机工程系成绩:单片微型计算机原理及应用课程实验报告课程:单片机微型计算机原理及应用姓名:专业:计算机科学与技术学号:日期: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拆字与拼字程序
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
单片机清零拆字实验报告
上海电力学院单片机实验(2)院系:电气工程学院专业年级(班级):2012028学生姓名:倪安安学号:20121511指导教师:赵永熹成绩:教师评语:4、数据转换实验一、实验目的1.掌握89S52存储器之间的数据传送方法;2.掌握指针操作方法;二、实验原理及实验内容在KEIL环境中编写并调试一个数据传送程序,并完成下面操作。
①将40~4FH 数据送到数据存贮器7E00H~7E0FH中,②将数据存贮器7E00~7E0FH中的数据送到89S52内部RAM 50~5FH中。
该实验无需将程序下载到实验系统中,只需在KEIL环境中完成仿真。
实验参考流程图(注意:流程图中的BP3表示断点)调试方法:⑴打开仿真软件中内部数据空间和外部数据空间,在40~4Fh数据单元中分别送数,例如:1,2,3,4,…等16个数据。
⑵单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00H~7F0FH)数据是否与40H~4FH数据一一对应。
⑶如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直至正确为止。
三、汇编程序ORG 0000HAJMP MAINMAIN:MOV R6,#16 /*数据个数*/MOV R0,#40H /*设置数据首地址*/TRANDA TA1: /*将40~4FH 数据送到数据存贮器7E00~7E0FH中*/MOV @R0,P1 /*通过P1口传送数据*/INC R0 /*下一个地址*/DJNZ R6,TRANDA TA1 /*直到16个数据送完*/MOV R6,#16MOV DPH,#7EH /*设置存放数据的RAM地址*/MOV DPL,#00HMOV R0,#40HLOOP:MOV A,@R0MOVX @DPTR,AINC DPTRINC R0DJNZ R7,LOOPTRANDATA2: /*数据存贮器7E00~7E0FH内容送到内部RAM 50~5FH中*/ MOV R1,#50H /*设置数据首地址*/MOV R7,#16 /*数据个数*/MOV DPH,#7EHMOV DPL,#00HLOOP1:MOVX A,@DPTRMOV @R1,AINC DPTRINC R1DJNZ R7,LOOP1END四、实验仪器和设备Keil软件;五、实验结果和数据分析。
第六部分 单片机仿真实验
第六部分单片机仿真实验实验一硬件仿真调试硬件仿真除PC机之外,还需要仿真器、实验电路板,DP-51PROC实验仪已具备这些设备。
一、硬件仿真工程环境的设置源程序存放起始地址为8000H,即程序存放伪指令应为“ORG 8000H”。
单击工具栏Project,在弹出的下拉菜单中选择options for Target>Target1”命令(或者单击快捷图标),弹出工程调试设置窗口。
(1)Targect页面设置;由于MON51监控程序已经占有了0000H~7FFFH地址单元的程序存储空间,因此用户的应用程序必须从8000H地址单元开始存放,即用户应设置off-chip Code Memory栏内的Eprom选项。
见图二十一。
图二十一(2)output的设置:点击output按钮,在“Create HEX File”(建立16进制格式文件)前打勾选中。
对于C51选项卡的设置。
点击C51按钮,进入C51选项卡的设置,按图二十二设置。
图二十二(3)C51属性栏的设置:在efine后面框中输入MONITOR51,将断口地址改为0X8000图二十三(4)Debug调试环境的设置。
选择Debug标签,进入设置页面,在该选项卡中,应选中Use(硬件仿真),在Use下拉控列表框中应选择Keil Monitor-51 Driver选项。
其它选项参考图二十四进行。
图二十四同时它的Settings按钮还提供了串口通信环境设置,通过它可以灵活设置串行通信的端口和波特率。
DP-51PROC单片机综合仿真实验仪波特率必须选9600bps,接口port一般为Com1。
图二十五完成上述设置后,单击“确定”按钮,退出环境设置。
二、编译、链接方法和软件仿真调试完全一样。
若在编辑、链接中出现警告信息,用户可以不必理会它;如果编译出错,将提示错误ERROR的类型和行号。
双击该提示行,将会在指令前出现一个箭头,指向出错误的那条指令。
必须修改程序中的错误,直至程序编译成功为止。
实验报告--拆字
实验报告--拆字微机原理实验报告一.实验内容拆字实验。
把片外7000H单元的内容拆开,高位送7001H单元的低位,低位送7002H 单元的低位。
7001H、7002H高位清零。
在实际应用中,本程序一般用于把数据送显示缓冲区时使用。
二.实验时间2014年12月9日三.实验过程(1)画程序框图(2)根据程序框图写实验程序试验程序如下:ORG 0050HMOV DPTR,#7000H;MOVX A,@DPTR;MOV B,A;SWAP A;ANL A,#0FH;INC DPTR;MOVX @DPTR,A;MOV A,B;INC DPTR;ANL A,#0FH;MOVX @DPTR,A;END(3)调试操作1.在试验机上按下复位,PCDBG键。
2.在DVCC试验系统上点击联接,调试,解决程序中出现的错误。
3.在试验机上按下复位,输入地址7000H,按下MEM,输入数据34H,再按MEM进行保存。
4.根据提示点击动态调试里的连续单步运行程序5.在试验机上或在窗口里的显示外部数据来检查7001H和7002H中是否分别为03H和04H。
四.附录(程序中出现的错误及改错方法)1.开始程序如下:ORG 0050H;MOV DPTR,#7000H;MOVX A,@DPTR;SWAP A;ANL A,#0FH;INC DPTR;MOVX @DPTR,A;DEC DPTR;MOVX A,@DPTR;INC DPTR;INC DPTR;ANL A,#0FH;MOV @DPTR,A;END开始时想通过DPTR的移动来实现取存不同的数据,但红色部分出现‘syntax error’;查算术运算指令表知,并不存在DEC DPTR指令,故修改,将放在A里面存放的#7000H先复制在B中进行保存,程序如三.(2)所示。
2.调试三.(2)时在END指令行出现“beyond body”错误,在英文状态下重新输入END 错误消失。
五.实验分工1.编写程序:丁娜2.程序调试:潘丽伊3.撰写报告:丁娜、潘丽伊。
《单片机原理及应用》实验报告
本科生实验报告实验课程XXXXX学院名称XXXXXXXXXXXXXXX专业名称XXXXXXXXX学生姓名XXXX学生学号XXXXXXXXXXXX指导教师XXXXXX实验地点XXXXXX实验成绩二〇一六年四月二〇一六年六月《单片机原理及应用》实验报告摘要《单片机原理及应用》是电子科学与技术、电子信息工程、计算机科学与技术、自动控制等专业工程应用能力和创新能力培养的一门重要专业基础课。
课程重点讲授:单片机存储器体系结构、指令系统与编程技术、中断系统及应用、定时器及应用、外围设备与单片机的接口技术,单片机应用系统设计。
因为单片机这门课是一门实践性很强的课程,单纯学习课本不能掌握这门知识,必须要经过试验课程才能更加具体和深入地学会这门课。
通过试验课的学习,使学生掌握单片机技术及其在工业控制、经济建设和日常生活中的应用,培养学生实践能力、创新能力和新产品设计开发能力,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础。
本实验板可以实现的实验内容:(1)单片机开发软件及仿真器的使用和P1口实验(2)I/O口实验(交通灯实验,温度传感器,蜂鸣器、I2C)(3)定时器实验(流水灯、交通灯、数码管等)(4)总线实验(流水灯LED、外部RAM)(5)系统扩展(包括:LCD、ADC、DAC、RAM等)(6)通信实验(RS232与计算机之间的串口实验)(7)传感器实验(1-Wire温度实验)(8)键盘实验(扫描接口)(9)电机实验(四相六线式步进电机)(10)时钟实验(RTC—PCF8563)(11)软件实验(多个数求和、排序等)(12)中断实验(外部中断、定时器、UART)本实验设计主要完成了数码管、流水灯、键盘、蜂鸣器等实验,与实验指导书结果符合,了解了部分功能的使用。
关键词:单片机 LED数码显示键盘串口第一章单片机集成开发环境应用一实验目的1.熟悉单片机集成开发软件(Keil);2.掌握单片机实验板的使用;3.掌握单片机P1口使用;二实验内容1、集成开发环境Keil介绍及开发流程Keil μVision4集成开发环境(Integrated Development Environment,IDE)是一个基于Windows的开发平台,它包含高效的源代码编辑器、项目(Project)管理器和程序生成(MAKE)工具。
《单片机》实验课——拆字、拼字程序
班级:学号:姓名:成绩:实验二拆字、拼字程序一实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二实验内容1.把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
2. 把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节三实验步骤⑴将存储器单元的D0~D7总线接口用8芯排线或8芯扁平线与数据总线单元D0~D7的任一接口相连,存储器单元的A0~A7地址接口与地址总线单元(低8)A0~A7的任一接口相连,存储器单元的A8~A15地址接口与地址总线单元(高8)A8~A15的任一接口相连。
⑵存储器单元的MWR与控制总线单元的IOW相连。
⑶存储器单元的MRD与控制总线单元的IOR相连。
⑷存储器单元的MACS与地址总线单元的A15相连。
编译、装载程序,以连续或单步方式运行程序,检查2000~20FFH中执行程序前后的变化。
四思考1.将2000的高低位分别送入3000H、3001H的高位, 3000H、3001H低位清零;;拆字程序ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,ASW AP AANL A,#0F0HMOV DPTR,#3001HMOVX @DPTR,A ;MOV DPTR,#3000HMOV A,BANL A,#0F0HMOVX @DPTR,ASJMP $END2.把片内20H,21H的高位拼在一起送到片内30H单元。
如何修改程序。
请把修改之后的程序和运行的结果截图。
拼字程序ORG 0680HSE03: MOV R0,#20HMOV A,@R0ANL A,#0F0HSW AP AMOV B,AINC R0MOV A,@R0ANL A,#0F0HORL A,BMOV R1,#30H MOV @R1,A SJMP $END。
实验一拆字程序
实验一拆字程序一、实验目的1、掌握汇编语言设计和调试方法,熟悉键盘操作2、初步了解汇编语言的环境和使用3、熟悉MCS51仿真开发系统的调试和使用二、实验仪器PC机一台、单片机实验开发箱、MCS51仿真开发系统三、实验原理程序框图开始(2000)送A,A送B交换高低位,屏蔽高位,存入(2001H)B送A, 屏蔽高位,存入(2002H)结束首先把指令右边的值赋给左边用户定义的A,在把2000H拆开,高位送2001H程序存储器,低位送2002H程序存储器,2001H、2002H高位清零,最后在数据在显示缓冲区显示改变。
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
四、实验内容及步骤用连续或单步方式运行程序,检查2000—2002H中内容变化情况。
1)打开MCS51仿真开发系统,编写好程序,保存、编译正确后进入调试界面。
2)打开存储器窗口,观察(2000)与A中的数值。
3)单步调试观察并记录寄存器(2001)与(2002)的变化。
判断程序是否正确。
若发现问题重返编辑界面,修改、存盘、汇编。
返回调试界面调试通过。
4)设断点调试、记录结果。
ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000)→A→BSWAP A ;交换ANL A,#0FH ;屏敝高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000)内容屏敝高位 MOVX @DPTR,A ;送2002HSJMP $END五、实验结果及数据处理:外部存储区第一次运行2 3 4 5 6 7 8 92000H 34H 0F5H 79H 8AH 0C8H 05H 32H 78H 9DH2001H 03H 0FH 07H 08H 0CH 00H 03H 07H 09H2002H 04H 05H 09H 0AH 08H 05H 02H 08H 0DH六、实验结果分析及问题讨论:(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。
单片机实验报告_拆字程序
第二步:获取2000H中的高四位放到2001H中第二步:获取2000H中的低四位放到2002H中五、思考1、如何用断点方式调试本程序。
2、将程序中的汇编语言中每条单步执行的指令阐述出来。
ORG 0000H ;程序从ROM区地址为0000H处开始放置LJMP SE02 ;长跳转到SE02程序段ORG 0660H ;程序从ROM区地址为0660H处开始放置 SE02: MOV DPTR, #2000H ;调整DPTRMOV A, #0A5H ;A5H放置至A中MOVX @DPTR, A ;A5H放置至RAM区地址为2000H的存储单元MOVX A, @DPTR ;取出RAM区地址为2000H的存储单元中的数据放置A中MOV B, A ;A中的数据备份到B中SWAP A ;A中的数据进行高低四位交换ANL A, #0FH ;将A中的高四位过滤,保留低四位INC DPTR ;DPTR值增一MOVX @DPTR, A ;将RAM区2000H中数据的高四位存放到RAM区地址为2001H的存储单元INC DPTR ;DPTR值增一MOV A, B ;恢复A中的值ANL A, #0FH ;将A中的高四位过滤,保留低四位MOVX @DPTR, A ;将RAM区2000H中数据的低四位存放到RAM区地址为2002H的存储单元LOOP: SJMP LOOP ;循环等待END ;程序编码结束六、程序清单 (sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR, #2000HMOV A, #0A5HMOVX @DPTR, AMOVX A, @DPTRMOV B, ASWAP AANL A, #0FHINC DPTRMOVX @DPTR, AINC DPTRMOV A, BANL A, #0FHMOVX @DPTR, ALOOP: SJMP LOOPEND七、实验小结解:通过本实验,对单片机的RAM与ROM的使用有了更加透彻的理解,为以后基于汇编的单片机程序开发打下坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验一拆字程序 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
实验一拆字程序
1 实验名称拆字程序
2 实验目的
掌握汇编语言测试和调试方法。
3 实验内容
把7000H的内容拆开,高位送7001H的低位,低位送7002H的低位,7001H、7002H高位清零,本程序应用于把数据送显示缓冲区。
4 硬件连线
5 实验步骤
(1)PC机
开始菜单程序 51JH实验系统 DVCC实验系统 ,进入实验界面。
选中本次实验名称,查看实验目的、内容、硬件连线、步骤。
输入源程序,编译、联接、运行实验程序。
(2)DVCC实验系统
①先用存储器读写方法将7000H单元内容置成34H。
按复位键,显示P.,输入7000H,按MEM键,输入34。
②用单步、断点或连续执行程序的方法从其始地址0050H开始运行程
序(输入0050后按STEP为单步,按EXEC为连续)。
按RESET后,显示P.,输入0050,按EXEC
③按MON键或RESET键退出。
④检查7001H、7002H单元中的内容应为03H、04H。
输入7000H,按MEM键,显示03,按NEXT显示04。
6 实验程序
ORG 0050H
CWORD: MOV DPTR,#7000H
MOVX A,@DPTR
MOV B,A
SWAP A
ANL A,#0FH
INC DPTR
MOVX @DPTR,A
INC DPTR
MOV A,B
ANL A,#0FH
MOVX @DPTR,A
CWORD1: SJMP CWORD1
END
7 实验拓扑
修改源程序,实现将把3000H的内容拆开,高位送3001H的低位,低位送3002H的低位,7001H、7002H高位清零。
用存储器读写方法将3000H单元内容置成76H。
8 实验结果分析
向存储器7000H单元写入34H,执行程序,检查拆字后7001H、7002H单元中的内容为03H、04H。
向存储器3000H单元写入76H,执行程序,检查拆字后7001H、7002H单元中的内容为07H、06H。