单单片片机机课课程程设设计计

三、系统总体方案我选用的是单片机(8052)来实现电子万年历的功能。2、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。

P3.0~P3.7P2端口8位双向端口线(在引脚10~17端子上)。 8052芯片引脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口是一个 8 位开漏双向 I/O 口,每个引脚可吸收 8TTL 栅极电流。 当第一次向P1端口引脚写入1时,定义为高阻输入。 P0可用于外部河南工业大学本科课程设计报告2程序数据存储器,可定义为数据/地址的第八位。 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栅极电流。 当“1”写入P2端口时,其引脚被内部上拉。 上拉电阻拉高,作为输入。 因此,当用作输入时,P2端口引脚被外部拉低,输出电流。 这是由于内部上拉所致。 当端口P2用于访问外部程序存储器或16位地址外部数据存储器时,端口P2输出地址的高八位。

当给出地址“1”时,它利用内部上拉。 当读写外部八位地址数据存储器时,P2口输出其特殊功能寄存器的内容。 P2口接收FLASH编程和验证时的高八位地址信号和控制信号。 P3端口:P3端口引脚是8个双向I/O端口,内部有上拉电阻,可以接收和输出4路TTL栅极电流。 当向P3端口写入“1”时,它们被内部上拉至高电平并用作输入。 作为输入时,由于外部下拉为低电平,端口 P3 将因上拉而输出电流(ILL)。 端口 P3 还可以用作 AT89C51 的一些特殊功能端口,如表 1 所示: 端口引脚替代功能 P3.0RXD 串行输入端口 P3.1TXD 串行输出端口 P3.2/INT0 外部中断 0P3.3/INT1 外部中断1P3.4T0 定时器 0 外部输入 P3.5T1 定时器 1 外部输入 P3.6/WR 外部数据存储器写选通 P3.7/RD 外部数据存储器读选通 表 1 特殊功能端口 P3 端口 同时接收一些用于 Flash 编程和控制的控制信号程序验证。 RST:复位输入。 当振荡器复位器件时,RST 引脚必须保持高电平两个机器周期。 河南科技大学本科课程设计报告3ALE/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:反相振荡器的输出。 3、系统整体规划,我选择了单片机(8052)来实现电子万年历的功能。 它有两个功能:(1)显示年、月、日、分秒信息(2)具有可调日期和时间功能。 这款电子万年历能够成功实现时钟运行和调校功能,调试一天后精度在2秒以内。

1、在微处理器的设计过程中,我使用了12MHZ的晶振来连接单片机8052,通过软件编程,实现了24小时循环同时显示时、分、秒的要求。 定时器闹钟有九个按钮。 具有时间调整、定时功能。 利用单片机定时器和计数器产生定时效果,通过编程形成数字时钟效果,然后利用数码管动态扫描并显示单片机内部处理的数据。 同时通过端口读取当前外控状态,改变程序的不同状态,实现不同的功能。 PROTEUS软件环境下的8052芯片如图4所示:河南工业大学本科课程设计报告4 图4 PROTEUS软件环境下的8052芯片2显示电路 至于时钟,通常可以采用液晶显示器或数码管显示器。 由于一般分段液晶屏需要专门的驱动电路,且作为无源显示器,液晶显示器的可视性相对较差; 对于带有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般采用并行接口,这对微处理器的接口要求较高,占用大量资源。 另外,89C2051本身没有专用的LCD驱动接口。 因此,本设计采用点阵数码管显示。 点阵数码管由八行八列发光二极管组成,更适合显示文字。 初始化时,软件编写的指令重点是设置显示功能。 LGM12641BS1R 的指令可以带一个、两个参数或不带参数。

如果指令中含有参数,则执行每条指令时必须先输入参数,再输入指令代码。 由于状态位具有不同的功能,因此在执行不同的指令时必须检测不同的状态位。 液晶显示模块LGM12641BS1R如图5所示: 河南工业大学本科课程设计报告5 图5所示电路为LGM12641BS1R3按键电路。 由于我设计的是电子万年历,需要实现多种功能的显示,并且能够切换显示以及调整年月。 因此,在设计过程中,按钮的设计就显得尤为重要。 在设计过程中,我一共使用了4个按钮,试图在狭小的空间内实现最多的功能。 MODE键为年、月、日、时间显示切换键。 按一次可以改变显示位置。 在调整显示环境下,UP、DONW 键是加1、减1 显示调整位置的键。 FUNCTION键实现清零,提高万年历显示的准确性。 关键电路如图6所示: 河南工业大学本科课程设计报告6 图6 关键电路 四、硬件电路总体框图设计 所设计的硬件电路总体框图如图7所示: 图7 总体框图框图 5 硬件电路 本万年历的原理图设计是以单片机8052为核心完成的。 硬件电路中,P0口作为6位液晶显示电路的驱动接口。 这是因为P0口输出驱动电路工作在漏极开路状态,驱动能力较强。 因此,只需外接上拉电阻即可点亮LED数码管。 点亮。 由于共阴LED数码管的驱动电流是分开的,所以单片机进行动态扫描时,它们之间的电流不会相互影响。 因此,本电路中的8位LED数码管均采用共阳共阴数码管。

8位LED数码管的位选择线由对应的P2.0~P2.5控制,对应的段选择线并联由一个8位I/O口控制,即P0港口。 P3端口连接八个时间调整按钮,成功实现万年历时间调整功能。 电路原理图如图8所示:CPU按键及按键电路复位等辅助电路液晶显示电路整体开关电源系统河南工业大学本科课程设计报告7图8硬件电路六、主程序流程图设计主程序流程图本设计的程序流程图如图9所示: 图9主程序流程图 CPU初始化 定时器0 初始化定时器1 初始化 串口初始化 显示待机指示灯 设置月份 设置年份显示 刷新启动 行程时间变量初始化 刷新显示 判断时间和分钟变化? 第二个指示判断是否达到1秒? 时代显示 时间显示 星期显示 YYYY 河南科技大学本科课程设计报告 8 基本显示模块设计的重点是从显示码中获取对应的段码,并将显示段码数据串行发送。 程序流程如图1-11所示。 小时个位的段码必须加小数点,即小时个位显示带小数点。 目的是用小数点字符代替时间分隔符“-”。 软件秒脉冲发生器的本质是利用定时器0的定时器溢出中断,如果设置为100ms溢出中断,那么10个中断的时间正好是1s。 将时间参数设计为100ms有两个原因: 1)根据系统时钟主频为6M的特点,16位定时器最大计时时间为65536×2M(M为机器周期,这里为2μS),即131ms,取整数100,方便计数; 2)如果太短,如10ms,定时器会频繁中断,干扰系统的正常运行。

采用秒脉冲发生器,10次中断为1s,秒指示灯闪烁一次,秒变量单位增加1,60分钟后,分变量单位增加1。如果是60分钟,小时变量单位增加1. 当任何变量改变时,显示被刷新(更新)。 将上述思路的实现集成到定时器0的中断子程序中。设计显示模块流程图如图10所示: 图10 基本显示模块程序流程图 7.仿真过程 1.仿真:打开WAVE6000,输入编写好的程序源程序并编译程序,并借助软件检查纠正错误,反复修正,直到知道编译正确后运行。 确保没有错误,然后保存正确的源程序。 保存时命名,以便以后加载程序时方便找到。 2、打开PROTEUS软件,绘制单片机电子万年历的具体操作电路图。 将十六进制小时和分钟数据转换为BCD显示码。 关闭显示器以避免显示抖动。 将小时和十位段码通过串口发送到对应的LS164。 将小时和单位段代码发送到相应的LS164。 将十位和个位段代码发送到相应的LS164。 输入对应的LS164打开显示河南工业大学本科课程设计报告93。检查绘制的电路运行图,确保没有错误,然后用WAVE6000下的源程序加载PROTEUS下的原理图。 4、加载完成后,点击电路图框下方的开始按钮进行仿真,观察LED数码管的实际情况。 此时,LED数码管开始显示数字。 调节开关即可调节时间。

当显示的秒间隔比实际间隔快或慢时,调整石英晶振的频率参数,使秒间隔达到标准。 然后检查电路的其他问题并调整其参数使其正确。 8、仿真结果通过在WAVE6000下编译源程序,纠正了其中的很多错误,然后运行,保证了源程序的正确性。 然后根据原理图选择正确合理的电气元件,画出正确的电路图,加载源程序并运行,成功实现单片机数字电子“时”“分”“秒”的显示钟。 电子万年历的显示效果和电子万年历时间日期的调整效果分别如图12和图13所示: 图12 电子万年历的操作效果河南科技大学本科课程设计报告10图13 电子万年历时间日期的调整效果 9.课程设计心得 通过这周的课程设计,我学到了很多知识。 补充和强化了以前没有学过的模拟电路知识。 这让我受益匪浅。 它加深了我对微控制器和数字电路的理解。 我相信在以后的学习和工作中我会对这些基本的组成部分更加得心应手。 通过查阅大量的资料,我学到了以前在课堂上学不到的东西。 我想这对我以后的毕业设计或者工作都会有很大的帮助。 我认真对待这个过程的每一个细节,希望自己能做得更好。 希望以后还有这样的机会,让我学到更多的知识。 在这次数字时钟设计过程中,我更加熟悉了芯片的结构,掌握了每个芯片的工作原理和具体使用方法。

在连接十六进制、十进制、十六进制进位和十二进制时,要求熟悉逻辑电路和各个芯片引脚的功能,这样当电路出现错误时,可以准确地找出错误并纠正。及时。 。 在设计电路时,通常先进行仿真,然后连接到物理图。 然而,有时仿真和电路连接并不完全一致。 例如,在模拟连接图中,16或14脚往往不接高电平和低电平。 它有扁平的7针或8针引脚,因此在实际电路连接中经常容易漏接。 所设计电路连接图出现错误的主要原因是接线与芯片接触不良以及接线错误。对此设计的建议:河南工业大学本科课程设计报告11 本电子万年历设计侧重于仿真和接口

单片机

都很美呀!来看看亲手种出的桃花源吧!

2024-2-1 6:03:14

单片机

西门子PLC培训-可编程序控制器的工作原理和PLC

2024-2-1 7:03:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索