单片机接口技术复习资料

上传人:油条 文档编号:102379067 上传时间:2019-10-02 格式:DOC 页数:11 大小:133.50KB
返回 下载 相关 举报
单片机接口技术复习资料_第1页
第1页 / 共11页
单片机接口技术复习资料_第2页
第2页 / 共11页
单片机接口技术复习资料_第3页
第3页 / 共11页
单片机接口技术复习资料_第4页
第4页 / 共11页
单片机接口技术复习资料_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机接口技术复习资料》由会员分享,可在线阅读,更多相关《单片机接口技术复习资料(11页珍藏版)》请在金锄头文库上搜索。

1、河北农业大学现代科技学院电科-史智兴老师考试范围,整理上传QQ707068803。ROM中有六(七)个特殊地址l0000H程序起始地址。系统复位时,程序计数器PC自动变为0000H,所以ROM的0000H单元是系统的启动地址,此处必须是程序的第一句指令,通常是一句跳转指令。l0003H外部中断0(INT0)的中断服务程序入口。系统响应引脚INT0引起的中断时,PC自动指向0003H单元。lROM的000BH单元是定时器0中断的入口。系统响应引脚INT0引起的中断时,PC自动指向000BH单元。lROM的0013H单元是外部中断1的入口。系统响应引脚INT0引起的中断时,PC自动指向0013H单

2、元。lROM的001BH单元是定时器1中断的入口。系统响应引脚INT0引起的中断时,PC自动指向001BH单元。lROM的0023H单元是串行通讯中断的入口。系统响应引脚INT0引起的中断时,PC自动指向0023H单元。lROM的002BH单元是定时器2中断的入口。系统响应引脚INT0引起的中断时,PC自动指向002BH单元。(52系列才有!)51单片机程序的基本结构框架。;第一部分为若干符号常量定义伪指令 R7_LS DATA 30H R6_LS DATA 31H START_KEY BIT 20H.0 TIME_KEY BIT 20H.1 ;第二部分是用ORG伪指令定义的各个基本程序入口(

3、ROM 中有6个特定地址!)ORG 0000H ;主程序入口地址LJMP 主程序起始标号(如START)ORG 0003H ;外部中断0入口地址LJMP 外部中断0的服务程序ORG 000BH ;定时器0入口地址LJMP 定时器T0的服务程序ORG 0013H ;外部中断1入口地址LJMP 外部中断1的服务程序ORG 001BH ;定时器1入口地址LJMP 定时器T1的服务程序ORG 0023H ;串行中断入口地址LJMP 串行口中断的服务程序;第三部分是用ORG伪指令定义了具体位置的主程序、子程序、中断服务程序ORG 0100HSTART: 端口初始化 具体处理程序子程序1: RET子程序2

4、: RET中服1: RETI 中服5: RETI;第四部分是数据表变量名: DB/DW 数据表END ;最后必须有END,标明程序的结束位置,否则汇编报错!=数码管共阴:3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7FH,6FH,40H【0-9】数码管共阳:0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh【0-9、A、B、C、D、E、F】=一个51单片机系统,需要启用INT0中断和T1中断,并且T1中断为高优先级,INT0中断为低优先级而且是沿触发。程序相关指令和结构如下:ORG 0

5、000HLJMP STARTORG0003H ;这2句是INT0的中服入口设置LJMPINT_W0 ORG001BH ;这2句是T1的中服入口设置LJMPINT_T1ORG 0100HSTART: MOVIE,#10001001B ;设置总允许和INT0允许、T1允许(可以用位操作实现)MOVIP,#00001000B ;设置T1位高优先级(可以用位操作) SETBIT0 ;设置INT0为沿触发(下降沿触发)SETB EASETB EX0 等效于MOV IE, #89HSETB ET1SETB PT1 等效于 MOV IP, #08H两种指令的效果区别:位操作只改变指定位,不影响其他位。这在程

6、序中间进行某个中断的变化时比较常用。字节操作影响全部中断,初始化的时候常用。 ;中断服务程序INT_W0: RETIINT_T1: RETI END=已知系统晶振频率12MHz,要用T0产生50ms定时中断,T0中断设置为高优先级,T0中断服务程序在P1.0输出周期1秒的方波。解:12MHz晶振,1个机器周期=1us,定时50ms需要计数50000次,采用模式1的16位计数。时间常数a=65536-50000=15536=3CB0H分析:1秒周期的方波,高电平0.5秒, 低电平0.5秒;定时器50ms中断一次,中断10次是500ms=0.5秒,用30H单元记录中断次数。. .中断服务程序:PT

7、F0:ORLTL0,#0B0HMOVTH0,#3CHDJNZ30H, PTF0RMOV30H, #10CPLP1.0PTF0R:RETI主程序:ORG 0000HLJMPMAIN ORG000BHLJMPPTF0ORG0300HMAIN:MOVSP, #05FHMOVTH0, #3CHMOVTL0, #0B0HMOVTMOD, #1MOVIP, #2MOVIE, #82HSETBTR0MOV30H, #10模式0串行发送10个字节: MOV SCON,#00000000B ;模式0MOV R2,#10 ;循环10次MOV R0,#50H ;假设数据在50H单元;开始的区域LLL: MOV A,

8、R0MOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R2,LLL模式0串行接收10个字节: MOV SCON,#00010000B ;模式0MOV R2,#10 ;循环10次MOV R0,#50H ;假设数据存入50H单;元开始的区域LLL: JNB RI,$CLR RIMOV A,SBUFMOV R0,AINC R0DJNZ R2,LLL 串口:=8255:初始化程序3句话:MOV DPTR,#控制口地址MOV A,#控制字MOVX DPTR,A读口2句话:MOV DPTR,#数据口地址MOVX A,DPTR写口3句话:MOV DPTR,#数据口地址MOV A, #要输

9、出的数据MOVX DPTR,A=利用8155的定时器产生方波,方波频率是TI输入脉冲频率的24分频,PA、PB用于输出,PC用于输入。初始化的子程序如下:INI8155:SETBP1.0 ;IO/M=1,选择寄存器(IO口)MOVR0, #4 ;地址4=0000 0100B,这是定时器的低字节寄存器地址MOVA, #18H ;定时器初值24=18H,减1计数器直接用24为初值MOVX R0, A ;写入定时器低字节寄存器INC R0 ;指向5=0000 0101B,定时器高字节寄存器MOVA, #40H ;40H=0100 0000B,最高两位01=连续方波方式MOVXR0, A ;写入定时器

10、高字节寄存器 MOVR0, #0 ;地址0是8155控制寄存器地址MOVA, #0C3H ;控制字0C3H=1100 0011BMOVX R0, A ;写入控制字RET写一个子程序,功能是根据A中的值对P1、P3口读入的数据进行加、减、乘、除运算。(假设A取值为0、1、2、3,在调用子程序之前已经获得,就是说:A是子程序的调用参数!)FOUR: MOV P1,#0FFHMOV P3,#0FFH散转MOV DPTR,#TABLERL AJMP A+DPTRTABLE: AJMP PRG0 AJMP PRG1 AJMP PRG2 AJMP PRG3PRG0: MOV A,P1 ADD A,P3MOV P1,ACLR AADDC A,#0MOV P3,ARETPRG1: MOV A,P1 CLR CSUBB A,P3MOV P1,ACLR ARLC AMOV P3,ARETPRG2: MOV A,P1 MOV B,P3MUL ABMOV P1,AMOV P3,BRETPRG3: MOV A,P1 MOV B, P3DIV ABMOV P1,AMOV P3,BRET8只LED灯流水【定时器】ORG 0000HLJMP STARTORG 000BHLJMP TO_INTORG 0100HSTART:MOVSP,#0EFHMOV TH0,#3CH MOV TL0,#0B0H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号