版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题91.某系统片外RAM的片选电路如图9-38所示:RAM共7路,有2K×8位和1K×8位两种芯片,其片选信号都是低电平有效。请为各路RAM芯片注明它的容量和地址X围。A15E3Y0第一路片选端A14E1Y1第二路片选端E2Y2第三路片选端74LS138Y4≥1第四路片选端A13CY5≥1第五路片选端A12B≥1第六路片选端A11A≥1第七路片选端A10图9-38 第1题图解:第一路芯片的地址为 8000H-87FFH;第二路芯片的地址为 8800H-8FFFH;第三路芯片的地址为 9000H-97FFH;第四路芯片的地址为 A000H-A3FFH;第五路芯片的地址为 A400H-A7FFH;第六路芯片的地址为 A800H-ABFFH;第七路芯片的地址为 AC00H-AFFFH。对AT89C51单片机外扩4片静态RAM62128芯片,请画出硬件电路图,写出每片芯片的地址。解:GY3P2.7BY2P2.6A74LS139Y1Y0P2.0-P2.56ALEG74LS37386666Q0-Q78888AT89C51D0-D7OEEA8A0-A7A8-A13A0-A7A8-A13A0-A7A8-A13A0-A7A8-A1362128(1)CE62128(2)CE62128(3)CE62128(4)CEP0.0-P0.78D0-D7OEWEWRRD8
D0-D7OE WE8
D0-D7OE WE8
D0-D7OE WE862128(1):0000H-3FFFH,62128(2):4000H-7FFFH,62128(3):8000H-BFFFH,62128(4):C000H-FFFFH3.8255A有几种工作方式 ?如何进行选择 ?解:8255A共有三种工作方式,用方式控制字来选择。现有一片AT89C51单片机,扩展了一片8255A,若把8255A的B口用作输入,每一位接一个开关,A口用作输出,每一位接一个发光二极管,请用proteus软件画出电路原理图,并编写出 B口某一位开关接低电平时, A口相应位发光二极管被点亮的程序。解:电路如下图:程序如下:#include<reg51.h>#include<absacc.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar//PA,PB,PC及命令端口地址定义#definePAXBYTE[0x0000]#definePBXBYTE[0x0001]#definePCXBYTE[0x0002]#defineCOMXBYTE[0x0003]voidmain(){uchark;COM=0x82;//控制字while(1){k=PB;PA=k;}}5.按照图9-18所示8255与AT89C52的连接图,用8255C口的PC3引脚向外输出连续的正方波信号,频率为500Hz。试编程,并用proteus仿真验证。解:利用定时器0,每1ms中断一次,在中断服务程序中改变PC3的状态。程序如下:#include<reg52.h>#include<Absacc.h>#definePA8255XBYTE[0xe000]/*定义8255A口地址*/#definePB8255XBYTE[0xe001]/*定义8255B口地址*/#definePC8255XBYTE[0xe002]/*定义8255C口地址*/#defineCOM8255XBYTE[0xe003]/*定义8255控制寄存器地址*/voidtimer0init();bitk;unsignedcharaa;voidinit8255(void);voidmain(void){timer0init();init8255();COM8255=0x07; /*PC3置1*/k=0;while(1);}voidinit8255(void){COM8255=0x80;/*
工作方式选择字送入
8255
控制寄存器,设置
A、B、C
口为基本
I/O输出方式
*/}voidtimer0init(){TMOD=0x01;//设置T0为定时器模式,工作在方式 1TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1;//开总中断ET0=1;//允许T0中断TR0=1;//启动T0}voidtimer0()interrupt1//定时器0每1ms中断一次{TH0=(65536-1000)/256;TL0=(65536-1000)%256;if(k==0){COM8255=0x06;/*PC3 清0*/k=~k;}else{COM8255=0x07;/*PC3 置1*/k=~k;}}为什么要进行按键消抖?按键消抖的方法有几种?解:按键是利用机械触点的合、断来实现键的闭合与释放,由于弹性作用,机械触点在闭合及断开瞬间会有抖动的过程,从而使键输入电压的信号也存在抖动现象。去除抖动的方法一般有硬件和软件两种。 硬件方法就是在按键输出通道上添加去抖动电路,从根本上避免电压抖动的产生, 去抖动电路可以是单稳态电路或者滤波电路。 软件方法通常是在检测到有键按下时延迟10~20ms的时间,待抖动期过去后,再次检测按键的状态,如果仍然为闭合状态,才认为是有键按下,否则认为是一个扰动信号。按键释放的过程与此相同,都要利用延时进行消抖处理。由于人的按键速度与单片机的运行速度相比要慢很多,所以,软件延时的方法简单可行,而且不需要增加硬件电路,成本低,因而被广泛采用。7.按键输入程序应具备哪些功能 ?解:具有下列功能:确定键是否闭合;(2)按键消抖处理;(3)确定闭合键的位置;(4)确定按键是否上访;对按键进行处理。8.利用LED显示器设计一个统计按键次数的系统,能够实时将当前按键次数以十进制形式显示在2位LED显示器上。(1)所设计的 Proteus仿真电路如图 5-13所示。图5-13
计数器的仿真电路与效果图两位数码管与单片机相连时,
可以采用静态显示方式,
也可以采用动态显示方式。
这里采用动态显示方式,将两个数码管的段码连接到单片机的
P0口,P0口通过
470Ω的上拉电阻接+5V,两个数码管的位选由
P2.6和
P2.7选中。图
5-13
中数码管是共阴极的。(2)程序设计如下:#include<reg51.h>#defineucharunsignedcharsbit key=P3^0;sbit ge=P2^7;sbit shi=P2^6;uchardd; //dd为显示的数字ucharf0; //f0为键按下过的标志uchar time=0,count=0;ucharcodedis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 段码/************* 延时程序*************/voiddelay(ucharN){uchari,j;for(i=0;i<N;i++)for(j=0;j<125;j++);}/*************** 显示程序*************/voiddisplay(void){P0=dis[dd%10]; //显示个位ge=0;delay(3);ge=1;P0=dis[dd/10]; //显示十位shi=0;delay(3);shi=1;}/**************** 主程序***************/voidmain(){dd=0;
//开始显示的数字为
0f0=1;
//f0
为按下过键的标志位,如果按下过键,
f0=0,否则
f0=1while(1){while(key==1)//键未按下,显示{display();if(f0==0){dd=dd+1;f0=1;}}while(key==0)//键按下,显示,标志 f0=0{display();f0=0;}}}仿真效果0~99计数器的仿真效果图如图 5-13所示,图中显示的是 23。9.LCD1602与AT89C52单片机连接的仿真电路如图行从右侧移入“Helloeveryone,”同时第二行从右侧移入
9-36所示。用 C语言编程,实现第一“Welcometohere!,”移入速度自定,然后停留在屏幕上。解:程序设计如下: 程序如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]="Helloeveryone";ucharcodetable1[]="Welcometohere!";sbitlcden=P3^4;//液晶使能端sbitlcdrs=P3^5;//液晶数据命令选择端ucharnum;voiddelay(uintz)//延时子程序{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidwrite_com(ucharcom)//写命令函数{lcdrs=0;//选择写命令模式P0=com;//将要写的命令字送到数据总线上delay(5);//稍微做延时以待数据稳定lcden=1;//使能端给一个高脉冲,因为初始化函数中已将 lcden置为0delay(5);//稍做延时lcden=0;//将使能端置 0以完成高脉冲}voidwrite_data(uchardate){lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}voidinit(){lcden=0;write_com(0x38);//设置16×2显示,5×7点阵,8位数据接口write_com(0x0f);//设置开显示,不显示光标write_com(0x06);//写一个字符后地址指针加 1write_com(0x01);//显示清0,数据指针清 0}voidmain(){init();write_com(0x80+0x10);//先将数据指针定位到第一行第一个字处fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国氧化钇纳米材料行业应用态势及产销需求预测研究报告(2024-2030版)
- 中国树脂眼镜行业未来发展趋势及投资风险分析研究报告(2024-2030版)
- 中国木炭洗面奶市场产销需求与投资风险创新性研究报告(2024-2030版)
- 中国家庭影院系统行业经营动态及营销趋势分析研究报告(2024-2030版)
- 中国内燃叉车行业市场深度调研及竞争格局与投资价值预测研究报告(2024-2030版)
- 中国3-二甲氨基苯酚行业供需态势与应用趋势预测研究报告(2024-2030版)
- 2025届甘肃省兰州市第五十五中学物理高一上期末监测模拟试题含解析
- 山东省东营市实验中学2025届物理高一上期中监测试题含解析
- GB/T 34765-2024肥料和土壤调理剂黄腐酸含量及碳系数的测定方法
- 2024年计算机机房设备项目提案报告模范
- 王远方故意杀人案庭审笔录解读
- 第10课《养成遵纪守法好习惯》第2框《履行遵纪守法义务》-【中职专用】《职业道德与法治》同步课堂课件
- 机械设计答辩常见问题及对策
- 2019年1月自考00804金融法二试题及答案含解析
- 新建低空经济产业园建设项目可行性研究报告
- 小区物业电动车管理方案
- 2017年10月自考00258保险法试题及答案含解析
- (高清版)TDT 1057-2020 国土调查数据库标准
- 仓库管理系统系统架构及功能技术介绍
- 电动汽车充电桩运营管理策划书
- 《老年护理》-课程思政课程标准
评论
0/150
提交评论