单片机实验指导书 及基本常见电路.docx
- 文档编号:10038317
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:51
- 大小:543.87KB
单片机实验指导书 及基本常见电路.docx
《单片机实验指导书 及基本常见电路.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书 及基本常见电路.docx(51页珍藏版)》请在冰豆网上搜索。
单片机实验指导书及基本常见电路
亳州职业技术学院实验实训讲义
单片机原理与应用技术
亳州职业技术学院电子与电气工程系
2010年10月
说明
单片机原理及应用技术课程是我院电气自动化、机电一体化、电子信息工程技术、应用电子技术等专业学生的专业必修课程。
单片机原理及应用技术课程是一门面向应用的、具有很强的实践性与综合性的课程,它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力,在电类的专业课程中经常要用到单片机知识。
单片机知识在电类专业整个课程体系中处于承上启下的核心地位,一般测控系统和智能仪器仪表的实现都离不开单片机与应用技术,很多学生做毕业设计时都会用到单片机。
单片机及应用技术是现代电类等专业学生必须掌握的一项专业技术。
本课程以知识为基础,以能力为核心,构建新的实践化课程内容体系,确保教学内容的合理性、实用性和先进性。
以典型项目实例分解模块,并将实例分解得到相应的知识模块,将分解出来的知识模块按照循序渐进的原则分别放在各部分中进行讲解,以各个模块构建知识,前后连贯,层层递进。
最后,再将前述内容以应用实例来统领全局,进行综合,在综合中使学到的知识得以提高,达到以“应用”为主线连接所学知识内容的目的。
用典型的实例统领整个教学内容,让学生在学习过程中得到了反复性的思维训练,加深了对教学内容的理解和运用,增强了学生对单片机应用性的熟悉和理解。
本实验讲义是结合前述课程内容的安排,由简单到复杂,用一个个设计对各部分知识点进行加强和练习。
同时,利用综合设计对相关知识进行综合应用能力的培养。
目录
实验一仿真软件Proteus和KeilC51的设置与使用3
实验二彩灯控制器电路仿真与设计12
实验三数显抢答器电路仿真17
实验四报警电路设计与仿真1
实验五外中断控制的LED显示电路仿真与设计2
实验六基于数码管显示的电子钟电路仿真与设计1
实验七基于字符液晶的广告牌电路仿真与设计2
实验八串行通信应用电路仿真2
实验九密码锁控制器电路仿真1
实验十温度控制器电路仿真1
附录一实验系统说明2
实验一仿真软件Proteus和KeilC51的设置与使用
一、实验目的
1、了解单片机系统开发的基本流程
2、熟悉Proteus仿真软件的设置与使用方法。
3、熟悉Keil软件的设置与使用方法。
4、掌握单个LED灯闪烁控制电路的设计、仿真过程
二、实验仪器设备
1、计算机
2、Proteus仿真软件
3、Keil仿真软件
三、实验任务
1、单片机上电工作时,要求单片机控制发光二极管闪烁。
(1)单片机工作条件设计
电源:
40脚接+5V电源,20脚接地。
时钟电路:
采用内部时钟电路,18脚、19脚外接晶振(12MHz)和电容(30pF)。
复位电路:
采用按键复位电路,9脚外接RC电路及按键,注意51系列单片机为高电平复位。
(2)I/O接口电路设计
在本设计任务中用P1.0口驱动1只发光二极管。
一般情况下,驱动LED的电流约为10mA,而LED本身的压降为2V左右,P1口8个引脚均可带最大20mA负载,因此可直接驱动LED。
为了不损坏器件,发光二极管正极通过一个470Ω左右的电阻接到+5V电源(此时流经LED的电流约为I=(5-2)V/470)≈6.4mA),负极接到P1.0口的引脚;当P1.0口某位输出为“0”(低电平)时,由其提供的灌电流驱动发光二极管点亮。
当P1.0口某位输出为“1”(高电平)时,输出电压为5V,则流经发光二极管的电流为0mA(熄灭)。
(3)软件设计
由于人眼有视觉暂留现象,所以为了能够观看到闪烁的现象,在P1.0输出高低电平切换时,电平切换之间应有大于0.02S的延时时间。
2、Proteus仿真运行软件
(1)进入ProteusISIS
双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus6Professional”→“ISIS6Professional”,出现如图1-1所示屏幕,表明进入ProteusISIS集成环境。
图1-1启动时的屏幕
(2)工作界面
ProteusISIS的工作界面是一种标准的Windows界面,如图1-2。
包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图1-2ProteusISIS的工作界面
(3)查找元器件并绘制原理图
所需元件:
AT89C51、CRYSTAL、CAP、RES、LED-RED
3、Keil软件的使用
(1) 首先在桌面上建立一个文件夹,命名为ledtest,为方便程序的编写和调试,我们将调试过程中产生的文件都将放在这个目录中。
(2)启动keil软件,运行后界面如下图
(3) 点击菜单project,选择new project:
然后选择你要保存的路径,输入工程文件的名字,我们现在保存到刚才建立的ledtest目录中,工程文件命名为ledtest,如下图所示,然后点击保存.
(4). 这时会弹出下面的对话框SelectDevicefor‘Target1’,要求你为刚才的项目选择一个CPU,你可以根据实际使用的单片机来选择,keil c51几乎支持所有的51核的单片机。
本例中我们选择Atmel的89S51,如图所示,选择89S51之后,右边一栏是对这个单片机的基本的说明,然后点击确定.
(5).弹出如下对话框,是否添加标准的启动代码到你的项目,我们这里不理会它,点击否!
文件STARTUP.A51是大多数不同的8051CPU准备的启动代码。
启动代码清除数据存储器并初始化硬件和重入函数堆栈指针。
另外,一些8051派生产品要求初始化CPU来迎合你设计中的相应的硬件。
例如,Philips8051RD+提供的片上xdataRAM应该在启动代码中启用。
假如你需要修改启动文件来迎合你的目标硬件,你应该把文件STARTUP.A51复制一份到你的项目文件夹中。
(6).这时要新建一个源程序文件,建立一个汇编或c文件,如果你已经有源程序文件,可以忽略这一步.点击菜单File->New:
(7).在text框输入一个简单的程序,如下:
ORG0000H;将程序从地址0000H开始存放在存储器中
START:
CLRP1.0;P1.0=0,点亮信号灯
ACALLDELAY;调用延时子程序
SETBP1.0;P1.0=1,熄灭信号灯
ACALLDELAY;调用延时子程序
AJMPSTART;返回,重复闪动过程
DELAY:
MOVR3,#7FH;延时子程序
DEL2:
MOVR4,#0FFH
DEL1:
NOP
DJNZR4,DEL1
DJNZR3,DEL2
RET;子程序返回
END;汇编结束
(8).选择菜单File_>SAVE,选择你要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,如果是c程序文件,扩展名为.c,如果是汇编文件,扩展名为.asm,其他文件类型,比如注解说明文件,可以保存为.txt的扩展名.那么我们这里是要存储一个汇编源程序文件,所以输入.asm扩展名,保存为ledtest.asm文件,点击保存.
(9).点击Target 1前面的+号,展开里面的内容source Group1:
(10).在Sourece Group 1上点击鼠标右键,将弹出一个菜单,选择Add Files to Guoup"Source Group 1".
(11).选择刚才保存的文件ledtest.asm,文件类型选择asm source file.,因为我们的是汇编程序,所以选择该类型。
如果是C文件文件,就选择C Source file(*.c)。
最后点击Add按钮,点击add之后,窗口不会消失,(如果要添加多个文件,可以不断添加),添加完毕此时再点击Close关闭该窗口.
(12).选中Target1后,点击鼠标右键:
这时会弹出“OptionsforTarget‘Target1’”对话框,点击Output选项,选中“Create Hex File",下图。
(13).点击工具条中的“build target”,看状态栏,若是:
"ledtest" - 0 Error(s), 0 Warning(s).”,恭喜你成功了,看看你的文件夹吧,是否多了个light.hex文件。
双击单片机芯片,添加*.hex文件。
如下图,
接下来就可以进行,单步,断点,全速调试了。
四、实验电路原理图
五、实验程序
1、程序流程图
2、源程序
ORG0000H;将程序从地址0000H开始存放在存储器中
START:
CLRP1.0;P1.0=0,点亮信号灯
ACALLDELAY;调用延时子程序
SETBP1.0;P1.0=1,熄灭信号灯
ACALLDELAY;调用延时子程序
AJMPSTART;返回,重复闪动过程
DELAY:
MOVR3,#7FH;延时子程序
DEL2:
MOVR4,#0FFH
DEL1:
NOP
DJNZR4,DEL1
DJNZR3,DEL2
RET;子程序返回
END;汇编结束
六、实验步骤
1、输入并编译程序
2、程序调试
3、绘制仿真电路图
4、电路仿真
5、程序下载
七、小结
1、用Keil软件进行程序输入、编译和运行的过程及注意事项。
2、用Proteus软件绘制仿真电路图过程及注意事项。
3、将程序目标代码加入单片机并仿真过程及注意事项。
八、动手实践及思考
1、完成单个LED灯闪烁控制电路的实物搭建,用编程器将调试通过的程序目标代码下载到单片机中并运行,观察电路运行情况。
2、将仿真电路中的发光二极管反向连接,修改后仿真运行,观察电路运行情况。
实验二彩灯控制器电路仿真与设计
一、实验目的
1、掌握彩灯控制器电路设计方法。
2、掌握彩灯控制器程序设计方法。
3、掌握彩灯控制器电路仿真调试。
4、学会单片机指令的学习方法。
5、学习单片机I/0口的使用,指令延时子程序的原理与使用。
二、实验仪器设备
1、计算机
2、WAVE仿真软件
3、Proteus仿真软件
4、Keil仿真软件
5、SuperPro编程软件
6、仿真器
7、编程器
8、印制电路板
三、实验任务
接于P2口的8路彩灯按如图1所示的方式亮灯。
图1彩灯亮灯方式
四、实验电路
图2彩灯控制器电路原理图
五、实验仿真电路图
图3彩灯控制器仿真电路图
六、实验程序
1、程序流程图(如图4)
2、程序清单
ORG0000H
MOVR1,#00H
MOVDPTR,#TAB
START:
MOVA,R1
MOVCA,@A+DPTR
CJNEA,#0D3H,DISP
MOVR1,#00H
SJMPSTART
DISP:
MOVP2,A
INCR1
LCALLDELAY
SJMPSTART
DELAY:
MOVR5,#02
K1:
MOVR6,#250
K2:
MOVR7,#250
K3:
NOP
NOP
DJNZR7,K3
DJNZR6,K2
DJNZR5,K1
RET
TAB:
DB0E7H,0C3H,81H,00H,0FFH
DB7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH
DB55H,0AAH,55H,0AAH,0FFH,00H,0FFH,00H,0FFH,0D3H
图4彩灯控制器程序流程图
七、实验步骤
1、输入并编译程序
2、程序调试
3、绘制仿真电路图
4、程序加载并进行电路仿真
5、按原理图连接实物,并综合调试。
八、小结
彩灯控制器电路是在前一个单灯实验基础上增加为八个发光二极管,硬件电路设计与前一个实验差别不大。
本实验主要是学习单片机指令部分的内容,包括MOV、LCALL等一些常用指令和延时子程序的原理与使用。
同时学习单片机I/0口的使用。
单片机I/O是分别独立的,使用程序控制时,既可独立控制,也可任意组合控制。
要求掌握彩灯控制器电路的设计与实现过程,以及仿真在电路设计中的使用。
九、动手实践与思考
1、完成彩灯控制器电路的实物搭建,用编程器将调试通过的程序目标代码下载到单片机中并运行,观察电路运行情况。
2、修改程序,完成以下功能:
(1)循环左移
(2)循环右移
(3)闪烁
3、利用如下原理图,实现单片机的算术运算和逻辑运算
相应程序如下:
1. 加法运算程序
ORG 0000H
AJMPMAIN
ORG0030H
MAIN:
MOV A,P0
MOV R0,P2
ADD A,R0
MOV P1,A
SJMP $
END
2. 减法运算程序
ORG 0000H
MOV A,P0
MOV R0,P2
SUBB A,R0
MOV P1,A
SJMP $
END
3. 乘法运算程序
ORG 0000H
AJMPMAIN
ORG0030H
MAIN:
MOV A,P0
MOV B,P2
MUL AB
MOV P1,A
SJMP $
END
4. 除法运算程序
ORG 0000H
AJMPMAIN
ORG0030H
MAIN:
MOV A,P0
MOV B,P2
DIV AB
MOV P1,A
SJMP $
END
5. 逻辑“或”运算程序
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVA,P0
ORLA,P2
MOVP1,A
SJMP$
END
7. 逻辑“异或”运算程序
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVA,P0
XRLA,P2
MOVP1,A
SJMP$
END
6. 逻辑“与”运算程序
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVA,P0
ANLA,P2
MOVP1,A
SJMP$
END
实验三数显抢答器电路仿真
一、实验目的
1、学习并掌握LED数码管和独立式键盘的工作原理和电路连接方法
2、掌握数显抢答器电路设计方法。
3、掌握数显抢答器程序设计方法。
4、掌握数显抢答制器电路仿真调试。
二、实验仪器设备
1、计算机
2、WAVE仿真软件
3、Proteus仿真软件
4、Keil仿真软件
5、SuperPro编程软件
6、仿真器
7、编程器
8、印制电路板
三、实验任务
P0口接8个抢答按钮开关,供8位参赛选手进行抢答用。
P1口接一个数码管显示器,用于显示抢答成功者的号码。
8位参赛选手在主持人按下抢答开始按钮(复位按钮)S,发出开始抢答命令后,迅速按下各自的抢答按钮(S1~S8),数码管立即显示最先按下抢答按钮的参赛选手号码,表明该选手抢答成功,获得答题权。
同时所有其他按钮立即被封锁,后按下抢答按钮的选手无法再进行抢答。
在主持人发布完下一道题,再次发出抢答命令前,要先按下抢答开始按钮S,以清除上次抢答号码,同时开放各按钮,以备参赛选手进行下一道题的抢答。
四、实验电路
图1数显抢答器电路原理图
五、实验仿真电路图
图2数显抢答器仿真电路图
六、实验程序
1、程序流程图
2、程序清单
ORG0000H
START:
MOVA,P0
CJNEA,#0FFH,PL0
SJMPSTART
PL0:
LCALLDELAY
MOVA,P0
CJNEA,#0FFH,PL1
SJMPSTART
PL1:
JNBACC.0,K1
JNBACC.1,K2
JNBACC.2,K3
JNBACC.3,K4
JNBACC.4,K5
JNBACC.5,K6
JNBACC.6,K7
JNBACC.7,K8
LJMPSTART
K1:
MOVP1,#0F9H
SJMP$
K2:
MOVP1,#0A4H
SJMP$
K3:
MOVP1,#0B0H
SJMP$
K4:
MOVP1,#99H
SJMP$
K5:
MOVP1,#92H
SJMP$
K6:
MOVP1,#82H
SJMP$
K7:
MOVP1,#0F8H
SJMP$
K8:
MOVP1,#80H
SJMP$
DELAY:
MOVR6,#15
图3数显抢答器程序流程图
DEL2:
MOVR7,#200
DEL1:
DJNZR7,DEL1
DJNZR6,DEL2
RET
END
七、实验步骤
1、输入并编译程序
2、程序调试
3、绘制仿真电路图
4、电路仿真
5、按原理图连接实物,并综合调试。
八、小结
本实验利用一个数码管显示1位数据,八个按键组成一个独立式键盘,实现八路输入,设计了一个带有显示功能的八路抢答器。
通过本实验的学习,掌握数码管和独立式键盘的连接和使用方法,相应工作原理。
同时,了解相关程序的编制。
八、动手实践与思考
1、完成数显抢答器电路的实物搭建,用编程器将调试通过的程序目标代码下载到单片机中并运行,观察电路运行情况。
2、试编程实现数码管循环显示“0-9”十个数字。
实验四报警电路设计与仿真
一、实验目的
1、掌握报警电路设计方法。
2、掌握报警电路程序设计方法。
3、掌握报警电路仿真调试。
4、学习单片机定时器的应用,了解蜂鸣器发声原理
二、实验仪器设备
1、计算机
2、WAVE仿真软件
3、Proteus仿真软件
4、Keil仿真软件
5、SuperPro编程软件
6、仿真器
7、编程器
8、印制电路板
三、实验任务
用单片机驱动蜂鸣器,产生报警声。
四、实验电路
图1报警电路原理图
五、实验程序
1、程序流程图
图2报警电路程序流程图
2、程序清单
CODE_SEGSEGMENTCODE
DATA_SEGSEGMENTDATA
STACK_SEGSEGMENTIDATA
SPKBITP3.6
RSEGDATA_SEG
FRQ:
DS1
TMP:
DS1
RSEGSTACK_SEG
STACK:
DS20
CSEGAT00000H
LJMPMAIN
CSEGAT0000BH
LJMPTIMER0
RSEGCODE_SEG
MAIN:
setbSPK
clrSPK
USING0
MOVSP,#(STACK-1)
MOVTMOD,#01H
CLRA
MOVFRQ,A
MOVTH0,A
MOVTL0,#0FFH
SETBTR0
MOVIE,#082H
MAIN_LP:
INCFRQ
MOVR7,#04;
LCALLDELAYMS
SJMPMAIN_LP
TIMER0:
MOVTH0,#0FEH
MOVTL0,frq
CPLSPK
RETI
DELAYMS:
MOVA,R7
JZEND_DLYMS
DLY_LP1:
MOVR6,#185
DLY_LP2:
NOP
NOP
NOP
DJNZR6,DLY_LP2
DJNZR7,DLY_LP1
END_DLYMS:
RET
END
六、实验步骤
1、输入并编译程序
2、程序调试
3、绘制仿真电路图
4、电路仿真
5、程序下载
6、按原理图连接实物,并综合调试。
七、小结
本实验利用单片机驱动蜂鸣器,产生报警声,以此学习单片机定时器的应用和蜂鸣器发声原理;学习报警电路程序的编制方法。
八、动手实践与思考
1、完成报警电路的实物搭建,用编程器将调试通过的程序目标代码下载到单片机中并运行,观察电路运行情况。
2、利用以上知识,试设计电路和程序,实现两首歌曲的循环播放。
实验五基于数码管显示的电子钟电路仿真与设计
一、实验目的
1、掌握电子钟电路设计方法。
2、掌握电子钟程序设计方法。
3、掌握电子钟电路仿真调试。
4、学习数码管的动态显示
二、实验仪器设备
1、计算机
2、WAVE仿真软件
3、Proteus仿真软件
4、Keil仿真软件
5、SuperPro编程软件
6、仿真器
7、编程器
8、印制电路板
三、实验任务
根据任务要求,用AT89C51单片机P2.0~P2.3接4个按键S1~S4为当前时间调节按键,其中S1为时间调节开始键,S2为小时调节键,S3为分钟调节键;按下S1进入时间调节状态,每按一次S2键小时加1,每按一次S3键分钟加1,按下S4退出时间调节状态。
用4个数码管用于显示当前时间的时和分,采用动态显示方式,由P1口接4个数码管的八段,P0口分别接4个数码管的公共端,P1口输出数码管的字形码,P0口输出数码管的字位码。
接于P3.0的LED作秒指示,每秒钟亮或灭一次。
四、实验电路
图1电子钟电路原理图
五、实验仿真电路图
图2电子钟电路仿真图
六、实验程序
1、程序流程图
图3主程序流程图
图4时间调节子程序流程图
图5T0中断服务程序流程图
2、原程序代码
S1EQUP2.0
S2EQUP2.1
S3EQUP2.2
S4EQUP2.3
DISPBUFEQU50H
HOUREQU30H
MINEQU31H
SECEQU32H
COUNTEQU33H
ORG0000H
LJMPSTART
ORG000BH
LJMPT0INT
ORG0030H
START:
MOVDISPBUF+2,#0B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机实验指导书 及基本常见电路 单片机 实验 指导书 基本 常见 电路