单片机最小系统设计课程设计_第1页
单片机最小系统设计课程设计_第2页
单片机最小系统设计课程设计_第3页
单片机最小系统设计课程设计_第4页
单片机最小系统设计课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机最小系统设计该单片机最小系统具有的功能:(1)具有2位led数码管显示功能。(2)具有八路发光二极管显示各种流水灯。(3)可以完成各种奏乐,报警等发声音类实验。(4)具有复位功能。功能分析(1)两位led数码管显示功能,我们可以利用单片机的p0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用p1口接八个发光二极管实现这个功能;(3)各种奏乐、报警等发声功能可以采用p2.0这个引脚接一蜂鸣器来实现。(4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 设计框图硬件电路设计根据本系统的功能,

2、和单片机的工作条件,我们设计出下面的电路图。元件清单的确定:数码管:共阴极2只(分立)电解电容:10uf的一只30pf的电容2只220欧的电阻9只4.7k的电阻一只1.2k的电阻一只4.7k的排阻一只,12mhz的晶振一只有源5v蜂名器一只at89s51单片机一片常开按钮开关1只紧锁座一只(方便芯取下来的,绿色的)发光二极管(5mm红色)8只万能板电路版15*17cms8550三极管一只45v电池盒一只,导线若干。 七、硬件电路的焊接按照原理图把上面的元件焊接好,详细步骤省略。 相关程序编写针对上面的电路原理图,设计出本单片机最小系统的详细功能:(1)、第一个发光二极管点亮,同时数码管显示“1

3、”。(2)、第二个发光二极管点亮,同时数码管显示“2”。(3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。以上出现的是流水灯的效果(4)、所有的发光二极管灭了,同时数码管现实“0”。(5)、数码管显示“1”。(6)、数码管显示“2、”直到“9、a、b、c、d、e、f、y”。(7)、蜂鸣器发出九声报警声后重复上面所有步骤。(8)程序如下:org 0000h;伪指令,定义下面的程序代码(机器代码)从地址为0000h的单元存放。ljmp start;跳转到标号为start的地方去执行。org 0030h;伪指令,定义下面的程序代码(机器代码)从地址为0030h的单元存放。start:mo

4、v p1,#0feh ;点亮第一个发光二极管。clr p2.7 ;送低电平到第一个数码管,开启数码管。clr p2.6 ;送低电平到第二个数码管,开启数码管。mov p0,#06h;让数码管显示“1” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0fdh;点亮第二个发光二极管。mov p0,#5bh;让数码管显示“2” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0fbh;点亮第三个发光二极管。mov p0,#4fh;让数码管显示“3” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0f7h;点亮第四个发光

5、二极管。mov p0,#66h;让数码管显示“4” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0efh;点亮第五个发光二极管。mov p0,#6dh;让数码管显示“5” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0dfh;点亮第六个发光二极管。mov p0,#7dh;让数码管显示“6” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0bfh;点亮第七个发光二极管。mov p0,#07h;让数码管显示“7” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#7fh;点亮第八个发光二

6、极管。mov p0,#7fh;让数码管显示“8” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#00h;灭了所有的发光二极管。mov p0,#3fh;让数码管显示“0” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#06h;让数码管显示“1” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#5bh;让数码管显示“2” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#4fh;让数码管显示“3” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#66h;让数码管显示“

7、4” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#6dh;让数码管显示“5” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7dh;让数码管显示“6” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#07h;让数码管显示“7” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“8” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#6fh;让数码管显示“9” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让

8、数码管显示“a” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“b” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“c” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“d” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“e” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“f” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,

9、#7fh;让数码管显示“y” 。lcall delay;调用延时子程序,起到延时的目的。mov r4,#9;送蜂鸣器的报警次数。loop:setb p2.0;不发声lcall delay;调用延时子程序,起到延时的目的。clr p2.0;发声。lcall delay;调用延时子程序,起到延时的目的。djnz r4,loop;发声九次后向下执行。setb p2.0;关闭发声ljmp start;跳转到标号为start处执行,循环本程序。delay:mov r7,#200;这是延时子程序。d1:mov r6,#200d2:mov r5,#200d3:djnz r5,d3djnz r6,d2djnz

10、 r7,d1ret;延时子程序返回指令。end;结束伪指令。九、利用keil c51 软件对上面的程序进行调试和编译,产生*.hex文件,以便用编程器写入单片机芯片中。十、编程器的使用:用编程器把电脑里生成的*.hex文件写到芯片中。十一、产品调试:通上4.5v(三节电池)的电源,可以调试本系统,如果没有错误就可以正常工作了。下面还有有一个网上copy的一个设计单片机课程设计题目:单片机最小系统一、设计题目:单片机最小系统四、任务与要求: 在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合

11、简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控。监控的重要组成部分。 本课题任务与要求如下:1、 单片机可采用8031、8051、at89c51、at89c52、fosc=6mhz。2、 时钟电路,复位电路的设计。3、 系统ram、rom的容量均为8kb。4、 显示位数:8位。5、 键盘按键数:16个。6、 上电初始化显示p.7、 能输入、显示十六进制数0f8、 编写系统初始化主程序、键扫子程序、显示子程序及其他所需要子程序。9、 计算机输出设计说明书一分(包括各部分电路工作原理说明、程序清单及程序流程框图),16开方框图一张,电路原理总图一张。10、 设计时间:一周

12、五、单片机最小系统总体方案设计提示 1、 可利用8031,ram,rom,8279构造单片机最小系统。2、 可利用8031,ram,rom,8155构造单片机最小系统。也可以利用at89c51(或at89c52),ram,8155构造单片机最小系统。请看我的程序然后修改 ,有问题可以在我们的论坛交流,qq群7344883设inter 8051片内ram78h-7fh单元为显示缓冲区,依次从低到高存显示数据 org 0000h ajmp main org 0080h main : mov sp, #60h mov r0, #08h mov r1, #78h lcall ml ;调清零子程序 mo

13、v r0, #64 ;清工作单元 mov r1, #20h lcall ml mov a, #03h ; 8155的初始化 mov dptr, #7f00h movx dptr,a st: mov 78h, #0ffh ;显示p. mov 79h, #0ffh mov 7ah, #0ffh mov 7bh, #0ffh mov 7ch, #0ffh mov 7dh, #0ffh mov 7eh, #0ffhmov 7fh, #0ch lm: lcall dis ;调显示显示p. lcall shift ;调移位程序 lcall ltim ;调延时子程序 lcall kd1 ;调键扫程序 inc

14、 r0 ajmp lmdis: mov a, #03h ;显示程序 mov dptr, #7f00h mov dptr,a mov r0, #78h mov r3, #01h mov a, r3 ld0: mov dptr, #7f01h movx dptr,a inc dptr mov a, r0 dir0: add a, #0dh movc a, a+pc dir1: movx dptr,a lcall dl inc r0 mov a, r3 jb acc.5,ld1 rl a mov r3, a ljmp ld0 ld1: ret dseg: db 3fh,06h,5bh,4fh,66h

15、 db 6dh,7dh,07h,7fh,6fh db 77h,7ch,39h,5eh,79h db 71hdl1: mov r7, #01h ;延时1msdl : mov r6, #0ffhdl6: djnz r6, dl6 djnz r7, dlretkd1: lcall dis ;键盘扫描程序 key1: lcall key jnz lk1 ni: acall dis ajmp key1 lk1: acall dis ;有键闭合2次延时 acall dis ;共12ms去抖动 acall k1 jnz lk2 lcall dis ajmp key1 lk2: mov r2, #0feh m

16、ov r4, #00h lk4: mov dptr, #7f01h mov a, r2 movx dptr, a inc dptr inc dptr movx a, dptr jb acc.0, lone mov a, #00h ajmp lkp lone: jb acc.1, next mov a, #08h ajmp lkp lkp: add a, r4 ;计算键码 push acc ;保护键码 lk3: acall dis acall k1 ;查键是否继续闭合,若闭合再延时 jnz lk3 pop acc ret next: inc r4 mov a, r2 jnb acc.7, klm rl a mov r2, a ljmp lk4 ;进行下一次扫描 klm: ajmp key1 ;扫描完毕,开始新的一次ltim: mov r5, 01h ;延时子程序 lp3: mov r6, #0ffh lp2: mov r7, #0ffh lp1: mov r7, lp1 djnz r6, lp2 djnz r6, lp3ml: mov a, #60h ;清零子程序 mov r1, a inc r1 djnz r0, ml mm: mov a, #00h ;清显示 mov r0, #08h mov r1, #78h lcall ml shift

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论