基于单片机的自行车码表的研究与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
就处于稳定状态的振荡器而言,如果此时有一个高电平加在RST引脚上并保持不小于2个机器周期的时长,那么单片机的CPU就会做出与之特殊确定的响应并使系统复位。
如果有一个时长为1-10毫秒的高电平加在RESET引脚上就能引起单片机复位。
STC89C52单片机的两个时钟源头它们分别是位于外部的晶体振荡时钟和位于内部的振荡时钟。由晶体振荡器。
假设电流与磁场在方向上两两垂直,那么在与磁场和电流方向都两两垂直的第三个方向上就会出现电势的差值。
霍尔元件的输出在经过一系列处理之后得到的数字信号由开关型集成霍尔传感器输出
DS1302实时时钟芯片,具有对秒、分、时、日、月、年等时间方面的信息实时计时的功能,由美国DALLAS公司生产制造。
DS1302芯片内部配置了一个31×8位RAM寄存器,临时数据就被存放在此处。DS1302芯片在工作时的能量消耗极低,在保存时钟信息和数据时功率不大于1毫瓦。
LCD1602显示模块是可以显示两行数字、字母、符号等信息,每行最多可以显示16个字符的点阵型液晶模块。每一个由点阵排列而成的字符位均能显示一个字符信息,
使用C语言程序将引脚rs置为1,将引脚rw置为0
致使中断发生的某一突发事件称之为中断源。在导致中断出现的事件发生以后,中断源发出请求CPU停止执行原有程序的信号称之为中断请求。CPU执行与中断相关联的程序称之为中断服务程序,
还需要读取寄存器中的数据信息。与DS1302进行通信非常重要的一步就是对DS1302芯片控制字的熟悉和掌握。如果我们想要向DS1302芯片内写入数据内,就必须通过程序的编写把控制字位7这个最高有效位置为逻辑1。若要将存取的数据类型设置成日历时钟数据,就必须通过程序的编写把控制字位6这个有效位置为0,若要将存取的数据类型设置成RAM数据,就必须通过程序的编写把控制字位6这个有效位置为1;位5至位1这5个有效位是操作单元的地址;当我们需要对芯片进行写入操作时,就通过程序将位0这个最低有效位置为0,需要对芯片进行读操作时,就把位0这个最低有效位置为1。在紧随8位的控制字指令后的下一跳SCLK脉冲下降沿之后可以读出DS1302芯片中的数据,读取芯片中的数据遵循从最低位到最高位的顺序依次读出数据。针对DS1302芯片写入数据时控制字按照从最低位开始输出的原则依次写入数据。在紧随控制字指令输入后的下一跳SCLK脉冲上升沿之后可以向DS1302芯片中写入数据,向DS1302输入数据遵循从最低位开始的方式依次输入。DS1302芯片中读取数据和写入数据的操作通过串行I/O口完成。
该软件能将多台监视器提供给开发人员使用,实现了对每个窗口位置
的完全控制功能。
STC89C52单片机是一种高性能、低功耗的位控制器,由STC公司生产制造,使用的是经典的MCS-51内核结构,经过了多次优化和改良后全新的51单片机在原来的基础上增添了许多新的功能。在STC89C52单片机芯片上,灵活多变的8 位中央处理器和系统可以编写程序的Flash存储器,使得STC89C52能够为许许多多的嵌入式系统提供高效、灵活、便捷、巧妙的解决方案。STC89C52单片机内部配置了8K字节的Flash存储器、512字节的RAM存储器、32 个I/O 口、定时器,、复位电路、3个16 位定时器/计数器。STC89C52单片机 在晶振频率处于0Hz的情况下进行静态逻辑操作。具备2种软件可选择的节约用电模式分别是空闲模式和掉电保护模式。在空闲模式下,CPU 是不工作状态,但可以保持串口、RAM存储器、中断、定时器/计数器这些部分继续工作;在掉电保护模式下,RAM存储器的内容被保存下来,振荡器被冻结,单片机所有部分都不工作,直到下一个中断或者硬件复位出现方能启动工作。
P0口:P0.0—P0.7端口为8位双向的三态I/O口,分别连接LCD1602显示模块的D0-D7端口,为液晶显示器提供数据。
P1口:P1.0—P1.7端口为8位准双向I/O口,P1.0连接LCD1602显示模块的RS端口,P1.1连接LCD1602显示模块RW端口,P1.2连接LCD显示模块的E端口,P1.3连接DS1302芯片的SCLK端口,P1.4连接DS1302芯片的I/O口,P1.5连接DS1302芯片的RST端口。
P2口:P2.0—P2.7端口为8位准双向I/O口,单片机有外部存储器或I/O口扩展时,作为高8位地址线(A8-A15)使用,可以驱动4个TTL负载,在本设计中没有使用到P2口连接其他设备。
P3口:P3.0—P3.7端口为8位准双向I/O口,各个引脚具有第二功能,
P3.0—RxD,串行数据的输入端,既接收端。在本设计没有使用该端口。
P3.1—TxD,作为串行数据的输出端,就是发送端。在本设计没有使用该端口。
P3.2—INT0,作为外部中断0的中断请求信号输入端,在低电平或下降沿时有效,连接霍尔传感器,接收其传来的脉冲信号。
P3.3—INT1,作为外部中断1的中断请求信号输入端,在低电平或下降沿时有效,连接独立按键,作为“减键”在设置数据时起减少的作用。
P3.4—是定时器/计数器T0的输入端,输入外部计数信号,连接独立按键,作为“加键”在设置数字是起增加的作用。
P3.5—是定时器/计数器T1的输入端,输入外部计数信号,连接独立按键,作为“选择键”在设置各参数时起选择作用。
P3.6—WR,作为外部数据存储器和外部I/O口的写控制信号,输出有效电平时低电平,连接独立按键,作为“设置键”,在设置各项指标时起设定作用。
P3.7—RD,作为外部数据存储器和外部I/O口的读控制信号,输出
有效电平是低电平,连接蜂鸣器。
分别在制作完成的实物和Proteus仿真软件中对系统进行测试。由于制作条件的限制,实物中使用马达携带磁铁运动来模拟自行车轮的转动,其速度受硬件控制不能调节,通过改变车轮直径和超速警报值这两个变量,在相同的时间内运行系统,计算里程值与显示的里程值进行比较,以此来测试系统稳定性和准确性。在Proteus软件中,由于使用独立按键代替霍尔传感器,按键按下的操作由人为使用鼠标点击,速度很不稳定,通过改变车轮直径和超速警报值这两个变量,在相同的时间内运行系统,计算里程值与显示里程值进行比较,以此来测试系统的稳定性和准确性。
分别选取市面上比较常见的3款自行车轮径进行测试,分别是26寸、27寸、29寸,直径分别为660毫米、690毫米、730毫米。在系统中分三次设置这3个车轮的直径进行测试,规定系统运行时间为30秒。
在实物测试中,当轮径设置为660毫米时,计算得出30秒内运动的总里程为369,系统显示里程为371。当轮径设置为690毫米时,计算得出30秒内运动的总里程为375,系统显示里程为377。当轮径设置为730毫米时,计算得出30秒内运动的总里程为397,系统显示里程为399。
在Pro仿真软件中,尽量将点击控制在一定速度内取平均值进行计算,当轮径设置为660毫米时,计算得出30秒内运动的总里程为200米,系统显示里程为191米。当轮径设置为690毫米时,计算得出30秒内运动的总里程为250米,系统显示里程为239。当轮径设置为730毫米时,计算得出30秒内运动的总里程为275,系统显示里程为266。