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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机程序Word格式文档下载.docx

1、存高字节BCD RET4 将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。 MOV DPTR,#8000H MOV R0,#10H MOV R2,#50H LOOP:MOVX A,DPTR ;取数 MOVX R0,A ;存数 1NC DPTR DJNZ R2,LOOP5 请将片外RAM20H-25H单元清零。 MOV R0,#20H MOV R7,#06H CLR A MOVX R0,A INC R0 DJNZ R7,LOOP 6 请将ROM 3000H单元内容送R7 MOV DPTR, #3000H MOVC A,A+DPTR MOV R7,A 7 编程题CY

2、A DPTR 片外01H 片外00H 片外8000H 0 01H 8000H 0lH 00H 86H MOV DPTR,#8000H ;加数单元地址送DPTR MOVX A,DPTR ;取加数之一 ADD A,20H ;两数相加 MOV R0,#00H ;和值的低位送片外00H单元 MOVX R0,A CLR A ;计算和值的高位 ADDC A,#00H MOVX R0,A ;高位送片外01H单元 RET 8 有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加偶校验位。(以调用子程序的方法来实现。)源程序如下: ORG 1000H MOV

3、 R0,#40H MOV R7,#10NEXT: MOV A,R0 ACALL SEPA MOV R0,A INC R0 DJNZ R7,NEXT SJMP $ SEPA: ADD A,#00H JNB PSW.0,SRET ORL A,#80H SRET:9 从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。(10分) MOV R0,#30H MOV R1,#40H MOV A,#50HLOOP: MOV 20H,R0 JB 20H.7,FSHUZSHU: MOV R1,20H INC R1 SJMP NEXTFSHU:

4、 XCH A,R1 MOV R1,A INC A DJNZ R7,LOOP END 10 将内部RAM20H为首的16个单元的8位无符号数排序写出程序,并作适当注释 SORT: MOV R0, #20H MOV R7,#07H CLR TR0 ;交换标志位复位 MOV 2BH, A MOV 2AH, R0 CLR C SUBB A,R0;比较前后两个数 JC NEXT ; MOV R0, 2BH DEC R0 MOV R0, 2AH SETB TR0 ;置交换标志位有效 DJNZ R7, LOOP JB TR0, SORT;若交换标志位有效,继续进行 HERE: END11 将字节地址30H3

5、FH单元的内容逐一取出减1,然后再放回原处,如果取出的内容为00H,则不要减1,仍将0放回原处。 MOV R7,#10H MOV R1,#30HCJNE R1,#00H,NEXT MOV R1,#00H SJMP NEXT1NEXT: DEC R1NEXT1:INC R1 DJNZ R7,LOOP12 数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 MOV R7,#20H MOV R0, #30H MOV R1,#60HMOV A,R0 MOV R1,A DJNZ R7, LOOP13 将4个单字节数放片内30H33H,它们求和结果放在片内

6、40H,41H单元。 MOV R7,#04H MOV R0,30H CLR A MOV 41H,A ADD A,R0 JNC NEXT INC 41HDJNZ: R7,LOOP MOV 40H,A SJMP $ END14 RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。 ORG 2200H MOV A,40H MOV B,#64H DIV AB MOV R2,A MOV A,#0AH XCH A,B ORL A,B15 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 MOV R7,#07H MOV

7、 A,R0 ANL A,#0FH MOV R0,A DJNZ R7,LOOP16 编写一程序实现将1000H单元开始的100个单元的数据转移到2000H开始的单元中。(8分) ORG 0000H MOV DPTR, #1000H ;给源数据块地址指针DPTR赋初值 MOV P2,#20H ;给目的数据块地址指针P2和R0赋初值 MOV R0,#00H MOVX A,DPTR MOVX R0,A INC DPTR CJNE R0,#64H,LOOP17 设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H),下

8、列程序执行后,结果如何?(20H)=20H (21H)=00H (22H)=17H (23H)=01H CY=1 A=17H R0=23H R1=28H CLR C MOV R2,#3 ADDC A,R1 MOV R0,A DJNZ R2,LOOP MOV R0,#01H NEXT:DEC R018 编写航标灯控制程序。要求航标灯在白天熄灭,在夜晚断续点亮,时间间隔2秒,即亮2秒,息2秒,周期循环进行。(20分)主程序 ORG 2000H MAIN: MOV SP,#30HGAT0: CLR P1.7 MOV TMOD,#09H ;T0定时,模式1,GATE=1 MOV TL0,#058H ;

9、T0计算初值 MOV TH0,#9EH MOV R7,#28H ;软件计数初值HERE1: JNB P3.2,HERE1 ;夜晚到了吗?P3.2=0(白天)转HER1即停在此语句等待,夜晚到了P3.2=1 往下执行。到了,启动T0 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断HERE2: JB P3.2,HERE2 ;白天到了吗?P3.2=1(黑夜)转HERE2,即停在此语句等待,白天到了P3.2=0 往下执行。到了,关T0 CLR ET0 ;禁止T0中断 CLR EA ;关中断 CLR P1.7 ;关信号灯 SJMP GAT0中断服务程序 ORG 000BH SJMP T

10、0INT ORG 0020HT0INT:重赋T0初值 MOV TH0,#9EH DJNZ R7,EXIT ;软件计数为零吗?计数已到,重赋初值 CPL P1.7 ;输出取反,控制灯亮或灭 EXIT: RETI ;中断返回7、简单编程题:1)编程查找内部RAM的30H一50H单元中是否有0FFH这一数。若查找到,则将52H单元置为01H,若未找到,则将51H单元置为00H。FIND: MOV R0,#30HNET2: MOV A,R0 CJNE A,#0FFH,NET MOV 52H,#01HNET: CJNE R0,#51H,NET2 MOV 51H,#00H2)两个字符串分别存放在首地址为4

11、2H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。COMP: MOV R7,41H MOV R0,#42H MOV R1,#52HLOOP: MOV 30H,A MOV A,R1 CJNE A,30H,NET MOV 40H,#00H MOV 40H,#0FFH3)在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1。ZHIGA: MOV DPTR,#TABLE MOV R7,#10 MOVX A,DPTR ORL A,#80H MOVX DPTR,A4)在内部R

12、AM的41H单元开始存有一组单字节无符号数,数据长度为10,要求找出最小数存入40H单元。 FIND:MOV 40H,41H ;40H中存放最小的数CJNE A,40H,NET JNC NET2 MOV 40H,A ;当A小于40H单元的数时,小的数存入40H中 INC R0 CJNE R0,#4BH,LOOP5) 请编写能完成16位二进制数67D3H减去23F9H运算的程序,计算结果的高8位和低8位分别放在内部数据存储器的30H和31H单元。CAL: MOV A,#0D3H CLR C SUBB A,#0F9H MOV 31H,A MOV A,#67H SUBB A,#23H MOV 30H

13、,A1、设计4*4的行列式键盘,并包含两位数码管,这16个键的键值为015,当某个键按下时,将这个键的键值通过两位数码管显示出来。 ORG 0030H MOV 30H,#0 LCALL SCAN LCALL DISPLAY SJMP LOOPDISPLAY:MOV A,30H MOV B,#10 DIV AB MOV 40H,A MOV 41H,B SETB P3.1 CLR P3.0 MOV A,40H MOV P2,A LCALL D20MS SETB P3.0 CLR P3.1 MOV A,41H RET SCAN: MOV P1,#0FH; ;行线送“0” MOV A,P1 ;;读取列

14、线值 ANL A,#0FH MOV R4,A ;列号信息 CJNE A,#0FH,NEXT1 ;若列线均为“1”则无键按下 SJMP NEXT3 ACALL D20MS ;有键按下,去除抖动 MOV P1,#0F0H ;列线送0 MOV A,P1 ; ANL A,#0F0H MOV R5,A ;行号信息 CJNE A,#0F0H,KCODE;若有键按下则键处理NEXT3: CLR F0 ;无键按下,F0为0KCODE: SETB F0 ;有键按下,F0为1 MOV A,R4 ;计算列值 CJNE A,#0EH,NEXT4 MOV R4,#0 SJMP NEXT5 NEXT4: CJNE A,#

15、0DH,NEXT6 MOV R4,#1NEXT6: CJNE A,#0BH,NEXT7 MOV R4,#2NEXT7: MOV R4,#3NEXT5: MOV A,R5 ;计算行值 CJNE A,#0E0H,NEXT8 MOV R5,#0 SJMP NEXT11 NEXT8: CJNE A,#0D0H,NEXT10 MOV R5,#1NEXT10: CJNE A,#0B0H,NEXT9 MOV R5,#2 SJMP NEXT11NEXT9: MOV R5,#3NEXT11: MOV A,R5 MOV B,#4 MUL AB ADD A,R4 MOV 30H,A ;键值放在30H单元D20MS:

16、 MOV R6,#50DL2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DL2TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H2、设计包含两个按键S1、S2和一位数码管的系统。当S1按下时数码管显示的数增一,当增到9后,按下S1按键数值回到0;当S2按下时数码管显示的数减一,当减到0后,按下S2按键数值回到9。 ORG 0000H ORG 0030H MOV R5,#0 LCALL KEY MOV A,R5KEY: JB P1.0,KEY2 LCALL DELAY JB P1.0,

17、KEY2 JNB P1.0,$ INC R5 CJNE R5,#10,NETKEY2: JB P1.1,NET LCALL DELAY JB P1.1,NET JNB P1.1,$ DEC R5 CJNE R5,#0FFH,NET MOV R5,#9DELAY: MOV R6,#50 MOV R7,#100 DJNZ R7,$ DJNZ R6,DL23、设计60秒倒计时电路,完成程序设计,要求用定时器定时产生1秒的时间。 ORG 000BH LJMP T0INT MOV R5,#59 ;存放秒数 MOV R4,#20 MOV TMOD,#01H MOV TH0,#3CH ;定时50ms MOV

18、 TL0,#0B0H SETB EA SETB ET0 SETB TR0 LCALL DISPLAYT0INT: MOV TH0,#3CH ; DJNZ R4,EXT CJNE R5,#0FFH,EXTEXT: CLR P3.0 LCALL DELAY4、用定时器定时产生周期为1MS,占空比为60%的矩形波。 MOV R4,#10 MOV TMOD,#02H MOV TH0,#156 ;定时100US MOV TL0,#156 SETB TR0 DJNZ R4,NEXT SETB P3.7 RETI CJNE R4,#4,EXT CLR P3.7 END 5、完成八盏发光二极管流水点亮的电路及

19、程序设计,每个发光二极管点亮0.5秒。 MOV R4,#0FEH MOV P1,R4 MOV A,R4 RL A MOV R4,A SJMP LOOP MOV R5,#50DL1: DJNZ R5,DL16、用动态显示法完成8位数码管的显示,显示内容为“20100618”。 MOV 30H,#2 MOV 31H,#0 MOV 32H,#1 MOV 33H,#0 MOV 34H,#0 MOV 35H,#6 MOV 36H,#1 MOV 37H,#8 MOV R0,#30H MOV R2,#0FEHLOP1: MOV P3,R2 MOV A,R0 MOV A,R2 MOV R2,A CJNE R0,#38H,LOP1 MOV R6,#50 MOV R7,#50 DJNZ R7,$ DJNZ R6,DL2

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

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