最新单片机原理及其嵌入式应用实验精品课件.ppt
《最新单片机原理及其嵌入式应用实验精品课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理及其嵌入式应用实验精品课件.ppt(292页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2基本实验基本实验 程序框架程序框架 开关量输入输出开关量输入输出(IO)实验实验 串行通信及串行通信及AD转换实验转换实验 键盘编程实验键盘编程实验 液晶显示实验液晶显示实验 数码管显示实验数码管显示实验 FLASH编程实验编程实验 定时器溢出中断实验定时器溢出中断实验 定时器输入中断捕捉定时器输入中断捕捉实验实验9* *-文件说明文件说明-* *文件名文件名: :PrgFrame.ASM PrgFrame.ASM * *硬件连接硬件连接: :PTA.1PTA.1接指示灯接指示灯 * *程序描述程序描述: :指示灯指示灯PTA.1PTA.1闪烁闪烁 * *目的目的: :第一个第一个Motor
2、ola MCUMotorola MCU程序框架程序框架 * *说明说明: :提供提供Motorola MCUMotorola MCU的编程框架,供教学入门使用的编程框架,供教学入门使用 * *-10* *-口地址定义口地址定义-PTA EQU $0000 PTA EQU $0000 ;A;A口数据寄存器口数据寄存器DDRA EQU $0004 DDRA EQU $0004 ;A;A口数据方向寄存器口数据方向寄存器11RAMstartAddr equ $0040 ;RAMRAMstartAddr equ $0040 ;RAM的起始地址(因芯片不同可以更改)的起始地址(因芯片不同可以更改)Flas
3、hStartAddr equ $8000 ;FlashStartAddr equ $8000 ;程序开始地址(因芯片不同可以更改)程序开始地址(因芯片不同可以更改)* *数据区定义(变量名定义)数据区定义(变量名定义) org RAMstartAddr ;RAMorg RAMstartAddr ;RAM的起始地址的起始地址N1 rmb 1 ;N1 rmb 1 ;变量变量N1,N1,缓冲使用缓冲使用12* *主程序主程序 org FlashStartAddr ;org FlashStartAddr ;程序起始地址程序起始地址MainInit: ;MainInit: ;复位后程序从此开始执行复位后
4、程序从此开始执行 ; ;系统初始化系统初始化 SEI ;SEI ;禁止所有中断禁止所有中断 LDHX #$023F ;LDHX #$023F ;堆栈初始化,放入堆栈初始化,放入GP32GP32的的RAMRAM最高端最高端 TXSTXS JSR Init0 ; JSR Init0 ;调系统初始化子程序调系统初始化子程序Init0Init0,初始学习时跳过此处初始学习时跳过此处 ; ;I/OI/O初始化初始化 BSET 1,DDRA ;BSET 1,DDRA ;设置设置PTA.1PTA.1为输出为输出 BSET 1,PTA ;BSET 1,PTA ;初始时,初始时,PTA.1PTA.1指示灯指示灯
5、 暗暗 MainLoop: ;MainLoop: ;程序总循环入口程序总循环入口 BCLR 1,PTA ;PTA.1BCLR 1,PTA ;PTA.1指示灯指示灯“亮亮” MOV #$2,N1 ;MOV #$2,N1 ;延时子程序延时子程序DelaySubDelaySub的时间长度入口的时间长度入口 JSR DelaySub ;JSR DelaySub ;调用延时子程序调用延时子程序 BSET 1,PTA ;BSET 1,PTA ;初始时,初始时,PTA.1PTA.1指示灯指示灯 暗暗 MOV #$4,N1 ;MOV #$4,N1 ;延时子程序延时子程序DelaySubDelaySub的时间长
6、度入口的时间长度入口 JSR DelaySub ;JSR DelaySub ;调用延时子程序调用延时子程序 ;- ;- JMP MainLoop ;JMP MainLoop ;转总循环入口处转总循环入口处13Init0: ;Init0: ;系统初始化系统初始化Init0Init0子程序子程序 LDA #%00000001 ;LDA #%00000001 ;初始化初始化CONFIG2CONFIG2 STA $001E STA $001E LDA #%00111101 ; LDA #%00111101 ;初始化初始化CONFIG1CONFIG1 STA $001F STA $001F CLR $0
7、036 ; CLR $0036 ;初始化初始化PTCLPTCL MOV #$01,$0036 MOV #$01,$0036 MOV #$01,$0038 MOV #$01,$0038 MOV #$2C,$0039 MOV #$2C,$0039 MOV #$80,$003A MOV #$80,$003A BSET 5,$0036 BSET 5,$0036 BSET 7,$0037 BSET 7,$0037 BSET 4,$0036 BSET 4,$0036 RTS RTS* *-中断矢量中断矢量- - ORG $FFFE ORG $FFFE ; ;复位矢量复位矢量 DW MainInitDW M
8、ainInit14延时子程序DelaySub: ;延时0.1秒 PSHH ;保据寄存器HX PSHX DelaySub1: LDHX #$FFFF DelaySub2: PSHA ;保护寄存器A LDA #$FFDelaySub3: DBNZA DelaySub3 PULA DBNZX DelaySub2 DBNZA DelaySub1 PULX PULH RTS15开关量输入输出开关量输入输出(IO)实验实验 实验实验目的目的 实验器材实验器材 硬件接线硬件接线 程序功能程序功能 程序清单程序清单 备注说明备注说明A.3-0A.7-4-A.3-0 COMA COMA STA PTA STA
9、PTA LDA PTB LDA PTB ; ;取开关取开关PTB0PTB0状态状态,0-,0-闭合闭合 AND #%00000001 AND #%00000001 ; ;剩下剩下PTB0PTB0位位 STA TmpVar STA TmpVar ; ;放入变量放入变量TmpVarTmpVar26 NOPNOP LDA PTC LDA PTC ; ;取开关取开关PTC0PTC0状态状态,0-,0-闭合闭合 AND #%00000001 AND #%00000001 ; ;剩下剩下PTC0PTC0位位 NOPNOP ADD TmpVar ADD TmpVar ; ;经过此运算经过此运算 若若A=0,
10、A=0,两个均闭合两个均闭合 ; ;若若=1,=1,有一个闭合有一个闭合;=2,;=2,均未闭合均未闭合 CBEQA #$0,Light0 CBEQA #$0,Light0 ; ;比较比较, ,相等转移相等转移, ,A=0A=0转向转向Light0Light027 NOPNOP CBEQA #$1,Light1 CBEQA #$1,Light1 ;A=1;A=1转转Light1Light1 NOP NOP ;A=2,;A=2,两排均不亮两排均不亮 LDA #$FF LDA #$FF ; ;两排灯均不亮两排灯均不亮 1- 1-不亮不亮 STA PTBSTA PTB STA PTC STA PTC
11、 BRA IO_End BRA IO_End ; ;转转IO_END,IO_END,延时延时28Light0:Light0: LDA #$00 LDA #$00 ; ;两排灯均亮两排灯均亮 0- 0-亮亮 STA PTBSTA PTB STA PTC STA PTC BRA IO_End BRA IO_End ; ;无条件转无条件转IO_ENDIO_ENDLight1:Light1: LDA Light_BC LDA Light_BC ; ;两排灯之一亮两排灯之一亮 0- 0-亮亮 STA PTB STA PTB ; ;驱动驱动B B口灯口灯 NEGA NEGA ; ;求补命令求补命令 STA
12、 PTC STA PTC ; ;驱动驱动B B口灯口灯 STA Light_BC STA Light_BC ; ;保存状态保存状态29IO_End:IO_End: LDA #$FE LDA #$FE ; ;延时延时Delay1:Delay1: LDX #$FC LDX #$FCDelay2:Delay2: NOP NOP NOP NOP NOP NOP DBNZX Delay2 DBNZX Delay2 DBNZA Delay1 DBNZA Delay1 BRA Start BRA Start ; ;无条件转开始处无条件转开始处* *-30* *-子程序子程序-* *Init0: Init0:
13、 ; ;系统初始化系统初始化Init0Init0子程序子程序 LDA #%00000001 LDA #%00000001 ; ;初始化初始化CONFIG2CONFIG2 STA $001E STA $001E LDA #%00111101 LDA #%00111101 ; ;初始化初始化CONFIG1CONFIG1 STA $001F STA $001F CLR $0036 CLR $0036 ; ;初始化初始化PTCLPTCL MOV #$01,$0036 MOV #$01,$0036 MOV #$01,$0038 MOV #$01,$0038 MOV #$2C,$0039 MOV #$2C
14、,$0039 MOV #$80,$003A MOV #$80,$003A 31 BSET 5,$0036BSET 5,$0036 BSET 7,$0037 BSET 7,$0037 BSET 4,$0036 BSET 4,$0036 RTS RTS* *-复位矢量复位矢量- - ORG $FFFE ORG $FFFE ; ;复位矢量复位矢量 DW MainInitDW MainInit32备注说明: 仅作为基本教学例程仅作为基本教学例程33串行通信及串行通信及ADAD转换实验转换实验 实验目的实验目的 实验器材实验器材 硬件接线硬件接线VBVB界面界面 软件功能软件功能 程序清单程序清单 备注
15、说明备注说明34实验目的实验目的:A/DA/D转换,转换,单片机异步串行通信单片机异步串行通信 35实验器材实验器材: :1.SD-1型在线编程实验仪型在线编程实验仪2.导线若干导线若干36硬件接线硬件接线:VCCPTC3PTA7PTA6PTA5PTA4PTA3PTA2PTA1PTA0PTC0PTC1PTC2MOTOROLA GP32 MCU PTC4PTB7PTB6PTB5PTB4PTB3PTB2PTB1PTB0VCC37VB界面:界面:38软件功能软件功能: 由由PORTBPORTB口的模拟量输入,通过单片机的口的模拟量输入,通过单片机的A/DA/D转换器采集转换器采集8 8路数据,并放在
16、路数据,并放在ADBUFADBUF开开始的地址中。始的地址中。 再在再在INBUFINBUF中放开关量。中放开关量。 发发8686给给PCPC机作为握手信号,进行通信测机作为握手信号,进行通信测试,试,PCPC机判断后确认,发机判断后确认,发8686作为确认信作为确认信号,单片机收到号,单片机收到8686后,把模拟量后,把模拟量0-70-7和开和开关量送关量送PCPC机显示。机显示。39程序清单:程序清单: 文件说明文件说明 口地址定义口地址定义 SCI寄存器寄存器 A/D寄存器寄存器 数据区定义数据区定义 主程序主程序 A/D转换转换 串行通信输出串行通信输出 串行通信输入串行通信输入 从从
17、PC机接收数据,机接收数据,并存储后送并存储后送PTA输输出出 把在把在INBUF和和ADBUFF的数据送的数据送PC机输出机输出 中断矢量中断矢量40* *-文件说明文件说明-* * *文件名:文件名:sci.assci.as* *硬件连接:硬件连接:PORTAPORTA口输出它的口输出它的PTA7-0PTA7-0接接OUTOUT的的7-07-0号号* *指示灯(指示灯(A0A0作为运行指示不受其它数据控制)作为运行指示不受其它数据控制)PORTBPORTB作为作为ADAD输入连接,输入连接,* *PORTBPORTB口为模拟量输入口口为模拟量输入口, ,PORTCPORTC的的C0-4C0
18、-4接接ININ的的5 5个拨位开关个拨位开关0-40-4作为开关作为开关* *输入串行口与微机串行口相接(输入串行口与微机串行口相接(96009600,N N,8 8,1 1)* *程序描述:程序描述:1.1.由由PORTBPORTB口的模拟量输入,通过单片机的口的模拟量输入,通过单片机的A/DA/D转换器采集转换器采集8 8* *路数据,并放在路数据,并放在ADBUFADBUF开始的地址中开始的地址中* * 2.2.再在再在INBUFINBUF中放开关量中放开关量* * 3.3.发发8686给给PCPC机作为握手信号,进行通信测试机作为握手信号,进行通信测试, ,PCPC机判断后确机判断后
19、确* * 认认, ,发发8686作为确认信号,单片机收到作为确认信号,单片机收到8686后后, ,把模拟量把模拟量 0-7 0-7和和* * 开关量送开关量送PCPC机显示机显示* *目的:目的:A/DA/D转换,单片机异步串行通信转换,单片机异步串行通信 * *-* *41* *-口地址定义口地址定义-PTA EQU $0000 PTA EQU $0000 ;A;A口数据寄存器口数据寄存器PTB EQU $0001 PTB EQU $0001 ;B;B口数据寄存器口数据寄存器PTC EQU $0002 PTC EQU $0002 ;C;C口数据寄存器口数据寄存器PTD EQU $0003 P
20、TD EQU $0003 ;D;D口数据寄存器口数据寄存器DDRA EQU $0004 DDRA EQU $0004 ;A;A口数据方向寄存器口数据方向寄存器DDRB EQU $0005 DDRB EQU $0005 ;B;B口数据方向寄存器口数据方向寄存器DDRC EQU $0006 DDRC EQU $0006 ;C;C口数据方向寄存器口数据方向寄存器DDRD EQU $0007 DDRD EQU $0007 ;D;D口数据方向寄存器口数据方向寄存器DDRE EQU $0008 DDRE EQU $0008 ;E;E口数据寄存器口数据寄存器42* *-SCISCI寄存器寄存器-SCS1 E
21、QU $0016 SCS1 EQU $0016 ;SCI;SCI状态寄存器状态寄存器1 1B-SCTE EQU 7 B-SCTE EQU 7 ; ;发送缓冲区空标志位发送缓冲区空标志位B-TC EQU 6 B-TC EQU 6 ; ;发送完成标志位发送完成标志位B-SCRF EQU 5 B-SCRF EQU 5 ; ;接收器满标志位接收器满标志位SCDR EQU $0018 SCDR EQU $0018 ;SCI;SCI数据寄存器数据寄存器* *-A/DA/D寄存器寄存器-ADSCR EQU $003C ADSCR EQU $003C ;A/D;A/D转换状态和控制寄存器转换状态和控制寄存器B
22、-COCO EQU 7 B-COCO EQU 7 ; ;转换完成标志位转换完成标志位ADR EQU $003D ADR EQU $003D ;A/D;A/D转换数据寄存器转换数据寄存器ADCLK EQU $003E ADCLK EQU $003E ;A/D;A/D转换输入时钟寄存器转换输入时钟寄存器RAMstartAddr equ $0040RAMstartAddr equ $0040 ;RAM ;RAM的起始地址(因芯片不同可以更改)的起始地址(因芯片不同可以更改)FlashStartAddr equ $8000FlashStartAddr equ $8000 ; ;程序开始地址(因芯片不同
23、可以更改)程序开始地址(因芯片不同可以更改)43* *-数据区定义(变量定义)数据区定义(变量定义)- - ORG RAMstartAddrORG RAMstartAddr ;RAM ;RAM的起始地址的起始地址INBUF RMB 1 INBUF RMB 1 ;1;1字节存放字节存放5 5位开关量位开关量ADBUF RMB 8 ADBUF RMB 8 ;8;8字节存放字节存放8 8路路A/DA/D转换结果转换结果ONOFF RMB 1 ONOFF RMB 1 ;1;1字节存放从字节存放从PCPC的数据的数据 TMPVAR RMB 1 TMPVAR RMB 1 ; ;暂存使用暂存使用44* *-
24、主程序主程序- - ORG ORG FlashStartAddr ;FlashStartAddr ;程序起始地址程序起始地址MainInit:MainInit: NOP NOP LDA #$3E LDA #$3E ;A/D;A/D初始化初始化2 2分频、使用内部总线时钟分频、使用内部总线时钟 STA ADCLKSTA ADCLK LDA #$FF LDA #$FF ; ;定义定义PORTAPORTA输出输出 STA DDRASTA DDRA LDA #$00 LDA #$00 STA PTA STA PTA STA ONOFF STA ONOFF ;ONOFF=0;ONOFF=0 LDA #$
25、00 LDA #$00 ; ;定义定义PORTBPORTB,PORTCPORTC作为输入作为输入 STA DDRBSTA DDRB STA DDRC STA DDRC45* *-A/DA/D转换转换-Main: Main: NOP NOP ; ;循环获得循环获得8 8路路ADAD值值 LDHX #$0 LDHX #$0 ;H;H:X=0X=0GA-REPEAT:GA-REPEAT: TXA TXA ;X;X寄存器送到累加器寄存器送到累加器 STA ADSCR STA ADSCR ; ;选定一路选定一路A/DA/D,启动转换启动转换 BRCLR 7,ADSCR,BRCLR 7,ADSCR,* *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 原理 及其 嵌入式 应用 实验 精品 课件
限制150内