单片机实验一计数显示器

上传人:无*** 文档编号:159396836 上传时间:2022-10-09 格式:DOC 页数:7 大小:2.87MB
返回 下载 相关 举报
单片机实验一计数显示器_第1页
第1页 / 共7页
单片机实验一计数显示器_第2页
第2页 / 共7页
单片机实验一计数显示器_第3页
第3页 / 共7页
点击查看更多>>
资源描述
单片机原理及应用实验报告一实验名称: 计数显示器实验指导老师:学生姓名: 班级: 学号: 【实验目的】熟悉51单片机的基本输入输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法。【实验方法】实验电路原理图如图1.1所示,图中含有如下五个分支电路:共阴极数码管LED1和LED2,P0口,P2口,上拉电阻RP1以及Vcc组成的输出电路;由按钮开关BUT,P3.7和接地点组成的输入电阻;由C1,C2,晶振X1,引脚XTAL1,XTAL2与接地点组成的时钟电路;由C3,R1,引脚RST和Vcc组成的上电复位电路;由Vcc和引脚(EA非)组成的片内ROM选择电路(简称片选电路)。在编程软件的配合下,该电路可实现如下计数功能显示,可统计按钮BUT的按压次数,并将按压的结果以十进制形式显示出来;当显示值达到99后可自动从一开始循环。图1.1【实验内容】观察Proteus ISIS模块的软件结构,熟悉菜单栏,工具栏,对话框等基本单元功能,如图1.2图1.2选择元件(1.3),画导线(1.4),画总线(1.5),修改参数(1.6)等基本操作 图1.3 图1.4图1.5图1.6学会可执行文件加载及程序仿真运行方法;如图1.7图1.7验证计数显示器的共能。【电路原理图分析】上拉电阻的存在是因为P0口不能正常输出信号“1”(因为漏极开路),所以接上拉电阻是必须的。【实验程序】#includevoid delay(unsigned int c) ; /申明延时函数,延时时间为c*10mssbit key=P37;/位申明unsigned char code duanma10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0、1、2、3、4、5、6、7、8、9的显示码void main() int a,b;int i=0; while(1)if(key!=1) delay(1);/延时消抖(实际电路中会出现颤抖) if(key=1)/判断按键是否松开,松开之后才会自加一,不然计数不作处理 i+; if(i=100) i=1;a=i/10;b=i%10;P0=duanmaa;/输出相应的十位P2=duanmab;/输出相应的各位 void delay(unsigned int c) /延时程序10ms unsigned char a, b; for (;c0;c-)for (b=0;b38;b+)for (a=0;a130;a+); 【仿真运行截图】【实验小结】由于C语言有比较好的移植性,所以我从我的单片机教程上移植了数码显示管的断码,本着是16个I/0口控制两个数码管就没用到相应的74LS138译码器来选择哪个数码管显示(即位选),就是实验程序调试时发现延时的时间控制不是那么好控制,远远没有定时器那么精确。出现过一次问题是因为没有设置按键松手检测,导致按一次开关数码管会跳几个数值。外加了一个if(key=1) i+;/表示不松开按键,数据计数不做任何处理。后来才知道书上有对应的程序,觉得书上的延时子程序直接在前面写不是蛮好。这样程序大了之后会不好找到主程序进行修改。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!