




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一 设计目地。2二 设计要求。2三 设计任务及项目说明。2四 硬件设计原理4.1最小系统原理图及PCB。34.2扩展系统原理图及PCB。44.3硬件工作原理。6五 购置元器件5.1最小系统元器件。75.2扩展元件。8六 程序设计6.1程序设计原理。86.2程序内容。8七 作品功能。29八 心得体会。29九 参考文献。30 一设计目的使大家对学习的微机原理与接口技术进一步的掌握和巩固,掌握电路板的焊接技术,会利用软件实现简单的程序设计和调试。二设计要求 根据最小系统的原理图及PCB,购齐相关电子元件,完成实验开发板的焊接,并为扩展留下接口。然后利用最小系统的接口,完成扩展训练,扩展项目如下,可自行选择(也可超出以下题目自拟,需包含输入和输出)。a)键盘与数码箮显示,至少包含4个键盘及两位数码管显示,能实现099以内数字的递增和递减显示;b)LCD显示器件显示,能在屏幕上显示字符及数字;c)18B20数字温度测量,并用数码管显示;d)流水灯(至少3个样式);e)交通灯(需有时间显示);f)音乐播放器,可显示歌曲的播放g)小型两相步进电机的驱动;h)小型直流电机调速;i)串行通讯+LCD数字显示;j)电压测量显示(电压可由电位器提供);k)超声测距显示;三设计任务及项目说明 这里选择流水灯项目。流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。四硬件设计原理4.1最小系统原理图及PCB 最小系统原理图 8051最小系统PCB4.2扩展系统原理图及PCB 扩展系统原理图扩展系统PCB4.3硬件工作原理整个系统工作由软件程序控制运行,以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和32个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。五购置元器件 5.1最小系统元器件名称数量标号实验板(洞洞板)需要有db9和USB座口1-STC单片机任选一个STC11F16xSTC11F20x1U3DIP40底座1U3SSOP28转DIP28板1U2PL23031U2DIP28底座(宽)1U2USB底座两种类型选其中一种即可1USB140芯插针2P1-P6晶振12MHz2X1 X2电阻27R 2个1.5k 1个1K 1个10k 2个4.7K 1个R6 R7R5R1R4 R8R25.1k 9脚排阻1R3瓷片电容30pf 2个22pf 2个C12 C13C6 C7电容25V0.1uf 7个25v10uf 2个C1-c5 C9-C10C8 C11二极管1N40011D1复位按键1S2自锁开关1S1Max232/sp2321U1DIP16底座1U1DB9 母头1J1LED绿1Led1杜邦线(根据实际需要根数购买)若干-跳线帽2P1 P2USB线1- 5.2扩展元件 LED 红 32 1k电阻 32 六程序设计 6.1程序设计原理用查表的方法控制点亮流水灯,即移位的思想:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;/左边单个点亮0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;/右边逐个点亮0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;/左边逐个熄灭0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;/右边单个点亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;/左边逐个点亮0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;/右边逐个熄灭0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;/左边逐两个点亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;/右边逐两个点亮0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;/左边逐三个亮0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;/右边逐三个亮 6.2程序内容 #include #define uchar unsigned charuchar flag=200;/uchar code Tab1=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF;/暗中左移 向下uchar code Tab2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF;/暗中右移 向上uchar code Tab3=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00;/亮中左移向下uchar code Tab4=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00;/亮中右移 向上uchar code Tab11=0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff;/暗中左移 向下uchar code Tab22=0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff;/uchar code Tab33=0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF;uchar code Tab44=0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF;uchar code Tab55=0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff;uchar code Tab5=0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff;uchar code Tab6=0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff;uchar code Tab7=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar code Tab8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/void shansuo();void xl();/void delay(void) unsigned char m,n;for(m=0;mflag;m+) for(n=0;n250;n+) ; / void hy1(void) /点亮状态逆时针旋转90度(一个一个灭) unsigned char i; for(i=0;i8;i+) P0=Tab11i;P3=Tab22i; P2=Tab11i;P1=Tab22i; delay(); for(i=0;i0;flag=flag-50) P0=0xff;P3=0xff;P2=0xff;P1=0xff;for(i=0;i8;i+) P0=Tab11i;delay(); for(i=0;i8;i+) P2=Tab11i;delay(); for(i=0;i8;i+) P1=Tab22i;delay(); for(i=0;i8;i+) P3=Tab22i;delay();flag=250;/ void hy3(void) /点亮中逆时针转360(一个一个灭) unsigned char i;flag=50;P0=0x00;P3=0x00;P2=0x00;P1=0x00; for(i=0;i8;i+) P0=Tab44i;delay(); for(i=0;i8;i+) P2=Tab44i;delay(); for(i=0;i8;i+) P1=Tab33i;delay(); for(i=0;i8;i+) P3=Tab33i;delay(); flag=150;/ void hy4(void) /点亮状态顺时针旋转90度(一个一个灭) unsigned char i; for(i=0;i8;i+) P3=Tab11i;P0=Tab22i; P1=Tab11i;P2=Tab22i; delay(); for(i=0;i9;i+) P3=Tab6i;P0=Tab5i; P1=Tab6i;P2=Tab5i; delay();/ void hy2_1(void) /暗中逆时针转90度。(一个一个点亮) unsigned char i;flag=200;P0=0xff;P3=0xff;P2=0xff;P1=0xff; for(i=0;i9;i+) P0=Tab11i;delay();flag=110; for(i=0;i9;i+) P2=Tab11i;delay();flag=80; for(i=0;i9;i+) P1=Tab22i;delay();flag=80; for(i=0;i9;i+) P3=Tab22i;delay();/ void hy2_2(void) /暗中逆时针转180度。(一个一个点亮) unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff; for(i=0;i8;i+) P0=Tab11i;delay(); for(i=0;i8;i+) P2=Tab11i;delay();P0=0xff;P2=0xff; for(i=0;i8;i+) P1=Tab22i;delay(); for(i=0;i8;i+) P3=Tab22i;delay();P3=0xff;P1=0xff;/ void hy2_3(void) /暗中向下180。(一个一个点亮) unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff; for(i=0;i8;i+) P0=Tab11i; P3=Tab11i;delay(); for(i=0;i8;i+) P2=Tab11i;P1=Tab11i;delay();/ flag=100; for(i=0;i8;i+) P2=Tab33i; P1=Tab33i;delay(); for(i=0;i8;i+) P0=Tab33i;P3=Tab33i;delay(); flag=200;/ void hy2_4(void) /暗中逆时针转360。(一个一个点亮) unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff; for(i=0;i8;i+) P0=Tab11i;P1=Tab22i;delay(); for(i=0;i8;i+) P2=Tab11i;P3=Tab22i;delay();/ flag=100;for(i=0;i8;i+) P0=Tab44i;P1=Tab5i;delay(); for(i=0;i8;i+) P2=Tab44i;P3=Tab5i;delay(); flag=200;/ void hy5(void) /先向下伸展,然后向上伸展逐渐点亮 unsigned char i; for(i=0;i8;i+) P0=Tab8i;P3=Tab8i;delay();P0=0xff;P3=0xff; for(i=0;i8;i+) P2=Tab8i;P1=Tab8i;delay();P2=0xff;P1=0xff; for(i=0;i8;i+) P2=Tab7i;P1=Tab7i;delay();P2=0xff;P1=0xff; for(i=0;i8;i+) P0=Tab7i;P3=Tab7i;delay();P0=0xff;P3=0xff;/void jr(void)/聚拢 unsigned char i; for(i=0;i9;i+) /8位控制码 P0=Tab1i;P3=Tab1i; P2=Tab2i;P1=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P3=Tab2i; P2=Tab1i;P1=Tab1i;delay(); / for(i=0;i9;i+) P0=Tab1i;P3=Tab1i; P2=Tab2i;P1=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P3=Tab2i; P2=Tab1i;P1=Tab1i; delay();xl(); /星星眨眼xl(); /星星眨眼/ for(i=0;i9;i+) P0=Tab3i; P3=Tab3i; P2=Tab4i; P1=Tab4i;delay(); for(i=0;i9;i+) P0=Tab4i;P3=Tab4i; P2=Tab3i;P1=Tab4i;delay();/ for(i=0;i9;i+) P0=Tab1i;P3=Tab1i; P2=Tab2i; P1=Tab2i; delay(); for(i=0;i9;i+) P0=Tab4i;P3=Tab4i; P2=Tab3i;P1=Tab3i;delay(); / for(i=0;i9;i+) P0=Tab3i; P3=Tab3i; P2=Tab4i;P1=Tab4i; delay(); for(i=0;i9;i+) P0=Tab2i;P3=Tab2i; P2=Tab1i;P1=Tab1i; delay();/void azzy(void) /暗中向下 unsigned char i;flag=200; for(i=0;i8;i+) P2=0xff;P1=0xff; P3=Tab1i;P0=Tab1i;delay(); for(i=0;i9;i+) P3=0xff;P0=0xff; P2=Tab1i;P1=Tab1i; delay(); /void azyy(void) /暗中you移 unsigned char i; for(i=0;i8;i+) P0=0xff;P3=0xff; P2=Tab2i;P1=Tab2i; delay(); for(i=0;i9;i+) P0=Tab2i;P3=Tab2i; delay(); / void led_flow1(void) unsigned char i; for(i=0;i9;i+) P2=0;P1=0; P3=Tab3i;P0=Tab3i;delay(); for(i=0;i9;i+) P2=Tab3i;P1=Tab3i; delay(); / void lzyy(void) /亮中右移 unsigned char i; for(i=0;i9;i+) P0=0x00;P3=0x00; P2=Tab4i;P1=Tab4i;delay(); for(i=0;i9;i+) P0=Tab4i;P3=Tab4i; delay(); /void shansuo(void)/全部灯闪烁uchar i;for(i=0;i3;i+)P0=0xff; P3=0xff; P2=0xff; P1=0xff;delay(); delay();P0=0x00; P3=0x00; P2=0x00; P1=0x00;delay(); delay();void xl(void)/相邻俩个变换uchar i;for(i=0;i3;i+)P0=0xAA;P3=0xAA;P2=0xAA;P1=0xAA;delay();delay();P0=0x55;P3=0x55;P2=0x55;P1=0x55;delay();delay();/void sxb(void)/上下半 unsigned char i;P0=0xff;P3=0xff;P2=0x00;P1=0x00;delay();delay();delay();delay(); for(i=0;i8;i+) P0=Tab11i; P3=Tab11i;delay(); for(i=0;i8;i+) P0=Tab11i; P3=Tab11i;delay(); for(i=0;i8;i+) P0=Tab11i; P3=Tab11i;delay();for(i=0;i3;i+) P0=0x00;P3=0x00;delay();delay();P0=0xff;P3=0xff;delay();delay();/void jc(void)/uchar i; for(i=0;i0;flag=flag-10) for(i=0;i8;i+) P2=0xff;P1=0xff; P3=Tab1i;P0=Tab1i;delay(); for(i=0;i9;i+) P3=0xff;P0=0xff; P2=Tab1i;P1=Tab1i; delay(); flag=10; for(i1=0;i130;i1+) for(i=0;i8;i+) P2=0xff;P1=0xff; P3=Tab1i;P0=Tab1i;delay(); for(i=0;i9;i+) P3=0xff;P0=0xff; P2=Tab1i;P1=Tab1i; delay(); flag=200; /void js(void)/结束uchar i;hy2_3();for(i=0;i3;i+) P0=0xff;P2=0xff;delay();delay();P0=0x00;P2=0x00;delay();delay();/for(i=0;i3;i+) P3=0xff;P1=0xff;delay();delay();P3=0x00;P1=0x00;delay();delay();/for(i=0;i1; while (1)azzy_1();/hy2(); /暗中逆时针转360(一个一个点亮)hy3(); /点亮中逆时针转360(一个一个灭)hy2_1();/暗中逆时针转90度。(一个一个点亮)hy2_2();/暗中逆时针转180度。(一个一个点亮)hy2_3();/暗中向下180。(一个一个点亮)hy3(); hy2_4();/hy1(); /暗中状态逆时针旋转90度(一个一个亮)jc();/交叉四叶草hy1();hy4(); /点亮状态顺时针旋转90度(一个一个灭?jc();hy4();/hy5();/先向下伸展,然后向上伸展逐渐点亮jr();/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于大数据的数字化教育平台财务模型预测分析
- 2019-2025年初级经济师之初级金融专业模考预测题库(夺冠系列)
- 基于大数据的医疗行业数字化营销分析
- 信息技术与创新思维的结合试题及答案
- AI在健康教育与医疗诊断中的融合
- 本地健康食品超市出租协议
- 责任护理制度实施与管理体系
- 医疗行业中的教育与领导力融合之道
- 商业领域中的数字孪生与远程运维服务融合发展
- 高技能人才劳动合同续签协议
- 学院“十五五”大学文化建设规划
- GB/T 45545-2025厨房家具配合尺寸
- 安全生产管理和培训制度
- 2025山东济南先行投资集团有限责任公司及权属公司社会招聘169人笔试参考题库附带答案详解
- 八年级心理健康微课件
- 建设工程消防验收课件
- 《大众敏捷制造》课件
- 采矿机器人技术发展-全面剖析
- 地质勘查合同补充协议
- 某桥梁工程专项施工方案
- 信息技术服务质量承诺及保障措施
评论
0/150
提交评论