数字电压表(3)

2019-04-16 18:50

第5章 总结

时光荏苒,转眼间两个星期过去了,在这两个星期里,我们终于完成了数字电压表的课程设计。这两周,是精彩的两周,它让我收获颇丰,也让我感慨良多。

首先我们要做的是焊电路板,在同组伙伴的配合下,我们花了一个下午终于焊好了电路板,并且能成功运行下载。第二天我们就开始查关于数字电压表的课程设计资料,网络、书本等等,能帮到我的一点也不能放过。设计中用到了Protues和keil两款软件,我们在嵌入式实验中用过,但不是很熟悉,所以找元器件时费了不少时间,特别是LED显示器。最后好不容易把线路接完,然后就开始仿真。课设中遇到的最难的就是C程序不知道怎样编写,经过多方查找资料,同时也向老师和同学们请教,才解决了问题。

最终磕磕绊绊还是把课程设计完成了,可能它并不完美,但是也是自己亲手设计的,多少有点成就感。

8

附 录

附录A 整机原理图

RV1(2)RV110%RV0(2)LCD1LM016LVSSVDDVEE1kR49K64%RV0RSRWERS4RW5E6IN 0123+88.8VoltsR31K1k+88.8VoltsRP1RESPACK-8U2IN 026IN 127IN 228IN 312345ADD AADD BADD CALE252423221216IN0IN1IN2IN3IN4IN5IN6IN7ADD AADD BADD CALEVREF(+)VREF(-)ADC0808CLOCKSTARTEOCOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT81067212019188151417STARTEOCOUT 1OUT 2OUT 3OUT 4OUT 5OUT 6OUT 7OUT 8C111nFX1CRYSTALU119XTAL1p002p013p024p035p046p057p068p079C2181nFXTAL2C391uFRSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617p00p01p02p03p04p05p06p07ADD AADD BADD CRSRWEALESTARTEOCOEp00p01p02p03p04p05p06p077891011121314D0D1D2D3D4D5D6D7OE9OER210k293031PSENALEEAR110kOUT 81OUT 72OUT 63OUT 54OUT 45OUT 36OUT 27OUT 18P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51

9

附录B 程序清单

LCD1602.c

#include

#define uint unsigned int #define uchar unsigned char

sbit rs=P2^3; sbit rw=P2^4; sbit en=P2^5;

uchar code t1[]={%uchar code t2[]={\void delay(uint ms) {

uint i,j;

for(i=ms;i>0;i--) for(j=110;j>0;j--); }

void writelcd_cmd(uchar cmd)//向1602液晶显示器里写入命令的函数{ en=0; rs=0; rw=0; delay(1); P0=cmd; en=1; delay(1); en=0; }

void writelcd_dat(uchar dat)//向1602液晶显示器里写入数据的函数{ en=0;

10

rs=1; rw=0; delay(1); P0=dat; en=1; delay(1); en=0; }

void lcd_init() //初始化1602液晶显示器的函数{

uchar i,j;

writelcd_cmd(0x38); delay(5);

writelcd_cmd(0x38); delay(5);

writelcd_cmd(0x38); writelcd_cmd(0x08); writelcd_cmd(0x01); writelcd_cmd(0x06); writelcd_cmd(0x0c); writelcd_cmd(0x80); for(i=0;i<16;i++) {

writelcd_dat(t1[i]); }

writelcd_cmd(0xc0); for(j=0;j<16;j++) {

writelcd_dat(t2[j]); } }

mian.c

#include #include\

#define uint unsigned int

11

#define uchar unsigned char

sbit ale=P2^6; sbit start=P2^7; sbit eoc=P3^0; sbit oe=P3^1;

sbit adda=P2^0; sbit addb=P2^1; sbit addc=P2^2;

uchar add;

uint voltdata,realvolt;

void addselect()

{ switch(add) {

case 0:adda=0;addb=0;addc=0;break; case 1:adda=0;addb=1;addc=0;break;

default:break; } }

uint adtrans() {

addselect(); ale=1; ale=0;

start=1; //启动AD转换。 start=0;

while(eoc==0); //等待转换结束。 oe=1;

voltdata=P1; //出入转换结果。

12


数字电压表(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《管理学原理与方法》(周三多第五版作业题目与答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: