单片机课设报告.docx
- 文档编号:12838714
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:21
- 大小:197.77KB
单片机课设报告.docx
《单片机课设报告.docx》由会员分享,可在线阅读,更多相关《单片机课设报告.docx(21页珍藏版)》请在冰豆网上搜索。
单片机课设报告
1总体设计方案选择与说明
要实现电压的测量有多种方案,其中两种比较简单的且精度比较高的可以分别采用并行ADC0809芯片和和TLC1543/TLC2543芯片,其中各芯片都有可取之处。
方案一:
用TLC1543/TLC2543芯片做模数转换采样芯片,占用的单片机I/O口线少,且占用电路面积小,只是编程比较复杂。
方案二:
用ADC0809芯片做模数转换采样芯片,占用的单片机I/O口线多,但是可以循环采样8路模拟通道,占用的板子面积较大,但编程相对简单。
本次课程设计采用方案二,因为方案二所用到的芯片我们都比较熟悉,采用常用的51单片机作为控制芯片,ADC0809芯片的CLK时钟信号脚接单片机的P2.4脚,DATAOUT接单片机的P0.0-P0.7脚,ADDA-ADDC接单片机的P1.0-P1.2,ALE脚和接单片机的P2.5,OE脚接单片机的P2.7,IN0-INT7接输入电压(及测试电压),ADC0809通过采样进来的数据信号送给单片机,再通过
计算可以得到电压值,再通过显示电路,将所求得的电压值显示出来。
通过调节连接AIN引脚的点位器及可以调节电压是电压在0~5V左右变化。
其硬件流程图如图1.1所示:
2系统结构框图与工作原理
2.1系统结构框图:
图1.1系统结构框图
2.2系统工作原理
数字电压原理:
这里主要是利用ADC0809模数并行接口芯片ADC0809芯片的基准电压脚外接电压为5V,则最大可以测得的电压为5V,ADC0809芯片的模拟输入脚通过电位器接5V电压,进行模拟采样,通过调整电位器的值改变模拟量。
输入的模拟量经过ADC0809芯片的内部8位开关电容逐次逼近A/D转换器,转换成8为二进制数,其最小的分辨率为0.0196(VREF=0.0196V),D为转化的数字量,再通过
可以求得模拟电压,最后通过四位LED显示器就可将所测得电压显示出来。
3硬件电路设计及说明
3.1振荡电路
振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取33pF),这样就构成一个稳定的自激振荡器。
为单片机提供时钟信号。
3.2复位电路设计
按键复位具有上电复位功能,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。
上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。
上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。
RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
3.3键盘接口电路
独立式键盘:
独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。
I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。
I/O口内部有上拉电阻时,外部可不接上拉电阻。
图3.1键盘接口电路
3.4显示电路
它的连接方式为7段共阴LED显示器的公共端分别接单片机的P2.0、P2.1、P2.2、P2.3。
相应的P0口接LED显示器的a、b、c、d、e、f、g和dp引脚,利用程序进行动态的扫描实现显示功能。
该显示电压值的计算由软件进行实现,通过
计算可以得到电压值这里不在赘述。
图3.2显示硬件电路
3.5AD转换电路
ADC0809的OUT1-OUT8脚分别接单片机P0口的P0.0—P0.7,地址锁存ALE脚(当输入为高电平时,对地址信号进行锁存)和转换启动信号START接单片机的P2.5,当输入一个2uS宽高电平脉冲时,就开始A/D转换。
时钟信号CLOCK由单片机的P2.4脚通过程序控制实现。
ADC0809的EOC脚悬空不接,而是利用软件延时的方法使模拟量转化完全为数字量,输出使能信号OE接单片机的P2.7脚,当OE脚为高电平时,A/D转换数据从该端口输出,以此来实现数据的传送。
图3.5AD转换硬件电路图
4软件设计与说明
4.1显示子程序
显示子程序采用动态扫描法实现四位数码管的数值显示。
测量所得的A/D转换数据放在35H内存单元中,测量数据在显示时需转换成10进制BCD码放在30H-33H单元中,其中34H存放通道标志数。
4.2初始化子程序
对所用到的存储单元和寄存器单元进行初始化,同时对要使用到的定时器进行赋初始值
;初始化子程序
INIT:
MOVWIN1,#00H;存储单元清零
MOVWIN2,#00H
MOVWIN3,#00H
MOVWIN4,#00H
CLRFLAG
MOVTMOD,#12H;定时器初始化
MOVTH0,#245
MOVTL0,#245
MOVTH1,#9EH
MOVTL1,#58H
MOVR1,#80
MOVR0,#0
MOVIE,#8AH
SETBTR0
4.3系统程序流程图
5调试结果与调试说明
通过PROTUES仿真,对滑动变阻器的划片进行滑动,可以对电压表的示数进行改变。
当滑动变阻器的划片划至100%时,LED显示器显示的示数为5V,理论值
=5V。
当滑动变阻器的划片划至0%时,LED显示器显示的示数为0V,
=0V。
由此两个极值已经满足,表明测量精度相当之高。
再取划片至28.57%在测量电压的时候,电压表值为1.406V.理论值为U=28.57%*5=1.429V。
在我们的精度控制范围之内。
在调试的过程中,开机即为循环显示阶段,可纵观8路电压的测量值,为了清楚的看到各个通道的电压测量值,我们可以采用单通道显示模式,即按下模式转换开关,切换到单通道模式下,通过改变滑动变阻器划片的位置来得到不同的测量值。
带到想要再次回到循环显示模式时,需要再次按下模式转换开关,系统就自动转到了循环显示的模式下工作了。
6使用说明
系统采用并行AD转换器(ADC0809)对外部多路模拟电压进行测量。
通过键盘对转换通道进行选择:
1)循环多路显示(开机即为此种模式)
2)通过键盘或其它方式进行选择显示(如按下键盘上的0号键,则显示0通道的电压…..),此时要先按下模式转换开关,等到要恢复到循环显示模式时还需要再按下模式转换开关。
7程序清单
WIN1EQU30H
WIN2EQU31H
WIN3EQU32H
WIN4EQU33H
BBCEQU35H
STBITP2.5
OEBITP2.7
CLOCKBITP2.4
FLAGBIT20H.0
ORG0000H
AJMPSTART
ORG000BH
AJMPSTT0
ORG001BH
AJMPSTT1
ORG0030H
;初始化子程序
INIT:
MOVWIN1,#00H;存储单元清零
MOVWIN2,#00H
MOVWIN3,#00H
MOVWIN4,#00H
CLRFLAG
MOVTMOD,#12H;定时器初始化
MOVTH0,#245
MOVTL0,#245
MOVTH1,#9EH
MOVTL1,#58H
MOVR1,#80
MOVR0,#0
MOVIE,#8AH
SETBTR0
RET
START:
LCALLINIT
JIAN:
JBP2.6,TT1
JNBP2.6,$;键未松开
CPLFLAG
TT1:
JNBFLAG,WAT
LL0:
CLRTR1;8路循环显示
JBP3.0,LL1
MOVR0,#0
SJMPWAIT
LL1:
JBP3.1,LL2
MOVR0,#1
SJMPWAIT
LL2:
JBP3.2,LL3
MOVR0,#2
SJMPWAIT
LL3:
JBP3.3,LL4
MOVR0,#3
SJMPWAIT
LL4:
JBP3.4,LL5
MOVR0,#4
SJMPWAIT
LL5:
JBP3.5,LL6
MOVR0,#5
SJMPWAIT
LL6:
JBP3.6,LL7
MOVR0,#6
SJMPWAIT
LL7:
JBP3.7,WAIT
MOVR0,#7
WAIT:
MOVP1,R0
SJMPWAIT1
WAT:
MOVP1,R0
SETBTR1
WAIT1:
CLRST;启动AD转换
SETBST
CLRST
MOVR7,60;延时等待转换结束
DJNZR7,$
SETBOE
MOVBBC,P0
CLROE
ZH:
MOVA,BBC;将转化结果变为BCD码,存入相应的单元
MOVB,#51
DIVAB
MOVWIN3,A;个位存放在32H
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,L1
ADDA,#5
L1:
MOVWIN2,A;小数点后第一位存放在31H
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,L2
ADDA,#5
L2:
MOVWIN1,A
LCALLEXP0;小数点后第二位存放在30h
LCALLEXP01
AJMPJIAN
STT1:
MOVTH1,#9EH
MOVTL1,#58H
DJNZR1,SS
MOVR1,#80
INCR0
MOVA,R0
CJNEA,#8,LP1
MOVR0,#0
LP1:
MOVP1,R0
SS:
RETI
STT0:
CPLCLOCK
RETI
EXP0:
MOVDPTR,#TAB;显示子程序
MOVA,WIN3
MOVCA,@A+DPTR
CLRP2.3
ADDA,#80H
MOVP1,A
LCALLDELAY
SETBP2.3
MOVA,WIN2
MOVCA,@A+DPTR
CLRP2.2
MOVP1,A
LCALLDELAY
SETBP2.2
MOVA,WIN1
MOVCA,@A+DPTR
CLRP2.1
MOVP1,A
LCALLDELAY
SETBP2.1
RET
EXP01:
MOVWIN4,R0
MOVA,WIN4
MOVCA,@A+DPTR
CLRP2.0
MOVP1,A
LCALLDELAY
SETBP2.0
RET
DELAY:
MOVR7,#4
D:
MOVR6,#250
DJNZR6,$
DJNZR7,D
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
8总结
通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。
通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。
简易数字电压表的设计”的设计过程,我结合所学过的课程,了解了简易仪表的发展状况,掌握了目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具使用方法,最重要的是通过这一设计实践过程,锻炼了我的动手能力和分析,解决问题的能力,一丝不苟的工作和对所学知识的综合应用能力,我想这样的实践环节在我的学生生涯是很难得的,也为我以后步入社会开始工作打下了一定的基础,最后我也要感谢同学们,只有在他们团结协作下,本次课程设计才可以顺利进行并实现所有功能,同时我也明白了团结协作的重要性。
9参考文献
[1]周坚,单片机C语言轻松入门.北京:
北京航空航天大学出版社,2005.
[2]《单片机人机接口实例》公茂法编著北京航空航天大学出版社
[3]《51系列单片机应用与实践教程》周向红编著北京航空航天大学出版社
[4]《单片机原理与应用》王迎旭编著机械工业出版社
附录
附录A
系统原理图:
附录B
源程序清单:
WIN1EQU30H
WIN2EQU31H
WIN3EQU32H
WIN4EQU33H
BBCEQU35H
STBITP2.5
OEBITP2.7
CLOCKBITP2.4
FLAGBIT20H.0
ORG0000H
AJMPSTART
ORG000BH
AJMPSTT0
ORG001BH
AJMPSTT1
ORG0030H
;初始化子程序
INIT:
MOVWIN1,#00H;存储单元清零
MOVWIN2,#00H
MOVWIN3,#00H
MOVWIN4,#00H
CLRFLAG
MOVTMOD,#12H;定时器初始化
MOVTH0,#245
MOVTL0,#245
MOVTH1,#9EH
MOVTL1,#58H
MOVR1,#80
MOVR0,#0
MOVIE,#8AH
SETBTR0
RET
;主程序
START:
LCALLINIT
JIAN:
JBP2.6,TT1
JNBP2.6,$;键未松开
CPLFLAG
TT1:
JNBFLAG,WAT
LL0:
CLRTR1;8路循环显示
JBP3.0,LL1
MOVR0,#0
SJMPWAIT
LL1:
JBP3.1,LL2
MOVR0,#1
SJMPWAIT
LL2:
JBP3.2,LL3
MOVR0,#2
SJMPWAIT
LL3:
JBP3.3,LL4
MOVR0,#3
SJMPWAIT
LL4:
JBP3.4,LL5
MOVR0,#4
SJMPWAIT
LL5:
JBP3.5,LL6
MOVR0,#5
SJMPWAIT
LL6:
JBP3.6,LL7
MOVR0,#6
SJMPWAIT
LL7:
JBP3.7,WAIT
MOVR0,#7
WAIT:
MOVP1,R0
SJMPWAIT1
WAT:
MOVP1,R0
SETBTR1
WAIT1:
CLRST;启动AD转换
SETBST
CLRST
MOVR7,60;延时等待转换结束
DJNZR7,$
SETBOE
MOVBBC,P0
CLROE
ZH:
MOVA,BBC;将转化结果变为可显示的BCD码,存入相应的单元
MOVB,#51
DIVAB
MOVWIN3,A;个位存放在32H
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,L1
ADDA,#5
L1:
MOVWIN2,A;小数点后第一位存放在31H
MOVA,B
CLRF0
SUBBA,#1AH
MOVF0,C
MOVA,#10
MULAB
MOVB,#51
DIVAB
JBF0,L2
ADDA,#5
L2:
MOVWIN1,A
LCALLEXP0;小数点后第二位存放在30
LCALLEXP01
AJMPJIAN
STT1:
MOVTH1,#9EH
MOVTL1,#58H
DJNZR1,SS
MOVR1,#80
INCR0
MOVA,R0
CJNEA,#8,LP1
MOVR0,#0
LP1:
MOVP1,R0
SS:
RETI
STT0:
CPLCLOCK
RETI
;显示子程序
EXP0:
MOVDPTR,#TAB;显示子程序
MOVA,WIN3
MOVCA,@A+DPTR
CLRP2.3
ADDA,#80H
MOVP1,A
LCALLDELAY
SETBP2.3
MOVA,WIN2
MOVCA,@A+DPTR
CLRP2.2
MOVP1,A
LCALLDELAY
SETBP2.2
MOVA,WIN1
MOVCA,@A+DPTR
CLRP2.1
MOVP1,A
LCALLDELAY
SETBP2.1
RET
EXP01:
MOVWIN4,R0
MOVA,WIN4
MOVCA,@A+DPTR
CLRP2.0
MOVP1,A
LCALLDELAY
SETBP2.0
RET
DELAY:
MOVR7,#4
D:
MOVR6,#250
DJNZR6,$
DJNZR7,D
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 报告