单片机实验三 拼字程序实验 实验报告(修改版)
单片机实验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问的流程图及程序清单(选做)。
单片机实验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```在将汉字转换为二进制编码之后,我们需要编写一个循环程序来分解二进制编码,并将每个拼音对应的二进制代码显示在数码管上。
单片机实训报告优选范文5篇分享
单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。
老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。
一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。
一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。
当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。
希望以后能够拥有更多的实训时间和机会学习单片机。
实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
单片机拆字拼字实验报告
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
单片机实验报告
学校单片机实验报告姓名:东方古国学号: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”。
单片机的实验报告
一、实验目的及要求:(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,一般本程序用于把显示缓冲区的数据取出拼装成个字节。
单片机项目实训实验报告
一、实验背景与目的随着科技的发展,单片机作为嵌入式系统的重要组成部分,广泛应用于各个领域。
为了提高学生的实践能力和创新精神,我们选择了单片机项目实训作为实验课程。
本次实训旨在让学生掌握单片机的基本原理,熟悉其硬件和软件设计,并通过实际项目实践,提高学生的动手能力和解决问题的能力。
二、实验内容与步骤本次实训项目为设计一款基于ATmega16单片机的简易计算器。
该计算器能够实现基本的四则运算,并通过矩阵键盘和LCD1602显示屏进行人机交互。
1. 实验内容(1)设计计算器的硬件电路,包括ATmega16单片机、矩阵键盘、LCD1602显示屏等。
(2)编写计算器的软件程序,实现四则运算功能。
(3)测试计算器的功能,确保其正常运行。
2. 实验步骤(1)硬件设计根据实验要求,设计计算器的硬件电路。
主要包括以下步骤:1)选择合适的ATmega16单片机开发板。
2)设计矩阵键盘电路,包括按键布局和连接方式。
3)设计LCD1602显示屏电路,包括数据线和控制线。
4)将以上电路连接到ATmega16单片机开发板上。
(2)软件设计编写计算器的软件程序,实现以下功能:1)初始化ATmega16单片机,设置时钟频率。
2)初始化LCD1602显示屏,显示“0”作为初始值。
3)编写矩阵键盘扫描程序,检测按键状态。
4)根据按键输入,执行相应的四则运算。
5)将运算结果显示在LCD1602显示屏上。
6)实现清零、退格等功能。
(3)测试与调试1)将编写好的程序烧录到ATmega16单片机中。
2)连接计算器硬件电路,进行功能测试。
3)针对测试过程中发现的问题,进行调试和修改。
4)确保计算器能够正常运行,实现预期功能。
三、实验结果与分析经过实际操作和调试,我们成功设计并实现了一款基于ATmega16单片机的简易计算器。
该计算器能够实现基本的四则运算,并通过矩阵键盘和LCD1602显示屏进行人机交互。
以下是实验结果分析:1. 硬件设计方面,我们选择了合适的ATmega16单片机开发板,并设计了简洁的矩阵键盘和LCD1602显示屏电路。
单片机实训工作报告(精选3篇)
单片机实训工作报告(精选3篇)单片机实训篇1实训任务:做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重复循环3次。
然后左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
一、实训目的和要求:(1)熟练掌握keilc51集成开发环境的使用方法(2)熟悉keilc51集成开发环境调试功能的使用和单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel99se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(1)根据原理图(下图所示),用导线把单片机综合开发平台a2区的j61接口与d1区的j52接口相连。
(2)将流水灯程序编写完整并使用tkstudyice调试运行。
(3)使用导线把a2区j61接口的p1口7个口分别与j52接口的八个led相连。
(4)打开电源,将编写好的程序运用tkstudyice进行全速运行,看能否实现任务要求。
(5)观察运行结果,若能实现功能,则将正确编译过的hex文件通过easypro51编程器写入mcu片内存储器,然后将烧写的芯片a2区的圆孔ic座进行最终实验结果的演示。
(6)制板。
首先利用protel99se画好原理图,根据原理图绘制pcb 图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
单片机实训报告
单片机实训报告单片机实训报告「篇一」为了锻炼学生的动手能力及激发学生的创新能力,我们班于第十五周在单片机实验室行了单片机实训。
在实训过程中首先我们要明确实训目的:1、熟悉单片机应用系统的开发、研制过程。
2、能运用MCS-51单片机行简单的单片机应用系统的硬件设计。
3、能采用MCS-51单片机汇编语言行简单的单片机应用系统的软件设计。
4、掌握单片机应用系统的硬件、软件调试方法。
5、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统行在线仿真、调试和目标程序固化的方法。
6、为今后从事单片机应用系统的开发、生产和维护工作奠定基础。
在实训的第一天我们经过指导老师,XX老师和xx老师详细的为我们讲解了实训指导书,让我们了解实训当中所学的内容与一些元器件和我们要实验的课题。
在实验中主要有三个课题。
第一是十字路口交通信号灯的设计与制作。
课题2、比赛用秒表的设计与制作。
课题3、模拟霓虹灯控制系统的设计与制作。
为了能让我们更好的掌握知识我们把全班31人分成10组,我们在小组里也分工合作,也可以培养我们同学之间的合作能力。
在此有做硬件的,有做软件的,这样能够更好的加强自己的动手操作能力。
第一个课题是我们必须做的,在做完的第一个的基础下才能选择第二个或底三个,第一个课题在同学们的认真操作下很快就完成了,几乎在第二天大部分小组都可以完成。
这也证明同学们是很认真的投入到实训当中和知识的牢固性。
在第三天,正是实训的高潮,每个同学都投入到这种氛围当中,在实训操作中把不懂的记下,然后问指导老师,在老师的细心指导及时的解决问题。
看到我们的不足之处。
理论与实践相结合是最好的效果。
时光飞逝,一转眼,一个周又尾声了,实训就这样过去了,但真正的实训还未开始,我将要继续努力,继续奋斗。
俗话说“好的开始是成功的一半”。
说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。
其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。
单片机实验3报告
乐山师范学院学生实验报告实验课程名称:单片机实验日期:2014 年10 月29 日姓名常涛学号1330101039 同组人班级物电系(院)电信专业2013 级 3 班指导老师常峰张幼麟一、实验项目名称实验三c51程序设计二、实验目的掌握c51程序设计熟悉keil c 编译平台熟悉proteus 应用三、实验主要仪器设备仪器、器材、软件等四、实验原理略五、实验内容、步骤1.;;编写一c51程序,使用专用指针,把片外ram从0x100开始的30个字节数据传送到片内从0x40开始的区域中。
ORG 0000HSJMP MAINORG 0033HMAIN:MOV R7,#30MOV DPTR,#0100HMOV R0,#40HLP:MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R7,LPSJMP $END2.#include "reg52.h"void main(void){P1=1;while(1){#pragma asmmov A,P1RL AMOV P1,Amov r7,#0lp:mov r6,#0dJnz r6,$djnz r7,lp#pragma endasm}}3//让数码管循环显示0~9,并在proteus上仿真验证。
(共阴极数码管码)#include <reg52.h>unsigned char code dis_code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(unsigned int ss){while(--ss);}void mian(){unsigned char data i;while(1){for(i=0;i<10;i++){P0=dis_code[i];delay(50000);}}}4.#include<reg52.h>void delay(unsigned char x);void main(){unsigned char num;while(1){for(num=0;num<255;num++){P1=num;delay(100);}for(num=255;num>0;--num){P1=num;delay(100);}}}void delay(unsigned char x){for(;x>0;x--);}六、实验记录(数据、现象、报表、软件、图象等)1.七、实验数据、现象、报表、软件、图象等处理分析八、问题与心得实验报告日期:年月日3.4.2014-10-29。
单片机实训报告范文
单片机实训报告范文单片机实训报告一、实训目的及意义本次单片机实训的目的是为了让学生了解单片机的基本原理和应用,并能够独立完成一些常见的单片机实验,培养学生的动手能力、解决问题的能力和团队合作能力。
单片机是嵌入式系统的核心,几乎所有的电子设备和产品都需要单片机的支持,比如手机、电视、洗衣机等等。
掌握单片机的原理和应用对于电子信息专业的学生来说是非常重要的,本次实训旨在通过实践让学生更深入地理解单片机,并能够运用所学知识解决实际问题。
二、实训内容和步骤1.实训内容本次实训包括三个实验和一个小组项目。
实验内容如下:实验一:LED闪烁实验二:数码管显示实验三:蜂鸣器发声小组项目:设计一个温度控制系统2.实训步骤第1页/共5页实验一:LED闪烁步骤一:搭建电路按照实验指导书所示的原理图和电路图,搭建LED闪烁的电路。
步骤二:编写程序使用Keil等单片机编程软件,编写程序,控制LED闪烁的频率和亮度。
步骤三:烧录程序将编写好的程序烧录到单片机中。
步骤四:测试调试将单片机连接到电源,观察LED是否按照预期的频率和亮度闪烁。
实验二:数码管显示步骤一:搭建电路按照实验指导书所示的原理图和电路图,搭建数码管的电路。
步骤二:编写程序使用Keil等单片机编程软件,编写程序,控制数码管显示数字或字母。
步骤三:烧录程序将编写好的程序烧录到单片机中。
步骤四:测试调试将单片机连接到电源,观察数码管是否按照预期显示数字或字母。
实验三:蜂鸣器发声步骤一:搭建电路按照实验指导书所示的原理图和电路图,搭建蜂鸣器发声的电路。
步骤二:编写程序使用Keil等单片机编程软件,编写程序,控制蜂鸣器发出不同的声音。
步骤三:烧录程序将编写好的程序烧录到单片机中。
步骤四:测试调试将单片机连接到电源,观察蜂鸣器是否按照预期发出不同的声音。
小组项目:设计一个温度控制系统步骤一:需求分析与同组成员讨论,确定温度控制系统的需求和功能。
步骤二:搭建电路按照需求和功能确定的电路图,搭建温度控制系统的电路。
拼字程序使实验报告(3篇)
第1篇一、引言随着科技的不断发展,编程已经成为现代生活中不可或缺的一部分。
编程不仅可以帮助我们解决实际问题,还可以培养我们的逻辑思维能力和创新能力。
为了让学生更好地了解编程知识,提高编程能力,本实验报告旨在通过拼字程序的设计与实现,使学生掌握编程的基本原理和技巧。
二、实验目的1. 理解拼字程序的基本原理和设计思路。
2. 掌握编程语言的基本语法和常用数据结构。
3. 提高编程能力和逻辑思维能力。
4. 学会编写简单实用的程序。
三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm四、实验内容1. 拼字程序概述拼字程序是一种常见的编程练习,旨在通过给定的单词或句子,找出其中所有的拼字错误。
本实验将设计一个拼字程序,用于检测输入文本中的拼字错误。
2. 程序设计思路(1)定义一个包含常用单词的字典,作为参考;(2)将输入文本分割成单词;(3)遍历输入文本中的每个单词,与字典中的单词进行比对;(4)找出拼字错误的单词,并输出错误信息。
3. 程序实现(1)导入所需库```pythonimport re```(2)定义一个包含常用单词的字典```pythonword_dict = {'apple': '苹果','banana': '香蕉','orange': '橙子','grape': '葡萄','watermelon': '西瓜',... 其他单词}```(3)定义一个函数,用于检测拼字错误```pythondef check_spelling(text):将输入文本分割成单词words = re.findall(r'\b\w+\b', text)遍历每个单词,与字典中的单词进行比对 for word in words:if word.lower() not in word_dict:print(f"错误:'{word}' 可能拼写错误。
2020年哈工大单片机实验报告
哈工大单片机实验报告Harbin Institute of Technology单片机原理与应用实验报告学生姓名学班专号级业任课教师所在单位软件实验-1-在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2~2FFh的内容清零。
三、程序框图四、实验过程实验中利用MOVX语句,将外部存储器指定内容清零。
利用数据指针DPTR完成数据传送工作。
程序采用用循环结构完成,R移动单元的个数,可用CJNE比较语句判断循环是否结束。
五、实验结果及分析【问题回答】清零前2H~2FFH中为内存里的随机数,清零后全变为。
-2-六、实验源程序;清零程序 ORG 64HMOV DPTR,#2H ;(2H)送DPTR MOV R,#HHERE: MOVX @DPTR,A ;送(DPTR)INC DPTR ;DPTR+1 INC RCJNE R,#FFH,HERE SJMP $ END实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2H的内容拆开,高位送21H低位,低位送22H低位,21H、22H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图四、实验过程将寄存器中内容送入2H,分别将高低四位移到低位,将高四位置零然后移入21H和22H中。
利用MOVX指令、DPTR指针可实现数据的传送,利用高低四位交换指令SWAP和与指令ANL可进行对高低位的清零。
五、实验结果及分析-3-【问题回答】将ANL A,#FH改为ORL A,#FH可以实现将高位置为1。
六、实验源程序; 拆字程序START:MOV DPTR,#2H MOVX A,@DPTR MOV R,A SWAP AANL A,#FH INC DPTR MOVX @DPTR,A MOV A,R ANL A,#FH INC DPTR MOVX @DPTR,A ENDEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。
单片机实验三报告参考模板20140526
《单片机技术应用》实验报告实验三:单片机定时器与中断的应用任务1、两个外部中断源的应用(结合独立式按键)任务2、TC用做内部定时器的应用(结合LED、数码管、蜂鸣器等)任务3、TC用做外部计数器的应用(外接信号源)任务4、综合实现电子钟(用定时中断实现的电子钟)班级:12机电二班姓名:胡文强学号:1206210242实验时间:(一)任务1:两个外部中断源的应用(结合独立式按键)1、画出相应的驱动电路图;proteus仿真效果图,或者电路图功能实现后的拍照录像等附后;2、实现的功能描述如下:(1)功能1:接到P3.2和P3.3的两个按键采用中断法实现数码管显示内容的+1和-1功能;(2)功能2:接到P3.2和P3.3的两个按键采用查询法实现数码管显示内容的+1和-1功能;3、编写配套程序代码,并对关键语句有中文注释;#include <reg51.h>sbit key1=P3^2;sbit key2=P3^3;#define wx P2#define dx P0unsigned char count=0;unsigned char code led_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12, 0x02,0x58,0x00,0x10}; //0~9及其小数部分显示void keyscan_0() interrupt 0 //外部中断0 按键中断函数定义{{while(key1==0);count++;if(count==10) count=0;}}void keyscan_2() interrupt 2 //外部中断1 按键中断函数定义{{while(key2==0);count--;if(count==0xff) count=10;}}void disp(){wx=0xfe;dx=led_code[count];}void main(){P3=0xff;IE=0X81; //允许int0中断,字节操作赋值语句EA=1;EX0=1; //为操作赋值语句EX1=1;IP=0X01; //表示int0优先级为高级,字节操作赋值语句PX0=1; //位操作赋值语句PX1=1;IT0=1; //表示下降沿触发,位操作赋值语句IT1=1;TCON=0X01; //字节操作赋值语句while(1){disp();}}4、画出每个源程序配套的流程图(好的流程图反映了编程的逻辑思路清晰);5、思考与提高,相关补充关键的知识点归纳(自学收获小结,找出自己所学的知识点中不足的部分);(二)任务2:TC用做内部定时器的应用(结合LED、数码管、蜂鸣器等)1、画出相应的驱动电路图;proteus仿真效果图,或者电路图功能实现后的拍照录像等附后;2、实现的功能描述(1)用T0方式1定时50ms中断编程实现P1.0的LED灯亮灭各0.5s交替循环变化。
单片机实验报告_拼字程序
读取RAM区2000H中的值, 并放在累加器A中将A的值高四位过滤,保留低四位将A的值进行高低四位进行交换将A的值备份到B寄存器中DPTR值增一,取RAM区2001H处数据,并放到A中将A过滤到高四位后与备份到B中的数据进行或操作,实现两个半字节的拼接将拼接后的字符放到2002H单元中五、程序清单(sw03.asm)ORG 0000H ;程序在ROM中0000H地址单元处开始编码LJMP START ;长跳转跳到ROM中0680H处执行ORG 0680H ;程序在ROM中0680H地址单元处开始编码 START: MOV DPTR, #2000H ;修改DPTR值MOV A, #0AAH ;设置A的值MOVX @DPTR, A ;设置RAM中2000H地址单元的值为AAHINC DPTR ;调整DPTR值为2001HMOV A, #055H ;设置A的值MOVX @DPTR, A ;设置RAM中2001H地址单元的值为55HMOV DPTR, #2000H ;调整DPTR值为2000HMOVX A, @DPTR ;取出RAM中2000H地址单元的值并放在A中ANL A, #0FH ;将A的值高四位过滤,保留低四位SWAP A ;将A的值进行高低四位进行交换MOV B, A ;将A的值备份到B寄存器中INC DPTR ;调整DPTR值MOVX A, @DPTR ;取出RAM中2001H地址单元的值并放在A中ANL A, #0FH ;将A的值高四位过滤,保留低四位ORL A, B ;将RAM中2000H地址单元的值的低四位作为高位与RAM中2000H地址单元的值的低四位进行合并INC DPTR ;调整DPTR值,使其增一MOVX @DPTR, A ;将合并后的新值放到RAM中2002H地址单元中SJMP $ ;反复循环跳自已END ;程序编码结束一、实验小结:解:通过本次实验,对单片机外部RAM操作有了更清楚的操作思路,同时对汇编指令的使用更加娴熟,对汇编指令中循环语句的写法更加熟练。
单片机实验报告_拼字程序
单片机实验报告_拼字程序
一、实验目的
本实验旨在掌握单片机的输入输出口的配置和使用,熟悉单片机界面及操作。
通过实现拼字游戏,提高学生对单片机程序设计的理解和应用能力。
二、实验器材
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A里的数
A里的数高四位清零,低四位不变
A里的数高四位清零,低四位不变
SWAP A
A里的数高四位清零,低四位不变
A里的数高低位数转换
A里的数高低位数转换
MOV B,#21H
B里的数
把21H传到B
把21H传到B
ADD、ORL A,B
A里的数
把A里低四位与21H里低四位交换
把A里低四位与21H里低四位交换
MOV 22H,A
22H里的数
把A里的数传到22H里
把A里的数传到22H里
SJMP $
00H
00H
00H
END
00H
00H
00H
实验报告内容:一.实验目的二.实验仪器(仪器名称、型号、参数、编号)三.实验原理(原理文字叙述和公式、原理图)四.实验步骤五、实验数据和数据处理六.实验结果七.分析讨论(实验结果的误差来源和减小误差的方法、实验现象的分析、问题的讨论等)八.思考题
把21H传到R0
把A里低四位与21H里低四位交换
把A里的数传到22H里
结束
单步运行程序,填写下表内容。
程序语句
运行前寄存器值
理论分析值
实际运行结果值
ORG 00H
00H
00H
00H
LJMP STAR
00H
00H
00H
ORG 30H
00H
30H
30H
MOV A,20H
A里的数
20H里的数传到A
20H里的数传到A
佛山科学技术学院
实验报告
课程名称实验项目拼字程序实验
专业班的
进—步掌握汇编语言设计和调试方法。
实验内容
把20H、21H的低位分别送入22H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节。
程序框图
开始
赋初始值:A=20H
累加器A高四位清零,低四位不变
将累加器A的高低位互换