单片机课程设计报告硬件图源程序.doc
《单片机课程设计报告硬件图源程序.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告硬件图源程序.doc(29页珍藏版)》请在三一文库上搜索。
1、中原工学院单片机与接口技术课程设计报告 目录一、引言32、 设计任务33、 硬件电路图的设计54、 软件的编写10 1)程序流程图11 2)实验源程序15五、心得体会26六、参考文献27七、附录281、 引言 单片微型计算机简称单片机,又称微控制器(MCU),它的出现是计算机发展史上的一个重要的里程碑,它以体积小、功能全、性价比高等诸多优点独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。本次课设采用的STC89C51单片机是51系列单片机的一种代表,目前51系列单片机是国内目前应用最广泛的一种单片机之一。单片机以其系统硬件构架完整、价格低廉、学生能动手等
2、特点,成为工科学生硬件设计的基础课。本次课程设计主要目的是为了更进一步学会使用和了解单片机,增强学生的动手能力,让我们更透彻的将平时所做的实验吃透学懂。2、 设计任务一、所需设备:伟福系列单片机仿真实验箱、PC机及实验指导书二、设计内容题目1:数据采集系统从键盘中任意选出6个键作为系统的功能键和LED数码显示一起组成一个单片机键盘显示系统(小的监控程序),并通过实验箱上的接口芯片实现相应的功能(注:这些硬件电路全在实验箱上,但自己要能设计)。要求设计相应的硬件电路,并画出实现题目要求功能的流程图,编写、调试相应的程序。编程要求:开机后显示班级号(4位),学号(2位)(复位状态),然后通过功能键
3、设置参数,而后运行主程序。6个功能键为:设定加一减一确定运行换位设置参数步骤:复位状态下,按下“设定”键后6位显示的状态为:显示设定值显示参数行号888801四位设定值中的某一位小数点亮(或者整个值闪烁),表示对该位进行设置。用“加一”、“减一”键改变该位的值,用“换位”键改变设置位(由左到右),用“确定”键保存设定的值。本次设计要求能设置四行参数即可,每行参数在09999之间,当连续按“确定”键时,对应的行号(上图)从0104循环变化。按下“运行”键,执行数据采集程序(参考实验箱相应的硬件电路,但要求不同),采集模拟量05V,显示对应的物理量在0000最大值之间变化。5V对应的显示值(最大值
4、)是多少可以在设定时通过某行(四行参数中的一行)参数设置的数值选择确定。三、 硬件电路图的设计实验中主要用STC89C51单片机做处理器,首先的确保一个单片机最小系统,所以首先绘制的是单片机最小系统的电路图,下图是上次做小车时绘制的最小系统电路图: 要用到键盘和六个数码管显示,故需对其接口进行扩展,所用的器件有74HC138与P2口的高四位相连接,进行译码,译码之后和锁存器74LS373所存P0口的位数相与,对数码管的段码和位码进行片选选定,同时也可对键盘的读取接口和数据采集芯片进行片选选通,从而给定一个确定的地址,这样单片机就可以与外接电路进行数据的采集,键盘的判定,及数字的显示等工作。下图
5、为74HC138的连接电路 其中P2.7接138的E3脚,E1和E2都接在低电平上,P2.6/ P2.5 /P2.4分别和138的C /B/ A引脚连接,这样地址片选就可以达到从8000H到FFFF的地址。下图为单片机P0口接74LS373锁存器数码管段码接口和位码接口都用的是74LS374芯片,片选信号由138译码器和74LS373锁存器所给地址决定,键盘的读取用芯片74LS245芯片来扩展,本电路主要是参考平时所作实验,及实验的电路连接来设计的。下图为段码接口,位码接口及键盘读入口的接线电路:键盘及数码管显示电路设计好之后,接下来要设计的就是数据采集系统的电路,由于我选的题目是任务一里的第
6、一个任务,所以数据采集系统使用的的是AD转换,将5V的电压通过电位器的调节,也就是模拟量通过AD0809芯片转换成数字量,在单片机上显示出来。下图即为AD0809与单片机的接口电路: AD0809其中D0D7与P0口相接,由P0口的数据选择哪一路的输入,EOC与单片机P3.2口相连接,转换完后产生中断延时让其显示,片选线由138的Y1输出口和单片机的读口即P3.7经过一个或非门相连。这样0809的地址即为9000H,由P0口给定的值决定是IN口口的输入,试验箱上只有两个输入口,我在编程时选定IN0口输入,IN0口接一个连了五伏电压的电位器。4、 软件的编写软件所要实现的功能:1、开机后显示班级
7、、学号 10-2 12 ;2、用的是实验箱键盘最后一排的六个键,依次为:“设定” “加一 减一 换位” ”确定“ ”运行“;3、按“设定”键,默认第一位闪烁,此时按“加一”和“减一”键可以调整数值;4、设定完一位后,按“换位”键可以对下一位进行设定;5、四位都设定完之后,按“确定”键,去闪烁,并将参数01下设定的值保存;6、再按下“确定”键,跳至参数02,此时可以依照步骤3对其进行设置;7、参数01、02、03、04设定好之后,可以按“确定”键对设定的值查询;8、在不同的参数下,按下“运行”键可以将以该设定值最大值,0为最小值的AD转换结果显示到前四位数码管上。 明确软件所要达到的目的之后,首
8、先得先清楚试验中数码管和键盘的读入地址和数码管的位码地址,为编程序确定键值及参数会起到一个直接的作用,只有清楚这些了才能随心所欲的设定没一个功能键的位置。(1) 程序流程图 流程图是一个程序的主干,也就是说程序是建立在一个流程图的主体框架之上的,有流程图程序才可以有条理的进行编写.下面为实验程序的流程图开始是运行键按下,调用AD转换子程序设置显示缓冲区,及各参数对应的参数缓冲区调用显示1,显示班级学号通过参数的系数,确定是哪个参数下设置的最大值将AD转换值通过和相对参数下设置的最大值进行比较,通过计算乘以相应的运算数,送入相应缓冲区调用键盘检测子程序右键按下?否?N判是运行键?调用显示子程序2
9、,将数值显示,Y N根据R5里相应的值确定是设置键还是确定键不是运行键根据R5里相应的值确定是设置键还是确定键调用不同子程序 是设置键,由参数得出显示缓冲区,第一位闪烁,调用显示子程序2调键盘检测,判断是换位键还是功能加减键是减键,直接到S22处,进行减1,送缓冲,调显示2是加键,直接跳到S11处,进行加1,送缓冲,调显示2是换位键,进行换位,送缓存,调显示2 跳转到键盘的判断 是运行键 调用AD转换 判断在哪个系数设置下惊醒的AD转换将AD转换的数字量与设置的数进行计算,分离出千位百位个位,通过比较将AD转换的最大值255转换为在相应参数下所设置的数,通过误差分析,加减相应的数字,已达到和设
10、置数相近的值 将分离的四位数送缓存,调显示2跳转到键盘的判断 是确定键是第一次按下还是连续按下跳转到键盘的判断连续按下,依次改变参数,从1-4,循环改变 送缓存调显示2第一次按下,显示参数1,闪存停止闪烁,调显示2跳转到键盘的判断(2)实验源程序 WEI EQU 08002H ;位DUAN EQU 08004H ;段IN EQU 08001H ;键盘读入口CS0809 EQU 09000HLEDBUF EQU 30H ;显示缓冲区CANSHU EQU 51H ;参数1234ORG 0000H LJMP START ORG 0020HSTART:MOV 25H,#00H MOV LEDBUF,#
11、01H ;班级、学号的序码 MOV LEDBUF+1,#00H MOV LEDBUF+2,#012H MOV LEDBUF+3,#02H MOV LEDBUF+4,#01H MOV LEDBUF+5,#02H MOV 36H,#00H MOV 40H,#00H ;参数1缓冲区 MOV 41H,#00H MOV 42H,#00H MOV 43H,#00H MOV 44H,#00H ;参数2缓冲区 MOV 45H,#00H MOV 46H,#00H MOV 47H,#00HMOV 48H,#00H ;参数3下缓冲区 MOV 49H,#00H MOV 4AH,#00H MOV 4BH,#00H MO
12、V 4CH,#00H ;参数4下缓冲区 MOV 4DH,#00H MOV 4EH,#00H MOV 4FH,#00H MOV 50H,#00H MOV CANSHU,#01H ;参数L2:MOV R0,#LEDBUF ;显示班级、学号 LCALL DISPLAYLED1 ;显示子程序,R0为参数 LCALL TESTKEY ;判断“有效键”是否按下? JNB 20H.0,L2 ;没有键按下,则继续显示班级、学号L3:MOV 25H,#00H MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH ;将参数首地址存入R0 MOV R0,A ;第一次有键按下默认显示参数
13、1下设定的值,即:显示从40H单元开始的内容 LCALL DISPLAYLED2 ;调用设定参数显示子程序 LCALL TESTKEY ;检测是否有键按下 JNB 20H.0,L3 ;没有键按下,则继续显示参数1下设定的值 LCALL PAZ ;有键按下,则判断运行键是否按下 CJNE R5,#05H,QD1 LJMP SD ;R5=5QD1:LJMP S44 SD:SETB 20H.1 MOV 36H,#00H MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH ;通过参数来选择设定值的缓冲区 ADD A,36H MOV R0,A MOV 90H,R0 ;将闪
14、值保存至90H单元 H1:MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH ADD A,36H MOV R0,A ;R0指向闪烁寄存字节处 JB 20H.1,S1 MOV R0,#10H SETB 20H.1 LJMP DS1 S1:MOV R0,90H ;将闪烁字节的值显示出来 CLR 20H.1 DS1:MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH MOV R0,A ;R0指向显示首区 LCALL DISPLAYLED2 LCALL TESTKEY JNB 20H.0,H1 LCALL PAZ CJNE R5,#02H
15、,S11 ;换位 MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH ADD A,36H MOV R0,A MOV R0,90H INC 36HHW1:MOV A,CANSHU MOV B,#04H MUL AB ADD A,#3CH ADD A,36H MOV R0,A MOV 90H,R0 MOV A,36H CJNE A,#04H,H1 MOV 36H,#00H LJMP HW1S11:CJNE R5,#04H,S22 ;加1 INC 70H ;闪烁值加1 MOV A,90H CJNE A,#0AH,H1 MOV 90H,#00H LJMP H1S22:C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告 硬件 源程序
链接地址:https://www.31doc.com/p-2051306.html