ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:145.90KB ,
资源ID:996526      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/996526.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华中科技大学单片机实验二报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华中科技大学单片机实验二报告.docx

1、华中科技大学单片机实验二报告单片机实验报告实验名称 分支程序设计 指导教师 刘 冬 牛 专业班级 学 号 联系方式 任务要求熟练掌握KeilC环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行 10 口的使用。1.设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果 Y也存于外部RAM 元,请按要求编写程序。X2 当 X 40Y X/2 当 20 X 40X 当 X 202利用51系列单片机设计一个 24小时制电子时钟,电子时钟的时、分、秒数值分别通 过PO、P1、P2端口输出(以压缩 BCD码的形式

2、)。为低电平时开始计时,为高电平时停止 计时。提高部分(选做):a.实现4位十进制加、减1计数,千位、百位由 P1 口输出;十位、个位由 P2 口输出。 利用状态选择加、减计数方式。b.利用P3 口低四位状态控制开始和停止计数,控制方式自定。2.设计思路1分段函数设计对于第一个任务,根据变量 X的值的不同进行相应的计算。所以我们首先要判断 X的值属于那个范围。我们可利用比较转移指令 CJNE来判断X是否等于临界值20,40,若不等,再根据执行CJNE指令后的进位位 CY的值来判断X与临界值的的大小关系,如: CY=0则X大于临界值,CY=1则X小于临界值;然后根据 X的值所在的区间进行相应的计

3、算。应该注 意的是,除法计算中可能产生余数,商和余数应该分开存储,若乘方运算结果大于 255,高八位与低八位应分开存储2.24进制时钟本程序须可以构建两部分循环。 首先构建一个三重循环实现“一秒延时”,循环体利用NOP指令(单字节指令,1卩s)经多次循环达到延时一秒的效果。再利用已经构建好的“一 秒延时”部分,设计计时系统的三重循环,秒( 0-59)、分(0-59)、时(0-23)。秒和分计60次,小时计24次,但,是从0开始计,所以在分、秒达到 59,小时达到23时,下一次 应该为零。程序运行时修改的值可以实现暂停和继续的功能3.资源分配1.分段函数根据题目的条件,首先,设该 8位无符号数为

4、30H,把片外地址4000H分配给它,把片外地址4001H和4002H分配给经分段函数计算得到的结果 Y。按位取反计算结果存于4001H单元,而除法计算结果的商与余数和乘方计算中结果的高、低八位分开存储于 4001H-4002H单元。用寄存器 A,B来存放在乘除运算中所得的中间结果。2.二十四进制时钟工作寄存器R0 R1、R2分别用于秒、分、时循环次数的设定, R3 R4分别用于分与时的循环计数,R5-R7用于“一秒延时”中三重循环的循环次数设定。秒、分、时数值分别由 P2、P1、P0 端口输出。4.流程图c仔11.分段函数ORG 0000HLJMP MAINORG 0100H;将8位无符号数

5、赋给 A;定义数据指针;将X存于片外RAMMAIN: MOV A, #29HMOV DPTR, #4000HMOVX DPTR, AKIND1:CJNE A, #14H, KIND2;将A与14H比较,若不等于14H,跳转至KIND2OUT1: CPL A;对A中内容取反;将进位位清零CLR CMOV DPTR, #4001H;定义数据指针MOVX DPTR, A;将计算结果存于片外地址 4001HSJMP DONEKIND2:JNC KIND3;判断进位位CY是否为0,若为0,跳转至KIND3SJMP OUT1;否则跳转至 OUT1KIND3:CLR C;将进位位清零CJNE A,#28H,

6、 KIND4;将A中内容与28H比较,若不等于 28H,跳转至KIND4OUT2: MOV B,A;将A中内容赋给BMUL AB;计算X的平方,将结果高八位存于 B,低八位存于 AMOV DPTR, #4001H; 定义数据指针MOVX DPTR,A;将结果低八位存于片外地址 4001HINC DPTR; 数据指针加一MOV A,B;将 B 中内容赋给 AMOVX DPTR,A;将结果高八位存于片外地址 4002HSJMP DONEKIND4:JNC OUT2;判断进位位是否为 0,若为 0,跳转至 OUT2SJMP OUT3;否则跳转至 OUT3OUT3: MOV B,#02HDIV AB;

7、计算X/2,将商存于A,余数存于BMOV DPTR,#4001H; 定义数据指针MOVX DPTR,A;将商存于片外地址 4001HINC DPTR; 数据指针加 1MOV A,BMOVX DPTR,A;将余数存于片外地址 4002HSJMP DONEDONE: SJMP $END2. 24 小时时钟ORG 0000HLJMP MAINORG 0100HMAIN:MOV R0,#00HMOV P0,#00H ;时钟位清零MOV P1,#00H ;分钟位清零MOV P2,#00H ;秒钟位清零START:JB ,START ;为低电平开始计数,高电平停止计数MOV R2,P2 ;P2 的值存入

8、R2CJNE R2,#60H,DEL ;秒钟达到 60继续,不足 60 跳转MOV P2,#00H ;秒钟清零MOV A,P1ADD A,#01H ;分钟位加 1DA A ;分钟位改为 BCD 码MOV P1,AMOV R1,P1 ;P1 的值存入寄存器 R1CJNE R1,#60H,DE;分钟达到60继续,不足 60跳转MOV P1,#00H ;分钟清零MOV A,R0ADD A,#01H ;时钟位加 1DA A ;时钟位改为BCD码MOV R0,AMOV P0,ACJNE R0,#24H,DE;时钟达到24继续,不足 24跳转MOV P0,#00H ;时钟位清零MOV R0,#00HDEL

9、:LOOP1:LOOP2:MOV R7,#24 ;延时程序MOV R6,#61MOV R5,#170LOOP3:NOPNOPDJNZ R5,LOOP3DJNZ R6,LOOP2DJNZ R7,LOOP1MOV A,P2ADD A,#01H ;秒钟位加 1DA AMOV P2,ASJMP STARTEND六 . 程序测试方法与结果、软件性能分析1.分段函数改变X的值,分别在不同的X值时运行程序,结果如下截图(1) X=29HPt ojeet Jar ksp ace K* gi sMrViLlltrOOkOO:“” rlOmOOr2OkOO3OkODr4OkOO5OkOOr6OmOOrT0x00-

10、Sys呂0s06bOhOBsOnOTp_moOkOTdptrOk4002FC $cm.,.stales62sec0.00.田-1D呼 004Tg| K (Q)*0 |零X-gxQgwi:WggODogQDDQgQQQQQQQQQOQgoaoQD皿go00QQgQQQO口暫0Q00 QJ4 6gg饲鸽00OQOQOQOQ0000OQ9000COQOQOOQoa0000OQ00000000QQ00CDOQ000X; 0x0067 ;DO3C03OD0000阴0000CODO00oaaoODO000oo000000DOCO3000rxm萱 QCMdsDO0000ooreGO00GO0000CODOD

11、O00a aao0000CIO0000000000COQGaoaertnnifti M*、j-A AHi AKRmA眄H%j*% m HRa inK耳i*ihfKsKn a.h Hn#1 匚 沪 Memory =4如*注|初训D02XOk 口匚耳gDO00口。goggoDOaO3OD03ooCD30qD3QOOUDO00口口3000gooo30DO口亡: 0x004059:0 5cono50CIO0002DO0000A0-:30OC1:53000:&0no0003 300DCK9OaDDO601DQCQ口。g0000QG00ODODoc90oaggOD0oaaoDQCQ00asQO00QGKaQaDOiOWiaaDQOQDO00gj000QDao00JQ皿QO口 DQmaDDKODDQQQODOOQDO00asDOQoan mmn Fknnrunnrmi rtmrtinrn nn nnn-fcjnirs nfiL、in nJTi i1rmc niTfcmnrin nMpnOfV* A Mlw 章吟*wv*(2)X=21HRm理istar| aly | A-Re养rOOjcOOrlQxODr2OkOOr3OkEDr40x00r5DMrG0x00 S OkCO-SysjOkOI.b0x01OjcOT汕“邓血0x0 Tdptr0x4002PC $C:OKx.690.00.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1