单片机实验讲义(4)
START: SETB IT0 SETB EX0 SETB EA
MOV A,#11H ;置首显示码 MOV SAVE,A ;保存 ACALL DISP ;显示输出 ACALL DE3S ;延时3秒
LLL: MOV A,#12H ; MOV SAVE,A ACALL DISP
ACALL DE10S ; MOV A,#10H ; MOV SAVE,A ACALL DISP
MOV R2,#05H ;TTT: MOV A,#14H MOV SAVE,A ACALL DISP ACALL DE02S MOV A,#10H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,TTT
MOV A,#11H ; MOV SAVE,A ACALL DISP
ACALL DE02S ; MOV A,#21H ; MOV SAVE,A ACALL DISP
ACALL DE10S ; MOV A,#01H ; MOV SAVE,A
东西路口绿灯亮,南北路口红灯亮延时10秒 东西路口绿灯灭 东西路口黄灯闪烁5次 红灯全亮 延时0.2秒
东西路口红灯亮,南北路口绿灯亮 延时10秒 南北路口绿灯灭 ACALL DISP
MOV R2,#05H ;南北路口黄灯闪烁5次 GGG: MOV A,#41H MOV SAVE,A ACALL DISP ACALL DE02S MOV A,#01H MOV SAVE,A ACALL DISP ACALL DE02S DJNZ R2,GGG
MOV A,#11H ; MOV SAVE,A ACALL DISP
ACALL DE02S ; JMP LLL ;DE10S: MOV R5,#100 ; JMP DE1
DE3S: MOV R5,#30 ; JMP DE1
DE02S: MOV R5,#02 ;DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET INT: CLR EA
PUSH ACC ; PUSH PSW MOV A,R5 PUSH ACC
MOV A,#11H ; ACALL DISP
红灯全亮 延时0.2秒 转LLL循环 延时10秒 延时3秒 延时0.2秒 中断处理
红灯全亮,绿、黄灯全灭 DEL10S: MOV R3,#100 ;延时10秒 DEL1: MOV R2,#200 DEL2: MOV R5,#126 DEL3: DJNZ R5,DEL3 DJNZ R4,DEL2 DJNZ R3,DEL1
MOV A,SAVE ;取SAVE中保存数据输出到cfa0端口 ACALL DISP
POP ACC ;出栈 MOV R5,A POP PSW POP ACC
SETB EA ;允许外部中断 RETI
DISP: MOV DPTR,#OUTPORT
CPL A
MOVX @DPTR,A RET END
实验六 定时器实验
———循环彩灯实验
一、实验目的:
1. 学习8031内部计数器的使用和编程方法。 2. 进一步掌握中断处理程序的编写方法。 二、实验设备:
EL-MUT-III型单片机实验箱、8051CPU模块 三、实验原理:
1. 定时常数的确定
定时器/计数器的输入脉冲周期与机器周期一样, 为振荡频率的1/12。本实验中时钟
频率为6.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.1秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=05H,即可实现0.5秒延时。
时间常数可按下述方法确定:
机器周期=12÷晶振频率=12/(6×10?)=2us
设计数初值为X,则(2e+16-X)×2×10=0.1,可求得X=15535 化为十六进制则X=3CAFH,故初始值为TH1=3CH,TL1=AFH 2. 初始化程序
包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行 正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。
3. 设计中断服务程序和主程序
中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序燃灭。 四、实验题目
由8031内部定时器1按方式1工作,即作为16位定时器使用,每0.1秒钟T1溢出中断一次。P1口的P1.0~P1.7分别接发光二极管的L1~L8。要求编写程序模拟一循环彩灯。彩灯变化花样可自行设计。例程给出的变化花样为:①L1、L2、?L8依次点亮;②L1、L2、?L8依次熄灭;③L1、L2、?L8全亮、全灭。各时序间隔为0.5秒。让发光二极管按以上规律循环显示下去。
五、实验电路:
-6
六、实验步骤:
P1.0~P1.7分别接发光二极管L1~L8即可。 七、参考程序:T6.ASM
NAME T6 ;定时器实验 OUTPORT EQU 0CFB0H CSEG AT 0000H
LJMP START
CSEG AT 401BH ;定时器/计数器1中断程序入口地址
LJMP INT
CSEG AT 4100H
START: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离 MOV R0,#5H ;05是计数值 MOV TMOD,#10H ;计数器置为方式1 MOV TL1,#0AFH ; MOV TH1,#03CH
ORL IE,#88H ;CPU ;1 SETB TR1 ;LOOP1: CJNE R0,#00,DISP
MOV R0,#5H ;R0 INC R1 ; CJNE R1,#31H,LOOP2
MOV R1,#03H ;LOOP2: MOV A,R1 ; MOVC A,@A+PC JMP DISP
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0FEH,0FCH DB 0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00H,0FEH DB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH DB 0EFH,0F7H,0FBH,0FDH,0FEH,00H,0FFH,00H DISP: MOV P1,A ; JMP LOOP1
INT: CLR TR1 ; DEC R0 ; MOV TL1,#0AFH ; MOV TH1,#03CH
SETB TR1 ; RETI ;END
装入时间常数 中断开放标志位和定时器 溢出中断允许位均置位 开始计数 计数计完一个周期,重置初值 表地址偏移量加1 如到表尾,则重置偏移量初值 从表中取显示码入累加器 将取得的显示码从P1口输出显示 停止计数 计数值减一 重置时间常数初值 开始计数 中断返回
…… 此处隐藏:1060字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




