单片机课程设计

发布 2022-10-04 23:24:28 阅读 2173

洛阳理工学院。

课程设计报告

课程名称: 单片机应用课程设计

设计题目智能仪器。

专业: 计算机应用技术。

班级z130554

学号z130554

姓名。完成日期2015.07.03

一、设计仪器:

一台电脑、isis 7 professional软件和keil uvision4软件。

二、设计目的。

设计单总线驱动等电路制作一个电压监控与报警仪器,能利用七段式动态液晶数码管显示智能仪器菜单与电压。

三、设计指标。

仪器上电后自动进入测控状态,显示器显示实时采样值,同时d1和d2同时切换报警状态。若按下4#键,进入参数设置状态(测控转入后台但仍继续执行),显示器显示工作参数l(在最左位)及其参数当前值(在最右1--3位);若按压2#或3#键,可对当前参数值做加10或减10计数并更新显示;若按压1#键可确认修改结果(下次再进入参数设置时可以此结果作为新的当前值,否则修改后的参数值不被保存),并转入下一参数h的设置过程(同理不再赘述)。再次按压0#键或1#键均可退出参数设置状态,返回测控状态。

实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配pt100热电阻,测温范围为0℃~300℃。

采用比例控制、并用晶闸管脉宽调制驱动1000w电加热器(电源电压为ac220v)。

四、硬件电路设计:

选用一只四联共阴极数码管作为显示器,按照动态显示原理接线,其中段码通过锁存器72ls245驱动后接于p0口,由4只pnp型三极管驱动后介于p2.0~p2.3。

a/d转换器采用adc0809,以通用i/o口的方式与单片机连接,其并行数据输出端直接连接于p1口,4个控制端clock、start、eoc和oe分别接于p2.4~p2.7,采用查询法等待转换结束,转换时钟利用定时器中断产生。

4个面板按键通过8 位串行输入并行输出移位寄存器74ls164与单片机接口,其移位时钟端(8脚)与单片机的txd引脚相连,串行数据端(1和2脚)与单片机的rxd引脚相连。如下图:

五、软件系统设计:

采用一个由多个功能模块构成的程序,模块之间相互依赖,他们之间的关系如下:

六、功能模块及原理说明。

程序由两个主要的功能模块组成一一控制模块和菜单模块,两个模块能够同时运行(指用户在进行菜单操作时,程序需还能实时采集数据并进行控制)而“控制”和“菜单”这两个主要模块都是建立在其他小模块的基础上的,比如控制模块建立在a/d转换和led显示的基础上,菜单建立在按键检测和led现实的基础上的,而按键检测又建立在串口输出的基础上。

功能原理:1)void control_thread(void ):控制a/d采样并刷新显示器上的内容,控制报警器的动作。

**如下:#include <>

sbit p36=p3^6;

sbit p37=p3^7;

unsigned char ad();

void print(char name,unsigned int value);

extern unsigned char param_value[2];

extern char menu_status;

void control_thread()

unsigned char value=ad();

if(value>param_value[1])

else if(value<=param_value[1]&&value>=param_value[0])

else if(menu_status==1)

2)void menu_thread(void):只用此函数被调用时,菜单里的参数项才会在显示器上刷新,用户通过键盘对菜单的操作才能够得到程序的响应和处理。

**如下:#define menu_on 0

#define menu_off 1

#define menu_num 2

#define menu_max 240

#define menu_min 10

unsigned char param_value=

unsigned char menu_status=menu_off;

char _menu_name=

unsigned char _menu_value=

unsigned char _menu_idx=0;

char get_key();

void print(char name,unsigned int value);

void menu_thread(void)

char i=0;

char key=get_key();

if(menu_status==menu_off)

else

else if(key==1)

else if(key==2)

else if(key==3)

if(menu_status==menu_on)

3)char ad(void):控制进行a/d转换,结果通过返回值输出。

**如下:#include <>

sbit p24=p2^4;

sbit p25=p2^5;

sbit p26=p2^6;

sbit p27=p2^7;

unsigned char ad()

void ad_init()

tmod=0x02;

th0=0;

tl0=0;

et0=1;

tr0=1;ea=1;

void_ad_clock(void) interrupt 1

p24= ~p24;

4)void print(char name,unsigned int value):输出名称和数值。

5)void serial(char byte):将字节byte串口输出。

**如下:public _serial

de segment code

rseg de

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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