#《单片机原理与应用》实验教案091文档格式.docx
《#《单片机原理与应用》实验教案091文档格式.docx》由会员分享,可在线阅读,更多相关《#《单片机原理与应用》实验教案091文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
数据线D7~D0
J19-5IMEMR
内存读端
J21-1~8ADD8~ADD15
地址线ADD8~ADD15
J19-6RESET
复位端
J19-1IRQ
中断
J83
地
G
J7-1
4MHz信号输出
J82
电源+5V
J7-2
2MHz信号输出
J13
电源+12V
J7-3
1MHz信号输出
J12
电源-12V
J7-4
500KHz信号输出
J11
电源-5V
J7-5
250KHz信号输出
J2-Y1
地址10H
J7-6
125KHz信号输出
J2-Y2
地址20H
J7-8
31.25KHz信号输出
J2-Y3
地址30H
J8
为ADC0809提供时钟信号的短路块
J2-Y4
地址80H
J2-Y0
地址0H
J2-Y5
地址90H
J50PA0~7
8255的A口0~7
J2-Y6
地址0A0H
J49PC0~7
8255的C口0~7
J2-Y7
地址0B0H
C1
J65IN0~7
模拟量输入,第0~7信道
J70EOC
ADC0809的EOC端(EOC为转换完成)
J69SIGNAL_IN
模拟量输入
J67/CS
ADC0809的片选端
C
J77/CS
DAC0832的片选
J76Xfer
控制DAC0832的Xfer端
J72OUT
DAC0832的输出
J78WW
停止DAC0832工作的控制端(为Windows9x下特有)
J48-0~7PB0~7
8255的B口0~7
H
J53-1OUT0
第1个计数器输出
JPC0-JPC7
8255与键盘的缺省连接
④地址分配电路图(G区)
2.系统特点:
1、
一体化设计,系统功能齐全,涵盖了微机/单片机教学实验课程的大部分内容。
2、
实验模块化,适合计算机原理与接口教学,满足大纲要求。
3、独立性强,自带CPU、键盘、LED显示,可独立运行;
自带EPROM的读取、编程、比较和查空功能。
4、
灵活的电源接口:
配有PC机电源插座,可由PC提供电源。
另外还配有外接开关电源,提供所需的+5V,±
12V,其输入为220V的交流电。
5、
系统的联机运行模式:
配有系统调试软件,系统调试软件wqWINDOWS版两种,均为中文多窗口界面。
调试程序时可以同时打开寄存器窗口、内存窗口、变量窗口、反汇编窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试于一体,每项功能均为中文下拉菜单,简明易学。
6、
系统的单机运行模式:
系统在没有与计算机连接的情况下,自动运行在单机模式,在此模式下,用户可通过键盘输入运行程序(机器码)和操作指令,同时将输入信息及操作的结果在LED数码管上显示出来。
7、
系统功能齐全,可扩展性强。
本实验系统不仅完全能满足教学大纲规定的基本接口芯片实验,其灵活性和可扩展性(数据总线、地址总线、控制总线为用户开放)亦能轻松满足其课程设计、毕业设计使用等。
三、实验步骤
A.用KeilC建立一个工程:
1)点击Project菜单,选择弹出的下拉式菜单中的NewProject,如图1-1。
接着弹出一个标准Windows文件对话窗口,如图1-2,在“文件名”中输入您的程序项目名称,这里我们用“test”。
“保存”后的文件扩展名为uv2,这是KEILuVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。
图1-1NewProject菜单
2)选择所要的单片机,这里我们选择Ateml公司的AT89C52。
然后确定,出现如下对话框选“N”,工程建立完毕,如下图:
图1-2文件窗口
B.向工程中添加文件:
(1)我们要在项目中创建新的程序文件或加入旧程序文件。
如果您没有现成的程序,那么就要新建一个程序文件。
点击新建文件的快捷按钮,便会出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New或快捷键Ctrl+N来实现。
现在可以编写程序了,光标已出现在文本编辑窗口中,等待我们的输入了。
(2)点击保存新建的程序,也可以用菜单File-Save或快捷键Ctrl+S进行保存。
我们把第一个程序命名为test1.asm,保存在项目所在的目录中,这时您会发现程序单词有了不同的颜色,说明KEIL的ASM语法检查生效了。
图1-3文件对话框
(3)如图1-4鼠标在屏幕左边的SourceGroup1文件夹图标上右击弹出菜单,在这里可以做在项目中增加减少文件等操作。
我们选“AddFiletoGroup‘SourceGroup1’”弹出文件窗口,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件已加到项目中了。
这时在SourceGroup1文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。
图1-4添加文件窗口
C.文件设置:
(1)用鼠标右键点击Target1,选OptionsforTarget‘Target1’
(2)然后选Debug页,在右边选“Use:
KeilMonitor-51Driver”,并勾选Gotillmain
D.编译、运行、调试:
(1)点击Project菜单,选择弹出的下拉式菜单中的Buildtarget,或按F7 键,编译并生成目标代码。
。
在窗口中可以看到编译的错误信息和使用的系统资源情况等。
(2)回到KeilC界面,按Debug菜单中的Start\StopDebugSession,或Ctrl+F5键,进入联机调试状态(快捷键为一个小放大镜)。
程序通过串行接口下载到单片机内,接下来就可以运行和调试程序了。
(3)运行调试:
在Debug菜单下有运行、单步运行等选项可以运行程序。
另外,在View菜单下还可以打开观察窗口,跟踪变量的变化。
实验2输入输出接口实验
实验目的
1、熟悉利用keilc编写和调试单片机程序的方法。
2、掌握利用简单芯片实现并行接口扩展的方法。
实验题目1闪烁灯
1.实验说明
在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.5秒。
2.系统板上硬件连线
把“单片机系统”区域中的P1.0端口用导线连接到K模块PC5上。
3.程序设计内容
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#60H
START:
CLRP1.0
LCALLDELAY
SETBP1.0
LJMPSTART
DELAY:
MOVR5,#45;
延时子程序,延时0.5秒
D1:
MOVR6,#20
D2:
MOVR7,#248
D3:
DJNZR7,D3
DJNZR6,D2
DJNZR5,D1
RET
END
实验题目2霓虹灯输出
利用74ls273扩展的输出口接8路发光二极管,按循环点亮的方式输出。
并行口的抵制为8060H
2.电路图如附录所示;
3、参考程序
2-3可控霓虹灯实验流程
图2-1霓虹灯输出流程图图2-2输入接口扩展流程图
ADDIOEQU8060H
MOVA,#01H
MOVDPTR,#ADDIO
MOVX@DPTR,A
L1:
ACALLDELAY
RRA
MOVX@DPTR,A
AJMPL1
RET
END
实验题目3输入输出接口实验
利用74ls244扩展的输入口读取开关状态,并利用74ls273扩展的输出口接口连接的8路发光二极管显示结果。
并行口的地址为8060H
2.电路图;
3.参考程序
MOVXA,@DPTR
SJMPL1
实验题目4可控霓虹灯输出实验
利用扩展的输出口驱动8路发光二极管,按循环点亮的方式输出,并由输入开关控制循环方向
连线:
P1.0接F模块J15IN_1
ADDIOEQU8060H
JBP1.0,L2
SJMPNEXT
L2:
RLA
NEXT:
实验3定时/计数器实验
1、掌握利用51系列单片机编写中断服务程序的方法。
2、掌握使用单片机内部定时计数器实现定时功能的方法。
实验题目1定时器实验
每隔1秒点亮和熄灭由p1.7所连接的发光二极管。
把单片机系统区域中的P1.7端口用导线连接到K模块PC5上。
图3-1定时器实验主程序图3-2定时器实验中断程序
ORG000BH
LJMPINTT0
ORG0030H
CLRP1.0
MOVR1,#14H
MOVTMOD,#01H;
00000001
MOVTH0,#4CH;
50ms
MOVTL0,#00H
SETBTR0
SETBET0
SETBEA
HERE:
AJMPHERE
INTT0:
MOVTH0,#4CH
DJNZR1,NEXT
CPLP1.0
RETI
END
实验题目2计数器实验
把定时器0外部输入的脉冲进行计数,并送显示器显示。
2.程序设计内容
SE15:
MOVSP,#53H
MOVTMOD,#05H
MOVTH0,#00H
MOVTL0,#00H
SETBTR0
LO29:
MOVR2,TH0
MOVR3,TL0
LCALLR0,#79H
MOVR0,#79H
MOVA,R6
LCALLPTDS
MOVA,R5
LCALLPTDS
MOVA,R4
LCALLPTDS
LCALLSSEE
SJMPLO29
ZOY0:
CLRA
MOVR4,A
MOVR5,A
MOVR6,A
MOVR7,#10H
LO30:
CLRC
MOVA,R3
RLCA
MOVR3,A
MOVA,R2
MOVR2,A
MOVA,R6
ADDCA,R6
DAA
MOVA,R5
ADDCA,R5
ADDCA,R4
DAA
MOVR4,A
DJNZR7,LO30
ORG0061H
PTDS:
MOVR1,A
ACALLPTDS1
MOVA,R1
SWAPA
PTDS1:
ANLA,#0FH
MOV@R0,A
INCR0
ORG0D50H
SSEE:
SETBRS1
MOVR5,#05H
SSE2:
MOV30H,#20H
MOV31H,#7EH
MOVR7,#06H
SSE1:
MOVR1,#21H
MOVA,30H
MOVX@R1,A
MOVR0,31H
MOVX@R0,A
MOVDPTR,#DDFF
MOVCA,@A+DPTR
MOVR1,#22H
MOVX@R1,A
MOVA,30H
MOV30H,A
DEC31H
MOVA,#0FFH
DJNZR7,SSE1
DJNZR5,SSE2
CLRRS1
DDFF:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
实验4中断系统实验
实验题目1利用定时器中断实现可控霓虹灯实验
每隔1s循环点亮p1口所连的发光二极管。
把单片机系统区域中的INT0(P3.2)端口用导线连接到J模块J101上。
ORG000BH
MAIN:
MOVA,#0FEH
SETBIT0
SETBEX0
CLRC
HERE:
DJNZR1,STOP
JCRIGHT
AJMPSTOP
RIGHT:
STOP:
实验题目2利用定时器和外部中断实现可控霓虹灯实验
每隔1s循环点亮p1口所连的发光二极管,并用INT0控制循环方向。
ORG0003H
LJMPIINT0
IINT0:
CPLC
实验5LED动态显示实验
1、掌握利用单片机实现扩展LED动态显示的方法。
实验题目1时钟显示电路
利用8255的PA、PB口扩展4位LED显示器,并利用动态扫描的方式显示一个时钟电路,每隔一秒种变化一次。
2.系统电路图
电路图如下图。
本实验不需连线。
图5-3主程序流程图
图5-2中断服务程序流程
PA55EQU8000H
PB55EQU8001H
CTL55EQU8003H
MIN1EQU40H;
分十位
MIN2EQU41H;
分个位
SEC1EQU42H;
秒十位
SEC2EQU43H;
秒个位
COUNTEQU31H;
LJMPINTT0
MOVA,#80H
MOVDPTR,#CTL55
MOVDTTR,#PB55
MOVA,#0FFH
MOVX@DPTR,A
MOVTMOD,#01H
CLRA
MOVMIN1,A
MOVMIN2,A
MOVSEC1,A
MOVSEC2,A
SETBEA
LOOP:
LCALLDISPLAY
SJMPLOOP
DISPLAY:
MOVA,#01H
MOV30H,A
MOVR2,#04H
MOVR0,#40H
DISP:
MOVA,@R0
MOVDPTR,#LED
MOVCA,@A+DPTR
MOVDPTR,#PA55
MOVA,30H
CPLA
MOVDPTR,#PB55
DJNZR2,NEXT1
MOVA,#0FFH
NEXT1:
INCR0
SJMPDISP
MOVA,10H
AA:
DECA
JNZAA
PUSHACC
INCCOUNT
MOVA,COUNT
CJNEA,#10,QUIT
MOVCOUNT,#0
INCSEC2
MOVA,SEC2
MOVSEC2,#0
INCSEC1
MOVA,SEC1
CJNEA,#06,QUIT
MOVSEC1,#0
INCMIN2
MOVA,MIN2
MOVMIN2,#0
INCMIN1
MOVA,MIN1
MOVMIN1,#0
QUIT:
POPACC
LED:
DB0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,98H
8255七段LED显示段驱动
8255七段LED显示位驱动
实验6矩阵式动态扫描键盘实验
1、掌握利用单片机实现对矩阵式的扩展和驱动方法。
实验题目小键盘识别
利用PC口扩展一个4*4的矩阵键盘,利用键盘扫描方式读取键盘值并在LED中显示。
PC55EQU8002H
key_valueEQU31H
key_rowequ32h
LINE_VLAUEEQU34H
ORG0300H
LCALLD1M
MOVA,#00H
MOVR1,#04H
NEXT:
MOV@R0,A
MOVDPTR,#CTL55
MOVA,#81H
LCALLKEY_SCAN
MOV