设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>电子电气毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
单片机模块应用设计系统
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

题目:单片机模块应用设计系统

一、目的任务

1、了解熟悉keill_v3开发工具和STC_ISP软件的使用

2、熟悉STC系列单片机的汇编语言及开发

3、熟悉嵌入式开发板的电路图及开发

二、设计原理

结合keill_v3开发工具和STC_ISP软件,使用STC10F08XE单片机,利用单片机的计时器,位操作和中断等功能,利用芯片SN74HC59,串口输入并口输出对PLTF-4561AS数码管等通信,从而实现显示数值,按键切换等功能,达到实验要求。

利用键盘反极法接受键盘对应键值,采用查询方式判断键盘按下情况,用查表和比较的方法将对应的LED灯编码查出,从而实现相应功能。

利用单片机外部中断源及及串口通信功能,通过外部中断INTO跳转到相应功能,采用单片机自发自接收模式,可以充分利用一个单片机的资源,将单片机最大限度利用起来,实现键盘键值输出,单片机接受并反映到显示器上。

本方案基于keill_v3开发环境,通过51单片机汇编语言的编辑,参考《单片机技术与工程实践》和STC10F08XE型号单片机datasheet,采用循环结构和中断方式实现数据交换,完成单片机题目功能的实现,

三、题目要求

模块要求:

1)设计一个可以显示9876的显示电路,并利用单片机实现。

2)利用按键切换,并将各个按键的值显示在数码管上

3)中断1按钮切换,设置自己电路板为自发自收类型,电路板识别所按的键盘值后,键盘值串口发送,自己串口接收后,然后在数码管上显示对应的键盘值。

4)中断2按钮切换,从电脑接收你的电话号码,并在数码管上滚屏显示。

四、设计方案

4.1 数码管显示9876

4.1.1 设计方案

由于数码管由74hc595控制,串口输入并口输出,故考虑将显示数字的电位信息保存在一个表中,经过芯片串口逐位输入信号,并由定时器控制移位脉冲,将8位信号全部保存在移位寄存器器中后,调用程序将其送入数码管,实现显示。数码管的译码部分可参考单片机课本。由于每个数码管要显示不同的数字,故考虑进行动态显示,即在短时间内每个数码管分别显示其相应的数字,并轮流循环显示,这需要建立一个表,表示每个数码管各自显示时P0口的状态,每次显示开始时赋给P0.由于每次显示时间很短,人眼中会看到四个数码同时显示相应的数字,从而完成其功能,其时间和循环控制也由同一个定时器辅助完成。

4.1.2 设计框图

4.2 设计方案

采用反极法获取键盘的读值,一开始置行线为0,列线为1,查询是否有键位电平变化,经过防抖程序后读取列值。再置行线为1,列线为0,执行重复的操作读取行值,将两次结果相与确定最终值,经过数据表翻译后送入控制数码管的p0口,显示相应数值。

4.3 设计方案

在第二问的基础上,将键盘经过表翻译的值送入sbuf,经过串口发送,串口接收,然后将SBUF的值送入P0口。

五、设计源代码   

1、设计一个可以显示9876的显示电路,并利用单片机实现:

org 0000H

ajmp main

org 000BH

ajmp lock

org 0040H

main: mov tmod,#02

mov th0,#0DFH

mov tl0,#0DFH

setb ea

setb et0

setb tr0

start: mov r4,#04H

now: mov r3,#0fH

mov a,r4

mov dptr,#table

movc a,@a+dptr

mov p0,a

mov a,r4

mov dptr,#table2

movc a,@a+dptr

there: cjne r3,#00H,there

djnz r4,now

ajmp start

table: db 00H

db 02H

db 04H

db 08H

db 01H

table2: db 00H

db 06FH

db 07FH

db 07H

db 7DH

lock: cpl p0.4

jb p0.4,next

rl a

mov c,acc.7

mov p0.7,c

next: djnz r3,send

setb p0.5

clr p0.5

send: reti

end

2、利用按键切换,并将各个按键的值显示在数码管上:

org 0000H

ajmp main

org 000bH

main: nop

keyl: mov p2,#0FH

mov a,p2

anl a,#0FH

cjne a,#0FH,kl1

ajmp keyl

kl1:lcall dly

mov a,p2

anl a,#0FH

cjne a,#0FH,kl2

ajmp keyl

kl2:mov r0,a

keyr:mov p2,#0F0H

mov a,p2

anl a,#0F0H

cjne a,#0F0H,kr1

ajmp keyr

kr1:lcall dly

mov a,p2

anl a,#0F0H

cjne a,#0F0H,kr2

ajmp keyr

kr2:orl a,r0

mov r0,a

ajmp check3

dly:mov r7,#30

dly1:mov r6,#150

dly2:djnz r6,dly2

djnz r7,dly1

ret

check3: mov a,#00H

mov r5,#00H

next3: mov a,r5

inc a

mov r5,a

mov dptr,#table3

movc a,@a+dptr

clr cy

subb a,r0

jnz next3

now: mov p0,#01h

mov r3,#0fh

mov dptr,#table2

mov a,r5

movc a,@a+dptr

dly3: mov r6,#20h

dly4: djnz r6,dly4

lock: cpl p0.4

jb p0.4,next

rl a

mov c,acc.7

mov p0.7,c

next: djnz r3,dly3

setb p0.5

clr p0.5

ajmp keyl

table2: db 00H

db 0F1H,0F9H,0DEH,0B9H,0FCH,0F7H,6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH

table3: db 00H

db 0E7H,0D7H,0B7H,77H,0EBH,0DBH,0BBH,7BH,0EDH,0DDH,0BDH,7DH,0EEH,0DEH,0BEH,7EH

end

3、中断1按钮切换,设置自己电路板为自发自收类型,电路板识别所按的键盘值后,键盘值串口发送,自己串口接收后,然后在数码管上显示对应的键盘值:

org 0000H

ajmp main

org 0023H

ljmp keyl

org 0030H

main: mov scon,#50H

setb ea

setb ex0

ajmp $

keyl: mov p2,#0FH

mov a,p2

anl a,#0FH

cjne a,#0FH,kl1

ajmp keyl

kl1:lcall dly

mov a,p2

anl a,#0FH

cjne a,#0FH,kl2

ajmp keyl

kl2:mov r0,a

keyr:mov p2,#0F0H

mov a,p2

anl a,#0F0H

cjne a,#0F0H,kr1

ajmp keyr

kr1:lcall dly

mov a,p2

anl a,#0F0H

cjne a,#0F0H,kr2

ajmp keyr

kr2:orl a,r0

mov r0,a

ajmp check3

dly:mov r7,#30

dly1:mov r6,#150

dly2:djnz r6,dly2

djnz r7,dly1

ret

check3: mov a,#00H

mov r5,#00H

next3: mov a,r5

inc a

mov r5,a

mov dptr,#table3

movc a,@a+dptr

clr cy

subb a,r0

jnz next3

now: mov p0,#01h

mov r3,#0fh

mov dptr,#table2

mov a,r5

movc a,@a+dptr

mov pcon,#80H

mov tmod,#20H

mov th1,#0e6H

mov tl1,#0e6H

setb tr1

mov sbuf,a

jnb ti,$

clr ti

mov pcon,#80H

mov tmod,#20H

mov th1,#0e6H

mov tl1,#0e6H

setb tr1

jnb ri,$

clr ri

mov a,sbuf

dly3: mov r6,#20h

dly4: djnz r6,dly4

lock: cpl p0.4

jb p0.4,next

rl a

mov c,acc.7

mov p0.7,c

next: djnz r3,dly3

setb p0.5

clr p0.5

ajmp loop

table2: db 00H

db 0F1H,0F9H,0DEH,0B9H,0FCH,0F7H,6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH

table3: db 00H

db 0E7H,0D7H,0B7H,77H,0EBH,0DBH,0BBH,7BH,0EDH,0DDH,0BDH,7DH,0EEH,0DEH,0BEH,7EH

loop:reti

end

六、实验结果与评估    

要求一:通过STC_ISP选定相关单片机型号,下载到单片机后,单片机成功显示9876,相关功能达成。

要求二:源程序下载到单片机后,按下不同的键位,LED显示屏上切换出不同的对应的数字,说明源码正确。

要求三:源程序下载到单片机后,把单片机改为自发自接收模式(用短接线将TXD接口和RXD接口连接起来),按下中断1键(INT0)后,按下单片机键盘按键,单片机成功发送并接收到数据并且将数据显示到LED显示屏上,说明源码正确。

七、实验反思与心得

此次微机系统与接口课程设计较为仓促,是在考试之后进行的,而且刚开始对于STC_ISP和μKeill的使用完全不了解,因此开始时进行的较为困难,而且对于STC10F08XE型单片机的结构不是特别了解,感觉难以下手。但是在参照AG嵌入式开发板和STC10F08X的图纸后,对于其结构有了一定的了解,再参考《单片机技术与工程实践》,使得对于此次课程设计有了一定的了解,第一天进展并没有太多,但是万事开头难,第二天我们便研发出来第一第二和第三个功能,给了我们很大的鼓舞和信心,由于我们还需要同时做c语言的课设,而且截止日期和微机课设的时间一样,所以整体做的比较赶,尽管答辩当天上午准备了一上午,并没有完全做出第四问的功能,只是实现了一部分。这几天总的来说还是比较忙和累的,但是每当看出代码转换成了相应的成果,内心就忘记了疲惫和焦虑。总的来说这次的课程设计让我学到了很多新的东西,也帮助我复习了之前相关的所学习的内容,所以收获还是很大的。通过这次课程设计,我学到了很多我感兴趣的知识,也学习到了很多工程实践中的技能和技巧。加深了我对单片机以及汇编语言的兴趣,我决定以后利用时间来多多学习相关的知识。感谢老师教授了我相关的知识,让我能够学习了很多的单片机知识,对于我完成本次单片机课设有了很大的帮助。这次的课程设计我认为很有意义,培养了我的思考能力,动手能力以及排除故障能力,对于我今后的职业生活也有很大的帮助

经过本次课程设计,我们重新拾起了本来不太牢固的单片编程及结构知识,经过反复琢磨,实践,最终实现所要求的大部分功能,圆满地完成了课设。本次课程设计将书本上的理论转化为了实践,让我真正感受到了唯有实践出真知。在本次课设前,我们对于单片机代码如何运用,如何将代码系统编程以达到所需功能感到无从下手,无所适从。而经过了这次课设的实战磨练,我们已经能在一定程度上运用单片机的各种基本功能,虽然这个过程充满着磨炼与坎坷,但是我们仍然坚持克服了下来。由于期末前没有什么时间,我们本次课设是在考试之后的一天半内完成的。虽然借着考试后的余温,但是过程仍比我们想象中的困难,但这也磨炼了我们的意志。

八、参考文献

《单片机技术与工程实践》林土胜著

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于嵌入式系统的婴儿房湿度自动调 220kv线路继电保护设计 毕业 基于超声波的步进电机柔性控制系统
广州市某高校教学楼供配电系统设计 运料小车控制系统的设计 毕业论文 某化工厂35kv总降变电所设计
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!