版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1设计任务与要求.11.1设计任务.11.2设计要求.12设计方案. .12.1设计思路 .12.2器件介绍与作用 .12.2.1 STC89C52RC简介. .12.2.2 STC89C52RC参数. .32.2.3 STC89C52RC特性. .32.2.4 STC89C52RC单片机的 P2口介绍 .42.2.5 LED 灯介绍 .53硬件电路设计. .63.1原理图 .63.2 LED被点亮的原理 .74软件设计. .84.1设计流程.84.2源程序 .155调试过程. .175.1实物连接图.175.2调试. .185.3出现的问题.186总结. .197附录 MSC-51系列单
2、片机指令表. .20参考文献. .25.1 设计任务与要求1.1 设计任务设计一个通过单片机 P2口控制流水灯的系统1.2 设计要求(1)至少 8个灯;(2)可实现不同的亮灯( 如左循环,右循环,间隔闪等) 。2 设计方案2.1 设计思路整个系统工作由软件程序控制运行, 根据需要,可以上电后系统经过初始化, 进入用户设定模式状态。 于 STC89C52单片机的彩灯控制方案, 实现对 LED红灯的控制。本方案以STC89C52单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和 8个 LED 灯,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮
3、或灯灭的控制信号。2.2 器件介绍与作用简介STC89C52 是 STC公司生产的一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。 STC89C52使用经典的 MCS-51核,但做了很多的改进使得芯片具有传统 51单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU和在系统可编程 Flash ,使得 STC89C52为众多嵌入式控制应用系统提供高灵活、 超有效的解决方案。 具有以下标准功能: 8k 字节 Flash ,512字节 RAM, 32 位 I/O 口线,看门狗定时器 ,置4KB EEPROM,MAX810复位电路, 3个16 位定时器 /
4、 计数器, 4个外部中断,一个 7向量 4级中断结构(兼容传统 51的 5向量 2级中断结构),全双工 串行口 。另外.STC89C52可降至 0Hz 静态逻辑操作,支持 2种软件可选择节电模式。 空闲模式下, CPU停止工作,允许 RAM、定时器 / 计数器、串口、中断继续工作。掉电保护方式下, RAM 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或件复位为止。最高运作频率 35MHz,6T/12T 可选图 2.1 STC89C52RC实物图图 2.2 STC89C52RC管脚图.参数1. 增强型 8051单片机, 6 时钟 / 机器周期和 12 时钟 / 机器周期可以任意 选
5、择,指令代码完全兼容传统 8051. 22. 工作电压: 5.5V 3.3V( 5V 单片机) /3.8V 2.0V (3V 单片机)3. 工作频率围: 0 40MHz,相当于普通 8051 的 0 80MHz,实际工作 频率可达48MHz4. 用户应用程序空间为 8K 字节5. 片上集成 512 字节 RAM6.通用I/O口( 32 个),复位后为: P0/P1/P2/P3 是准双向口 / 弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程) /IAP (在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口
6、( RxD/P3.0,TxD/P3.1 )直接下载用户程 序,数秒即可完成一片8. 具有 EEPROM功能9. 共3 个16 位定时器 / 计数器。即定时器 T0、T1、T210. 外部中断 4 路,下降沿中断或低电平触发电路, Power Down 模式可 由外部中断低电平触发中断方式唤醒11. 通用异步串行口( UART),还可用定时器软件实现多个 UART12. 工作温度围: -40 +85(工业级) /0 75(商业级)13. PDIP 封装特性STC89C52RC单片机 :8K 字节程序存储空间; 512字节数据存储空间; 带2K 字节 EEPROM存储空间 ; 可直接使用串口下载;
7、 AT89S52单片机 :8K 字节程序存储空间; 256字节数据存储空间;没有带 EEPROM存储空间 ;.单片机的 P2 口介绍P2 口由一个输出锁存器、一个转换开关 MUX、两个三态输入缓冲器、输出驱动电路和一个反相器组成。 P2的结构如图 2.3 所示。图 2.3 P2 口的位结构图2.3 中控制信号 C的状态决定转换开关的位置。 当 C=0时,开关处于图示的位置;当 C=1时,开关拨向地址线位置。由图可见,输出驱动电路与 P0口不同,部设有上拉电阻(由两个场效应晶体管并联构成,图中用等效电阻R表示)。(1). P2 用作通用 I/O 口( C=0)当没有在单片机芯片外扩展总线;或者虽
8、然扩展了片外总线, 但采用 “MOVX Ri”类指令访问,且P2口用高八位地址线没有全部用到时(P2.6 ,P2.7 ,.),P2口的口线就可以作为通用I/O 口线使用。执行输出指令时,部数据总线的数据在“写锁存器”信号的作用下由D 端进去锁存器,经反相器反相后送至场效应晶体管 T,再经 T 反相,在 P2.x 引脚出现数据正好是部数据总线的数据。用作输入时,数据可以自口锁存器,也可以读自口的引脚,这是根据输入操作采用的是“读锁存器”指令还是“读引脚”指令决定。CPU在执行“读 - 修改 - 写”类输入指令时( ANL P2,A )部产生的“读锁存器”.操作信号使锁存器 Q端数据进入部总线,
9、在与累加器 A 进行逻辑运算之后, 结果又送回 P2的口锁存器并出现在引脚。CPU 在执行“ MOV”类指令时(如: MOV A,P2)部产生的操作信号使“读引脚”应在执行输入指令前把锁存器写入,目的是场效应晶体管 T2截止,从而使引脚处于高阻抗输入状态。所以, P2口在通用 I/O 口时,属于准双向口。( 2) P2在作为地址总线()当需要在单片机芯片外部扩展程序存储器或扩展了 RAM(或接口芯片)且采用 “MOVX DPTR”类指令访问, 单片机部硬件会使 C=1,MUX开关接向地址线, 这时 P2.x 引脚的状态与地址线信息相同灯介绍LED 是英文 light emitting diod
10、e (发光二极管)的缩写, LED灯俗称发光二极管,它的基本结构是一块电致发光的半导体材料, 置于一个有引线的架子上, 然后四周用环氧树脂密封,起到保护部芯线的作用,所以 LED 的抗震性能好。LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。 LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上, 一端是负极, 另一端连接电源的正极, 使整个晶片被环氧树脂封装起来。 半导体晶片由两部分组成, 一部分是 P 型半导体,在它里面空穴占主导地位,另一端是 N 型半导体,在这边主要是电子。 但这两种半导体连接起
11、来的时候,它们之间就形成一个 P-N 结。当电流通过导线作用于这个晶片的时候, 电子就会被推向 P 区,在 P 区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N 结的材料决定的。.3 硬件电路设计3.1 原理图通过图 3.1 我们可以看出,在 LED灯后要加一个电阻,通常电阻应用在单片机电路中有三种作用:限流电阻、上拉电阻、下拉电阻。在流水灯接线图中的电阻起的是限流作用。图3.1 流水灯接线原理图.3.2 LED 被点亮的原理图 3.2 中 A 端为发光二极管的阳极, B 端为发光二极管的阴极,要想点亮发光二极管,阴极必须加一
12、个低电平( 0V) , 发光二极管允许的电流在 3mA至10mA之间,发光二极管被点亮的最小电流为3mA。已知发光二极管被点亮后的压降值为1.7V ,VCC=+5V,电阻上的电压为 3.3V,根据欧姆定律 R=3.3V/3mA=1.1K,因此要选用 1K 的电阻图3.2流水灯接线分支电路.4 软件设计4.1 设计流程1) 打开 Keil Vision3 软件2) 建立工程.工程以 LED为名保存选择芯片.3) 建立新文件以了 LED.asm 为名保存.4) 把文件添加到工程.添加成功5) 在文件中输入程序.6) 设置生成 .hex 文件和编译设置生成 .hex 文件编译成功,无错误.7) 打开
13、 STC_ISP_V483.exe 软件8) 下载程序.4.2 源程序.程序一ORG 0000HLJMP STARTORG 0100HSTART:MOVSP,#60H;设置堆栈的初始地址LOOP:MOVP2,00H;点亮八个 LED灯LCALL DELAY;调用延时子程序MOVP2,0FFH;熄灭八个 LED灯LCALL DELAY;调用延时子程序SJMP LOOPDELAY:;延时子程序MOVR0,#0FFHNEXT:MOVR1,#0FFHDJNZ R1,$DJNZ R0,NEXTRETEND程序二ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60H;设置堆栈的
14、初始地址MOVR7,#0FFH;把 R7 置 1MOVP2,R7;把 P2 口置 1LOOP:MOVA,R7RLCA;循环移位.MOVP2,A;点亮第一个灯MOVR7,ALCALLDELAY;调用延时子程序SJMPLOOPDELAY:;延时子程序MOVR0,#0FFHNEXT:MOVR1,#0FFHDJNZR1,$DJNZR0, NEXTRETEND5 调试过程5.1 实物连接图在普中科技 HC6800 V2.8 开发板中,将开发板中的 USB插口与电脑上的 USB插口相连,再将单片机的 P2口与 LED灯用线连接起来。图 5.1连接实物图.5.2 调试程序编译成功以后,生成 .hex 文件,
15、用 STC_ISP下载到单片机中,在下载过程中先进行下载然后再上电, 打开单片机开发板的开关后, 就会看到八个发光二极管的亮灭情况。程序一的现象是八个发光二极管同时亮、灭,一直循环,并且亮和灭的速度很快。程序二的现象是八个发光二极管从头依次亮, 每次只有一个灯亮, 从第一个一直亮到第八个,从后再从头循环,在调试过程中,我们可以在程序中的“ LCALL DELAY”语句后再增加“ LCALL DELAY”语句,增加的越多,延时越长,亮或者是灭的时间就越长。5.3 出现的问题在用 STC_ISP往单片机中下载程序时出现图 5.2 中的打开串口失败,原因是串口已被其他程序打开或该串口不存在。 出现该
16、问题的原因时使用的串口不正确, 在设备管理器中查找正确的串口,并改正。改正后程序能正常下载+图 5.2 问题截图.6 总结通过这次课程设计我学到了很多东西,我更加体会到理论知识与动手能力相结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片机的部结构有一个系统的了解, 知道该单片机有哪些资源: 懂得设计的关键是要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路。要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你思路,这样也为资料的保存和交流提供了方便。整个设计的过程
17、中,还是碰到了一些问题。比如,对于键盘的延时防抖问题不能较好的解决;对于编程的顺序及各模块程序调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。 设计中我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高, 在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识当今社会,由单片机芯片控制各种硬件工作的技术日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项 技术在生活中应 用更 为广泛,较为贴近生活。以前在路上夜景中经常见到各种流水灯,感觉很漂亮,通过此次编程以后才知道了原理,让我有一种学以致用的成就感!很开心!流水灯控制的设计所需要的知识不仅吻合了我们本学
18、期对于单片机这门课程的学习,而且对于我们以前所学习的如数码管显示、 LEG灯 等 知 识 也 是 一 次 很好地运用,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。总的来说,这次设计获益良多。不仅培养了实践能力,还培养了设计思维,在摸索该如何设计电之实现所需功能的过程中,锻炼了运用所学知识的灵活性,加深了对知识的理解及提高了解决问题的能力。在体会到设计电路编写程序的艰辛的同时,更能体会到成功的喜悦和快乐。.7 附录 MSC-51 系列单片机指令表表 7-1 数据类传送令表字周助记符操作功能节期数数MOV A,Rd(A) (Rd)寄存器字节送到累加器11MOV A,m(
19、A) (m)直接字节送到累加器21MOV A,Ri(A) (Ri)间接 RAM送到累加器11MOV A,#n(A) n立即数送累加器21MOV Rd,A(Rd) (A)累加器字节送寄存器11MOV Rd,m(Rd) (m)直接字节送寄存器22MOV Rd,#n(Rd) n立即数送寄存器21MOV m,A(m) (A)累加器字节送直接字节21MOV m,Rd(m) (Rd)寄存器字节送直接字节22MOV m1,m2(m1) (m2)直接字节送直接字节32MOV m,Ri(m) (Ri)间接 RAM送入直接字节22MOV m,#n(m) n立即数送入直接字节32MOV Ri,A(Ri)(A)累加器
20、字节送入间接11RAMMOV Ri,m(Ri)(m)直接字节送入间接 RAM22MOV Ri,#n(Ri) n立即数送入间接 RAM21MOV DPTR,#n(16)(DPTR)n(16)十六位立即数送数据指32示器MOVC A,A+DPTR(A) 间接 ROM送累加器12(A)+(DPTR)MOVC A,A+PC(A) (A)+(PC)间接 ROM送累加器12MOVX A,Ri(A) (P2)+(Ri)从外部间接 RAM(8 位地12址)送入累加器MOVX A,DPTR(A) (DPTR)从外部间接 RAM(16 位12地址)送入累加器MOVX Ri,A(P2)+(Ri) (A)累加器容送外
21、部间接12RAM(8 位地址)MOVX DPTR,A(DPTR) (A)累加器容送外部间接12RAM(16 位地址).PUSH m(SP)+1) (m)直接字节进堆栈22POP m(m) (SP)直接字节出堆栈22XCH A,Rd(A) (Rd)寄存器与累加器交换11XCH A,m(A) (m)直接字节与累加器交换21XCH A,Ri(A) (Ri)间接 RAM与累加器交换11XCHD A,Ri(A 3 0) (Ri)7 间接 RAM低半字节与累114)加器交换表 7-2算术运算指令助记符操 作功能字节周期数数ADD A,Rd(A) (A)+(Rd)寄存器加到累加器11ADD A,m(A) (
22、A)+(m)直接字节加到累加器21ADD A,Ri(A) (A)+(Ri)间接 RAM加到累加器11ADD A,#n(A) (A)+n立即数加到累加器21ADDC A,Rd(A) (A)+(Rd)+(C)寄存器和进位加到累加器11ADDC A,m(A) (A)+(m)+(C)直接字节和进位加到累加器21ADDC A,Ri(A) (A)+(Ri)+(C)间接 RAM和进位加到累加器11ADDC A,#n(A) (A)+n+(C)立即数和进位加到累加器21SUBB A,Rd(A) (A)-(Rd)-(C)累加器减去寄存器和借位11SUBB A,m(A) (A)-(m)-(C)累加器减去直接字节和借
23、位21SUBB A,Ri(A) (A)-(Ri)-(C)累加器减去间接 RAM和借位11SUBB A,#n(A) (A)-n-(C)累加器减去立即数和借位21INC A(A) (A)+1累加器加 111INC Rd(Rd) (Rd)+1寄存器加 111INC m(m) (m)+1直接字节加 121INC Ri(Ri) (Ri)+1间接 RAM加 111INC DPTR(DPTR) (DPTR)+1数据指示器加 112DEC A(A) (A)-1累加器减 111DEC Rd(Rd) (Rd)-1寄存器减 111DEC m(m) (m)-1直接字节减 121.DEC Ri(Ri) (Ri)-1间接
24、 RAM减 111MUL AB(B)(A) (A) ·(B)A 乘 B14DIV AB(A) (B) (A)/(B)A 除 B14DA A累加器十进制调整11表 7-3逻辑运算指令字 节周助记符操 作功能期数数ANL A,Rd(A) (A) (Rd)寄存器“与”到累加器11ANL A,m(A) (A) (m)直接字节“与”到累加器21ANL A,Ri(A) (A) (Ri)间接 RAM“与”到累加器11ANL A,#n(A) (A) n立即数“与”到累加器21ANL m,A(m) (m) (A)累加器“与”到直接字节21ANL m,#n(m) (m) n立即数“与”到累加器32ORL
25、 A,Rd(A) (A) (Rd)寄存器“或”到累加器11ORL A,m(A) (A) (m)直接字节“或”到累加器21ORL A,Ri(A) (A) (Ri)间接 RAM“或”到累加器11ORL A,#n(A) (A) n立即数“或”到累加器21ORL m,A(m) (m) (A)累加器“或”到直接字节21ORL m,#n(m) (m) n立即数“或”到累加器32XRL A,Rd(A) (A) (Rd)寄存器“异或”到累加器11XRL A,m(A) (A) (m)直接字节“异或”到累加器21XRL A,Ri(A) (A) (Ri)间接 RAM“异或”到累加器11XRL A,#n(A) (A)
26、 n立即数“异或”到累加器21XRL m,A(m) (m) (A)累加器“异或”到直接字节21XRL m,#n(m) (m) n立即数“异或”到累加器32CLR A(A) 0累加器清零11CPL A(A) ( )累加器取反11RL A累加器循环左移11RLC A累加器带进位循环左移11.RR A累加器循环右移11RRC A累加器带进位循环右移11SWAP A(A 74) (A 3 1)累加器半字节交换11表 7-4位操作指令字 节周助记符操 作功能期数数CLR c(c) 0进位清 011CLR b(b) 0直接位清 021SETB c(c) 1进位置位11SETB b(b) 1直接位置位21CPL c(c) (c 非 )进位取反11CPL b(b) (b 非 )直接位取反21ANL c,b(c) (c) (b)直接位“与”到进位22AN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年砀山县教师招聘笔试备考试题及答案解析
- 2027年江西电缆有限责任公司校园招聘2人笔试参考题库及答案解析
- 2027国家电投集团秋季校园招聘考试参考题库及答案解析
- 2026年新邵县教师招聘笔试备考题库及答案解析
- 2026福建龙岩上杭县专项公开招聘期满的服务基层项目高校毕业生到乡镇事业单位14人笔试模拟试题及答案解析
- 2026年污水处理及其再生利用行业趋势洞察报告及未来五至十年可持续发展与长期价值评估
- 2026年生物质能发电行业市场现状分析报告及未来五至十年碳中和与循环经济
- 2026年固阳县教师招聘笔试备考试题及答案解析
- 2026年干部休养所行业产业链安全评估报告及未来五至十年品牌溢价与忠诚度管理
- 2026年家用电子产品修理行业投资策略研究报告及未来五至十年蓝海开拓与红海突围
- 2026年小学信息技术教师业务考试题库(附答案)
- 硝化企业安全风险隐患排查表(2026年版)
- 老年人多重用药评估与管理专家共识2026
- 产品质量问题重复出现处理意见建议
- 护士执业注册健康体检表
- 2025福建新华发行(集团)有限责任公司南平地区会计岗位招聘笔试备考题库及答案解析
- 2024-2025学年度第二学期期末考试试卷 高一历史
- 高中数学第九、十章统计与概率章节测试卷-2024-2025学年高一下学期数学人教A版(2019)必修第二册
- 特殊工艺过程管理制度
- 大二python考试试题及答案
- 2024年4月自考00015《英语(二)》真题及答案
评论
0/150
提交评论