单片机课程设计

发布 2022-10-04 23:43:28 阅读 3915

电子信息工程专业。

单片机原理及应用课程设计。

班级 1001

学号 201015163

姓名于云 指导教师姜绍君

日期 2012/11/8

一、设计题目。

模拟电压采集卡。

二、设计内容。

1、内容:1)、利用adc0808采集模拟电压0~5v。

2)、在led数码管上显示模拟电压。

3)、当按下按键时,采集电压发送到pc机。

2、元件清单列表:

三、软件设计。

1、流程图。

2、**。#include<>单片机头文件*/

#define uchar unsigned char /*定义无符号字符型可以简写uchar*/

#define uint unsigned int定义无符号整形可以简写uint*/

sbit oe=p3^2adc的oe脚的定义*/

sbit start=p3^4; /adc的start脚的定义*/

sbit eoc=p3^3adc的eoc脚的定义*/

sbit weiqian=p2^0; /数码管千位的定义*/

sbit weibai=p2^1; /数码管百位的定义*/

sbit weishi=p2^2; /数码管十位的定义*/

sbit weige=p2^3; /数码管个位的定义*/

sbit s=p3^7; /按键开关s的定义*/

uchar a=数码管动态显示的字段码0到7*/

uchar qian,bai,shi,ge;

void delay(uint z约为1ms的延时程序,晶振为11.0592hz*/

uint x,y;

for(x=z;x>0;x--)

for(y=115;y>0;y--)

void display(uchar qian,uchar bai,uchar shi,uchar ge) /显示子程序*/

weiqian=1;

weiqian=0;

p0=a[qian数码管千位的显示*/

delay(1);

weiqian=1;

weibai=1;

weibai=0

p0=duan[bai数码管百位的显示*/

delay(1);

weibai=1;

weishi=1;

weishi=0;

p0=duan[shi数码管十位的显示*/

delay(1);

weishi=1;

weige=1;

weige=0;

p0=duan[ge数码管个位的显示*/

delay(1);

weige=1;

void send (uchar dat向串口发送一个字符*/

sbuf=dat将待发送的字符送给sbuf*/

while(ti==0等待发送结束,发送结束时ti=1*/

ti=0将ti清零,等待下次发送*/

void init_scom串口初始化子函数*/

tmod=0x20设置定时器t为方式2*/

scon=0x40串行口工作在方式1*/

pcon=0x00smod=0*/

th1=0xfa波特率为4800*/

tl1=0xfa;

tr1=1启动ti*/

void main主函数*/

uint dat定义无符号整形变量dat*/

uint bai,shi,ge定义无符号整形变量bai、shi和ge*/

uint adc_data定义无符号整形变量adc_dat*/

while(1

start=0;

start=1;

start=0启动转换*/

while(eoc==0是否转换结束*/

oe=1允许读转换结果*/

adc_data=p1给变量赋p1口的值*/

oe=0关闭转换结果*/

dat=adc_data*196;

qian=dat/10000;

bai=dat/1000%10;

shi=dat/100%10;

ge=dat/10%10;

display(qian,bai,shi,ge); 显示转换结果*/

delay(3延时3ms*/

init_scom对串口初始化子函数进行调用*/

if(s==0判断按键是否按下*/

四、**分析。

1、原理图

2、**结果图。

电压表数据:1.50v 数码管显示:1.509

按键开关按下单片机想pc机发送十六进制数:0x4d

电位器向上变化一下:

电压表数据:2.00v 数码管显示:1.999

按键开关按下单片机想pc机发送十六进制数:0x66

五、设计总结。

这次课程设计是我的单片机理论知识得到了巩固和提升。此设计共分为四个模块:数码管显示、ad模拟电压转换、按键控制开关、单片机与pc机数据传输。

从此次设计,我懂得了每个模块的编码,更是学会了每个模块编码如何连贯在一起,对单片机c语言有了进一步的认识。在整个程序设计过程中4个数码管位的选择刚开始出现错误,经过程序调试便正常啦,所以程序调试在编程当中是很重要的。在**时,虚拟终端应调为十六进制,pc机接收到单片发来的数据,其实就是虚拟终端呈现的十六进制数,如0x66,转化为十进制数位102,按程序中算法运算就可得到数码管显示的数据1.

99。这门课程不仅把单片机的实际应用呈现在我们的面前,更重要的是让我们懂得了整个设计的流程,对今后就业也有较大的帮助。

六、教师评语。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...