版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1Keil集成开发环境熟悉及汇实验编程序1.MOV 20H,#98HMOV A,20HMOV B, #100 DIV AB MOV 30h, A XCH A, B MOV B, #10 DIV ABMOV 31H,AMOV 32H,BRET END2.MOV 20H,#78HMOV A,20HANL A,#0FHADD A,#30HMOV 30H,AMOV A,20HANL A,#0F0HSWAP AADD A,#30HMOV 31H,A3.MAIN:MOV 30H,#2MOV 31H,#3MOV 3AH,#4MOV 43H,#3MOV R0,#30HMOV R7,#10MOV A,#00
2、HLOOP:MOV R0,A INC R0 DJNZ R7,LOOPRET END4.MAIN:MOV 30H,#3MOV 31H,#5MOV 3FH,#6MOV R0,#30HMOV R1,#40HMOV R7,#16LOOP:MOV A,R0MOV R1,AINC R0INC R1DJNZ R7,LOOPRETEND并行I/O接口实验1. ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV A,#0FEHLIGHT: MOV P1,A RR A MOV P1,A ACALL DELAY AJMP LIGHTDELAY: MOV R7,#250DELAY1: MOV
3、 R6,#250 NOPDELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END2. ORG 0000HAJMP MAINORG 0100HMAIN: SETB P1.0 SETB P1.1LOOP: MOV C,P1.0 MOV P1.2,CMOV C,P1.1MOV P1.3,CAJMP LOOPSJMP $END3. ORG 0000H AJMP MAIN ORG 0100HMAIN: SETB P1.7LOOP: MOV C,P1.7 MOV P1.1,C MOV P1.0,C AJMP LOOP SJMP $ END3.3点阵式LED显示实验1.OR
4、G0000HLJMPMAINORG0030HMAIN:MOVA,#0FEHMOVR4,#8 LCALLT164 SJMP MAINT164: RLC A MOV P3.3,C MOV P3.4,C SETBP3.2 CLRP3.2 LCALLDEL DJNZR4,T164DEL: MOVR5,#04HDEL1: MOVR6,#0FFHDEL2: MOVR7,#0FFHDEL3: DJNZR7,DEL3 DJNZR6,DEL2 DJNZR5,DEL1 END2.ORG 0SJMP MAINORG 30HMAIN:MOV R1,#10X:MOV DPTR,#TABXMOVB,#0FEH;B寄存器作
5、列值变换CLR CMOV R2,#8;R2作列循环计数LCALLLOOPDJNZ R2,LOOPDJNZR1,XSJMP MAINLOOP:MOV A,#0 MOVP1,#0FFHMOV R4,#8;R4作行串并转换计数;行值设置MOVCA,A+DPTR INC DPTRLCALL T164;列值设置MOV P1,BMOVA,BRLA MOVB,A;延时LCALL DELRET SJMP MAIN;串并转换程序T164: RLCAMOVP3.3,CMOVP3.4,CSETBP3.2CLRP3.2DJNZR4,T164RET;延时子程序DEL:MOV R5,#20DEL1:MOVR6,#125D
6、EL2:DJNZR6,DEL2DJNZR5,DEL1RETTABX:DB7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EHTABT:DB 0FCH,0FCH,0FCH,00H,00H,0FCH,0FCH,0FCHTABL:DB00H,00H,3FH,3FH,3FH,3FH,3FH,3FHTABE:DB00H,00H,24H,24H,24H,24H,24H,24H3.4 I2C总线和8段LED显示实验1.内容1,显示;*; 定义器件地址及存放单元ZLG7290EQU70H;ZLG7290的器件地址SLADATA63H;器件的从地址SUBADATA64H;器件的子地址; 定
7、义变量单元ACKBIT10H;应答标志位NUMBYTEDATA62H;读/写的字节数变量MTDEQU6EH;发送数据缓冲器DISBUFEQU66H;66H6DH为显示缓冲区,66H对应最右一位;以上定义一般不要改动; I2C引脚定义SDABITP3.0SCLBITP3.1RSTBITP3.6;*ORG0000HLJMPMAINORG0030HMAIN:MOV SP,#70H;设堆栈,建议堆栈设在此处LCALL RE7290;复位RE7290MOVR0,#DISBUF;显缓区首地址(66H)MOVA,#1FH ;将熄灭码依次填入显缓区MOVR2,#8MLOOP:MOVR0,AINCR0DJNZR
8、2,MLOOPCC:MOVR0,#DISBUF MOVR3,#08HMOV A,#08HAA: MOV R0,A INC R0 DEC ADJNZ R3,AALCALLLEDDISP;调用显示程序LCALLDELAY;延时SJMPCC$INCLUDE(LEDDISP_ASM.INC);包含LED显示模块程序END2.ZLG7290EQU70HSLADATA63HSUBADATA64HACKBIT10HNUMBYTEDATA62HMTDEQU6EHDISBUFEQU66HSDABITP3.0SCLBITP3.1RSTBITP3.6ORG 0000HLJMP MAINORG 0030HMAIN:M
9、OV SP, #70H LCALL RE7290MOV R0, #DISBUFMOV A, #1FHMOV R2, #8MLOOP:MOV R0, AINC R0 DJNZ R2, MLOOPAA:MOV R0, #DISBUFMOV A,P1MOV B,#64HDIV ABMOV R0,AINCR0MOV A,BMOV B,#10DIV ABMOV R0,AINCR0MOV A,BMOV R0,ALCALL LEDDISPLCALL DELAYSJMP AA$INCLUDE(LEDDISP_ASM.INC) END 3.5中断实验1.ORG 0LJMP MAINORG 0003HLJMP I
10、NT00ORG 30HMAIN:SETB EASETB EX0SETB IT0SETB P1.0HERE:JMP HEREINT00:CPL P1.0RETIEND2.ORG0000HLJMPMAINORG0003HLJMPINTT0ORG0100HMAIN:SETBEX0SETBIT0SETBEAMOVR1,#0MOVA,#0FCH/点亮最低位应送值CL:MOVR4,#8 /移位7次DL:MOVR5,#10 /50MS*10 MOVP1,ACHULI:CJNER1,#0,CHULI1/R1为0,左移一位循环点亮RLACHULI1:CJNER1,#1,CHULI2/R1为1,右移一位循环点亮R
11、RACHULI2:CJNER1,#2,CHULI3/R1为2,左移两位循环点亮RLARLACHULI3:CJNER1,#3,DELAY /R1为3,右移两位循环点亮RRARRADELAY:LCALLDELDJNZR5,DELAY /每一次调用DEL延时50ms,调用R5次DJNZR4,DL /每轮位移R4次LJMPCL/一轮结束,从头再来,主要从新赋值R4 DEL:MOVR6,#200 /较精确50ms延时DEL1:MOVR7,#123NOPDEL2:DJNZR7,DEL2DJNZR6,DEL1RETINTT0: INCR1CJNER1,#4,FANHUIMOVR1,#0FANHUI: RET
12、IEND3.ORG 0LJMP MAINORG 0003HLJMP INTOOORG 30HMAIN:SETB EASETB EX0SETB IT0SETB P1.0MOV 30H,#0ORG 50HHERE:JMP HEREINTOO:MOV A,30HADD A,#1MOV 30H,AMOV A,31HADDC A,#0MOV 31H,AMOV A,30HCPL AMOV P1,A RETIEND3.6 定时/计数器实验1.;调用LED显示的示例程序:将按键连到T0引脚,程序对按键次数计数并显示。;*; 定义器件地址及存放单元ZLG7290EQU70H;ZLG7290的器件地址SLADAT
13、A63H;器件的从地址SUBADATA64H;器件的子地址; 定义变量单元ACKBIT10H;应答标志位NUMBYTEDATA62H;读/写的字节数变量MTDEQU6EH;发送数据缓冲器DISBUFEQU66H;66H6DH为显示缓冲区,66H对应最右一位;以上定义一般不要改动; I2C引脚定义SDABITP3.0SCLBITP3.1RSTBITP3.6;* ORG0000HLJMP MAIN ORG0100HMAIN:MOV SP,#70H;设堆栈,建议堆栈设在此处LCALL RE7290;复位RE7290MOVR0,#DISBUF;显缓区首地址(66H)MOVA,#1FH;将熄灭码依次填入
14、显缓区MOV R2, #8MLOOP:MOV R0, AINC R0 DJNZ R2, MLOOPMOVTMOD,#05HMOVTH0,#0MOVTL0,#0SETBET0SETBEASETBTR0PLAY: MOVR1,TL0MOVA,R1CPLAMOVR1,AMOVP1,R1MOVB,#100MOVA,TL0DIVABMOV68H,AMOVA,BMOVB,#10DIVABMOV67H,AMOV66H,BMOVB,#100MOVA,TH0DIVABMOV6BH,AMOVA,BMOVB,#10DIVABMOV6AH,AMOV69H,BLCALLLEDDISPLCALLDELAYLJMPPLAY
15、$INCLUDE(LEDDISP_ASM.INC)END2. ORG0000H LJMP MAIN ORG 000BH LJMP IT0P ORG 0100HMAIN: MOV SP,#60H ;设堆栈指针 MOV B,#20 ;设循环次数20次 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 SETB ET0 SETB EAHERE: SJMP HERE ;原地循环,等待中断IT0P: MOV TL0,#0B0H ;重装初值 MOV TH0,#3CH DJNZ B,LOOP MOV B,#20 CPL P1.0LOOP: RETI ;返回“
16、SJMP HERE”处 END3. ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P ORG 001BH LJMP IT1P ORG 0100HMAIN: MOV SP,#60H MOV TMOD,#16H ;IT0计数,IT1定时 MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0 SETB ET0 MOV TL1,#0B0H MOV TH1,#3CH SETB ET1 SETB EA SETB PT1 CLR PT0 MOV R0,#3 ;03,选择显示的效果4种 MOV R1,#8 ;走马灯 MOV B,#10 ;显示延迟所需的循环次数
17、10词HERE: AJMP HEREIT0P: CJNE R0,#0FFH,T MOV R0,#3T: CJNE R0,#3,T2 MOV DPTR,#TAB1T2: CJNE R0,#2,T3 MOV DPTR,#TAB2T3: CJNE R0,#1,T4 MOV DPTR,#TAB3T4: CJNE R0,#0,T5 MOV DPTR,#TAB4T5: MOV R2,DPL MOV R3,DPHLOOP: MOV DPL,R2 MOV DPH,R3 MOV R1,#8LOOP1:CLR A MOVC A,A+DPTR MOV P1,A MOV C,TF0 ;IT0溢出置1 JC DE LC
18、ALL DEL INC DPTR DJNZ R1,LOOP1 AJMP LOOPDE: DEC R0 RETIIT1P: MOV TL1,#0B0H ;延时 MOV TH1,#3CH DJNZ B,LOP MOV B,#10 CLR TR1LOP: RETI ;返回“IT1P”处DEL: SETB TR1ZIJI: JB TR1,ZIJI RETTAB1: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FHTAB2: DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEHTAB3: DB 7FH,0FEH,0BFH,0FDH,0DFH
19、,0FBH,0EFH,0F7HTAB4: DB 7EH,0BDH,0DBH,0E7H,0DBH,0BDH,7EH,0FFH END3.7串行通信实验1.发送ORG 0000HAJMP MAINORG 0023HAJMP SINT ORG 0100HMAIN: MOV SP,#60HMOV R0,#30HMOV 30H,#30HMOV 31H,#31HMOV 32H,#32HMOV 33H,#33HMOV 34H,#34HMOV 35H,#35HMOV 36H,#36HMOV 37H,#37HMOV TMOD,#20HMOV TL1,#0FAHMOV TH1,#0FAHMOV SCON,#50H
20、SETB TR1SETB ESSETB EAMOV R1,#8MOV SBUF,R0SJMP $SINT: CLR TIDJNZ R1,LP sjmp ti_endlp:INC R0MOV SBUF,R0ti_end:RETI END接受 ORG 0000HAJMP MAINORG 0023HAJMP SINTRORG 0100HMAIN: MOV SP,#60HMOV R0,#40HMOV TMOD,#20HMOV TH1,#0FAHMOV TL1,#0FAHMOV SCON,#50HSETB TR1SETB EASETB ESSJMP $ORG 0150HSINTR: CLR RIMOV
21、A,SBUFMOV R0,AINC R0 RETIEND2.发送ORG0000HLJMPMAINORG0100HMAIN:MOVSCON,#40HMOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHSETBTR1TRANSLATE:MOVA,P1MOVSBUF,AWAIT:JBCTI,NEXTSJMPWAITNEXT:SJMPTRANSLATEEND接受ORG0000HLJMPMAINORG0100HMAIN:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHSETBTR1RECEIVE:JBCRI,NEXTSJMPRECEIV
22、ENEXT:MOVA,SBUFMOVP1,ASJMPRECEIVEEND3.8 A/D转换实验1.ORG0000HLJMPMAINORG0003HLJMP QAZORG0100HMAIN:SETBIT0SETBEASETBEX0MOVDPTR,#7FFCHMOVA,#00HMOVXDPTR,ASJMP$QAZ:MOVDPTR,#7FFCHMOVXA,DPTRMOVP1,#0FFHMOVP1,AMOVA,#00HMOVXDPTR,ARETIEND2.ZLG7290EQU70H;ZLG7290的器件地址SLADATA63H;器件的从地址SUBADATA64H;器件的子地址; 定义变量单元ACKBIT10H;应答标志位NUMBYTEDATA62H;读/写的字节数变量M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集装箱交易合同案例
- 法定节假日有哪些
- 六年级道德与法治上册 第三单元 我们的国家机构 5《国家机构有哪些》教案2 新人教版
- 高中化学《离子反应》教学设计
- 2024年春八年级物理下册 第九章 第1节 压强教案 (新版)新人教版
- 2024-2025学年高中生物 第二章 细胞的化学组成 2.2 细胞中的脂质教案 苏教版必修1
- 安徽省长丰县八年级生物上册 6.1.1 尝试对生物进行分类教案 (新版)新人教版
- 2024-2025学年高中化学 第4章 第3节 蛋白质和核酸教案 新人教版选修5
- 汽车试验技术 课件 项目1 汽车试验概述
- 综合能源托管合同(2篇)
- 2024-2030年版中国测绘行业发展机遇分析及投资策略研究报告
- 《雨污水管道施工方案》
- 2024年中国建筑预制件市场调查研究报告
- 《学前教育法》是学前教育工作者的新征程
- 节能减排知识培训
- 心肺复苏术课件2024新版
- 安全环保职业健康法律法规清单2024年
- 北师大版数学一年级上册期中考试试题
- 治本攻坚三年行动
- 行政复议法-形考作业2-国开(ZJ)-参考资料
- web前端开发工程师职业生涯规划
评论
0/150
提交评论