基于单片机与vb汽车尾灯控制_课程设计报告(编辑修改稿)内容摘要:
为核心展开的汽车尾灯控制器,通过原理仿真以及实物制作,完整的实现了汽车尾灯智能化控制的效果,相比以前用数字逻辑电路原理打成的汽车尾灯更方便、更简单。 制作出的实物板有 6 个控制状态的按键,可以搭配起来控制 6 种汽车的行驶状态,完美的模拟了汽车尾灯控制系统, 完成本次课题的全部指标。 四. 程序流程 下位机软件程序 键盘扫程序设计流程图 键扫程序的过程为:开始时,先判断是否有键闭合,无键闭合时,返回继续判断,有键闭合时,先去抖动,然后确定是否有键按下,若无键按下,则返回继续判断是否有键闭合,若有键按下,则判断键号,然后释 14 放,若释放按键完毕,则返回,若没有释放按键,则返回继续释放。 其流程图如图所示。 软件设计思路,程序开始后进入初始化,然后扫描键盘等待有键按下。 如果没有键按下则一直扫描,如果有键按下,则判断是哪个键,如果为 1 键,则正常行驶;为 2 键, 则右转;为 3 键,则左车;为 4 键,则应急状态;为 5 键,则倒车行驶;为 6 键,则夜间行驶。 图 软件流程图 Y N 开始 有键闭合否。 去抖动 确有键按下 判断按键 释放 LED 状态 返回 Y N Y N 15 显示程序设计流程图 图 显示程序流程图 N Y N 是否 返回 LCD 初始化 显示汉ACSII 码 显示开始 显示字符 相应功能设置 送地址 送数据 N N 相应功能设置 送行地址和列 地址 送数据 是否 Y Y 16 显示程序的过程为 :显示开始时,先进行 LCD 的初始化,判断是否显示汉字或 ACSII 码或图形,若不显示,则返回,若显示的是汉字或 ACSII码,则进行相应功能的设置,然后送地址和数据,再判断是否显示完 ,显示完则返回,没有显示完则继 续送地址,若显示的是图形,则先进行相应功能的设置,再送行地址和列地址,然后送数据,最后判断是否显示完,显示完则返回,没有显示完则继续送行地址和列地址。 其流程图如图 7 所示。 ( 1)在编写液晶屏的显示程序时,发现液晶屏只能瞬间的显示状态,而不能保持,因此在液晶显示程序后要加上一个延时,使液晶屏能够保持状态; ( 2)要使发光二极管闪烁可以通过指令让其取反,但是在编写程序时,只能取反一次,一次可以使用一个 while 函数,当没有按键时候发光二极管一直取反,且在程序里加上适当的延时; ( 3)在使发光二极管闪烁时,如 果前一个状态中正在使用改二极管,则切换状态后,每个灯管的闪烁时间不同步,因此在让其闪烁之前先令所有二极管保持同一个状态; VB 上位机界面设计 设计方案原理与设计特点分析 ( 1) IO 控制系统原理框图 : 发送数据 将 PC 机和单片机通过 RS232 连接,通过上位机软件可以向单片机发送数据来测试两者的通讯状态,同时单片机也可以 上位机控制软件 单片机 17 向上位机软件返回数据,以显示当前通信状态是否正常。 以及用上位机软件控制单片机上的指示灯工作。 从而实现简单的 IO控制系统。 ( 2) 上位机软件 ( 3) 通信协议 本通信系统使用了一个简单的通信协议,就是每当向单片机发送一个特定字符串时,单片机在接收到字符串时会向上位机软件反馈一条信息,来表明上位机软件和硬件是否正常通信,制定通信协议时需要指定端口号,关键代码如下: = “ ” = “ ” = “ ” = “ ” 18 = = “ ” VB 上位机 界面 通过协议控制车灯的智能开关。 五 仿真图 实物调试 仿真图 X 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 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 2D3L E D R E DD4L E D R E DD5L E D R E DD6L E D R E DD2L E D R E DD1L E D R E DD7L E D R E DR10 .2 2 kR20 .2 2 kR30 .2 2 kR40 .2 2 kR50 .2 2 kR60 .2 2 kR70 .2 2 k+5vR81 0 kR91 0 kR 1 01 0 kR 1 11 0 kR 1 21 0 kR 1 31 0 kR 1 41 0 k+ 5 vR 1 51 0 kR 1 61 0 kR 1 71 0 kR 1 81 0 kR 1 91 0 k+ 5 vD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 1 6 LGND+5vR V 11 0 K+ 5 vD1( A )D1( K )R 2 01 0 kR15 ( 1 ) 19 实物图 6 课设总结 本次的课设作品的主要元件为 STC89C52RC,在其控制下保证了系统的正常工作,达到 模拟汽车尾灯控制的效果,实现汽车尾灯的智能化控制。 20 两周的课程设计,相较于之前所 选修的各种实验课程 ,此次更增加了自己的动手实践能力。 理论与实践还是有一定的差距的,在理论上不管多精确的数据,一旦用于实际中,就不得不考 虑其仪器,器件的误差,以及自己操作上的能力。 而且, 在课设过程中 添加了自己的思考,该选择怎样的电阻 、 电容,想要修改最后的输出,应该在什么地方做改变。 虽然是一些很基础的东西,但仅仅是书上的理论学习,会让人对知识遗忘得比较快,相反,通过自己动手实践过的东西,会更加记忆深刻。 看着自己 成功制作出来的电路板觉得很有 成就感。 通过 这次课设教我 还 学会很多关于电子产品知识。 进一步的认识了我们现实生活电子产品,了解和掌握了一些简单电子元件的运用,大大的扩展了我们的知识面。 提高了自己以后在学习 生活中自己动手能力。 给我们很大的 启发,很有助于我们将来的学习生活和工作。 在查阅资料中,获得了许多额外的知识,开拓视野。 在原理图的设计、使用 proteus仿真、使用 Altium绘制、实物的制作、板子调试等整个过程中加强了我 们 分析问题和解决问题的能力,深刻体味到实践是检验真理的唯一标准这一道理。 总而言之,这次课设,让我 们 受益匪浅。 参考文献 [1]李广弟,朱月秀,王秀山 .单片机基础[ M] .北京:航空航天大学出版社, 2020. [2]康华光,陈大钦 .电子技术基础模拟部分 [M].武汉:高等教育出版社, 1998. [3]谢自美 .电子线路设计实验 测试(第二版) .武汉:华中理工出版社, 2020. [4]戴佳 .51单片机 C 语言应用程序设计实例精讲 [M].电子工业出版社, 2020. [5]徐爱钧,彭秀华。 Keil Cx51 Vision2应用实践 [M].北京:电子工业出版社, 2020. 21 附录 一 单片机 源程序: include include define uchar unsigned char define unit unsigned int sbit KEY1=P1^0。 sbit KEY2=P1^1。 sbit KEY3=P1^2。 sbit KEY4=P1^3。 sbit KEY5=P1^4。 sbit KEY6=P1^5。 sbit LED1=P2^0。 sbit LED2=P2^1。 sbit LED3=P2^2。 sbit LED4=P2^3。 sbit LED5=P2^4。 sbit LED6=P2^5。 sbit LED7=P2^6。 sbit LED8=P2^7。 sbit LCD_RS = P3^4。 sbit LCD_RW = P3^5。 sbit LCD_EN = P3^6。 void delay(unit t)。 void delay1(int ms)。 define delayNOP()。 {_nop_()。 _nop_()。 _nop_()。 _nop_()。 }。 void delay(unit t) //延时程序; { unit i,j。 for(i=0。 it。 i++) for(j=0。 j120。 j++)。 22 } /**********************************************************/ void delay1(int ms) { unsigned char y。 while(ms) { for(y = 0。 y y++) { _nop_()。 _nop_()。 _nop_()。 _nop_()。 } } } uchar code cdis1[ ] = {Day time}。 uchar code cdis2[ ] = {stop}。 uchar code cdis3[ ] = {left}。 uchar code cdis4[ ] = {。基于单片机与vb汽车尾灯控制_课程设计报告(编辑修改稿)
相关推荐
Ui R1 9M R2 900K R3 90K R4 9K R5 1K 2020V 2V 20V 200V 动 片 2 数字电压表头 IN+ IN 200mV 200mV 例如:其中 200V 档的分压 河北工程大学毕业设计 (论文) 数字万用表总体设计方案 11 即被测电流 RUI ii 图 25 电流测量原理 图 26 多量程分流器电路 若数字表头的电压量程为 U0,欲使电流档量程为
实现输出电流范围为 200mA~2020mA,满足步进 10mA,误差的绝对值 ≤ 1% +10mA,可以同时显示电流的给定值、仿真测试值、负载电压值、负载电阻值。 关键词 :电流源; 稳压电源 ; AT89S52; LCD 显示; Proteus II ABSTRACT The requiements of numerical controlling constant current
微机控制技术 .清华大学出版社 .1994:8687 146147 [5] 《融会贯通 Protel99 电路设计》 弘道工作室 北京 人民交通出版设, 2020. [6] 《单片机原理及接口技术实验》 朱定华 北京 北方交通大学出版社 附 1:源 程序代码 RS BIT。 定义液晶显示端口标号 RW BIT E BIT。
系统采用 8051 为核心的单片机控制系统, 通过无线芯片 nRF24L01 来实现发射与接收的 设计要求 ,单片机通过模拟 SPI 接口可以方便的实现对 nRF24L01的控制, 且单片机的控制电路很容易实现扩展,比如语音模块、测温 I2C 模块、 3 时钟模块、 A/D 模块等。 故采用方案三。 整体设计框图如图2 .1 所示。 上位机发送信号 单片机接收并编码 单片机 nRF24L01
输出能力 并行输出,总线驱动 串行输出; 595 是具有 8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在 SCHcp 的上升沿输入 ,在 STcp 的上升沿进入的存储寄存器中去。 如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个 8 脉冲。 移位寄存器有一个串行移位输入( Ds),和一个串行输出( Q7’) ,和一个异步的低电平复位
32’h001c, $t7 存的数据是 32’h0004 Slt 运算: slt $s0, $a1, $t7 3239。 h00: ins={639。 b000000, 539。 b00101, 539。 b01111, 539。 b10000, 539。 b00000, 639。 b101010}。 其中 $a1 存的数据是 32’h001c, $t7 存的数据是 32’h0004 分支指令: