单片机交通灯课程设计课程设计报告(编辑修改稿)内容摘要:
3P14 P16P15P36P17P35D1LED2D2LED2D3LED2D4LED2D5LED2D6LED2D7LED2D8LED2D9LED2D12LED2D11LED2D10LED21kR4RESDIP1kR5RESDIP1kR10RESDIP1kR11RESDIP1kR12RESDIP1kR7RESDIP1kR8RESDIP1kR9RESDIP1kR6RESDIPVCCVCCVCCVCCP32 P33 P34P34P33P32P34P33P32P32P33P34a b 1 2fc h e d gComponent_1 图 9 红绿灯显示电路 整体电路 将各模块电路整合到一起就形成了系统工作电路,如图 10 所示。 在 altium designer 中画出电路原理图,检查电路没有错误后,可在 proteus 环境下进行仿真,就可看到整个系统的工作状态,即可模拟出实际交通灯的工作状态。 P101P112P123P134P145P156P167P178RST9RXD P3010TXD P3111INT0 P3212INT1 P3313T0 P3414T1 P3515P3616P3717XTAL118XTAL219GND20P2021P2122P2223P2324P2425P2526P2627PSEN29ALE30EA31P2728P0732P0633P0534P0435P0336P0237P0138P0039VCC40U189C51/521kR1RESDIP1kR2RESDIP1kR3RESDIPVCC12Y1XTAL22pFC2CAPDIP22pFC3CAPDIPGNDGND10KR14RESDIPVCCS1SWButtonSGND10uFC1CAPDIPP10P11P12P13P14P15P16P17P10 P11P12 P13P14 P16P15P36P17P35123456789P1102VCCP10P11P12P13P14P15P16P17P35P36D1LED2D2LED2D3LED2D4LED2D5LED2D6LED2D7LED2D8LED2D9LED2D12LED2D11LED2D10LED21kR4RESDIP1kR5RESDIP1kR10RESDIP1kR11RESDIP1kR12RESDIP1kR7RESDIP1kR8RESDIP1kR9RESDIP1kR6RESDIPVCCVCCVCCVCCP32P33P34P32 P33 P34P34P33P32P34P33P32P32P33P34VCCD13LED21kR15RESDIP1234J1Header1x41 23 45 6J2Header2x3VCC1RXDTXDGND1VCC1VCCGNDGND1RXDTXDGNDa b 1 2fc h e d gComponent_1VCC 图 10 整 个电路工作原理图 10 5 软件设计 KEIL C 简介 KEILC51 标准 C 编译器为 8051 微控制器的软件开发提供 C 语言环境 ,同时保留了汇编代码高效 ,快速的特点。 C51 编译器的功能不断增强 ,使你可以更加贴近CPU 本身 ,及其它的衍生产品。 C51 已被完全集成到 uVision2 的集成开发环境中 ,这个集成开发环境包含:编译器 ,汇编 器 ,实时操作系统 ,项目管理器 ,调试器。 uVision2IDE 可为它们提供单一而灵活的开发环境。 C51V7 版本是目前最高效、灵活的 8051 开发平台。 它可以支持所有 8051 的衍生产品 ,也 可以支持所有兼容的仿真器 ,同时支持其它第三方开发工具。 程序流程图 主程序流程图 图 11 主程序图 11 如图 11 所示,当整个系统电路开始正常工作时,电路的运行状态将按照程序框图的顺序运行下去,最后进入循环状态,即可反映交通灯运行的状态。 中断服务程序流程图 当系统电路上电后,系统初始化话后,程序从主程序开始进入中断程序,当计数溢出时,中断产生,红绿灯状态将发生转换,接着进入下一个状态,最后进入循环。 中断程序如图 12 所示。 图 12 中断服务程序流程图 keil 调试过程 在 Keil 中将程序代 码编完后,点击 rebuild 键,编译看一开始,出现了好几个错误,经过好久的调试与更改后,编译时没报错,但是有些电路功能还是没弄出来,最后接近快三天的时候才将整个程序编出,终于将程序调试出来了。 编译成功后,先在 keil 中进行调试仿真。 先点击 Start/Stop Debug Session 键后,显示界面如图 13 所示。 12 图 13 调试第一步 再点击 Peripherals 键,选择 I/OPortsPort3,再点击几下 Step 键,显示如图 14 所示。 图 14 调试第二步 因为 , 分别控制共阴 数码管的十位和个位,上图显示的是 口的变化,说明数码管的个位在发生变化 ,最后再连续点击数下 Step 键,显示如图 15,如上显示的是 的变化,即数码管的十位数在变化。 13 图 15 调试第三步 在 keil 中调试完成后,接着进一步软件测试,即可进行电路仿真。 6 系统仿真与实现 proteus 仿真软件简介 Proteus 是世界上著名的 EDA 工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。 是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805 HC1PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086 和 MSP430 等, 2020 年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、 Keil 和 MPLAB 等。 仿真调试过程 在 Keil 中调试完成后,再到 proteus 中进行仿真。 首先在 proteus 中需要的元件依次找出来,根据电路所需要实现的功能画好电路原理图,当检查电路完全没有错误后,双击芯片,再 将在 keil 中生成的 hex 文件导入芯片,接着点击play 键开始进行电路仿真。 其中,此次的交通灯整个中循环共有四个工作状态。 14 状态一:点击 play 键,电路开始进行仿真,此时红绿灯显示的情况为:东西方向为绿灯亮,南北方向为红灯亮,即东西方向通行,南北方向禁止通行,交通灯显示状态如图 16 所示。 P3.4P 3 . 2P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 7P3.6P3.5P 3 . 2P 3 . 3P 3 . 4P 3 . 5P 3 . 6P 1 . 6P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .0 /T 21P 1 .1 /T 2 E X2P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3。单片机交通灯课程设计课程设计报告(编辑修改稿)
相关推荐
FFH MOV P0, A。 P0 口为字形码输出口 NOP NOP MOV R0, 2FH。 显示子程序 NOP MOV R1, 10H。 位控制字 LOOP1: MOV A, R1 NOP MOV P2, A。 输出位控制字 MOV P2, A MOV DPTR, TABLE MOV A,@ R0。 取显示缓冲区中的显示字符数 22 MOVC A,@ A+DPTR。 查表转换成字型代码
泛采用色环电阻,其优点是在装配、调试和修理过程中,不用拨动元件,即可在任意角度看清色环,读出阻值,使用方便。 一个电阻色环由4 部分组成(不包括精密电阻)。 测量时可用万用表来测量电阻的“阻值”。 图 电阻图形符号 阻值判断:色标法 — 用不同颜色的色环来表示电阻器的阻值及误差等级 .普通电阻一般有 4 环表示 ,精密电阻用 5 环。 这个规律有一个巧记的口诀:棕一红二橙是三,四黄五绿六为蓝
同时也引起母线电压的变化。 这些变化与机组的无功调节特性有关,为了合理而稳定地分配组间的无功负荷,机组的无功调节特性应有适当的调差系数。 调差系数 可由下式表示 %=feff UUU 21 100% ( 2- 7) feU 为发电机额定电压, 1fU 、 2fU 分别是发电机空载电压、额定无功电流时的电压。 当正调差系数为 > 0,其调节特性下倾,发电机电压随着无功电流增大而降低。
中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送的数据量较大的 C. 串行数据通信的传输速率: 串行数据传输率有两个概念,既美秒传送的位数 bps(Bit per second)和美秒符号数 波特率( Band rate) ,在具有调治解调器的通信中,波特率与调治速率有关。 MCS51 的串行和控制寄存器 串行口和控制寄存器 MCS51 单片机串行口专用寄存器结构如图所示。
KS0108 处于正常工作状态, RESET=0。 ( 4) L5~ L0 为显示起始行的地址,取值在 0~ 3FH(1~ 64)范围内。 ( 5) P2~ P0 确定当前所要选择的页面地址,取值在 0~ 7H,代表 1~ 8 页。 ( 6) C5~ C0=0~ 3FH(1~ 64)代表某一页面上的某一单元地址,随后的一次读或写 数据将在这个单元上进行。 KS0108 控制器与 8255A
的范围内校正时钟的偏差 (189ppm~ +189ppm,分辨力为 ),并通过外置的温度传感器可设定适应温度变化的调整值,实现在宽温范围内高精度的计时功能。 SD2405 特性 : A 典型值 (内部电池供电, Ta=25℃ )。 : ~ ,工作温度: 40℃~ +85℃。 IIC 总线接口方式,最高速度 400KHZ(~ )。 、月、日、星期、时、分、秒的 BCD 码输入 /输出