单片机电子秤重量检测与显示设计说明.docx
- 文档编号:26494926
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:49
- 大小:247KB
单片机电子秤重量检测与显示设计说明.docx
《单片机电子秤重量检测与显示设计说明.docx》由会员分享,可在线阅读,更多相关《单片机电子秤重量检测与显示设计说明.docx(49页珍藏版)》请在冰豆网上搜索。
单片机电子秤重量检测与显示设计说明
第一章微控制器应用系统综合设计的目的意义
1.1设计目的
通过课程设计进一步锻炼同学们在微型计算机应用方面的实际工作能力。
计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:
掌握这方面的知识更要强调解决实际问题的能力。
同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。
本实验是设计单片机重量检测与显示电路,对5种以上不同单价的商品进行键盘参数设置,称量,计价和显示。
这个课题与我们现实生活联系密切,具有很大的实际用途。
做好本实验对我们今后学习和生活具有重要意义。
1.2课程在教学计划中的地位和作用
《微控制器应用系统综合设计》课程是测控技术专业本科生必修的一门技术基础课程。
通过该课程的学习使学生对单片机有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
为了使我们微机应用课程设计目标更明确,要求更具体,学生收获更大,我们特编写课程设计任务书,学生可根据本人的爱好任选其中一个课题,要求独立完成课题,写出课程设计说明书,设计出电路原理图,说明工作原理,画出电路板图,编写程序及程序流程图。
希望同学认真阅读本任务书,认真查阅资料与上机调试,圆满完成课程设计。
第二章电子计价称软硬件设计任务
2.1设计容及要求
设计单片机称重测量检测,处理与显示电路,对五种不同单价的商品进行键盘参数设置,称量,计价和显示。
由A/D0809把输入的0—5V的电压转换,当电压为5V时,对应的重量为500克,进行数值转换,并在LCD液晶显示器上显示商品的克数,程序设置了五种不同单价的商品,由键盘输入0—4显示不同商品的单价,并显示总的价钱,显示三位数。
2.2课程设计的要求
1.利用现有的硬件电路,构成单片机称重检测,处理与显示系统。
2.编写程序,实现称量和计价显示的功能。
3.设计出原理图,说明工作原理,画出程序流程图。
第三章总体设计方案
3.1设计思想
实验需要设计一个系统可以对5种以上不同的商品进行键盘参数设置,称量,计价和显示。
可以把系统分为以下几个模块,分别进行编写程序,调试。
(1)8279可编程键盘,输入0—4时,通过比较键值,使程序跳到不同的子程序,在子程序中进行A/D采样,设定单价,经过数值转换与乘法程序,将重量和价钱转换成十进制数,调用显示程序。
执行完返回判断有无键按下。
(2)A/D采样部分,给A/D0通道输入一个0---5V的电压,将转换成0—FF输出,对应0—500G,把A/D采样值存入部寄存器51H中,经过数值转换成十进制数,调用LCD显示程序显示。
当质量大于500克时,转到报警程序。
(3)LCD液晶显示,分三个区分别显示单价,重量,价钱,并且都分为三位显示。
(4)实验中还需要用到双字节与单字节乘法及十六进制转十进制报警等子程序。
图3.1硬件系统结构图
第四章硬件设计
4.1硬件设计概要
本次设计主要用到的芯片有8088、ADC0809模数转换器、可编程键盘显示8279、LCD液晶显示共同完成这个课题。
A/D实现数据的采集和转换,可编程键盘显示8279实现键盘输入编号显示不同商品的单价,LCD液晶显示器显示单价,重量以及三位价钱。
8088实现各个芯片之间的连接。
4.2所用到的芯片及其各自功能说明
4.2.1芯片列表
AT89C528位单片机
ADC0809模数转换器
可编程键盘显示8279
LCD液晶器
4.2.2AT89C528位单片机
AT89C52是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。
4.2.3ADC0809的功能简介
ADC0809是8位逐次逼近式单片A/D转换芯片,可对8路0~5V的输入模拟电压信号分时进行转换。
它部包括8路模拟开关,以及地址锁存译码器,有三条地址输入线。
该芯片还有便于和微机数据总线相连的三台输出锁存器。
ADC0809的部结构为:
ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存译码器、比较器、8位开关树型A/D转换器、逐次
逼近寄存器、三态输出锁存器等其他一些电路组成。
其部原理图如下:
图4.1
ADC0809芯片管脚功能如下:
IN0~IN7:
8路模拟量输入通道。
ADDA~ADDC:
地址线用于选择模拟量输入通道。
ALE:
地址锁存允许信号。
START:
转换启动信。
D0~D7:
数据输线 。
OE:
输出允许信号,低电平允许转换结果输出。
EOC:
A/D转换结束信号,当转换结束时,此端口输出一个高电平。
CLOCK:
时钟信号输入引脚,通常使用500KHz。
EOC:
转换结束信号,为0代表正在转换,1代表转换结束。
REF(-)、REF(+):
基准电压。
Vcc:
+5V电压。
GND:
接地。
ADC0809的管脚图如下:
图4.2
4.2.4可编程键盘显示8279
8279是可编程的键盘,显示接口芯片.它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛.8279部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器.该芯片能自动消抖并具有双键锁定保护功能.
(1)数据线
DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令.
(2)地址线
/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片数据地址,故8279芯片占用2个端口地址.
(3)控制线
CLK:
8279的时钟输入线.
IRQ:
中断请求输出线,高电平有效.
/RD,/WR:
读,写输入控制线.
SL0---SL3:
扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线.
RL0---RL7:
回复输入线,它们是键盘或传感器矩阵的信号输入线.
SHIFT:
来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的
状态,该位状态控制键盘上/下档功能.在传感器方式和选通方式中,该引脚无用.
CNTL/S:
控制/选通输入线,高电平有效.键盘方式时,键盘数据最高位(D7)的信号输
入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数
据存入FIFORAM中.
OUTA0---OUTA3:
通常作为显示信号的高4位输出线.
OUTB0---OUTB3:
通常作为显示信号的低4位输出线.
/BD:
显示熄灭输出线,低电平有效.当/BD=0时将显示全熄灭.
图4.38279引脚及引线功能
4.2.5LCD液晶器
T6963C液晶显示控制器多用于中小规模的液晶显示器件,常被装配在图形液晶显示模块上,以藏控制器型图形液晶显示模块的形式出现。
一、T6963C的特点
(1)T6963C是点阵式液晶图形显示控制器,它能直接与80系列的8位微处理器接口;
(2)T6963C的字符字体可由硬件或软件设置,其字体有4种:
5×8、6×8、7×8、8×8;
(3)T6963C的占空比可从1/16到1/128;
(4)T6963C可以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等;
(5)T6963C具有部字符发生器CGROM,共有128个字符,T6963C可管理64K显示缓冲区及字符发生器CGRAM。
并允许MPU随时访问显示缓冲区,甚至可以进行位操作。
二、T6963C的引脚说明及其功能
T6963C的QFP封装共有67个引脚(见图三),各引脚说明如下:
(1)D0--D7:
T6963C与MPU接口的数据总线,三态;
(2)/RD,/WR:
读、写选通信号,低电平有效,输入信号;
(3)/CE:
T6963C的片选信号,低电平有效;
(4)C/D:
通道选择信号,1为指令通道,0为数据通道;
(5)/RESET,/HALT:
/RESET为低电平有效的复位信号,它将行、列计数器和显示寄存器清零,关显示;/HALT具有/RESET的基本功能,还将中止部时钟振荡器的工作;
以上引脚为T6963C与MPU接口的引脚。
图4.4T6963C管脚外形图
(6)DUAL,SDSEL:
DUAL=1为单屏结构,DUAL=0为双屏结构;
SDSEL=0为一位串行数据传输方式,SDSEL=1为二位并行数据传输方式;
(7)MD2,MD3:
设置显示窗口长度,从而确定了列数据传输个数的最大值,其组合逻辑关系如下:
表4.1
MD3
1
1
0
0
MD2
1
0
1
0
每行字符数
32
40
64
80
当DUAL=0时,以上设置中的字符行和总行数增至原来的2倍,其它都不变,这种情况下的液晶屏结构为双屏结构;
(9)FS1,FS0:
显示字符的字体选择
表4.2
FS1
1
1
0
0
FS0
1
0
1
0
字体
5×8
6×8
7×8
8×8
(10)XI,XO:
振荡时钟引脚;
(11)ad0-ad15:
输出信号,显示缓冲区16位地址总线;
(12)d0-d7:
三态,显示缓冲区8位数据总线;
(13)r/w:
输出,显示缓冲区读、写控制信号;
(14)/ce:
输出,显示缓冲区片选信号,低电平有效;
(15)/ce0,/ce1:
输出,DUAL=1时的存储器片选信号;
(16)T1,T2,CH,CH2:
用来检测T6963C工作使用情况,T1,T2作为测试信号输入端,CH,CH2作为输出端;
(17)HOD,HSCP,ED,LP,CDATA,FR为T6963C驱动部信号
连线
AD0809接线:
1.把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。
2.0809的CLK插孔与分频输出端T4相连。
3.把VREF端接到为+5V。
4.连好74LS02
5.将A/D区D0-D7用排线与BUS1区XD0-XD7相连。
扩展键盘接线:
1.将DVCC实验系统上J8插座与键盘显示板用扁平电缆相连。
2.将KEY区D0—D7用8芯排线连到BUS2区XD0—XD7上。
3.将KEY区WR、RD、ALE分别连到BUS3区XWR、XRD、ALE上。
4.KEY区A0连到BUS1区XA0上。
5.KEY区RST连到MP区SP上。
6.KEY区KCS连到SELET区的Y3上。
LCD液晶显示器连线:
1.液晶板C/D连主机XA0,液晶板/CS连主机Y0
2.液晶板D0---D7连主机XD0---XD7
3.液晶板/RESET连主机/RST,液晶板/WR连主机XWR,液晶板/RD连主机XRD
4.液晶板FS接地。
第五章软件设计
5.1流程图及其说明
图5.1主程序流程图
图5.2乘法及数值转换子程序
图5.3LCD液晶显示子程序
5.2源程序及其说明
ORG0000H
DAT1EQU30H;第一参数存放地址
DAT2EQU31H;第二参数存放地址/数据存放地址
COMEQU32H;指令代码存放地址
C_ADDEQU8001H;指令通道地址(片选Y1端口地址8000H开始)
D_ADDEQU8000H;数据通道地址
S_ADD_HEQU33H;LCD显示指针地址高位
S_ADD_LEQU34H;LCD显示指针地址低位
S_ADD_HFEQU35H;LCD显示指针地址高位备份
S_ADD_LFEQU36H;LCD显示指针地址低位备份
SEL_FONTEQU37H;LCD字体选者,16X16则为#16H,8X16则为#8H
WORD_NUMEQU38H;已经显示的字数
ATTREQU39H;字符属性码(低四位有效)
CODEDEQU40H;字符代码
CGR_NUMEQU41H;CGRAM显示程序显示的字数
HA7S:
MOVSP,#60H
MOVDPTR,#0B001H
MOVA,#00H
MOVXDPTR,A
MOVA,#32H
MOVXDPTR,A
MOVA,#0DFH
MOVXDPTR,A
HA7S1MOVXA,DPTR
JBACC.7,HA7S1
MOVDPTR,#0B000H
MOVA,#0C8H
MOVXDPTR,A
INCDPTR
MOVA,#80H
MOVXDPTR,A
HA7S2:
MOV42H,#80H
MOV43H,#40H
HA7S3:
MOVDPTR,#0B001H
MOVXA,DPTR
ANLA,#07H
CJNEA,#00H,HA7S4
AJMPHA7S3
HA7S4:
MOVDPTR,#0B000H
MOVXA,DPTR
MOVB,A
MOVR1,#00H
MOVDPTR,#KEYTAB
HA7S5:
MOVA,#00H
MOVCA,A+DPTR
CJNEA,B,HA7S6
AJMPHA7SA
HA7S6:
INCDPTR
INCR1
MOVA,R1
JNBACC.2,HA7S5
AJMPHA7S2
HA7SA:
CJNEA,#0C1H,L1
MOVA,42H
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R1
MOVR0,43H
MOVR0,A
INC43H
MOVDPTR,#CDATA
MOVCA,A+DPTR
MOVDPTR,#0B000H
MOVXDPTR,A
LJMPLOOP0
L1:
CJNEA,#0C8H,L2
MOVA,42H
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R1
MOVR0,43H
MOVR0,A
INC43H
MOVDPTR,#CDATA
MOVCA,A+DPTR
MOVDPTR,#0B000H
MOVXDPTR,A
LJMPLOOP1
L2:
CJNEA,#0C9H,L3
MOVA,42H
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R1
MOVR0,43H
MOVR0,A
INC43H
MOVDPTR,#CDATA
MOVCA,A+DPTR
MOVDPTR,#0B000H
MOVXDPTR,A
LJMPLOOP2
L3:
CJNEA,#0D0H,L4
MOVA,42H
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R1
MOVR0,43H
MOVR0,A
INC43H
MOVDPTR,#CDATA
MOVCA,A+DPTR
MOVDPTR,#0B000H
MOVXDPTR,A
LJMPLOOP3
L4:
CJNEA,#0D8H,L5
MOVA,42H
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R1
MOVR0,43H
MOVR0,A
INC43H
MOVDPTR,#CDATA
MOVCA,A+DPTR
MOVDPTR,#0B000H
MOVXDPTR,A
LJMPLOOP4
L5:
LJMPHA7S
KEYTAB:
DB0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H
DB0DAH,0C3H,0CBH,0D2H,0D3H,0DBH
CDATA:
DB0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H
DB6CH,1AH,68H,0E8H
LOOP0:
MOVA,#00H
MOVDPTR,#9000H;A/D通道Y1
MOVXDPTR,A
MOVR7,#0FFH
H55S:
DJNZR7,H55S
MOVXA,DPTR
MOV51H,A
LCALLCOMP
LCALLDMUL
LCALLCONT2
LCALLMAIN
MOVR5,#0CH
PP0:
MOVR4,#12H
LCALLDDMUL
LCALLCONT0
LJMPMAIN;显示
LJMPXIAN1
LOOP1:
MOVA,#00H
MOVDPTR,#9000H;A/D通道Y1
MOVXDPTR,A
MOVR7,#0FFH
H55S1:
DJNZR7,H55S1
MOVXA,DPTR
MOV51H,A
LCALLCOMP
LCALLDMUL
LCALLCONT2
LCALLMAIN
MOVR5,#9FH
PP1:
MOVR4,#0FH
LCALLDDMUL
LCALLCONT0
LJMPMAIN
LJMPXIAN1
LOOP2:
MOVA,#00H
MOVDPTR,#9000H;A/D通道Y1
MOVXDPTR,A
MOVR7,#0FFH
H55S2:
DJNZR7,H55S2
MOVXA,DPTR
MOV51H,A
LCALLCOMP
LCALLDMUL
LCALLCONT2
LCALLMAIN
MOVR5,#4AH
PP2:
MOVR4,#0CH
LCALLDDMUL
LCALLCONT0
LJMPMAIN
LJMPXIAN1
LOOP3:
MOVA,#00H
MOVDPTR,#9000H;A/D通道Y1
MOVXDPTR,A
MOVR7,#0FFH
H55S3:
DJNZR7,H55S3
MOVXA,DPTR
MOV51H,A
LCALLCOMP
LCALLDMUL
LCALLCONT2
LCALLMAIN
MOVR5,#0BH
PP3:
MOVR4,#08H
LCALLDDMUL
LCALLCONT0
LJMPMAIN
LJMPXIAN1
LOOP4:
MOVA,#00H
MOVDPTR,#9000H;A/D通道Y1
MOVXDPTR,A
MOVR7,#0FFH
H55S4:
DJNZR7,H55S4
MOVXA,DPTR
MOV51H,A
LCALLCOMP
LCALLDMUL
LCALLCONT2
LCALLMAIN
MOVR5,#99H
PP4:
MOVR4,#05H
LCALLDDMUL
LCALLCONT0
LJMPMAIN
LJMPXIAN1
XIAN1:
MOVR6,#80H
DISPC1:
MOVA,r6
MOVDPTR,#0B001H
MOVXDPTR,A
MOVA,R5
MOVDPTR,#0B000H
MOVXDPTR,A
MOVR2,#20H
LCALLDELAY4
MOVA,#0FFH
MOVXDPTR,A;关显示
INCR6
LJMPha7s2
dELAY4:
PUSH02H
DELAY5:
PUSH02H
DELAY6:
PUSH02H
DELAY7:
DJNZR2,DELAY7
POP02H
DJNZR2,DELAY6
POP02H
DJNZR2,DELAY5
POP02H
DJNZR2,DELAY4
RET
;/////////////128X64液晶显示程序//////////////////
MAIN:
MOVSP,#60H
LCALLINT_LCD;液晶初始化
MOVWORD_NUM,#00H;实现字数清零
LCALLCLEAR;清屏
;-----------------------------显示方式一
;在第一区显示,128X64液晶显示模块可人为分为四个区,每个区大小为128X16
;区一显示完毕
;----------------------------显示方式二
;在区二显示,以单个字循环方式显示“测控技术实验室”,16X16字体,一般用于汉字显示
MOVS_ADD_H,#01H;设置第一个字的显示起始地址高位
MOVS_ADD_L,#01H;低位
MOVSEL_FONT,#16H;采用16X16字体
MOVDPTR,#TAB0;danjia
MOVR7,#02H;显示字的个数
ER:
LCALLSHOW_A_WORD
DJNZR7,ER
MOVS_ADD_H,#01H;设置第一个字的显示起始地址高位
MOVS_ADD_L,#06H;低位
MOVSEL_FONT,#08H;采用8X16字体
MOVDPTR,#TAB03;显示0
SSS2:
LCALLSHOW_A_WORD
MOVS_ADD_H,#01H;设置第一个字的显示起始地址高位
MOVS_ADD_L,#07H;低位
MOVSEL_FONT,#08H;采用8X16字体
MOVDPTR,#TAB3
SSS1:
LCALLSHOW_A_WORD;显示小数点
MOVS_ADD_H,#01H;设置第一个字的显示起始地址高位
MOVS_ADD_L,#08H;低位
MOVSEL_FONT,#08H;采用8X16字体
MOVA,4FH;显示的字从4F中读取
ANLA,#0F0H;取4F高位
SWAPA
ACALLBIAO
ER2:
LCALLSHOW_A_WORD;显示千位
MOVS_ADD_H,#01H;设置第一个字的显示起始地址高位
MOVS_ADD_L,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子秤 重量 检测 显示 设计 说明