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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

北交单片机实验程序整理.docx

1、北交单片机实验程序整理实验二 8155并行I/O口扩展和动态扫描程序编制4.实验内容基本要求:通过实验板的上的8155(U16)显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在8个LED数码管上依次动态显示数字18。扩展要求:假定30H33H的存储单元内容为4个字节16进制数,请依序将他们显示在8个LED数码管上根据程序要求做如下程序流程图:主程序流程图:显示子程序流程框图:基本要求编程如下: ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV SP,#60H ;压栈 MOV DPTR, #4100H MOV A,#0

2、FH ;方式控制字0FH送A MOVXDPTR, A ;8155初始化 MOV 70H,#01H ;设置显示缓冲区 MOV 71H,#02H MOV 72H,#03H MOV 73H,#04H MOV 74H,#05H MOV 75H,#06H MOV 76H,#07H MOV 77H,#08HLOOP: ACALL DISPLAY ;循环调用显示子程序 AJMP LOOPDISPLAY: MOV R0,#70H ;显示缓冲区首地址送R0 MOV R3,#0FEH ;字位控制初值送R3 LD0: MOV DPTR,#4102H MOV A,#0FFH MOVX DPTR, A ;B口字位送高,

3、关共阴显示 MOV A,R0 MOV DPTR,#DISTAB MOVC A,A+DPTR ;查表 MOV DPTR,#4101H ;PA口作字形 MOVX DPTR,A MOV DPTR,#4102H ;PB口作字位 MOV A,R3 MOVX DPTR,A ACALL DELAY ;延时1ms INC R0 ;修正显示缓冲区指针 JNB ACC.7,LD1 ;若显示完一遍,则LD1 RL A ;字位码左移一位 此处A中的值是R3 MOV R3,A ;送回R3 AJMP LD0 ;显示下一个数码LD1: RET ;此处把每一个八位显示看成一次函数。DISTAB: DB 3FH,06H,5BH

4、,4FH,66H,6DH,7DH,07H,7FH,6FH ;(共阴极字形表)DELAY: MOV R7,#02H ;1ms延时DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END实验中遇到的问题: 开始时没有预先在显示缓冲区中存入17,故实验显示的数据不是1、2、3、4、5、6、7、8,而是显示缓冲区中之前存在的无规则的一些数据,待向显示缓冲区重新赋值后,显示正常。扩展要求编程如下:ORG 0000HLJMP MAINORG 1000HMAIN: MOV SP,#50HMOV 30H,#0A1H MOV 31H,#0C2

5、HMOV 32H,#0D3HMOV 33H,#0F4HLCALL TRANMOV DPTR,#4100HMOV A,#0FHMOVX DPTR,ALOOP: LCALL DISPLAYSJMP LOOPTRAN: MOV R1,#30H ;将30-31H里的十六进制数分成两位存在70-71H中MOV R0,#70HMOV R3,#04LD2: MOV A,R1ANL A,#0FH ;取出低字节MOV R0,AINC R0MOV A,R1ANL A,#0F0H ;取出高字节SWAP A ;高低字节交换,将十六进制数的两位分开存放MOV R0,AINC R0INC R1DJNZ R3,LD2RET

6、DISPLAY:MOV R1,#0FEH ;显示部分同基本要求MOV R0,#70HMOV A,R1LD0: MOV DPTR,#4102HMOVX DPTR,AMOV A, R0MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#4101HMOVX DPTR,ALCALL DELAYINC R0MOV A,R1JNB ACC.7,LD1RL AMOV R1,ASJMP LD0LD1: RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79H, 71HDELAY: MOV R7,#02H

7、DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY2RETEND实验三 查询式键盘实验1.实验目的(1)掌握查询式按键检测方法(2)掌握数码管动态扫描汇编语言的编制方法2.预习要点(1)按键检测的基本原理(2)数码管动态扫描显示方法3.实验设备 计算机、单片机实验箱。4.实验内容基本要求:接实验二的实验内容,通过实验板的4个按键电路,将按键的检测线连接到CPU的p1.0p1.3上。当按下按键1到4时,在实验板显示电路(U16)分别对应显示1,2,3,4。扩展要求:30H33H中放置字母AD,字母在LED上循环显示,默认的循环周期为50ms

8、,当按下按键1到4时,AD循环间隔分别变为1至4秒,无按键按下时,恢复默认的时间间隔。根据程序要求得到如下程序流程图:基本要求编程如下: ORG 0000HMAIN: MOV 70H,#0 MOV 71H,#1 MOV 72H,#2 MOV 73H,#3 MOV 74H,#4 MOV DPTR,#4100H MOV A,#03H MOVX DPTR,AREADKEY: MOV A,#0FFH MOV P1,A MOV A,P1 JNB ACC.0,RP10 JNB ACC.1,RP11 JNB ACC.2,RP12 JNB ACC.3,RP13OFF: MOV R0,#70H MOV R3,#

9、0FFH SJMP LD0RP10: MOV R0,#70H MOV R3,#0FEH AJMP LD0RP11: MOV R0,#71H MOV R3,#0FEH AJMP LD0RP12: MOV R0,#72H MOV R3,#0FEH AJMP LD0RP13: MOV R0,#73H MOV R3,#0FEH AJMP LD0LD0: MOV A,R3 MOV DPTR, #4102H MOVX DPTR,A MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A ACALL DELAY AJMP MAINTA

10、B: DB 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FHDELAY: MOV R7,#02HDELAY1: MOV R6,#0FFHDELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET SJMP $ END扩展要求编程如下: ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV SP,#60H MOV 30H,#0AH MOV 31H,#0BH MOV 32H,#0CH MOV 33H,#0DH MOV A,#0FH MOV DPTR,#4100H MOVX DPTR,A READKEY: MOV A,

11、#0FFH MOV P1,A MOV A,P1 JNB ACC.0,RP10 JNB ACC.1,RP11 JNB ACC.2,RP12 JNB ACC.3,RP13 OFF: MOV R7,#50 AJMP DISPLAY RP10: MOV R7,#100 AJMP DISPLAY RP11: MOV R7,#200 AJMP DISPLAY RP12: MOV R7,#300 AJMP DISPLAY RP13: MOV R7,#400 AJMP DISPLAY DISPLAY: MOV R0,#30H MOV R2,#0FEH LD: MOV A,R0 MOV DPTR,#TAB MO

12、VC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A,R2 MOVX DPTR,A ACALL DELAY INC R0 JNB ACC.3,LD1 RL A MOV R2,A AJMP LD LD1: AJMP READKEY DELAY : MOV R6,#500 DELAY1: DJNZ R6,DELAY1 DJNZ R7,DELAY RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H, 71H实验四 利用中断控制LED灯

13、1.实验目的(1)掌握单片机中断的基本原理。(2)掌握单片机中断程序的编制方法。2.预习要点(1)单片机中断基本原理(2)中断程序编制方法3.实验设备 计算机、单片机实验箱、信号发生器。4.实验内容基本要求:将信号发生器输出的脉冲信号连接到CPU的INT0上,将CPU的P1.0到P1.7和8个红色LED灯连接,脉冲信号为5V、100Hz,每输入一百个脉冲LED灯亮一次,并且LED灯顺序循环移位一次,形成跑马灯。扩展要求:在LED数码管上与跑马灯同步显示18,顺序为P1.0对应的灯亮时对应显示数字1,依次类推。根据程序要求得到如下程序流程图: 主程序流程图 中断子程序流程图基本要求编程如下: O

14、RG 0000H AJMP MAIN ORG 0003H AJMP EXINT0MAIN: MOV SP,#70H SETB IT0 ;设定为负边沿触发 SETB EX0 ;开INT0中断 SETB EA ;开总中断 MOV R3,#00H MOV P1,#01HHERE: SJMP HEREEXINT0: INC R3 CJNE R3,#64H , NEXT ;计数值不到100,则返回 MOV R3,#00H MOV A,P1 ;计数值到100则对P1口的内容进行移位 RL A MOV P1,ANEXT: RETI扩展实验程序: ORG 0000H AJMP MAIN ORG 0003H A

15、JMP EXINT0 ORG 0060HMAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV 30H,#0 MOV 31H,#1 MOV 32H,#3 MOV 33H,#2 MOV 34H,#5 MOV 35H,#6 MOV 36H,#7 MOV 37H,#8 ;缓存器中送入1-8 MOV R3,#00H ;用于计脉冲 MOV P1,#00H ;关LED显示 MOV R4,#01H ;控制跑马灯 MOV R0,#30H MOV R5,#0FEH MOV R2,#8 MOV DPTR,#4100H MOV A,#03H MOVX DPTR,A ;方式控制

16、字送8155命令口 SJMP $EXINT0:INC R3 CJNE R3,#64H,NEXT ;计算脉冲达到100 MOV R3,#00H ;清零,重新计数 MOV A,R4 MOV P1,A ;跑马灯显示 RL A MOV R4,ADISPLAY1:MOV R0,#30H MOV R5,#0FEH MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A ,R5 MOVX DPTR,A ACALL DELAY ; INC R0 DJNZ R2,NEXT MOV R2,#8 M

17、OV R0,#30HNEXT: RETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY:MOV R7,#05HDELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END实验五 单相方波波形发生器1.实验目的(1)掌握单片机定时器基本原理和使用方法。(2)掌握单片机中断程序的编制方法。2.预习要点(1)单片机定时器基本原理(2)中断程序编制方法3.实验设备 计算机、单片机实验箱,示波器。4.实验内容基本要求:(1)利用定时器在p1.1输出方波,方波的周期为50ms,占空比

18、为50%。 (2)改上例中方波的占空比为25%。扩展要求: 利用LED数码管做一个包含时、分、秒的计时器基本要求编程如下:占空比为50%的方波(晶振为12M): ORG 0000H AJMP MAIN ORG 000BH AJMP BRT0 MAIN: MOV SP,#60H MOV TMOD,#01H MOV TH0,#9EH MOV TL0,#58H MOV IE,#82H SETB TR0 HERE: SJMP HERE BRT0: CPL P1.1 MOV TH0,#9EH MOV TL0,#58H RETI END占空比为25%的方波(晶振为12M): ORG 0000H AJMP

19、MAIN ORG 000BH AJMP BRT0 MAIN: MOV SP,#60H SETB P1.1 MOV TMOD,#01H MOV TH0, ,#0CFH MOV TL0, #2CH MOV IE,#82H SETB TR0 HERE: SJMP HERE BRT0: CPL P1.1 JNB P1.1,D3 MOV TH0,#0CFH MOV TL0,#2CH RETID3: MOV TH0,#6DH MOV TL0,#84H RETI END扩展实验程序: ORG 0000H AJMP MAIN ORG 000BH AJMP BRT0 ORG 0060HMAIN:MOV SP,#

20、60H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV R5,#20 MOV R6,#60 MOV R7,#60 MOV 40H,#00H ;秒 MOV 41H,#00H ;分 MOV 42H,#00H ;时 MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00HHERE:LCALL LD0 SJMP HEREBRT0:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R5,NEXT MOV A,4

21、0H ADD A,#01H MOV 40H,A MOV B,#10 DIV AB ACALL LD1 MOV 31H,A MOV 30H,B MOV R5,#20 DJNZ R6,NEXT MOV 40H,#00H MOV A,41H ADD A,#01H MOV 41H,A MOV B,#10 DIV AB ACALL LD1 MOV 33H,A MOV 32H,B MOV R6,#60 DJNZ R7,NEXT MOV 41H,#00H MOV A,42H ADD A,#01H MOV 42H,A ACALL LD2 MOV B,#10 DIV AB MOV 35H,A MOV 34H,B

22、 MOV R7,#60NEXT:RETILD1:CJNE A,#06H,LOOP MOV A,#00H SJMP LOOPLD2:CJNE A,#0CH,LOOP MOV A,#00H MOV 42H,#00HLOOP:RETLD0:MOV R0,#30H MOV R2,#6 MOV R3,#7FHDISPLAY:MOV DPTR,#4100H MOV A,#03H MOVX DPTR,A MOV DPTR,#TAB MOV A,R0 MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A,R3 MOVX DPTR,A A

23、CALL DELAY RR A MOV R3,A INC R0 DJNZ R2,DISPLAY RETTAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H DB 71HDELAY:MOV 57H,#250DELAY1:DJNZ 57H,DELAY1 RET END 实验六 利用A/D完成电压测量及显示1.实验目的(1)掌握A/D转换器的基本原理和使用方法。(2)掌握二进制数和BCD码之间的数值转换方法。2.预习要点(1)A/D转换器的基本原理和使用方法(2)二进制数和BCD码之间的数值转换方法3.实验设

24、备 计算机、单片机实验箱,万用表。4.实验内容基本要求:利用ACH1电位器,在05V范围调节A/D转换器0809的输入端ADIN0的电压,在显示电路上(U16)显示0050数值。扩展要求:相同输入条件下,在显示电路上显示-25+24的数值。根据题目得如下结构框图: 主程序流程图 A/D转换子程序流程图 基本要求编程如下: ORG 0000H LJMP MAIN ORG 0100HMAIN:ACALL READAD ACALL DISPLY SJMP MAINREADAD: MOV A,#00H MOV DPTR,#8000H ;IN0, MOVX DPTR,A ;启动A/D转换 MOV R7,

25、#80H ;等待A/D转换完成AD0809:DJNZ R7,AD0809 MOVX A,DPTR MOV B,#50 MUL AB MOV 40H,B ;将0255范围内的数据转换成0050范围内的数据 MOV A ,40H MOV B,#10 DIV AB MOV 50H,A MOV 51H,B RETDISPLY: MOV A,#03H MOV DPTR,#4100H MOVX DPTR,A MOV R0,#51H MOV R6,#0FEH LD0: MOV A,R6 MOV DPTR,#4102H MOVX DPTR,A MOV DPTR,#4101H MOV A,R0 MOV DPTR

26、,#TAB MOVC A,A+ DPTR ACALL DELAY12MS DEC R0 MOV A,R6 JNB ACC.1,LD01 RL A MOV R6,A AJMP LD0 LD01: RET TAB:DB:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY12MS: MOV R4,#02HDL2: MOV R5,#0FBHDL1: DJNZ R5,DL1 DJNZ R4,DL2 RET END扩展实验编程如下: ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP,#60H MOV DPTR,#4100H MOV A

27、,#0FH MOVX DPTR,A MOV DPTR,#8000H MOV A,#00H MOVX DPTR,A ACALL DELAY ACALL DELAY ACALL GETV ACALL DISPLAY ;调用显示程序 LJMP MAIN ;循环主程序GETV: MOV DPTR,#8000H MOVX A,DPTR MOV B,#50 MUL AB ; A*50/255, A先乘以50。 高8位放在B,低8位放在A MOV A,B ; 取出高8位,相当于除以了256,右移8位 CLR C SUBB A,#25 ;减25 JB ACC.7,FUSHU ;最高位不等于0跳转 MOV 50

28、H,#10H SJMP NEXTFUSHU:MOV 50H,#14H CPL A ;有符号数取其正值NEXT: MOV B,#10 ;分两位数显示 DIV AB MOV 51H,A MOV 52H,B RETDISPLAY:MOV DPTR,#4102H MOV A,#0FFH MOVX DPTR,A 实验七 利用DAC0832完成波形发生器4.实验内容基本要求:利用实验板上的0832D/A芯片,将示波器连接到滤波电路后,通过程序产生周期为20ms的三角波。扩展要求:利用实验板上的0832D/A芯片和电位器,将示波器连接到滤波电路后,通过程序产生周期或幅度可调的锯齿波。根据题目要求构造如下程序流程图:基本要求编程如下: ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV SP,#60H CLR A MOV DPTR,#4000HDOWN: MOVX DPTR,A ACALL DELAY INC A JNZ DOWN MOV A,#0FEHUP: MOVX DPTR,A ACALL DELAY DEC A JNZ UP SJMP DOWNDELA

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

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