基于单片机的直流电压表的课程设计内容摘要:

9 电子信息工程单片机设计报告 21 第四章 软件电路设计 初始化程序 所谓初始化,是对将要用到的 51单片机内部部件或扩展芯片进行初始化工作状态设定。 初始化子程序的主要工作是设置定时器的 工作模式,初值预置,开中断和打开定时器等。 程序如下所示: TMOD=0x01。 //定时器 0,模式 1 TH0=TIME0H。 //定时器初值的高八位送入 TH0 TL0=TIME0L。 //定时器初值的低八位送入 TH0 TR0=1。 //启动定时器 ET0=1。 //开定时器中断 EA=1。 //开总中断 A/D转换程序 A/D转换程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其中流程图如图: 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 22 运用 LCD1602 进行驱动显示,程序模块包括 LCD 初始化、 1 个字符子程序、 1 个命令子程序、 1 个数据子程序、 1 个数据子程序以及组字符写入 LCD 进行驱动显示;模式设置为: 8 位 2 行 5*7 点阵,控制指令如图下图,按照指令进行编写程序,驱动 LCD1602. 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 23 按键调节程序 为实现设置最低电压阈值,低于该值则系统报警功能,系统设置 3 个功能键,即: K1— 设置键、 K2— 数字加键、 K3— 数字减键。 通过对数字加键或数字减键操作,可以对设定上限或下限电压每次操作增加或减小 度;通过 K1 的操作次序确定当前的显示和校正内容,由S2 和 S3 进行校正,并且可以一位位进行 调节并不影响临近数值,稳定 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 24 第五章 个人负责模块 最小系统,报警程序设计 晶振电路及功能介绍 U130p FU230p FX1CRY STA L 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 单片机晶振的作用是为系统提供基本的时钟信号。 通常一个系统共用一个晶振,便于各部分保持同步。 有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。 如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 我们采用的晶振是 12M 的石英晶振,经过两个磁片电容后分别接入 XTAL XTAL2 脚,使用单片机的内部晶振电路。 12M 晶振为单片机提供 1uS 的机器周期。 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 25 按键复位电路 C4E L E C T R O 2R110KR210KS1SW P BV C C 单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。 89 系列单片机的复位信号是从 RST 引脚输入到芯片内的施密特触发器中的。 当系统处于正常工作 状态时,且振荡器稳定后,如果 RST 引脚上有一个高电平并维持2 个机器周期 (24 个振荡周期 )以上,则 CPU 就可以响应并将系统复位。 单片机系统的复位方式有:手动按钮复位和上电复位。 上电复位 AT89S51 的上电复位电路,只要在 RST 复位输入 引脚 上接一电容至 Vcc 端,下接一个电阻到地即可。 对于 CMOS 型单片机,由于在 RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。 上电复位的工作过程是在加电时,复位电路通过电 容加给RST 端一个短暂的高电平信号,此高电平信号随着 Vcc 对电容的充电过程而逐渐回落,即 RST 端的高电平持续时间取决于电容的充电时间。 为了保证系统能够可靠地复位, RST 端的高电平信号必须维持足够长的时间。 上电时, Vcc 的上升时间约为 10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为 10MHz,起振时间为 1ms;晶振频广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 26 率为 1MHz,起振时间则为 10ms。 在图 2 的复位电路中,当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V 以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。 另外,在复 位期间,端口 引脚 处于随机状态,复位后,系统将端口置为全 “l” 态。 如果系统在上电时得不到有效的复位,则程序计数器 PC 将得不到一个合适的初值,因此, CPU 可能会从一个未被定义的位置开始执行程序 按键位 手动按钮复位需要人为在复位输入端 RST 上加入高电平。 一般采用的办法是在 RST 端和正电源 Vcc 之间接一个按钮。 当人为按下按钮时,则 Vcc 的 +5V 电平就会直接加到 RST 端。 手动按钮复位的电路如所示。 由于人的动作再快也会使按钮保持接通 达数十毫秒,所以,完全能够满足复位的时间要求。 在设计中,我们采用按键复位, 在电路图中,电容的的大小是10uF,电阻的大小是 10k。 所以根据公式,可以算出电容充电到电源电压的 倍(单片机的电源是 5V,所以充电到 倍即为 ),需要的 时间 是 10K*10UF=。 在单片机启动 后,电容 C 两端的电压持续充电为 5V,这是时候 10K 电阻两端的电压接近于 0V, RST处于低电平所以系统正常工作。 当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容 开始释放之前充的电量。 随着时间的推移,电容的电压在 内,从 5V 释放到变为了 ,甚至更小。 根据串联电路电压为各处之和,这个时候 10K 电阻两端的电压为 ,甚至更大,广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 27 所以 RST 引脚又接收到高电平。 单片机系统自动复位。 报警程序设计 的驱动程序编写及详细分析 void vShowVoltage (uint uiNumber,uchar cNumber[]) { uchar ucaNumber[3]。 uchar ucCount。 if((uiNumber255)amp。 amp。 (uiNumber0)) { ucaNumber[0]=cNumber[0]。 ucaNumber[1]=cNumber[1]。 ucaNumber[2]=cNumber[2]。 for(ucCount=0。 ucCount3。 ucCount++) { Show_1_Char(ucaNumber[ucCount]+48)。 if(ucCount==0) Show_1_Char(39。 .39。 )。 } } else {Show_Char()。 } 适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 0~5V之间。 芯片转换时间仅为 32μS ,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使多器件挂接和处理器控制变广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 28 的更加方便。 通过 DI 数据输入端,可以轻易的实现通道功能的选择 . AD0832的工作原理 ADC0832 的特点 8 位分辨率;双通道 A/D 转换; 输入输出电平与 TTL/CMOS 相兼容; 5V 电源供电时输入电压在 0~5V 之间; 工作频率为 250KHZ,转换时间为 32μ S; 一般功耗仅为 15mW; 8P、 14P— DIP(双列直插)、PICC 多种封装; 商用级芯片温宽为 0176。 C to +70176。 C,工业级芯片温宽为 −40176。 C to +85176。 C; ADC0832 的优点 ADC0832A/D 转换芯片 0—— 255 级,可以适应一般的模拟量转换要求其内部电源输入与参考电压的复用,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 通过 DI 数据输入端,可以轻易的实现通道功能的选 择。 ADC0832 的工作模式 只用一通道 DO 端与 DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。 ADC0832 的工作时序 当 ADC0832 未工作时其 CS输入端应为高电平,此时芯片禁用, CLK和 DO/DI 的电平可任意。 当要进行 A/D 转换时,须先将 CS 使能端广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 29 置于低电平并 且保持低电平直到转换完全结束。 此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲, DO/DI 端则使用 DI 端输入通道功能选择的数据信号 . 2 位数据为 1,0 时,只对 CH0 进行单通道转换 (本程序用通道 0) 为 1,1 时,只对 CH1 进行单通道转换 ; 为 0,0 时,将 CH0 作为正输入端 IN+, CH1 作为负输入端 IN进行输入 ; 为 0,1 时,将 CH0 作为负输入端 IN, CH1 作为正输入端 IN+进行输入。 从第 4 个脉冲下沉开始由 DO 端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。 直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。 也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATD0。 随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。 0832 的工作时序图 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 广西师范大学职业技术师范学院 09 电子信息工程单片机设计报告 30 0832 的驱动程序编写及详细分析 单片机串行口方式 0 与 ADC0832 的接口 ,单片机 P2^5接 ADC0832的 CS, TXD (接 0832的 CLK)作为时钟信号输出端 , RXD (接 0832的 DO和 D I)作为启动位、配置位的发送端以及 A /D转换后输出数据的接收端。 由于 ADC0832在 CS变低后的前 3个周期内 ,DO端为高阻态。 转换开始后 ,D I线禁止 ,因此 ,D I端和 DO端可连接在一起 .ADC0832的时钟频率最高为 400kHz,单片机晶振可选用 4MHz,在 TXD的输出频率为 4MHz/12 = 333. 3kHz,符合要求。 ADC0832输出的串行数据共 15位 ,由两段 8位 数据组成 ,前一段是最高位在先 ,后一段是最高在后 ,两段数据的最低位共用。 只有在时钟的下降沿 ,ADC0832的串行数据才移出一位。 由单片机控制时钟信号的发送 , 并由 TXD 发出 , 以达到控制 ADC0832输出数据位的目的。 为了得到一列完整的 8位数据 ,单片机分两次采集含有不同位的数据 ,再合成一列完整的 8位数据 .由上面的 0832的工作时序,及硬件设计编写了下面的 0832的驱动程。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。