仿真+AT89S51单片机 028、数字电压表 (C语言对照带电路图及说明).rar下载

weixin_39820835 2023-02-21 14:30:57
C语言对照带电路图及说明 免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。 , 相关下载链接:https://download.csdn.net/download/Sapphire521/87420150?utm_source=bbsseo
...全文
3 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
第四章 实验及实践课题(28) 数字电压表 1. 实验任务 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。 2. 电路原理图 图1.28.1 3. 系统板上硬件连线 a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。 b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。 d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。 e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。 f) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。 g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。 h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。 i) 把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。 4. 程序设计内容 i. 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。 ii.由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值 (D/256*VREF) 5. 汇编源程序 (略) 6. C语言源程序 #include unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00}; unsigned char dispbuf[8]={10,10,10,10,10,0,0,0}; unsigned char dispcount; unsigned char getdata; unsigned int temp; long int i; \\代替原来的unsigned char i; sbit ST=P3^0; sbit OE=P3^1; sbit EOC=P3^2; sbit CLK=P3^3; void main(void) { ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; TH0=216; TL0=216; TH1=(65536-5000)/256; TL1=(65536-5000)%6; TR1=1; TR0=1; ST=1; ST=0; while(1) { if(EOC==1) { OE=1; getdata=P0; OE=0; i=getdata*196; dispbuf[5]=i/10000; i=i000; dispbuf[6]=i/1000; i=i00; dispbuf[7]=i/100; /*原来的: temp = getdata * 235; temp=temp/128; i=5; dispbuf[0]=10; dispbuf[1]=10; dispbuf[2]=10; dispbuf[3]=10; dispbuf[4]=10; dispbuf[5]=0; dispbuf[6]=0; dispbuf[7]=0; while(temp/10) { dispbuf[i]=temp; temp=temp/10; i++; } dispbuf[i]=temp; */
目 录 摘要..........................................(03) 关键字........................................(03) 1 前言..........................................(04) 2 系统设计......................................(04) 2.1 电子密码锁的工作原理......................(04) 2.2 系统硬件组成..............................(04) 2.3 矩阵键盘扫面工作原理......................(05) 2.4 LED数码管动态显示原理.....................(05) 2.5 电子密码锁系统硬件设计..... ..............(06) 2.6 电子密码锁系统软件设计....... ............(07) 3 设计体会与结论................................(07) 4附录...........................................(08) 5参考文献.......................................(13) 摘要 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如下: 1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2.密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。 3.误码输入保护。当输入密码多次错误时,报警系统自动启动。 4. 电子密码锁操作简单易行,一学即会。 关键字;单片机 LED数码管 矩阵键盘 密码锁 Abstract Electronic Code Lock is a password input through the control circuit, or chip, thus controlling the closed mechanical switch to complete the lock, closed the task of electronic products. It is of many types, have a simple circuit products, but also the higher cost chip-based products. Now the widely used electronic code lock is a chip at the core, achieved through programming. Performance and safety have greatly exceeded the mechanical lock, the following features: 1. Privacy is good, coding quantity is far greater than the spring lock. Random unlocking success rate is almost zero. 2. Password variable. Users can always change the password, to prevent password theft, but also avoids the lock because of staff turnover Er Shi and drawing down. 3. Error input protection. When you enter your password wrong several times, the alarm system started automatically. 4. E-lock operation is simple, a school that will. Keywords; MCU LED digital tube matrix keypad lock 1 前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大
第1章 轻松看mcs-51 1 1-1 微型计算机与单片机 2 1-2 8051基础知识 2 1-2-1 8x51的结构 2 1-2-2 89c51/89s51的封装与引脚 3 1-2-3 89s51的基本电路 6 1-2-4 mcs-51系列 8 1-2-5 关于atmel的51系列 10 1-3 认识mcs-51的存储器结构 11 1-3-1 程序存储器 11 1-3-2 数据存储器 12 1-3-3 特殊功能寄存器 14 1-4 mcs-51的时序分析与复位 18 1-4-1 时序分析 18 1-4-2 复位 19 1-5 mcs-51的开发流程与工具 20 1-5-1 传统开发工具 21 1-5-2 altium designer电路设计软件 22 1-5-3 keil mvision3集成开发环境 23 1-5-4 89s51的在线刻录功能 23 .1-6 实例演练 24 1-7 实时练习 31 第2章 认识mvision3与keil c 33 2-1 mvision3环境简介 34 2-1-1 认识mvision3环境 34 2-1-2 项目管理与选项 37 2-1-3 认识调试/仿真环境 39 2-1-4 外围操作 40 2-2 keil c语言的基本结构 43 2-3 变量、常数与数据类型 47 2-3-1 数据类型 47 2-3-2 变量名称与保留字 49 2-3-3 变量的作用范围 50 2-4 存储器的形式与模式 50 2-4-1 存储器的形式 51 2-4-2 存储器的模式 52 2-5 keil c的运算符 53 2-6 keil c的流程控制 57 2-6-1 循环指令 57 2-6-2 选择指令 60 2-6-3 跳转指令 62 2-7 数组与指针 63 2-7-1 数组 63 2-7-2 指针 64 2-8 函数与中断子程序 64 2-8-1 函数 65 2-8-2 中断子程序 65 2-9 keil c的预处理命令 66 2-10 实时练习 67 第3章 输出端口的应用 69 3-1 认识mcs-51的输入/输出端口 70 3-2 输出电路设计 72 3-2-1 驱动led 72 3-2-2 驱动蜂鸣器 73 3-2-3 驱动继电器 74 3-2-4 驱动固态继电器 75 3-2-5 驱动七段led数码管 76 3-3 实例演练 78 3-3-1 驱动蜂鸣器实验 78 3-3-2 驱动继电器实验 81 3-3-3 霹雳灯实例演练 83 3-3-4 驱动七段led数码管实验 85 3-4 实时练习 87 第4章 输入口的应用 89 4-1 认识mcs-51的输入口 90 4-2 输入设备与输入电路设计 90 4-2-1 输入设备 90 4-2-2 输入电路设计 93 4-2-3 抖动与去抖动 95 4-3 实例演练 97 4-3-1 拨码开关控制 97 4-3-2 按钮开关控制 99 4-3-3 按钮切换式控制 100 4-3-4 按钮开关应用 102 4-3-5 bcd拨码开关 104 4-3-6 多个按钮开关 106 4-3-7 按钮开关放开后动作 111 4-4 实时练习 113 第5章 输入/输出端口的高级应用 115 5-1 键盘扫描 116 5-1-1 键盘扫描原理 118 5-1-2 4×4键盘程序分析 120 5-1-3 认识mm74c922/mm74c923 122 5-2 七段led数码显示管扫描 124 5-2-1 认识七段led数码管模块 125 5-2-2 认识7447/7448 128 5-2-3 认识74138/74139 131 5-3 静态显示与动态显示 132 5-3-1 使用bcd译码器 133 5-3-2 直接驱动 135 5-3-3 使用扫描译码器 136 5-3-4 闪烁 137 5-3-5 交替显示 138 5-3-6 飞入 139 5-3-7 跑马灯 141 5-4 实例演练 142 5-4-1 4位数七段led数码管 142 5-4-2 直接驱动七段led数码管 145 5-4-3 跑马灯 148 5-4-4 4×4键盘与七段led数码管 150 5-4-5 mm74c922 153 5-5 实时练习 154 第6章 中断的应用 156 6-1 认识mcs-51的中断 157 6-1-1 mcs-51的中断 157 6-1-2 中断使能寄存器ie 158 6-1-3 中断优先级寄存器ip 159 6-1-4 定时器/计数器控制寄存器tcon 160 6-1-5 中断向量 160 6-1-6 中断的应用 160 6-2 中断子程序的仿真 161 6-3 实例演练 162 6-3-1 外部中断int0 162 6-3-2 外部中断int1 164 6

13,007

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧