1、学号:* 班级:卓越电子1101 一、实验目的:1.1 利用PSoC3器件中的模块设计一个3-8译码器,调试并下载到psoc3实验箱,用3个机械按键控制输入和八个LED灯显示输出(用EM3 V30实验板的模块,因为PSoC实验板上的按键和LED灯有限),实现译码的功能。 1.2 两个触摸点电容控制显示屏输出四种不同的字符串;滑动变容器线性控制显示屏上线条的长度变化,并同时伴有计数功能。二、实验原理:2.1 74LS138 译码器的真值表如表1.1 所示 表1.1 74LS138 译码器的真值表 2.2 根据3-8译码器的真值表,在PSOC中连接原理图,用两个电平按键SW1、SW2分别控制译码器
2、输入A、B两端(A为低位,B为高位),四个输出Y0、Y1、Y2、Y3分别控制四个LED显示灯(LED1 、LED2、 LED3、 LED4)。 2.2.1 LED灯的设置:高电平,LED灯亮,低电平,灯灭。由于3-8译码器输出是低电平有效,所以我们在输出中分别加了一个反相器,使得输出为高电平有效,控制对应的LED灯被点亮,其他为低电平,LED灯不亮。2.2.2 输入按键的设置:PSOC中SW按键默认为高电平,当键被按下时,变为低电平。因此,在3-8译码器设计原理图中输入端分别增加一个反相器,实现SW键被按下显示为高电平的功能。2.2.3触摸电容和滑动电容的设置:通过触碰电容的位置来改变显示屏上
3、输出显示的字符串;通过触碰电容的位置来控制显示屏上显示线条的长度变化,并同时在动态变化时实现计数功能。主要设置如下:(扫描频率设置成12MHz)2.2.4 显示屏设置重点如下:三、实现功能:3.1 数字电路设计部分 按下reset复位键,显示屏上第一行显示字符串“Welcome to DHU ”,第二行显示字符串“CYSheng LHao ”,四个 LED灯都不亮。复位之后,电平按键SW1、SW2都不按时,BA输入状态为“00”,3-8译码器输出Y0有效,控制LED1灯点亮;按下SW1按键时,BA输入状态为“01”,译码器输出Y1有效,控制LED2灯点亮;按下SW2按键时,BA输入状态为“10
4、”,译码器输出Y2有效,控制LED3灯点亮;同时按下SW1、SW2按键时,BA输入状态为“11”译码器输出Y3有效,控制LED4灯点亮。3.2 模拟电路设计部分 按下reset复位键时情况同上。复位之后,当用手触摸左边(引脚为P0_5)的电容触摸点时,显示屏上第一行显示字符串“Welcome to DHU ”,第二行显示字符串“WQiao LHao ”;当用手触摸右边(引脚为P0_6)的电容触摸点,显示屏上第一行显示字符串“Welcome to DHU ”,第二行显示字符串“CYSheng LHui ”; 当用手同时触摸左、右两边(P0_5、P0_6)的电容触摸点,显示屏上第一行显示字符串“W
5、elcome to DHU ”,第二行显示字符串“WQiao LHui ”。当用手在滑条(触摸滑动电容)上从左到右滑动时,显示屏上第一行前七位显示字符串“Welcome”,从第10位开始线条长度随滑动的长度线性变化。即滑条P0_0 P0_4分别对应显示屏上第一行的第1014位的输出,手触摸到哪里,线条显示输出到哪里。如果手放到P0_3处,则显示屏上输出线条长度为第1013位。当手在滑动过程中,显示屏上第二行显示“COUNT: 0000 ”,并从0000开始计数,计数范围00000080,数值大小随线条长度线性变化,若停止滑动,则第二行回复原状:“CYSheng LHao ”。3.3 数字和模拟
6、部分功能各自独立,可以同时实现,也可以单个实现。 3.4 系统流程图:四、实验步骤:4.1、芯片的选择:单击选择Device Selector后得到下图:选择CY8C3866AXI-040ES2,这是我们使用的实验板的型号,注意不要选择 CY8C3866AXI-040,ES2是CYPRESS的评估板标志,是实验用板。关于我们所使用的PSoC Creator 2.0,是所能使用这个实验板的最高版本,2.0以后的版本都不可以用于编写我们这个PSoC3 ES2实验板,对此CYPRESS还是有相关提醒的:4.2 实验原理图的设计 由于设计电路较多,我们低四位设计在一页纸上,高四位设计在另一张纸上,也锻
7、炼了使用跨页连接符号的能力,跨页连接符号如下图:低四位设计原理图为:在S0,A1,A2,A3处加上跨页连接符号,然后进行高四位的设计,高四位原理图为:最后右击创建元器件:之后建立TopDesign原理图:然后元器件可在Component Catalog中的Default下找到:取出3-8译码器进行设计:总原理图设计如下:4.3引脚分配 (1)在Workspace Explorer界面中,选择Source 标签,在该窗口下,选择3-8 decoder.cydwr,鼠标双击该条目,打开引脚分配界面。 (2)如下图所示,分配引脚。注:Pin_A 、Pin_B引脚连接到实验装置中的按键上,Pin_Y0
8、 Pin_Y3引脚连接到装置中的LED1LED4灯上。4.3设计下载与测试 我们一开始是把高位C去掉,先实现的是2-4译码器。显示现象如下: 在主界面主菜单下,对设计进行编译、下载、测试,出现以下实验现象: 下图为接线情况:不按键时,LED1亮:按SW1时:LED2亮:按SW2时LED3亮 当按下左边触摸电容按键后,第二行输出显示的字符串会从原来的“CYSheng LHao ”变成“WQiao LHao”。当同时按下两边触摸电容按键后,第二行显示的字符串会从原来的“CYSheng LHao ”变成“WQiao LHui ” 当动态触摸滑动电容时,会进行计数:后期我们使用了一个C51的经典实验开
9、发板EM3 V30,加上了计时器,方便我们组在展示时可以把握时间。原理图需要稍作修改,修改如下:这里之所以输出不再需要反相器,是因为PSoC板的LED灯是共阴,所以当3-8译码器输出低位有效时,需要加反相器才给出高电平,使得LED灯亮。而我外加的开发板EM3 V30的LED灯也是共阴的,但是它内部加了反相器,所以我要把反相器删除(内部原理图如下)。引脚也需要重新配置,配置如下:使用按键k1,k2,k3(k1为低位,k3为高位,即k1,k2,k3分别对应真值表中的A,B,C,D1D8对应Y0Y7) 总览图:当按下k1时可以看到D2灯亮(D1D8对应编码为000111) 当按下k2时可以看到D3灯
10、亮(D1D8对应编码为000111) 当同时按下k1和k3时可以看到D6灯亮(D1D8对应编码为000111),D6的状态码是101。五、小结 5.1 实验中遇到的问题和解决方法:1)一开始用creator 1.0版本,受到诸多限制,且因为是评估板, 无法直接升级,所以先下载了3.0的版本,又是一阵尝试,最后使用了2.0的版本。2)一开始没注意到端口默认高电平,所以状态灯的显示不正确,后来在输入引脚上都加上了反相器才得到想要的结果。3)Capsence的使用一开始也成问题,不过一点点查资料之后可以使用了。4)我的电脑是预装win8系统,我装了双系统win7,在win7下运行creator2.0
11、会经常连不上miniprog3,连接后会显示有miniprog3,但不显示芯片,所以经常无法program,我上论坛问,别人也遇见过,说是系统的问题,这个暂时还找不到很好的解决方案,只能重装后再试试。5.2 心得:通过这次实验,我们感觉自己学到的只是冰山一角,这块板子还能实现很多很多的功能,只是我们学的知识还不够。我们还需要花更多的时间去研究,去尝试,才能更好的掌握其中内涵。这次实验是我跟我们组另一名成员做的,主要操作由我来实现,另一名成员在帮做3-8译码器是帮忙了3-8译码器的错误分析,这样是我更快的找到了原因,之后Capsence是找的例程进行的修改,技术含量不高,最后的后期工作是因为星期
12、三(报告被人看了)之后,发现有一组跟我们有着同样的实现功能,所以我努力加了一些内容,希望能够提升一下档次。本来想按键来控制蜂鸣器的鸣叫的,但我的板子的是无源蜂鸣器,没有内置震荡电路,无法像LED灯一样给个高电平就工作,无源蜂鸣器需要通过外部的正弦或方波信号驱动,直接加电源只能发出很轻微的振动声。时间有限、资源也有限,我没来的及弄震荡电路,算是一个遗憾吧,考完试有空是会弄好的。我参加过全国大学生电子竞赛,虽然在别人眼中还算厉害,但我自己觉得自己还有好多好多需要去学,需要去动手操作。也只有不断地去探索,不断地去实践,收获经验,这样才能成为一名优秀的电子工程师。在这次设计中,我没有写多少代码,因为一开始给另外三个人去接触和感受的,自己没有很早的去做准备,小看了这个PSoC,最后虽然做出来一些东西,但说白了也只是东找西找,然后加入自己的一些理解做了出来,对代码没有过多的编写,没有完全属于自己的东西,这是我的遗憾。本来想用上蜂鸣器的,最后忙了一个通宵,未能完成。不过,我会在考完试把蜂鸣器弄好的,不仅仅是为了这个课,更是为了能增长我相关的知识和实践能力。我有理想也有信心,一定要做一名优秀的电子工程师,为此孜孜以求,奋斗不息 蜂鸣器附图如下:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1