ARM芯片应用一例.doc

上传人:gs****r 文档编号:1596583 上传时间:2019-03-07 格式:DOC 页数:6 大小:53.50KB
下载 相关 举报
ARM芯片应用一例.doc_第1页
第1页 / 共6页
ARM芯片应用一例.doc_第2页
第2页 / 共6页
ARM芯片应用一例.doc_第3页
第3页 / 共6页
ARM芯片应用一例.doc_第4页
第4页 / 共6页
ARM芯片应用一例.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、ARM 芯片应用一例中图分类号:F870 文献标识码:A 文章编号:1009-914X(2015)13-0035-01 本单位是专业培训机构。在为学员提供培训的同时还要提供一些服务,如提供热水等。但由于学员人数不是固定的,学习时间也不定,所以原有设备只能提供满箱水位和固定温度,这样学员少时就造成了浪费。本嵌入式 ARM 应用就是通过总服务,根据学员人数具体要求通过总台 PC上位机控制提供合理的水温和水量. 一、系统的主要组成与功能 1 工作示意图(略) 其中控制器包含下位机、振荡电路、整流放大电路等。它的工作原理是当上位机决定水位后通过串口通信传给下位机并控制进水阀打开进水,同时接通电原加热。

2、当达到设定的水位,进水阀关闭,加热温度达到设定温度关断电原。这样循环工作就达到了设计要求。 2 振荡电路 振荡电路由 555 集成块组成间接反馈式多谐振荡电路,当电容 C1 进入充电过程时,它的充电电阻为 Ra+Rb,相应的充电时间常数为(Ra+Rb)C1,当电容 C1 进入放电过程时,它的放电电阻为 Rb,相应的放电时间常数为 RbC1。因比充、放电时间常数是不相等的。电路振荡频率的计算也跟着发生变化,由于电容充电与放电的通路不完全相同,因此振荡公式变成了: T1=0.693(Ra+Rb)Ca1 T2=0.693RbCa1 T=T1+T2=0.693(Ra+2Rb)C1 f=1.443/(R

3、a+2Rb)C1 当 Ra=10K、Rb=20K、C1=100P: f=2866k 用 SBT16 示波器实测为 100K。 3 整流放大电路 脉冲信号源经测量平板电容到 AA,经 D1、D2、C11、R1 及 R2 匹配电阻组成的整流电路,其中 D1、D2 为高频二极管、C11 为 0.1UF、R1 为10K。经整流过的信号加到运放 OP07 第二脚负输端并由反馈电阻 R3 决定放大倍数,其中 D3、D4 为保护管,R3 为反馈电阻 1M。 4 下位机 下位机采用 Samsung 公司的 ARM7,3SC44B0 芯片。 本设计主要使用 8 通道 10 位 ADC 中 AIN0、AIN1,两

4、通道.分别通过热敏元件和平板电容变化来测量电压变化,从而达到控制目的. 5 通信模块本通讯模块主要包括了电源、232 电平转换、485 电路三部分。本电路的 232 电平转换电路直接使用 MAX232 集成电路,485 电路采用了 MAX485 集成电路。 二、下位机程序 本下位机的程序是在 ADS1.2 集成开发境下编译的,并通过外购 JTAG程序下载器,并有生产厂商提供 Flash Programmmmer 下载软件和芯片S3C44b0 提供商提供配置文件(文件包). int main(void) /主程序 U8 H,C,i; int temp,temp1,temp2,temp3; int

5、 a0=0,a1=0,b0=0,b1=0; sysUtilsSetPllValue (24, 6, 1) ;/设置片内倍频器 IoConfig () ;/设置端口 ADC_Init() ;/模数转换初始化 console_init (115200) ;/设置端口波特率 while(1) a0 = Read_Adc(0) ;/ADC? 0 通道进行转换,返回转换的数据 a1 = Read_Adc(1) ;/ADC ? 1 通道进行转换,返回转换的数据 sysUtilsUSecDelay(2000) ; temp= a0; UartReceive(xh) ; temp1=xh; if(temp1=

6、temp) rPDATB=0x1FF /芯片 20 脚输出高电平控制进水阀开 if(temp1=temp2) rPDATB=0x0BF /芯片 19 脚输出高电平控制进水阀开 if(temp3temp2) rPDATB=0x03F /芯片 19 脚输出高电平控制进水阀并 b0=a0H; b1=a1; putch(b0) ; putch(b1) ; 三、上位机程序 MSComm1.Settings=“115200,N,8,1” 波特率 115200bit/s,无校验, 8 位数据,1 位停止位 MSComm1.CommPort=1?设定串口,1 为 com1 MSComm1.InBufferSi

7、ze=8?设置返回接收缓冲区的大小,以字符为单位 MSComm1.OutBufferSize=2 If MSComm1.PortOpen=True Then MSComm1.PortOpen=False关串口 MSComm1.RThreshold=4设置并返回产生 oncomm 事件的字符数, 以字符为单位,RThreshold?为 1,接收缓冲区收到每一个字符都会使 MSComm1 控件产生 OnComm 事件. MSComm1.SThreshold=1 MSComm1.InputLen=0设置从接收缓冲区读取的字数,为 0 读取整个缓冲区 MSComm1.InputMode=comInpu

8、tMode Text?以文本方式接收 If MSComm1.PortOpen=Fales Then MSComm1.PortOpen=True MSComm1.InBufferCount=0?清空接收区 Me.Caption=“水量.温度” ,双击窗体内的MSCoomm控件, 向Private Sub MSComm1- OnComm()函数中添加接牧数据代码. Private Sub MSComm1- OnComm() Dim rec As String Dim B As Variant Select Case MSComm1.CommEvent Case comEvREeceive rec=

9、 MSComm1.Input B=Right(rec,1) 截 rec 数据右边字符 If(B=C)Then Text1.Text=rec If(B=H)Then Text2.Text=rec MSComm1.InBufferCount=0 清空接收缓冲区 End Select,直接按5键运行程序.用通讯模块连接上位机和下位机. 参考文献 1单片计算机及其应用,白驹珩等编著,成都:电子科技大学出版社,1994 2ARM 嵌入式应用技术基础,刘凯,主编,清华大学出版社 3ARM 嵌入式应用技术应用,刘凯,编著,清华大学出版社 4ARM 嵌入式 C 编程标准教程,侯殿有,才华,编著,人民邮电出版社 5ARM 嵌入式系统软件开发实例() ,周立功等编著,北京航空航天大学出版社 6Visual Basic 串口通信及编程实例,张辉,李荣利,王和平,著,化学工业出版社 7Visual Basic 案例开发集锦.周峰等编著,电子工业出版社.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。