目录
目录
一、课程设计任务书 ....................................................................................................................................... - 2 - 二、单片机的介绍 ........................................................................................................................................... - 4 -
AT89C51单片机简介: . .......................................................................................................................... - 4 - 三、题目分析及端口确定 ............................................................................................................................... - 7 -
确立输入及输出端口: ........................................................................................................................... - 8 - 四、硬件电路图 ............................................................................................................................................. - 10 - 五、流程图及源程序 ..................................................................................................................................... - 11 -
1、流程图 ............................................................................................................................................... - 11 - 2、源程序 ............................................................................................................................................... - 11 - 六、参考文献 ................................................................................................................................................. - 15 - 七、心得体会 ................................................................................................................................................. - 16 - 八、课程设计指导教师评审标准及成绩评定 ............................................................................................. - 17 -
一、课程设计任务书
1、题目:汽车转弯信号灯控制 2、设计目的:
1) 进一步掌握单片机的结构和工作原理。
2) 掌握单片机的接口技术及外围芯片的工作原理及控制方法。
3) 进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法。 4) 使学生了解单片机应用系统开发的过程,提高学生开发应用能力。
3、设计要求
根据所选题目相关设计原理,自行查阅参考文献,设计出题目要求所需单片机接口及外部电路,画出硬件电路图,写出设计基本原理,设计程序流程图,编写程序,最后上机调试并实现。
本设计全班同学分小组完成,每小组6-8名学生,要求所有学生都参与设计过程,每位学生承担一部分任务。
设计完成后,每组学生要求提交一份设计报告。报告内容包括:
1)设计原理 2)程序流程图 3)程序清单
4)设计总结(体会)
4、设计过程
1、根据设计要求,查阅相关参考资料。 2、根据设计系统选择相关器件,画出电路图。 3、设计程序流程图,根据流程图编写程序。
4、将完整程序进行软件调试及在线仿真调试,程序通过后烧录到89C51芯片中。
5、 设计说明
设计要求模拟汽车在驾驶中的左转弯、右转弯、刹车、紧急开关、停靠等操作。在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz 频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号
灯、右尾信号灯以10Hz 频率快速闪烁。任何上述未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz 。
二、单片机的介绍
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机具有体积小,集成度高,性能稳定,可靠性高等特点,而且具有较高的性价比。 单片机的种类繁多,一般按单片机数据总线的位数进行分类,主要分为4位、8位、16位和32位单片机。
根据应用领域、总线类型来分:
(1)工控型/家电型。工控型的单片机主要是面向测控,要求寻址范围大,运算能力强。家电型的单片机要求体积小、价格低,外围器件少,使用方便。
(2)总线型/非总线型。总线型单片机是指单片机设有并行总线,用以扩展并行外围器件。非总线型单片机是指单片机通过串行口与外围器件连接,或直接把外围器件、外设接口集成在片内。
(3)通用型/专用型。通用型单片机,它的应用范围宽,如Intel 公司的MCS —5l 系列产品8031、80C51等通过不同的外围扩展就可以用在不同的设备中。专用型单片机是专门为某一产品设计生产的如电子体温计、计费电度表等。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1. 在智能仪器仪表上的应用; 2. 在工业控制中的应用; 3. 在家用电器中的应用;
4. 在计算机网络和通信领域中的应用; 5. 单片机在医用设备领域中的应用; 6. 在各种大型电器中的模块化应用; 7. 单片机在汽车设备领域中的应用。
AT89C51单片机简介:
AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的
MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图1所示
:
图1
1、主要特性: ·与MCS-51 兼容
·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式
·片内振荡器和时钟电路 2、各引脚说明
VCC :供电电压。
GND :接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE 的输出可在SFR8EH 地址上置0。此时, ALE只有在执行MOVX ,MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET ;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP )。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡
器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
三、题目分析及端口确定
题目要求如下:
设计要求模拟汽车在驾驶中的左转弯、右转弯、刹车、紧急开关、停靠等操作。在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz 频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号灯、右尾信号灯以10Hz 频率快速闪烁。任何上述未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz 。
由题目分析,得:
确立输入及输出端口:
输入口: 输出口:
四、硬件电路图
五、流程图及源程序
1、流程图
2、源程序
ORG 0000H AJMP START1 ORG 0030H SAME EQU 4EH START1:MOV P0,#00H START:MOV A,P1
ANL A,#01FH CJNE A,#00H,SHIY AJMP START1 SHIY:MOV SAME,A
LCALL Y10S MOV A,P1 ANL A,#1FH CJNE A,#00H,SHIY1
SHIY1:CJNE A,SAME,START1
CJNE A,#01H,NEXT1 AJMP LEFT NEXT1:CJNE A,#02H,NEXT2
AJMP RIGHT NEXT2:CJNE A,#04H,NEXT3
AJMP EARGE NEXT3:CJNE A,#08H,NEXT4
AJMP BRAKE NEXT4:CJNE A,#09H,NEXT5
AJMP LEBR NEXT5:CJNE A,#0AH,NEXT6
AJMP RIBR NEXT6:CJNE A,#10H,NEXT7
AJMP STOP NEXT7:AJMP ERROR LEFT:MOV P0,#07H
LCALL Y1S MOV P0,#00H LCALL Y1S AJMP START RIGHT:MOV P0,#38H
LCALL Y1S MOV P0,#00H LCALL Y1S
EARGE:MOV P0,#3FH
LCALL Y1S MOV P0,#00H LCALL Y1S AJMP START BRAKE:MOV P0,#24H
AJMP START LEBR:MOV P0,#27H
LCALL Y1S MOV P0,#20H LCALL Y1S AJMP START RIBR:MOV P0,#3CH
LCALL Y1S MOV P0,#04H LCALL Y1S AJMP START STOP:MOV P0,#2DH
LCALL Y10S MOV P0,#00H LCALL Y10S AJMP START ERROR:MOV P0,#3FH
LCALL Y10S MOV P0,#00H
LCALL Y10S AJMP START ORG 0100H Y1S:MOV R3,#5 Y11:MOV R4,#200 Y12:MOV R5,#125 Y13:NOP
NOP DJNZ R5,Y13 DJNZ R4,Y12 DJNZ R3,Y11 RET ORG 0200H Y10S:MOV R3,#100 Y101:MOV R2,#248
NOP
Y102:DJNZ R2,Y102 DJNZ R3,Y101
RET END
六、参考文献
[1] 江力. 单片机原理与应用技术【M 】北京:清华大学出版社: [2] 张洪润. 单片机应用技术【M 】北京:清华大学出版社:
[3] 张毅刚. MC-51单片机原理及应用【M 】哈尔滨:哈尔滨工业大学出版社:
七、心得体会
作为一名电气工程及其自动化专业的学生,做单片机课程设计是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的课程资料了。我们是在做单片机课程设计,一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD 制图、汇编语言、protel 及模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。另外,这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。 从实践中学到的操作知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
八、课程设计指导教师评审标准及成绩评定
指导教师签字:杨彦鑫 2010年12月23日
目录
目录
一、课程设计任务书 ....................................................................................................................................... - 2 - 二、单片机的介绍 ........................................................................................................................................... - 4 -
AT89C51单片机简介: . .......................................................................................................................... - 4 - 三、题目分析及端口确定 ............................................................................................................................... - 7 -
确立输入及输出端口: ........................................................................................................................... - 8 - 四、硬件电路图 ............................................................................................................................................. - 10 - 五、流程图及源程序 ..................................................................................................................................... - 11 -
1、流程图 ............................................................................................................................................... - 11 - 2、源程序 ............................................................................................................................................... - 11 - 六、参考文献 ................................................................................................................................................. - 15 - 七、心得体会 ................................................................................................................................................. - 16 - 八、课程设计指导教师评审标准及成绩评定 ............................................................................................. - 17 -
一、课程设计任务书
1、题目:汽车转弯信号灯控制 2、设计目的:
1) 进一步掌握单片机的结构和工作原理。
2) 掌握单片机的接口技术及外围芯片的工作原理及控制方法。
3) 进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法。 4) 使学生了解单片机应用系统开发的过程,提高学生开发应用能力。
3、设计要求
根据所选题目相关设计原理,自行查阅参考文献,设计出题目要求所需单片机接口及外部电路,画出硬件电路图,写出设计基本原理,设计程序流程图,编写程序,最后上机调试并实现。
本设计全班同学分小组完成,每小组6-8名学生,要求所有学生都参与设计过程,每位学生承担一部分任务。
设计完成后,每组学生要求提交一份设计报告。报告内容包括:
1)设计原理 2)程序流程图 3)程序清单
4)设计总结(体会)
4、设计过程
1、根据设计要求,查阅相关参考资料。 2、根据设计系统选择相关器件,画出电路图。 3、设计程序流程图,根据流程图编写程序。
4、将完整程序进行软件调试及在线仿真调试,程序通过后烧录到89C51芯片中。
5、 设计说明
设计要求模拟汽车在驾驶中的左转弯、右转弯、刹车、紧急开关、停靠等操作。在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz 频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号
灯、右尾信号灯以10Hz 频率快速闪烁。任何上述未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz 。
二、单片机的介绍
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机具有体积小,集成度高,性能稳定,可靠性高等特点,而且具有较高的性价比。 单片机的种类繁多,一般按单片机数据总线的位数进行分类,主要分为4位、8位、16位和32位单片机。
根据应用领域、总线类型来分:
(1)工控型/家电型。工控型的单片机主要是面向测控,要求寻址范围大,运算能力强。家电型的单片机要求体积小、价格低,外围器件少,使用方便。
(2)总线型/非总线型。总线型单片机是指单片机设有并行总线,用以扩展并行外围器件。非总线型单片机是指单片机通过串行口与外围器件连接,或直接把外围器件、外设接口集成在片内。
(3)通用型/专用型。通用型单片机,它的应用范围宽,如Intel 公司的MCS —5l 系列产品8031、80C51等通过不同的外围扩展就可以用在不同的设备中。专用型单片机是专门为某一产品设计生产的如电子体温计、计费电度表等。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1. 在智能仪器仪表上的应用; 2. 在工业控制中的应用; 3. 在家用电器中的应用;
4. 在计算机网络和通信领域中的应用; 5. 单片机在医用设备领域中的应用; 6. 在各种大型电器中的模块化应用; 7. 单片机在汽车设备领域中的应用。
AT89C51单片机简介:
AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的
MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图1所示
:
图1
1、主要特性: ·与MCS-51 兼容
·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式
·片内振荡器和时钟电路 2、各引脚说明
VCC :供电电压。
GND :接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE 的输出可在SFR8EH 地址上置0。此时, ALE只有在执行MOVX ,MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET ;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP )。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡
器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
三、题目分析及端口确定
题目要求如下:
设计要求模拟汽车在驾驶中的左转弯、右转弯、刹车、紧急开关、停靠等操作。在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz 频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号灯、右尾信号灯以10Hz 频率快速闪烁。任何上述未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz 。
由题目分析,得:
确立输入及输出端口:
输入口: 输出口:
四、硬件电路图
五、流程图及源程序
1、流程图
2、源程序
ORG 0000H AJMP START1 ORG 0030H SAME EQU 4EH START1:MOV P0,#00H START:MOV A,P1
ANL A,#01FH CJNE A,#00H,SHIY AJMP START1 SHIY:MOV SAME,A
LCALL Y10S MOV A,P1 ANL A,#1FH CJNE A,#00H,SHIY1
SHIY1:CJNE A,SAME,START1
CJNE A,#01H,NEXT1 AJMP LEFT NEXT1:CJNE A,#02H,NEXT2
AJMP RIGHT NEXT2:CJNE A,#04H,NEXT3
AJMP EARGE NEXT3:CJNE A,#08H,NEXT4
AJMP BRAKE NEXT4:CJNE A,#09H,NEXT5
AJMP LEBR NEXT5:CJNE A,#0AH,NEXT6
AJMP RIBR NEXT6:CJNE A,#10H,NEXT7
AJMP STOP NEXT7:AJMP ERROR LEFT:MOV P0,#07H
LCALL Y1S MOV P0,#00H LCALL Y1S AJMP START RIGHT:MOV P0,#38H
LCALL Y1S MOV P0,#00H LCALL Y1S
EARGE:MOV P0,#3FH
LCALL Y1S MOV P0,#00H LCALL Y1S AJMP START BRAKE:MOV P0,#24H
AJMP START LEBR:MOV P0,#27H
LCALL Y1S MOV P0,#20H LCALL Y1S AJMP START RIBR:MOV P0,#3CH
LCALL Y1S MOV P0,#04H LCALL Y1S AJMP START STOP:MOV P0,#2DH
LCALL Y10S MOV P0,#00H LCALL Y10S AJMP START ERROR:MOV P0,#3FH
LCALL Y10S MOV P0,#00H
LCALL Y10S AJMP START ORG 0100H Y1S:MOV R3,#5 Y11:MOV R4,#200 Y12:MOV R5,#125 Y13:NOP
NOP DJNZ R5,Y13 DJNZ R4,Y12 DJNZ R3,Y11 RET ORG 0200H Y10S:MOV R3,#100 Y101:MOV R2,#248
NOP
Y102:DJNZ R2,Y102 DJNZ R3,Y101
RET END
六、参考文献
[1] 江力. 单片机原理与应用技术【M 】北京:清华大学出版社: [2] 张洪润. 单片机应用技术【M 】北京:清华大学出版社:
[3] 张毅刚. MC-51单片机原理及应用【M 】哈尔滨:哈尔滨工业大学出版社:
七、心得体会
作为一名电气工程及其自动化专业的学生,做单片机课程设计是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的课程资料了。我们是在做单片机课程设计,一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD 制图、汇编语言、protel 及模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。另外,这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。 从实践中学到的操作知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
八、课程设计指导教师评审标准及成绩评定
指导教师签字:杨彦鑫 2010年12月23日