好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机课程设计-数字显示称.doc

15页
  • 卖家[上传人]:gg****m
  • 文档编号:217417976
  • 上传时间:2021-12-02
  • 文档格式:DOC
  • 文档大小:743.11KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 题目:显称学院 计算机与信息学院 班级 电子信息科学与技术11-1姓名 刘伟杰 学号 201127991、用户需求数显称,根据“压力测量实验”的原理,能够检测并在数码管上显示出压力 传感器上的压力读数2、设计任务(目标、如何实现)设计一数显称:(1) 用NBCTFT彩屏显示压力传感器的数据包括压力值(N)和转化后的重量(Kg)(2) 可以进行初始压力的校准3、原理框图及说明根据设计任务,设计如下框图:电源部分,通过升压模块使用一节18650电池为单片机提供5V稳压电源;NBCTFT 彩屏作为主要显示设备,显示压力以及重量的具体数值,包括一个表盘实时显示重量:称 重传感器,采用电桥作为压力的传感器,输出模拟量到HX711; HX711,是一个24位精度 的ADC,这里采用商家提供的成品芯片hx711直接通过IIC协议读取ADC的数字量,并传 送到单片机;单片机模块,使用STC12C5A60S2芯片,此芯片工作在1T (12倍速)状态, 是普通的51单片机工作速度的12倍,适合作为界面的演示包括扫屏指针的更新等操作通 电后,彩屏进行初始化,各个变量定义以及初始化,随后开始传感器的开机校准,读収空载 重量作为初始值,后面的重量会以此作为基准开始计算,随后进行采集压力以及显示的重复 状态,并实时显示在彩屏上。

      根裾原理框阁,设计电路图如附件1.注:由于在仿真中找不到彩屏包括压力传感器的相关模型,故在proteus仿真中采用简 单模型代替,无法进行真实仿真 4、主要电路说明、元件选择及参数计算4.1复位与振荡电路复位电路如图2,由C5和R48构成由于stcl2c单片机为低电平复位,图示电路利用 电容的特性,在刚刚外加5V电源时RST脚的电压为低时间常数=RC=38mS,满足芯片复 位要求P4,RST段)由于电压为5V,可选择耐压6.3V的电解电容即可振荡电路按照说明书的推荐,选择12MHz晶体,C7、C8选择33pF瓷片电容4.2显示电路显示电路采用NBCTFT 3.2寸LED液晶触摸屏作为主要显示设备,此彩屏的色阶指数 为65536色,分辨率为320x240 (Pixel),屏幕的具体引脚说明如下:引脚号标识描述功能15V5V电源当5V供电时(1, 2脚接5V电源),3.3V端(33, 34脚输出3.3V电压)2GND接地GND3D04D15D26D37D48D5数据线D0-D159D610D711D812D913D1014D11 15D1216D1317D1418D1519CSLCD片选信号低电平选择LCD20RS指令/数据寄存 器选择RS = 1 :指令寄存器RS = O:数据寄存器21WR写动作WR = 0, RD = 122RD读动作WR = 1, RD = 023RESET芯片重启低电平重启芯片24NC25BLVCC5V 或 3.3V背光灯VCC26巳 LGND接地背光灯GND27BLCNT背光灯亮度调节可以使用PWM来控制背光灯亮度28TP_IRQ触摸面板中断检测到触摸面板有按下则为低电平29TP一CS触摸面板片选信 号低电平选择触摸而板30TP_SCK触摸而板SPI时 钟信号连接到SPI的SCK31TP_SI触摸面板SPI数 据输入连接到SPI的MOSI32TP_SO触摸面板SPI数 据输出连接到SPI的MISO333.3V+3.3电源当3.3V供电时(33, 34脚输入3.3V) 1,2脚悬空34GND接地NBCTFT^J5?520m2Orti于在此次课程设计中没有使用触摸屏的设定,故采用 的数据端为AD0-AD7,控制信号为S-指令/数裾,WR-写控 制,CS-使能,RST-复位,没有使用RD (读控制)信号, 因为不需要读取显示屏的内容。

      主板上一个稳压芯片 LM1117-3.3作用是把5V电压转换为3.3V,以符合单片机的 5V供电电压由于TFT屏提供了官方的库文件驱动程序, 故在主程序中只要按需调用相应程序便可实现初始化以及內 容的fflzn2科PO.OfACJOPO.IZ/SOIPOPO 3/AO PO 4ZACH P0.5ZXW po.oz^aoP2.I/A P22/A10 P2.3/A11 P2 4/A17 P2.5/A13 P2 ^/A14 P2.7ZA15P3.0/RXORP1374JS fai 534P0533$32na33匕Og / POI 5If图3、显示电路4.3压力传感器平行梁式称重传感器作用原理为将应变片黏贴到受力的力敏型弹性元件上,当弹性元 器件受力产生变形时,应变片产生相应的变化,进而使电阻阻值发生变化,由力引起的阻值 变化转换为电压的变化,通过测量输出电压的数值再通过AD数模转换即付得到压力位图5、压力传感器电路图4.4AD数模转换电路HX711采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D转换器芯片与同类型其它芯R相比,该芯片集成丫包括稳压电源、片内时钟振荡 器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

      降低了电子秤的整机成本,提高了整机的性能和可靠性 VSUPDVDDBASERATEAVDDXIVFBxoAGNDDOUTVBGPD SCKINNA(NNBINPAINPBHX711h.h.h.h.(2 7-5 5V) MCU VDD图6、HX711集成芯片电路图HX711芯片通过I2C协议与主机进行通讯,将压力传感器传过来的电压值(模拟量) 通过HX711转换为24bit的数字量,通过单片机的相应计算和转换得到相应的压力值和质 量值具体的HX711时序图如下:下-个较換周期1IOUTMSBTXTI.SBIM) SCKPl) SCKPD SCkTijTL_n_n_n:: ;ky>;FLFLFURFl_FlPI FI H下WttA> 增盆1284 下一次神換i暹道B,増番32FLJ^UFLJ7!pi pq pq pq 狐,阁7、HX7H芯片时序阉4.5报警电路因为买的压力传感器的最大承重为5KG,故在测量的时候不能过度放置重物,所以在 检测压力的时候要注意限制加以提示,故没计报警电路,在超过5kg时发出响声报警图8、报警电路图4.6电源电路电源采用可变升压模块,将一节3.7V的18650电池通过升压模诀升至稳定的5V,供单 片机以及其他外设使同时内部有稳压芯片,包括隔离电路,保护整个电路的稳定和安全 性。

      5、软件规划5.1软件划分及主流程图根据设计要求,采用NBCTFT彩屏显示主体数据,在开机时启动显示屏的初始化(包 括对学号和作者的名字显示,秤盘的表而、刻度、指针的初始化,重量以及压力的数字显示 初始化等),随后开始进行第一次系统的校准,获取一次压力作为校准值,随后进入大循环 开始不断采集压力传感器的数据,并在相应的数字值处显示,并且反映到秤盘的指针上,实 现实时的指针随着压力的变化而变化设计的全局变量:(1) AD转换值缓冲区,unsigned long hx71 l_temp;; (2)校准的数据缓冲区,unsigned intjiaozhun; (3)每次测重量时的缓冲区,unsigned int weight; (4)重量的真实返|ol到兄示屏 上的值,float tru_weight; (5)压力的数据缓冲区,float Presure; (6)秤盘上指针的位置前 后值寄存区,tempO,templ ;设计函数如下:(1) 主函数main()入口:无,出口:无维持程序运转2) 显示屏初始化void init(void)功能:开机时对显示屏进行初始化,包括秤盘面的指针以及刻度、数据、标示位 等进行初始化。

      入口 :无,出口 :无2) 对数掘进行校准void adjust(void )功能:开机时对传感器的数据进行第一次采集,获得的值作为后面的称量基准 入口:无,出口:无改动校准数据缓冲区jiaozhun3) 称重 void Get_Weight(void )功能:通过HX711对压力传感器获取的压力值进行处理,通过转换公式获得物体 重量以及压力大小入门:无,出门:无改变压力以及重量的数据缓冲区4) 将指定字符串(包括中英文)输出到指定位置void LCD_PutString(unsigned short x, unsigned short y, unsigned char *s, unsigned int fColor, unsigned int bColor)功能:根据x,y的值将字符串s打印到显示屏具体位置,并配置前而板色和背景色 入口:指定坐标x,y,指定字符串s,指定前、背景色fColor、bColor 出口:无5 在指定两点连线 void Line(uchar X0, uchar Y0, uchar XI,uchar Yl,unsigned int color); 功能:根据X0, Y0,XI,Yl在两点之间连线 入口:指定坐标(X0, Y0), (XI, Y1),指定线条颜色 出口 :无。

      6) 显示数字 void LCDShow_uCharNumber( int x,int y,float uCharNumber,unsigned int forecolor, unsigned int bkcolor);功能:在指定位置显示指定数字入口:指定坐标(x,y),指定数字前、背景色forecolor、bkcolor 出口:无7) 画圆 void draw_circle(int x, int y, int r, int color);功能:根据(x,y),r的大小在圆心画半径为r的圆 入口:指定坐标(x,y),半径r,指定线条颜色color 出口 :无8) 清屏 void CLR_Screen(unsigned int bColor);功能:将屏幕以指定颜色清屏入口:指定清屏颜色 出口 :无9) 读取 HX711 的 AD 转换值 unsigned long HX71 l_Read(void)功能:读取压力传感器的压力值经过ADC转换过后的数值,并将此值返回 入口:无出口: AD转换值缓冲区hx711_temp10) 系统延时 void delayms (unsigned int tt)功能:根据tt值延时相应毫秒入口:指定延时时间tt 出口 :无。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.