单片机最小系统设计.PPT.ppt_第1页
单片机最小系统设计.PPT.ppt_第2页
单片机最小系统设计.PPT.ppt_第3页
单片机最小系统设计.PPT.ppt_第4页
单片机最小系统设计.PPT.ppt_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

单片机最小系统设计 熟悉单片机基本工作条件 熟悉单片机外围电路的设计及软件编程方法 第一节51单片机基本工作条件 一 电源电路 5V 第一节51单片机基本工作条件 二 时钟电路时钟电路为整个单片机系统产生时间基准 是单片机系统必须的部分 第一节51单片机基本工作条件 三 复位电路 复位电路是单片机系统必须的 用来为单片机提供正确的复位信号 四 ISP下载电路 第二节单片机系统设计 一 LED显示电路1 设计任务 在P0 0端口上接一个发光二极管L1 使L1在不停地一亮一灭 一亮一灭的时间间隔为0 2秒 第二节单片机系统设计 2 源程序 1 设计流程图 第二节单片机系统设计 2 汇编源程序ORG00HSTART CLRP0 0LCALLDELAYSETBP0 0LCALLDELAYLJMPSTARTDELAY MOVR5 20 延时子程序 延时0 2秒D1 MOVR6 20D2 MOVR7 248DJNZR7 DJNZR6 D2DJNZR5 D1RETEND 第二节单片机系统设计 3 C语言 includesbitL1 P0 0 voiddelay02s void 延时0 2秒子程序 unsignedchari j k for i 20 i 0 i for j 20 j 0 j for k 248 k 0 k voidmain void while 1 L1 0 delay02s L1 1 delay02s 第二节单片机系统设计 二 流水灯1 设计任务 设计P0口让8个LED间隔1S从右至左依次闪烁 2 源程序 1 汇编语言ORG00HSTART MOVR2 8MOVA 0FEHSETBCLOOP MOVP1 ALCALLDELAYRLCA 第二节单片机系统设计 DJNZR2 LOOPMOVR2 8LOOP1 MOVP1 ALCALLDELAYRRCADJNZR2 LOOP1LJMPSTARTDELAY MOVR5 20 D1 MOVR6 20D2 MOVR7 248DJNZR7 DJNZR6 D2DJNZR5 D1RETEND 第二节单片机系统设计 2 C语言 include reg51 h include intrins h defineucharunsignedchar defineuintunsignedintvoidmDelay unsignedintDelay unsignedinti for Delay 0 Delay for i 0 i 124 i voidmain unsignedcharOutData 0 xfe for P0 OutData OutData crol OutData 1 循环左移mDelay 1000 延时1000毫秒 第二节单片机系统设计 三 模拟开关灯1 设计任务 监视开关K1 接在P3 7端口上 用发光二极管L1 接在单片机P0 0端口上 显示开关状态 如果开关合上 L1亮 开关打开 L1熄灭 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 汇编源程序 ORG00HSTART JBP3 7 LIGCLRP0 0SJMPSTARTLIG SETBP0 0SJMPSTARTEND 第二节单片机系统设计 4 C语言源程序 includesbitK1 P3 7 sbitL1 P0 0 voidmain void while 1 if K1 0 L1 0 elseL1 1 第二节单片机系统设计 四 多路开关状态指示1 设计任务 AT89S51单片机的P0 0 P0 3接四个发光二极管L1 L4 P3 4 P3 7接了四个开关S5 S20 编程将开关的状态反映到发光二极管 开关闭合 对应的灯亮 开关断开 对应的灯灭 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 汇编源程序ORG00HSTART JBP3 4 NEXT1CLRP0 0SJMPNEX1NEXT1 SETBP0 0NEX1 JBP3 5 NEXT2CLRP0 1SJMPNEX2NEXT2 SETBP0 1NEX2 JBP3 6 NEXT3CLRP0 2SJMPNEX3NEXT3 SETBP0 2NEX3 JBP3 7 NEXT4CLRP0 3SJMPNEX4NEXT4 SETBP0 3NEX4 SJMPSTARTEND 第二节单片机系统设计 4 C语言 includevoidmain void while 1 if P3 4 0 P0 0 0 else P0 0 1 if P3 5 0 P0 1 0 else P0 1 1 if P3 6 0 P0 2 0 else P0 2 1 if P3 7 0 P0 3 0 else P0 3 1 第二节单片机系统设计 五 广告灯的设计1 设计任务 利用取表的方法 使端口P0做单一灯的变化 左移2次 右移2次 闪烁2次 延时的时间0 2秒 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 汇编源程序ORG0START MOVDPTR TABLELOOP CLRAMOVCA A DPTRCJNEA 01H LOOP1LJMPSTARTLOOP1 MOVP0 AMOVR3 20LCALLDELAYINCDPTRLJMPLOOPDELAY MOVR4 20D1 MOVR5 248DJNZR5 DJNZR4 D1DJNZR3 DELAY 第二节单片机系统设计 RETTABLE DB0FEH 0FDH 0FBH 0F7HDB0EFH 0DFH 0BFH 07FHDB0FEH 0FDH 0FBH 0F7HDB0EFH 0DFH 0BFH 07FHDB07FH 0BFH 0DFH 0EFHDB0F7H 0FBH 0FDH 0FEHDB07FH 0BFH 0DFH 0EFHDB0F7H 0FBH 0FDH 0FEHDB00H 0FFH 00H 0FFHDB01HEND 第二节单片机系统设计 4 C语言 includeunsignedcharcodetable 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f 0 x7f 0 xbf 0 xdf 0 xef 0 xf7 0 xfb 0 xfd 0 xfe 0 x7f 0 xbf 0 xdf 0 xef 0 xf7 0 xfb 0 xfd 0 xfe 0 x00 0 xff 0 x00 0 xff 0 x01 unsignedchari voiddelay void 第二节单片机系统设计 unsignedcharm n s for m 20 m 0 m for n 20 n 0 n for s 248 s 0 s voidmain void while 1 if table i 0 x01 P1 table i i delay else i 0 第二节单片机系统设计 六 按键识别方法1 设计任务 每按下一次开关S20 计数值加1 通过AT89S51单片机的P0端口的P0 0到P0 7显示出其的二进制计数值 2 电路原理 第二节单片机系统设计 第二节单片机系统设计 3 源程序 1 汇编语言ORG0START MOVR1 00H 初始化R1为0 表示从0开始计数MOVA R1 CPLA 取反指令MOVP0 A 送出P1端口由发光二极管显示REL JBP3 7 REL 判断SP1是否按下LCALLDELAY10MS 若按下 则延时10ms左右JBP3 7 REL 再判断SP1是否真得按下INCR1 若真得按下 则进行按键处理 使MOVA R1 计数内容加1 并送出P1端口由CPLA 发光二极管显示MOVP0 A JNBP3 7 等待SP1释放SJMPREL 继续对K1按键扫描DELAY10MS MOVR6 20 延时10ms子程序L1 MOVR7 248DJNZR7 DJNZR6 L1RETEND 第二节单片机系统设计 2 C语言 includeunsignedcharcount voiddelay10ms void unsignedchari j for i 250 i 0 i for j 248 j 0 j voidmain void while 1 if P3 7 0 delay10ms if P3 7 0 第二节单片机系统设计 count if count 256 count 0 P0 count while P3 7 0 第二节单片机系统设计 七 流水灯定时器1 设计任务 隔1S 通过AT89S51单片机的P0 0端口的LED闪亮 2 电路原理 第二节单片机系统设计 第二节单片机系统设计 C程序设计 include defineucharunsignedchar defineuintunsignedintsbitd1 P0 0 uchartt voidmain uchartemp 0 xfe tt 0 TMOD 0 x10 TH1 65536 50000 256 TL1 65536 50000 256 EA 1 ET1 1 TR1 1 第二节单片机系统设计 while 1 if tt 20 tt 0 d1 d1 voidex interrupt3 TH1 65536 50000 256 TL1 65536 50000 256 tt 第二节单片机系统设计 八 LED显示1 设计任务 利用AT89S51单片机的P0端口的P0 0 P0 7连接到一个共阴数码管的a h的笔段上 数码管的公共端接地 在数码管上循环显示0 9数字 时间间隔0 2秒 2 系统工作原理数码管由8个发光二极管构成 可以用来显示数字 字符等 它在家电及工业控制中有着很广泛的应用 例如用来显示温度 数量 重量 日期 时间等 具有显示醒目 直观的有点 如图2 3所示 图2 3数码管实物图 项目实践 数码管实际上是由7个发光管组成 8 字形构成的 加上小数点就是8个 这些段分别由字母a b c d e f g dp来表示 当数码管特定的段加上电压后 这些特定的段就会发亮 以形成我们眼睛看到的字样 例如 显示一个 3 字 那么应当是a亮 b亮 c亮 d亮 e不亮 f不亮 g亮 dp不亮 数码管的内部结构如图2 4所示 其中COM引脚为公共端 用来控制数码管显示的打开或关闭 即起到 使能 作用 根据公共端接法的不同 数码管又分为共阴极和共阳极两种结构 分别如图2 4 b 和图2 4 c 所示 共阳极就是将8个LED的阳极连接到一起组成公共端COM 接正极 当相应字段为低电平 0 时 可以点亮该字段 当相应字段为高电平 1 时 该字段不亮 共阴极就是将8个LED的阴极连接到一起组成公共端COM 接负极 当相应字段为高电平 1 时 可以点亮该字段 当相应字段为低电平 0 时 该字段不亮 项目实践 图2 4数码管内部结构图 项目实践 表2 1数码管显示数字的段码表 项目实践 第二节单片机系统设计 3 电路原理 第二节单片机系统设计 include defineucharunsignedchar includesbitwe P2 0 sbitdu P2 1 unsignedcharcodetable 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f unsignedchardispcount voiddelay02s void unsignedchari j k for i 10 i 0 i for j 200 j 0 j for k 248 k 0 k voidmain void while 1 for dispcount 0 dispcount 10 dispcount we 1 P0 0 x00 we 0 du 1 P0 table dispcount du 0 delay02s 第二节单片机系统设计 九 0 9计数器1 设计任务 利用AT89S51单片机来制作一个手动计数器 在AT89S51单片机的P3 7管脚接一个轻触开关 作为手动计数的按钮 用单片机的P0 0 P0 7接一个共阴数码管 作为0 9计数的数显示 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 源程序 1 汇编语言ORG0START MOVR1 00H 初始化R1为0 REL JBP3 7 REL 判断SP1是否按下LCALLDELAY 若按下 则延时10ms左右JBP3 7 REL 再判断SP1是否真得按下MOVA R1MOVDPTR TABLEsetbP2 0MOVp0 00hclrp2 0MOVCA A DPTRMOVP0 AINCR1 第二节单片机系统设计 JNBP3 7 等待SP1释放CJNER1 10 RELSJMPSTART 继续对K1按键扫描DELAY MOVR6 20 延时10ms子程序L1 MOVR7 248DJNZR7 DJNZR6 L1RETTABLE DB3FH 06H 5BH 4FH 66H 6DHDB7DH 07H 7FH 6FHEND 第二节单片机系统设计 LCALLDELY10MSJBSP1 WAITINCCountMOVA CountCJNEA 100 NEXTLJMPSTARTDELY10MS MOVR6 20D1 MOVR7 248DJNZR7 DJNZR6 D1RETTABLE DB3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FHEND 第二节单片机系统设计 2 C语言 includeunsignedcharcount unsignedcharcodetable 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f sbitd1 P2 0 voiddelay10ms void unsignedchari j for i 250 i 0 i for j 248 j 0 j voidmain void while 1 if P3 7 0 delay10ms if P3 7 0 第二节单片机系统设计 count if count 10 count 0 d1 1 P0 0 d1 0 P0 table count while P3 7 0 第二节单片机系统设计 十 LED动态显示1 设计任务 利用AT89S51单片机来显示12345678 用单片机的P0 0 P0 7接一个共阴数码管 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 程序 includesbitd1 P2 0 sbitd2 P2 1 unsignedcharcodetabledu 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 unsignedcharcodetablewe 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f unsignedchardispcount voiddelay02s void unsignedchari j k for i 10 i 0 i for j 10 j 0 j for k 10 k 0 k 第二节单片机系统设计 voidmain void while 1 for dispcount 0 dispcount 8 dispcount d1 1 P0 tablewe dispcount d1 0 d2 1 P0 tabledu dispcount d2 0 delay02s 第二节单片机系统设计 十 4 4矩阵式键盘识别1 设计任务 用AT89S51的并行口P1接4 4矩阵键盘 以P1 0 P1 3作输入线 以P1 4 P1 7作输出线 在数码管上显示每个按键的 0 F 序号 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 程序 第二节单片机系统设计 十一 定时计数器T0作定时应用技术1 设计任务 用AT89S51的定时 计数器T0产生2秒钟的定时 每当2秒定时到来时 更换指示灯闪烁 每个指示闪烁的频率为0 2秒 也就是说 开始L1指示灯以0 2秒的速率闪烁 当2秒定时到来之后 L2开始以0 2秒的速率闪烁 如此循环下去 0 2秒的闪烁速率也由定时 计数器T0来完成 第二节单片机系统设计 2 程序 includeunsignedchartcount2s unsignedchartcount02s unsignedcharID voidmain void TMOD 0 x01 TH0 65536 50000 256 TL0 65536 50000 256 TR0 1 ET0 1 EA 1 while 1 voidt0 void interrupt1using0 tcount2s if tcount2s 40 tcount2s 0 ID if ID 4 ID 0 第二节单片机系统设计 tcount02s if tcount02s 4 tcount02s 0 switch ID case0 P0 0 P0 0 break case1 P0 1 P0 1 break case2 P0 2 P0 2 break case3 P0 3 P0 3 break 第二节单片机系统设计 十二 A D转换器基本应用1 设计任务从ADC0804的通道4输入0 5V之间的模拟量 通过ADC0804转换成数字量在数码管上以十进制形成显示出来 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 第二节单片机系统设计 3 源程序 1 汇编语言 第二节单片机系统设计 2 C语言 第二节单片机系统设计 十一 1 设计任务 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 源程序 1 汇编语言 第二节单片机系统设计 2 C语言 第二节单片机系统设计 十一 1 设计任务 第二节单片机系统设计 2 电路原理 第二节单片机系统设计 3 源程序 1 汇编语言 第二节单片机系统设计 2 C语言 第二节单片机系统设计 十一 00 99计数器1 设计任务 利用AT89S51单片机来制作一个手动计数器 在AT89S51单片机的P3 7

温馨提示

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

评论

0/150

提交评论