当前位置:
文档之家› 单片机原理及其嵌入式应用实 验
单片机原理及其嵌入式应用实 验
;取开关PTB0状态,0-闭合 ;剩下PTB0位 ;放入变量TmpVar
25
NOP LDA PTC AND #%00000001 NOP
;取开关PTC0状态,0-闭合 ;剩下PTC0位
ADD TmpVar
;经过此运算 若A=0,两个均闭合
;若=1,有一个闭合;=2,均未闭合
CBEQA #$0,Light0
20
*------程序说明--------------------------------* *文件名:IOEXMA.ASM *硬件连接:PTA7-4接开关,PTA3-0接指示灯 *PTB1接指示灯,PTB0接开关 *PTC1接指示灯,PTC0接开关 *程序描述:①开关PTA7-4分别控制着指示灯PTA3-0暗 * ②开关PTB0、PCT0其中之一闭合指示PTB7-1 * 与PTC1交替暗亮,若两个均未闭合则指示灯 * PTB1与PTC1均不亮,若两个均闭合则两排 * 指示灯均亮。 *目的:I/O口的基本使用方法 *说明:仅作为基本教学例程 *----------------------------------------------*
;两排灯之一亮 ;驱动B口灯 ;求补命令 ;驱动B口灯 ;保存状态 0-亮 ;无条件转IO_END ;两排灯均亮 0-亮
28
IO_End: LDA #$FE Delay1:
;延时
LDX #$FC
Delay2: NOP
NOP
NOP DBNZX Delay2
DBNZA Delay1
BRA Start
;无条件转开始处
vcc
vcc
黄线为学生接线
18
程序功能:
• 开关PTA7-4分别控制着指示灯PTA3-0 亮暗 • 开关PTB0\PTC0 其中之一闭合,指示灯 PTB7-1与PTC1交替暗亮; 若两个均未闭合,则指示灯PTB1与PTC1 均不亮; 若两个均闭合,则两个指示灯均亮.
19
程序清单:
• • • • • • 程序说明 口地址定义 变量定义 主程序 初始化子程序 复位矢量
38
程序清单:
• • • • • • • • 文件说明 口地址定义 SCI寄存器 A/D寄存器 数据区定义 主程序 A/D转换 串行通信输出
• 串行通信输入 • 从PC机接收数据, 并存储后送PTA输 出 • 把在INBUF和 ADBUFF的数据送 PC机输出 • 中断矢量
39
*---------文件说明-------------------------------------------* *文件名:sci.as *硬件连接:PORTA口输出它的PTA7-0接OUT的7-0号 *指示灯(A0作为运行指示不受其它数据控制)PORTB作为AD输入连接, *PORTB口为模拟量输入口,PORTC的C0-4接IN的5个拨位开关0-4作为开关 *输入串行口与微机串行口相接(9600,N,8,1) *程序描述:1.由PORTB口的模拟量输入,通过单片机的A/D转换器采集8
• 实验目的 • 实验器材 • 硬件接线 • 软件功能 • 程序清单 • 备注说明
<<<
3
实验目的:
了解程序基本框架
4
实验器材:
1.SD-1型在线编程实验仪 2.导线若干
5
硬件接线:
PTB7 PTB6 MOTOROLA GP32 MCU PTB5 PTB4 PTB3 PTB2 PTB1 PTB0 PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTC0 PTC1 PTC2 PTC3 PTC4 VCC
9
*----口地址定义---------------------------PTA DDRA EQU $0000 EQU $0004
;A口数据寄存器
;A口数据方向equ
$0040
;RAM 的起始地址(因芯片不同可以更改)
FlashStartAddr equ
$8000
;B口数据方向寄存器
;B口数据寄存器 ;C口数据方向寄存器 ;C口数据寄存器 ;RAM的起始地址(因芯片不同可以 ;程序开始地址(因芯片不同可以更
RAMstartAddr equ 更改) FlashStartAddr equ 改)
*-----数据区定义(变量名定义)——————————
org RAMstartAddr TmpVar rmb Light_BC rmb 1 1
;变量TmpVar,缓冲使用 ;BC口灯的状态
22
*------主程序———————————————— org NOP SEI
FlashStartAddr
;程序起始地址
MainInit:
;初始化—————— ;禁止所有中断
LDHX #$023F
TXS
;堆栈初始化,
;放GP32的RAM最高端
JSR Init0
14
开关量输入输出(IO)实验
• • • • • • 实验目的 实验器材 硬件接线 程序功能 程序清单 备注说明
<<<
15
实验目的:
掌握I/O口的基本使用方法
16
实验器材:
1.SD-1型在线编程实验仪 2. 导线若干
17
硬件接线:
vcc
PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTB1 PTC1 PTB0 PTC0 MOTOROLA GP32 MCU
21
*-----口地址定义—————————————————
DDRA PTA PTAPUE DDRB PTB DDRC PTC equ equ equ equ equ equ equ $0004 $0000 $000D $0005 $0001 $0006 $0002
$0040 $8000 ;A口数据方向寄存器 ;A口数据寄存器 ;A口上拉电阻允许寄存器
#$80,$003A
BSET 5,$0036 BSET 7,$0037
BSET 4,$0036
RTS *----中断矢量--------------------------------ORG $FFFE DW MainInit ;复位矢量
13
延时子程序
DelaySub: ;延时0.1秒 PSHH ;保据寄存器HX PSHX DelaySub1: LDHX #$FFFF DelaySub2: PSHA ;保护寄存器A LDA #$FF DelaySub3: DBNZA DelaySub3 PULA DBNZX DelaySub2 DBNZA DelaySub1 PULX PULH RTS
;调系统初始化子程序Init0,
;初始学习时跳过此处
23
LDA #%00001111 STA DDRA
;定义A口7-4为输入,3-0为输出
LDA #%11110000
STA PTAPUE LDA #%11111110
;定义A口7-4有上拉电阻
;定义B口7-1为输出,0为输入
STA DDRB
STA DDRC MOV #$FF,Light_BC
<<<
33
实验目的:
A/D转换, 单片机异步串行通信
34
实验器材:
1.SD-1型在线编程实验仪 2.导线若干
35
硬件接线:
PTB7 PTB6 MOTOROLA GP32 MCU PTB5 PTB4 PTB3 PTB2 PTB1 PTA7 PTA6
PTA5
PTA4 PTA3 PTA2 PTA1 PTA0 PTC0 PTC1 PTC2 PTC3 PTC4 VCC
; 程序开始地址(因芯片不同可以更改)
*数据区定义(变量名定义)——————————————————
org N1 rmb
RAMstartAddr 1
;RAM 的起始地址
;变量N1,缓冲使用
11
*主程序—————————————————————————————— org FlashStartAddr ; 程序起始地址 MainInit: ;复位后程序从此开始执行 ;系统初始化 SEI ; 禁止所有中断 LDHX #$023F ;堆栈初始化,放入GP32的RAM最高端 TXS JSR Init0 ; 调系统初始化子程序Init0,初始学习时跳过此处 ;I/O初始化 BSET 1,DDRA ; 设置PTA.1为输出 BSET 1,PTA ; 初始时,PTA.1指示灯"暗" MainLoop: ;程序总循环入口 BCLR 1,PTA ;PTA.1 指示灯“亮” MOV #$2,N1 ; 延时子程序DelaySub的时间长度入口 JSR DelaySub ; 调用延时子程序 BSET 1,PTA ; 初始时,PTA.1指示灯"暗" MOV #$4,N1 ; 延时子程序DelaySub的时间长度入口 JSR DelaySub ; 调用延时子程序 ;------------------------------------------------------JMP MainLoop ;转总循环入口处
单片机原理及其嵌入式应用 实 验
• 基本实验 • 综合实例
<<<
1
基本实验
• • • • • 程序框架 开关量输入输出(IO)实验 串行通信及AD转换实验 键盘编程实验 液晶显示实验 • • • • 数码管显示实验 FLASH编程实验 定时器溢出中断实验 定时器输入中断捕捉 实验
<<<
2
程序框架
*------------------------------------------29
*------子程序--------------------------* Init0: ;系统初始化Init0子程序 LDA #%00000001 ;初始化CONFIG2 STA $001E LDA #%00111101 ;初始化CONFIG1 STA $001F CLR $0036 ;初始化PTCL MOV #$01,$0036 MOV #$01,$0038 MOV #$2C,$0039 MOV #$80,$003A