第一章 课设概述
1.1单片机概述
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
1.2 课题研究的目的和意义
利用AT89C51单片机自带资源,设计一款能流动显示12345678的设备。
1.3 课题的主要研究工作
本课题设计的主要工作如下:
设计出用一个能够动态显示12345678的设备。
1
第二章 系统硬件介绍及设计
2.1 AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh
Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案
图2-1 三种单片机外形 图2-2 AT89C51的引脚排列
图2-3 P89L
2
主要特性:
?与MCS-51 兼容
?4K字节可编程闪烁存储器 ?寿命:1000写/擦循环 ?数据保留时间:10年 ?全静态工作:0Hz-24Hz ?三级程序存储器锁定 ?128*8位内部RAM ?32可编程I/O线
?两个16位定时器/计数器 ?5个中断源
?可编程串行通道
?低功耗的闲置和掉电模式 ?片内振荡器和时钟电路
2.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管)
2.2.1 七段数码管概述
七段数码管是数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其基本单元是发光二极管。 2.2.2 七段数码管应用
数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。 在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 2.2.3七段数码管驱动方式
直流驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。
动态显示驱动是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
2.3硬件电路图
3
图2-4 硬件连接图
2.3元件清单
1.单片机:AT89C51
2.八位共阴极数码管:7SEG-MPX8-CA-BLUE 3.NPN型三极管8个
4.普通电容2个(22PF),电解电容1个(10UF) 5.晶振1个(12MHZ) 6.排阻1个220 7.电阻1个(220)
8.电源1个(5V)
4
第三章 系统软件设计
3.1程序描述
#include
#include
#define uchar unsigned char
#define uint unsigned int //定义
uchar code DSY_CODE[]= {
0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; //显示12345678
void DelayMS(uint x) //延时子程序 {
uchar i; }
void main() {
uchar i,k=0x80;
while(x--) { }
for(i=200;i>0;i--);
while(1) //循环 {
for(i=8;i>0;i--)
P2=0xff; k=_crol_(k,1); P0=DSY_CODE[8-i];
5
{