数码管动态显示扫描实验

数码管动态显示扫描实验

ID:39578533

大小:67.50 KB

页数:4页

时间:2019-07-06

数码管动态显示扫描实验_第1页
数码管动态显示扫描实验_第2页
数码管动态显示扫描实验_第3页
数码管动态显示扫描实验_第4页
资源描述:

《数码管动态显示扫描实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七数码管动态扫描显示实验一、实验目的1.掌握keilC51软件protues软件联合仿真调试的方法;2.掌握单片机对数码管的动态显示控制方式;3.掌握定时器的基本应用及编程方法。二、实验内容1.用Protues设计一8位数码管动态扫描显示电路。要求利用P0口作数码管的段选线,P1.0~P1.2与74LS138译码器的3个输入端相连,其译码输出Y0~Y7作为数码管的位选线。2.编写程序,将数字1~8分别显示在8个数码管上,要求显示内容无闪烁。3.编写程序,利用Protues中的“激励源/DCLOCK/数字

2、类型/时钟”产生频率为1HZ的方波输出,并利用定时/计数器T1统计脉冲的个数,将统计结果动态实时的显示在数码管上。该脉冲计数电路在以上电路的基础上自行修改。三、实验仪器与设备1.微机一台2.keilc51集成开发环境3.proteus仿真软件四、实验说明1.动态扫描方法:(1)动态扫描法是对各数码管循环扫描、轮流显示的方法。由于一次只能让一个数码管显示,因此,要显示8位的数据,必须让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个

3、数码管。当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现象,这种显示需要一个接口完成字形码的输出(段选),另一接口完成各数码管的轮流点亮(位选)。(2)在进行数码管显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。(3)对于显示的字形码数据采用查表方法来完成。2.P0口P0口作为地址/数据总线使用时是一个真正的双向端口;而作通用I/O口时,只是一个准双向口,由于其内部漏极开路,应外接10KΩ的上拉电阻,否则无法输出高电平。3.74LS138:3线—8线译码器引脚排列

4、:VccY0Y1Y2Y3Y4Y5Y616151413121110974LS13812345678A0A1A2S3S2S1Y7GND真值表:输入输出S1S2+S3A2A1A0Y0Y1Y2Y3Y4Y5Y6Y70X11111111X100000000XXXXXX00000101001110010111011111111111111111110111111110111111110111111110111111110111111110111111110111111110一、实验步骤1.用Protues设计数码管动态扫

5、描显示电路;2.在KeilC51中编写键盘识别程序,编译通过后,于Protues联合调试;3.启动仿真,观察数码管显示是否正确;4.用Protues设计脉冲计数电路,仿真调试`运行程序并查看效果。5.提高时钟频率(如100KHz),观察显示情况。二、实验总结1、实验电路及程序见附录。2、数码管动态显示的原理利用人的视觉暂留特性,当扫描显示频率较高时,眼睛就看不出数码管的闪烁,从而实现稳定的显示。注意依次扫描的时间间隔应在5ms左右。扫描一次八个数码管的时间也应在此范围内。3、用74LS138译码器做数码管的

6、选通信号输入端,采用共阴极数码管可容易的实现对其选通控制。附录:电路图实验程序:显示数:#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};ucharcodeaddress[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};voiddelay(uchart){ucharp,q;fo

7、r(;t>0;t--)for(q=142;q>0;q--)for(p=2;p>0;p--);}voidmain(){uchara=0;while(1){if(a==8)a=0;P1=address[a];P0=table[a++];delay(1);}}计数脉冲:#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7

8、f,0x6f};ucharcodeaddress[]={0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00};uinta[8];unsignedlonginttemp,s=0;voiddelay(uintt){while(t--);}voidmain(){uchari,j;TMOD=0x50;ET1=1;TR1=1;EA=1;while(1){temp=s*65536+TH1*256+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。