当前位置:文档之家› MEGA16单片机应用培训教程

MEGA16单片机应用培训教程

MEGA16单片机应用培训教程
MEGA16单片机应用培训教程

MEGA16单片机应用(2010版)

一、MEGA16 简介:

44脚封装,共32个I/O口(A,B,C,D 4个完整的8位口)

MEGA16工作电压为4.0—6.0V。工作频率为8MHZ(可以更改)。

16K字节的在线可编程Flash存储器。(1000次擦写寿命)1K字节的片内数据存储器,

外设特点:

两个具有独立预分频器和比较器功能的8 位定时器/ 计数器

一个具有预分频器、比较功能和捕捉功能的16 位定时器/计数器

具有独立振荡器的实时计数器RTC。

四通道PWM。

8路10 位ADC。8 个单端通道。

A VR单片微机大多数指令只需1个时钟周期即可完成。

二、BASCOM—AVR 软件的安装与使用:

该软件用BASIC高级程序设计语言编写程序,经自动编译后,可直接下载到A VR单片微机中运行。

软件试用版可到https://www.doczj.com/doc/c77792179.html,或www.OURA https://www.doczj.com/doc/c77792179.html,下载(现为1.11.9.0版)。

试用版软件可安装程序最长为2K或4K字节。

安装的PC电脑使用WINDOS98以上系统。双击运行SETUP.EXE安装程序,一路点击NEXT或YES 完成安装。安装完毕后如需汉化,将bascavr.chs文件复制到“Program Files/MCS Electronics/Bascom-avr”文件夹中即可。

编程前须设置以下系统参数:在Option->Compiler->Chip下打开各选项,选定所使用的芯片(MEGA16),工作频率,LCD显示屏为16x2模式等。(也可以在程序中用命令语句设置,见后面例九)下载方式选择:我们使用南京沁源公司提供的CH341DP.EXE来下载程序,在Programmer窗口中选择External programmer(采用外部的程序下载器),并在other选项卡中选择CH341DP.EXE所在的目录。点OK 退出。(见下图)

三、用USB口下载程序:1、启动软件:点击“CH341DP.EXE”,即可启动下载工具软件(见图五)。

图五

2、点击“浏览”打开想要下载的HEX文件(见图六)。

3、点击下载进行程序下载:图六

当看到“下载成功————”等字样时,程序下载就完成了(见图七)。

图七

4、点击“复位”按钮:这时单片实验板应该按照你的程序指令开始运行了。

BASCOM变量的类型及数值范围:

位(Bit)0、1

字节(Byte)0—255

整型(Integer)-32768—32767

字(Word)0—65535

长型(Long)-2147483648—2147483647

字符串(String)与浮点数(Single)

四、MEGA16单片微机实验器介绍:

本实验器采用模块结构,由若干插件组合而成。也可自行设计插件,扩展功能。

1、主板:

用MEGA16芯片,8MHz工作频率。有USB下载插座,

可使用USB口的5V电源供电,并同时利用USB口下载

程序,不需要开发器。

A口和C口都用16脚排插引出,两个扩展口都从右边

开始第一脚接VDD,第二脚PGND,第三脚VCC(+5V),

第四脚GND,第六脚为RESER,第五脚为空脚并用塑料件

将其堵上,为防止学生插错扩展插件,特意设计了这个

防错插保护口,只有和扩展插件中的插针缺口对齐时才

能插入这两个插槽。(见图)

A口第7到第14脚为PORTA.0—A.7,第15脚为PORTB.1,第16脚为PORTB.2。C口第7到第14脚为PORTC.0—C.7,第15脚为PORTB.3,第16脚为PORTB.4。A口与C口引脚的具体排列见主板标注。2、发光二极管(LED)插件:

分二排共16个发光二极管作显示。上排(红色)1电平点亮,下排(绿色)0电平点亮,用短接插进行切换。本插件A口、C口均可使用。

插件共有16脚,右起第一脚接VDD,第二脚PGND,第三脚VCC(+5V),第四脚GND,第六脚为RESER,第五脚为缺口防错插用,其余为口线(电路图和实物图如下)。

3、声音插件:

声音输入为PORTD.7或PORTB.3口。经电路放大后,用蜂鸣器发声。

4、LED数码显示插件:

采用共阴两位8段数码管。插在

A口与C口时均可动态显示两位数

码。也可静态显示一位数码。

“a,b,c,d,e,f,g,dp( .)”

8个笔划段在口线为1电平时能点

亮(需要位选配合)。

动态使用个位位选(PortB.1或

PortB.3),十位位选(PortB.2或PortB.4)该口为1电平时,该位点亮。静态使用时只能显示一位数码,应关闭(置0电平)十位或个位位选。否则二位显示相同数码。

5、字符型液晶显示屏(LCD)插件:

16x2字符型液晶显示屏是一种符合通用标准的液晶显示屏。可显示二行,每行16个字符。

其内部有专门的CPU(HD44780U或兼用CPU)和指令系统。内建有192个字的字符库,并可由用户自造8个自定义字符(5x8点阵)。

BASCOM-A VR含有与其通讯的专用命令语句,可以很方便地控制应用字符显示器件。

16x2显示屏与外部数据通讯以及电源与调整功能由16个引脚进行,详见下表。

6、8X8LED点阵

通过PORTA轮流控制点亮8个竖列,PORTC控制每列8个点的亮灭。使8X8共64个LED达到显示字符或图案的目的。由于每列是轮流点亮的,每秒钟必须点亮25次(最好60次以上)图象才稳定。1000mS/25次/8列=5mS,因此每列最长点亮5毫秒时间,最好在2毫秒以内。

例一、 移动发光(使用发光二极管插件)

PORTC 口向左流水灯程序:发光二极管发光,每隔0.5秒依次左移一位 (1)Config Portc = Output C 口为输出

(2)Dim A As Byte A 变量数值范围(0—255)

(3)A = &B00000001 赋值(&B 为二进制数,&H 为十六进制数,十进制无) (4)Do 循环开始

(5)PortC = A A 变量值从C 口输出 (6)Waitms 500 等待500毫秒 (7)Rotate A , Left , 1 左移一位 (8)Loop 循环结束 (9)End 程序结束 例二、 0—9单数显示程序(使用数码管插件)

PORTA 口所接的数码管个位依次显示0―9这十个数字。 Config Porta = Output Config Pinb.1 = Output Dim Y As Byte Dim B As Byte Y = 0 Do

If Y = 10 Then Y = 0 选择Y 值并改值

Select Case Y 选择Y 值,并决定B 值 Case 0 : B = &B00111111 Case 1 : B = &B00000110 Case 2 : B = &B01011011 Case 3 : B = &B01001111 Case 4 : B = &B01100110 Case 5 : B = &B01101101 Case 6 : B = &B01111101 Case 7 : B = &B00000111 Case 8 : B = &B01111111 Case 9 : B = &B01100111

End Select 结束选择 Y = Y + 1 Porta = B

Portb.1 = 1 开个位位选(点亮个位)

8x8 LED 点阵对应口线

Waitms 1000

Loop

End

例三、随机数单数显示程序(PORTC口数码管随机显示0―9这十个数字)Config Portc = Output

Config Pinb.3 = Output

Dim x As Byte

Dim B As Byte

Do

X = Rnd(10) 设定随机数为10个(0—9)

Select Case X

Case 0 : B = &B00111111 利用选择,将数值转换为笔划段码

Case 1 : B = &B00000110

Case 2 : B = &B01011011

Case 3 : B = &B01001111

Case 4 : B = &B01100110

Case 5 : B = &B01101101

Case 6 : B = &B01111101

Case 7 : B = &B00000111

Case 8 : B = &B01111111

Case 9 : B = &B01100111

End Select

Portc = B

Portb.3 = 1

Waitms 1000

Loop

End

例四、0-99计数(数码管动态显示)

Config Porta = Output

Config Pinb.1 = Output

Config Pinb.2 = Output

Dim A As Byte : Dim B As Byte

Dim S As Byte : Dim G As Byte

Dim Y As Byte

A = 0

Portb.1 = 0 : Portb.2 = 0 关位选

Do

S = A / 10 计算十位值

B = S * 10

G = A – B 计算个位值

For Y = 0 To 49 循环显示50次

Select Case S

Case 0 : B = &B00111111

Case 1 : B = &B00000110

Case 2 : B = &B01011011

Case 3 : B = &B01001111

Case 4 : B = &B01100110

Case 5 : B = &B01101101

Case 6 : B = &B01111101

Case 7 : B = &B00000111

Case 8 : B = &B01111111

Case 9 : B = &B01100111

End Select

Porta = B

Portb.1 = 0

Portb.2 = 1

Waitms 10

Select Case G

Case 0 : B = &010111111

Case 1 : B = &B00000110

Case 2 : B = &B01011011

Case 3 : B = &B01001111

Case 4 : B = &B01100110

Case 5 : B = &B01101101

Case 6 : B = &B01111101

Case 7 : B = &B00000111

Case 8 : B = &B01111111

Case 9 : B = &B01100111

End Select

Porta = B

Portb.1 = 1

Portb.2 = 0

Waitms 10

Next

A = A + 1

If A > 99 Then Exit Do

Loop

Portb.1 = 0

Portb.2 = 0

End

例五、音阶演奏(使用蜂鸣器插件。注意相同时值,不同音的数值差异。)

Config pind.7 = Output 定义D.7为输出,接声音插件的放大器输入,

Sound Portd.7 ,500 , 2000 前、后两个数值的乘积决定音的时值(发声时间长短)

Sound Portd.7 ,560 , 1780 后数(分频数,相当于除数)还决定音的高低,数值大频率低Sound Portd.7 ,630 , 1590 本例的8个音为1 2 3 4 5 6 7 i 时值相同。

Sound Portd.7 ,670 , 1500

Sound Portd.7 ,750 , 1335

Sound Portd.7 ,840 , 1190

Sound Portd.7 ,945 , 1060

Sound Portd.7 ,1000 , 1000

End

结论:1、相同时值,前后两数的乘积相等。前数控制时值,但时值还与后数(控制音高)有关。

2、后数半音之间(3-4或7- i之间)为1.0595倍,全音之间为1.1225倍(二个1.0595倍)。

3、8度音(例1- i)正好为2倍关系。(12个1. 0595相乘等于2)

例六、音阶与乐曲

Config pind.7 = Output D.7为输出,接声音插件的放大器输入

Dim S As Byte , F As Byte , A As Word , B As Word , C As Word

Restore Music 该命令可使数据集中放在程序末尾

Do

Read S 读数据(时值。4为半拍,8为一拍,16为二拍,32为四拍)

Read F 读数据(分频数)

If S = 0 Then Exit Do S数据为0时结束

A = 8000 / F 通过运算得到各音的单位长度,改变被除数可调整快慢

B = A * S 计算各音的实际长度

C = F * 5 计算各音的音高,改变乘数可变调(该运算使数据小于255,少占内存)Sound Portd.7 , B , C

Waitms 10

Loop

End

Music: 数据放置开始位置

Data 8 , 214 , 8 , 190 ,8 , 170 , 8 , 160 , 8 , 143 , 8 , 127 , 8 , 113 , 8 , 107 上行音阶(1,2,3,4,5,6,7,i)Data 8 , 107, 8 , 113 , 8 , 127 , 8 , 143 , 8 , 160 , 8 , 170 , 8 , 190 , 8 , 214 下行音阶(I,7,6,5,4,3,2,1) Data 16 , 252 , 8 , 189 , 8 , 168 , 12 , 150 , 4 , 142 , 8 , 150 , 8 , 189 歌曲开始(同一首歌) Data 12 , 168 , 4 , 168 , 8 , 189 , 8 , 224 , 32 , 189

Data 16 , 252 , 8 , 189 , 8 , 168 , 12 , 150 , 4 , 142 , 8 , 126 , 8 , 189

Data 12 , 142 , 4 , 150 , 8 , 126 , 4 , 168 , 4 , 150 , 32 , 168 , 0 , 0

例七、音乐选曲程序:

Config Pina.7 = Input A口装按钮板(A.7口的按钮有效)

Config Pind.7 = Output 装蜂鸣器板

Porta.7 = 1 接上拉电阻(插件如有上拉电阻,可删除此句)Dim S As Byte , F As Byte , P As Byte , E As Byte

Dim B As Word , C As Word , A As Word

Wait 2

E = Pina And &B10000000

If E = 128 Then Restore Music2

If E = 0 Then Restore Music1

Do

Read S : Read F

If S = 0 Then Exit Do

A = 8000 / F

B = A * S

C = F * 5

Sound Portd.7 , B , C

Waitms 10

Loop

End

Music1:

Data 16 , 252 , 8 , 189 , 8 , 168 , 12 , 150 , 4 , 142 , 8 , 150 , 8 , 189

Data 12 , 168 , 4 , 168 , 8 , 189 , 8 , 224 , 32 , 189

Data 16 , 252 , 8 , 189 , 8 , 168 , 12 , 150 , 4 , 142 , 8 , 126 , 8 , 189

Data 12 , 142 , 4 , 150 , 8 , 126 , 4 , 168 , 4 , 150 , 32 , 168 , 0 , 0 (同一首歌)

Music2:

Data 16 , 254 , 12 , 214 , 4 , 190 , 12 , 160 , 4 , 143 , 4 , 190 , 4 , 160 , 8 , 214

Data 12 , 107 , 4 , 80 , 4 , 95 , 4 , 107 , 4 , 127 , 4 , 107 , 32 , 143

Data 12 , 143 , 4 , 127 , 8 , 170 , 8 , 190 , 12 , 214 , 4 , 190 , 8 , 160 , 8 , 143

Data 8 , 254 , 8 , 160 , 4 , 190 , 4 , 214 , 4 , 190 , 4 , 160 , 32 , 214 , 0 , 0 (梁祝)

例八、LCD显示屏应用0—999计数(使用A口,4Pin)

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 使用4Pin进行数据通讯Config Lcdpin = Pin , E = Portb.1 , Rs = Portb.2

Config Lcd = 16 * 2

Dim A As Word

For A = 0 To 999

Cls 清屏幕,光标回到第一行首

Locate 2 , 5 字符定位在第2行第5位开始

Lcd "TO – " ; A ; "#" 字符串用引号,变量不用引号。多个字符或变量中间用分号隔开

Waitms 200

Next A

End

例九、LCD显示屏应用仿时钟程序(使用C口,8Pin)

$regfile = "m16def.dat" 使用MEGA16 芯片

$crystal = 8000000 工作频率为8MHZ

Config Lcdpin = Pin , Port = Portc, E = Portb.3, Rs = Portb.4 使用8Pin进行数据通讯

Config Lcd = 16 * 2 使用16x2Lcd显示屏

Dim S As Byte , M As Byte , H As Byte

Cls

Cursor Off 光标关闭(不显示)

For H = 0 To 23

Locate 1 , 5

If H < 10 Then Lcd "0"

Lcd H ; ":"

For M = 0 To 59

Locate 1 , 8

If M < 10 Then Lcd "0"

Lcd M ; ":"

For S = 0 To 59

Locate 1 , 11

If S < 10 Then Lcd "0"

Lcd S

Waitms 998

Next S : Next M : Next H

End

例十、LCD显示屏应用(造字、移动显示)

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7

Config Lcdpin = Pin , E = Portb.1 , Rs = Portb.2

Config Lcd = 16 * 2

Deflcdchar 0,4,4,31,4,14,21,4,4 自造字数据,(该数据可利用工具栏的造字工具算出)Deflcdchar 1 ,4 , 10 , 17 , 4 , 8 , 18 , 30 , 1

Deflcdchar 2 ,32 , 4 , 2 , 32 , 6 , 32 , 6 , 32

Deflcdchar 3,32 , 32 , 31 , 4 , 4 , 4 , 31 , 32

Deflcdchar 4 ,32 , 32 , 14 , 32 , 32 , 31 , 32 , 32

Deflcdchar 5 ,4 , 4 , 31 , 21 , 21 , 31 , 4 , 4

Cls

Do

Locate 1 , 3

Lcd " Hello! Shanghai HUISHUO--CQW "

Lcd Chr(0) ; Chr(1) ; Chr(2) ; Chr(3) ; Chr(4) ; Chr(5) 显示自造字符

Shiftlcd Left 左移字符

Waitms 1000

Loop

End

例十一、8x8 LED点阵应用(显示“回”字程序)

Config Porta = Output

Config Portc = Output

Do

Portc = &B11111111

Porta = &B00000001

Waitms 1

Portc = &B10000001

Porta = &B00000010

Waitms 1

Portc = &B10111101

Porta = &B00000100

Waitms 1

Portc = &B10100101

Porta = &B00001000

Waitms 1

Portc = &B10100101

Porta = &B00010000

Waitms 1

Portc = &B10111101

Porta = &B00100000

Waitms 1

Portc = &B10000001

Porta = &B01000000

Waitms 1

Portc = &B11111111

Porta = &B10000000

Waitms 1

Loop

单片机应用技术试卷A及答案

《单片机应用技术(C语言版)》试卷A一、单项选择题(每题1.5分,共30分) 1、51单片机的CPU主要由()组成。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器 2、程序是以()形式存放在程序存储器中。 A、C语言源程序 B、汇编程序 C、二进制编码 D、BCD码 ——引脚()3、单片机8031的EA。 A、必须接地 B、必须接+5V电源 C、可悬空 D、以上三种视需要而定 4、单片机上电复位后,PC的内容为()。 A、0x0000 B、0x0003 C、0x000B D、0x0800 5、外部扩展存储器时,分时复用做数据线和低8位地址线的是() A、P0口 B、P1口 C、P2口 D、P3口 6、单片机的ALE引脚是以晶振振荡频率的()固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A、1/2 B、1/4 C、1/6 D、1/12 7、下面叙述不正确的是()。 A、一个C源程序可以由一个或多个函数组成。 B、一个C源程序必须包含一个主函数main( )。 C、在C程序中,注释说明只能位于一条语句的后面。 程序的基本组成部分单位是函数。C、D 8、在C语言中,当do-while语句中的条件为()时,循环结束。 A、0 B、false C、true D、非0 9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、共阳极LED数码管加反相器驱动时显示字符“6”的段码是() A、0x06 B、0x7D C、0x82 D、0xFA 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、010 D、0x50 15、启动T0开始计数是使TCON的()。

交通灯控制模拟程序

交通灯控制模拟程序设计 ;*************定义数据段*********************************************** data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ;数据保存区 yellow db ? ;黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ;************************主程序段********************************************** data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ;初始化标题 q0: call mode1 ;模式选择自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间

基于STM32的经典项目设计实例

13个基于STM32的经典项目设计实例,全套资料STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。尤其对于新手,是一个学习stm32单片机的“活生生”的范例。 1.开源硬件-基于STM32的自动刹车灯设计 自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。 2.基于STM32F407的openmv项目设计资料 本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。MCU选择的是STM32F407(STM32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。 3.STM32无线抢答器 无线抢答器采用STM32F302(STM32F302数据手册)芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。 4.基于ARM-STM32的两轮自平衡小车 小车直立和方向控制任务都是直接通过控制小车两个电机完成的。假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。 5.基于STM32F4高速频谱分析仪完整版(原创) 本系统是以STM32F407(STM32F407数据手册)进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。 6.基于STM32F4的信号分析仪设计(有视频,有代码) 这次基于discovery的板子做一个信号分析仪,就是练手,搞清楚STM32F4(STM32F4系列数据手册)中的USB固件编写,USB驱动的开发,上位机UI开发等一整套流程,过一把DIY的瘾。 7.基于STM32F4的解魔方机器人-stm32大赛二等奖(有视频) 本系统是基于Cortex-M4内核的STM32微控制器的解魔方机器人,在硬件方面主要有OV7670摄像头,LCD,舵机,在软件方面主要有OV7670的驱动,摄像头颜色识别算法,解魔方算法和舵机动作算法。整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,制版,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。

单片机应用技术课后习题参考答案

1 习题1答案 1.2 填空题 (1)单片级应用系统是由硬件系统、软件系统组成的 (2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路 (3)除了电源和电线引脚外,XTAL1、XTAL2、RST、EA引脚信号必须连接相应电 路 (4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)51系列单片机的XTAL1和XTAL2引脚是时钟电路 (6)51系列单片机的应用程序一般存放在程序存储器 (7)片内RAM低128单元,按其用途划分为工作寄存器组、位寻址区、用户RAM区(8)但振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us (9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路 (10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。 1.3 (4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少? 答: 规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。 当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。 (5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。 答: (a)上电复位电路(b)按键复位电路 单片机常见的复位电路 图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位

与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。 图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。 习题3 答案 3.2 填空题 (2)用C51编程访问51单片机的并行I/O口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是s bit FLAG=P3^1; (10)下面的while循环执行了无限次空语句。 i=3; While(i!=0); (15)在以下的数组定义中,关键字“code”是为了把tab数组存储在程序存储器ROM中 Unsigned char code b[]={}; 3.3 上机操作题 (1) //xiti3_3_1.c——第三章习题3.3上机操作题(1) #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1){ P1=0x55; //按状态1的方式点亮8个LED delay(200); //延时 P1=0xaa; //按状态2的方式点亮8个LED delay(200); //延时 } } void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c (2) //xiti3_3_2.c——第三章习题3.3上机操作题(2) #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数 { unsigned char i,l,r; while(1){ l=0x10; // 高4位灯的位置初值为00010000B r=0x08; // 低4位灯的位置初值为00001000B

单片机C语言编程实例

单片机C语言编程实例 前言 INTEL公司的MCS-51单片机是目前在我国应用得最广泛的单片机之一.随着 单片机应用技术的不断发展,许多公司纷纷以51单片机为内核,开发出与其兼容的 多种芯片,从而扩充和扩展了其品种和应用领域。 C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之—。将C语言向单片机上的移植,始于20世纪80年代的中后期。经过十几年的努力,C语言终于成为专业化单片机上的实用高级语言。用C语言编写的8051单片机的软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完善的系统。因此,不管是对于新进入这一领域的开发者来说,还是对于有多年单片机开发经验的人来说,学习单片机的C语言编程技术都是十分必要的。. C语言是具有结构化.模块化编译的通用计算机语言,是国际上应用最广.最多的计算语言之一。C51是在通用C语言的基础上开发出的专门用于51系列单片机编程的C语言.与汇编语言相比,C51在功能上.结构上以及可读性.可移植性.可维护性等方面都有非常明显的优势。目前 最先进、功能最强大、国内用户最多的C51编译器是Keil Soft ware公司推出的KeilC51。第 一章单片机C语言入门 1.1建立您的第一个C项目 使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码, 这样单片机才能执行编写好的程序。KEIL uVISION2是众多单片机应用开发软 件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑, 编译,仿真等于一体,同时还支持PLM、汇编和C语言的程序设计,它的界面 和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真 方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。 以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周 立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个

交通灯控制模拟程序

交通灯控制模拟程序设计 data segment title1 db 'Traffic-System' deng db '# # #' sing1 db 'South-North' sing2 db 'East - West' sing3 db 'Red time(scend):' time db 'Time:' sing4 db 'Yellow time(scend):' buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ; 数据保存区 yellow db ? ; 黄灯时间 mode db 'Mode:auto(Y/N)?:' ans db ? ting3 db 'Red time(scend):030' ting4 db 'Yellow time(scend):5' ?************************ J data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ; 初始化标题 q0: call mode1 ; 模式选择 自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],'y' jz q1 cmp byte ptr[si],'n' jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间 ?************* 定义数据段 *********************************************** 主程序段 **********************************************

《单片机应用技术》试卷B及答案

《单片机应用技术(C 语言版)》试卷B 一、 单项选择题(每题1.5分,共30分) 1、51单片机的CPU 主要由( )组成。 A 、运算器、控制器 B 、加法器、寄存器 C 、运算器、加法器 D 、运算器、译码器 2、PSW 中的RS1和RS0用来( ) 。 A 、选择工作方式 B 、指示复位 C 、选择定时器 D 、选择工作寄存器组 3、单片机8031的EA —— 引脚( )。 A 、必须接地 B 、必须接+5V 电源 C 、可悬空 D 、以上三种视需要而定 4、单片机上电复位后,PC 的内容为( )。 A 、0x0000 B 、0x0003 C 、0x000B D 、0x0800 5、单片机的4个并行I/O 端口作为通用I/O 端口使用,在输出数据时,必须外接上拉电阻的是( ) A 、P0口 B 、P1口 C 、P2口 D 、P3口 6、单片机的ALE 引脚是以晶振振荡频率的( )固定频率输出正脉冲,因此它可作为外部时钟或外部定时脉冲使用。 A 、1/2 B 、1/4 C 、1/6 D 、1/12 7、下面叙述不正确的是( )。 A 、一个C 源程序可以由一个或多个函数组成。 B 、一个 C 源程序必须包含一个主函数main( )。 C 、在C 程序中,注释说明只能位于一条语句的后面。 D 、C 程序的基本组成部分单位是函数。 8、在C51语言的if 语句中,用做判断的表达式为( )。 A 、关系表达式 B 、逻辑表达式 C 、算术表达式 D 、任意表达式

9、下面的while循环执行了()次空语句。 While(i=3); A、无限次 B、0次 C、1次 D、2次 10、C程序总是从()开始执行的。 A、主函数 B、主程序 C、子程序 D、主过程 11、在C51程序中常常把()作为循环体,用于消耗CPU运行时间,产生延时效果。 A、赋值语句 B、表达式语句 C、循环语句 D、空语句 12、在单片机应用系统中,LED数码管显示电路通常有()显示方式。 A、静态 B、动态 C、静态和动态 D、查询 13、在共阳极数码管使用中,若要仅显示小数点,则其相应的字段码是()。 A、0x80 B、0x10 C、0x40 D、0x7F 14、51单片机的定时器T1用做定时方式时,采用工作方式1,则工作方式控制字为() A、0x01 B、0x05 C、0x10 D、0x50 15、MCS-51系列单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(),向CPU申请中断。 A、RI或TI置1 B、RI或TI置0 C、RI置1或TI置0 D、RI置0或TI置1 16、在定时/计数器的计数初值计算中,若设最大计数值为M,对于工作方式1下的M值为()。 A、M=213 = 8192 B、M=28 = 256 C、M=24 = 16 D、M=216 = 65536 17、51单片机的串行口是()。 A、单工 B、全双工 C、半双工 D、并行口 18、表示串行数据传输速率的指标为()。 A、USART B、UART C、字符帧 D、波特率 19、串行口的控制寄存器为()。 A、SMOD B、SCON C、SBUF D、PCON 20、串行口的发送数据和接收数据端为()。 A、TXD和RXD B、TI和RI C、TB8和RB8 D、REN 二、填空题(每空1.5分,共30分)

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 设计任务 (1) 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 设计思路 (1) 设计思路 (1) 功能设计 (2) 总体设计 (2) 通行方案设计 (2) } 硬件设计方案 (4) 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 系统硬件框图 (5) 单元电路设计 (5) 单片机最小系统 (5) 信号灯显示电路 (7) 倒计时显示电路 (8) 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) - 理论基础知识 (8) 定时器原理 (8) 软件延时原理 (9) 中断原理 (9) 主程序框图 (9) 5 调试分析及所用器件 (10) 调试环境 (10) 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) | 8 附录 (13) 附件1 程序清单 (13)

附件2 系统仿真图 (16) 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 \ 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:AT89C52 交通灯PROTUES 中断程序

《单片机应用技术》期末测试题

《单片机应用技术》期末测试题 2分,共20分) 下面对于MCU描述正确的是()。 A.微控制器 B.存储器 C.开发工具 D.中断系统STC89C52RC单片机有几个I/O口()。 A.4 B.3 C.2 D.1)。 A.定时器T0中断 B.定时器T1中断 C.外部中断0 D.外部中断1 下面那个字符()一位七段数码不能显示。 A.2 B.3 C.C D.K 数码管中单个发光二极管的管压降一般为()。 A.1.7V B.1.8V C. 1.9V D.2V DS18B20有()根数据线。 A.4 B.3 C.2 D.1 DS18B20就是一种典型的()。 A.热电阻 B.热电偶 C.温度IC D.铂电阻 MCS-51单片机内部的定时器/计数器1可以用下面()来表示。 A.Q1 B.R1 C.S1 D.T1 DS1302的SCLK引脚功能是()。 A.串行时钟 B.串行数据 C.并行时钟 D.并行数据 10.DS1302有()个电源引脚。 A.4 B.3 C.2 D.1 二、简答题(共6题,每小题10分,共60分) 1. 简述时钟芯片的分类。 2.简述时钟周期、机器周期和指令周期之间的关系。 3. 如何对数码管进行测量?

什么称为中断?中断有什么特点? 6. 单片机的开发系统由哪些部分构成? 绘制出典型的程序下载电路。 三、编程题(共2题,每小题10分,共20分) 1.根据下图所示电路试编写程序实现1、3、4、5和7的循环显示。

2.如何用下图所示电路实现下述功能?要求根据下面说明编写相应C语言程序。 (1)按键按下,对应的灯亮,按键未按下,对应的灯灭。对应关系变为S1对应D4;S2对应D3;S3对应D2;S4对应D1。 (2)按下S1时D1到D4全亮;按下S2时D1到D4全灭;按下S3时D1 和D3全亮,D2和D4全灭;按下S4时D1和D3全灭,D2和D4全亮。

交通灯控制程序

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 创建一个可供日常交通灯使用的程序,目标读者为交通灯控制人员。 1.2背景 说明: a.交通路口复杂交通信号灯的设计 b.任务提出者,开发者:陈磊 用户:交通指挥系统 设计环境:使用Verilog HDL语言进行设计 使用Quartus 2编程环境进行开发。。 1.3定义 ORDER 选择信号 ROAD 亮灯控制信号 EN5 5秒延时使能信号 LIN5 5秒延时终止信号 EN25 25秒延时使能信号 LIN25 25秒延时终止信号 RST 系统复位信号 CLK 系统时钟信号 1.4参考资料 Verilog HDL数字系统设计与应用

2总体设计 2.1需求规定 输入项目: CLK 系统时钟信号 RST 系统复位信号 输出项目: ROAD 亮灯控制信号,ROAD=00,红灯亮;ROAD=01,黄灯亮;ROAD=10,绿灯亮;ROAD=11,黄灯亮。 处理要求: 根据ORDER的不同值,使相应的灯发亮。 2.2运行环境 运行环境:。Quartus II 9.0 2.3基本设计概念和处理流程

单片机应用技术考试题库

习题1 1.1单项选择题 (1)MCS-51系列单片机的CPU主要由组成。 A. 运算符、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、编码器 (2)单片机中的程序计数器PC用来。 A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令的地址 D.存放上一条指令地址 (3)单片机8031的ˉEA引脚。 A.必须接地 B.必须接+5V电源 C.可悬空 D.以上三种视需要而定 (4)外部扩展存储器时,分时复用做数据线和低8位地址线的是。 A.P0口 B.P1口 C.P2口 D.P3口 (5)PSW中的RS1和RS0用来。 A.选择工具寄存器 B.指示复位 C.选择定时器 D.选择工作方式 (6)单片机上电复位后,PC的内容为。 A.0000H B.003H C.000BH D.0800H (7)Intel 8051单片机的CPU是。 A.16 B. 4 C. 8 D.准16位 (8)程序是以形式存放在程序存储器中的。 A. C语言源程序 B.汇编程序 C.二进制编码 D.BCD码 (9)8050单片机的程序计数器PC为16位计数器,其寻址范围是。 A. 8 KB B.16KB C.32KB D.64KB (10)单片机的ALE引脚是以晶振荡频率的固定频率输出正脉冲,因此它可作为外部时钟或外部定 时脉冲使用。 A.1/2 B.1/4 C.1/6 D.1/12 1.2填空题 (1)单片机系统是由和组成的。 (2)除了单片机和电源外,单片机最小系统包括电路和电路。 (3)在进行单片机应用系统设计时,除了电源和地线引脚外,、、、引脚信号必须 连接相应电路。 (4)MCS-51系列单片机的存储器主要有4个物理存储空间,即、、、。 (5)MCS-51系列单片机的XTALL和XYAL2引脚是引脚。 (6)MCS-51系列单片机的应用程序一般存在中。 (7)片内RAM低128单元,按其用途划分为、和3个区域。 (8)当振荡脉冲频率为12 MHz时,一个机器周期为;当振荡脉冲频率为6 MHz时,一个机器周期 为。 (9)MCS-51系列单片机的复位电路有两种,即和。 (10)输入单片机的复位信号需延续个机器周期以上的电平时即为有效,用于完成单片机的复位 初始化操作。 1.3回答题 (1)什么是单片机?它由哪几部分组成?什么是单片机应用系统? (2)P3口第二功能是什么?

单片机应用技术课程整体教学设计

《单片机应用技术》整体教学设计 (2015~2016学年第2学期) 课程名称:单片机应用技术 所属系部:信息与智能工程系 制定人:郭志勇巩雪洁 合作人:李自成张留忠 制定时间:2016.1.16 安徽电子信息职业技术学院

一、课程基本信息 一、课程定位 本课程主要是以智能控制、智能电子产品、智能机器人工程项目为主线,采用企业真实工作任务,通过“项目驱动”教学模式,对国内外广泛应用的MCS-51系列单片机的AT89S52单片机工作原理、应用系统的剖析,使学生获得有关单片机硬件、 软件的基本概念、基本知识和单片机应用系统的设计编程入门知识以及用C 语言进行程序设计、运行、调试等基本技能,培养学生分析问题和解决问题的能力。 1. 岗位分析: 本课程主要培养具有智能电子产品和智能控制设计、分析、调试和制作能力的技术技能型人才,可以从事智能电子产品和智能控制设计开发、生产、销售与服务等相关工作,如图1所示。 图1 课程与岗位

2. 课程分析: 本课程是计算机控制技术、物联网应用技术等相关专业的职业能力必修课程,是计算机控制技术专业核心课程。在计算机控制技术专业课程体系中,基于单片机应用技术的课程结构如图2所示。 图2 基于单片机应用技术的课程结构 位于最底层的是本课程的先修课程,也是专业基础课程;本课程是专业核心课程;位于最上层的是本课程的后续课程,既专业课程。基于单片机应用技术的课程结构实现了无缝对接,同时也是我们学校其它相关专业的骨干课程,如嵌入式技术、电子信息工程技术、机电一体化、电气自动化、数控技术等专业都开设本课程。 二、课程目标设计 总体目标: 学通过本课程的学习,学生能熟练使用Proteus仿真软件、C语言编程,能完成简单的智能电子产品和智能控制设计开发;能根据智能电子产品和智能控制设计要求进行元器件焊接组装、软硬件调试;培养学生具有一定的创新思维能力,科学的工作方法和良好的职业道德意识,为提高学生职业技能奠定良好基础。 能力目标: (1)会运用keil集成开发环境,能用C语言编写控制程序、下载调试、查

十字路口交通灯控制 C 程序

/************************************ ***************** 十字路口交通灯控制C 程序 ************************************* *****************/ #define uchar unsigned char #define uint unsigned int #include /*****定义控制位**********************/ sbit Time_Show_LED2=P2^5;//Time_Show_LED 2控制位 sbit Time_Show_LED1=P2^4;//Time_Show_LED 1控制位 sbit EW_LED2=P2^3; //EW_LED2控制位sbit EW_LED1=P2^2; //EW_LED1控制位sbit SN_LED2=P2^1; //SN_LED2控制位sbit SN_LED1=P2^0; //SN_LED1控制位sbit SN_Yellow=P1^6;//SN黄灯 sbit EW_Yellow=P1^2;//EW黄灯 sbit EW_Red=P1^3;//EW红灯 sbit SN_Red=P1^7;//SN红灯 sbit EW_ManGreen=P3^0;//EW人行道绿灯 sbit SN_ManGreen=P3^1;//SN人行道绿灯 sbit Special_LED=P2^6;//交通正常指示灯 sbit Busy_LED=P2^7;//交通繁忙指示灯sbit Nomor_Button=P3^5;//交通正常按键 sbit Busy_Btton=P3^6;//交通繁忙按键sbit Special_Btton=P3^7;//交通特殊按键sbit Add_Button=P3^3;//时间加 sbit Reduces_Button=P3^4;//时间减 bit Flag_SN_Yellow; //SN黄灯标志位bit Flag_EW_Yellow;//EW黄灯标志位char Time_EW;//东西方向倒计时单元 char Time_SN;//南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式 uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量 uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D, 0x7D,0x07,0x7F,0x6F};//1~~~~9段选码uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0 X81,0X84};//交通信号灯控制代码 /**********************延时子程序************************/ void Delay(uchar a) { uchar i; i=a; while(i--){;} } /*****************显示子函数**************************/ void Display(void) { char h,l; h=Time_EW/10; l=Time_EW%10; P0=table[l]; EW_LED2=1; Delay(2); EW_LED2=0; P0=table[h]; EW_LED1=1; Delay(2); EW_LED1=0; h=Time_SN/10; l=Time_SN%10; P0=table[l]; SN_LED2=1; Delay(2); SN_LED2=0; P0=table[h]; SN_LED1=1; Delay(2); SN_LED1=0;

单片机应用技术考试试题(五)及答案

单片机应用技术考试试题(五) 本文搞自:https://www.doczj.com/doc/c77792179.html,/Webmaster/danpianjiyuanli/2010/0507/4256_3.html (本试题分笔试题和操作题两部分。共100 分,考试时间120分钟。) 第一部分笔试题 (本部分共有4大题,总分60分,考试时间60分钟,闭卷) 一、填空题(每空1分,共20分) 1、8031单片机一般使用的时钟晶振频是()、()。 2、假定(SP)=40H,(39H)=30H,(40H)=60H。执行下列指令: POP DPH ,POP DPL后,DPTR的内容为(),SP的内容是()。 3、单片机的堆栈栈顶由()来指示,复位时起位置在()单元。 4、当P1口做输入口输入数据时,必须先向该端口的锁存器写入 (),否则输入数据可能出错。 5、单片机内部数据传送指令()用于单片机内部RAM单元及寄存器之间,单片机与外部数据传送指令()用于单片机内部与外部RAM或I/O接口之间,()指令用于单片机内部与外部ROM 之间的查表 6、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由()寄存器的置位状态决定的。同一级别中断源的优先顺序是由()决定的。 7、 LED数码显示按显示过程分为()显示和()显示2种。前者,对每位显示来说是连续显示的,可通过单片机串行口实现;当多位显示时需较多外部驱动芯片,功耗较大。后者,对每位显示来说是断续显示需占用单片机的()接口资源。 8、在调用子程序时,为保证程序调用和返回不致混乱,常采用保护现场的措施。通常在进入子程序后要用()指令保护现场DPH、DPL、ACC等。在退出子程序之前要用POP指令依次恢复现场,用()指令返回。 9、用仿真开发系统调试程序时,汇编成功只说明源程序的()没有问题,而程序()还要靠运行调试纠错才能成功。 10、单片机串行通信时,若要发送数据,就必须将要发送的数据送至()单元,若要接收数据也要到该单元取数。 二、选择题(每题1分,共 10分) 1、PC是()。 A、一根硬件信号 B、一个可由用户直接读写的RAM

单片机应用技术c语言版 第版王静霞 习题答案

习题 1 1.1 单项选择题 (1) A (2)C (3)C 1.2 填空题 (1)硬件系统、软件系统 (2)时钟电路、复位电路 (3)XTAL1、XTAL2、RESET、EA (4)晶振 1.3 问答题 什么是单片机它由哪几部分组成什么是单片机应用系统 答:单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、存储器(memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。 单片机应用系统是以单片机为核心,配以输入、输出、显示等外围接口电路和控制程序,能实现一种或多种功能的实用系统。 1.4 上机操作题 (1) 参考程序: #include //包含头文件reg51.h,定义了51单片机的专用寄存器 //函数名:delay //函数功能:实现软件延时 //形式参数:无符号整型变量i,控制空循环的循环次数 //返回值:无 void delay(unsigned int i) //延时函数 { unsigned int k; for(k=0;k //包含头文件reg51.h,定义了51单片机的专用寄存器 //函数名:delay

单片机的发展趋势与应用实例

单片机发展趋势 单片微型计算机,简称单片机,就是将微处理器、存储器ROM和RAM、定时/计数器、中断系统、I/O接口、总线和其他多功能器件集成在一块芯片上的微型计算机。由于单片机的重要领域为智能化电子产品,一般需要嵌入仪器设备内,故又称嵌入式微型控制器。由于其具有可靠性较高,便于扩展,体积小,成本低等等特点,单片机已经广泛的应用于民用电子产品,智能仪表,工业测控、军工等等领域。但是,单片机也存在着比如片内存储容量较小等等缺点。那么已经很发达的单片机技术未来将何去何从呢?下面我将根据目前的市场需求与单片机本身的特点,从内部器件的优化,外围器件电路的扩展优化,整体可靠性与集成度的提高三个方面简要描绘一下单片机的发展蓝图。 一、内部器件的优化 1、CPU的改进。CPU是单片机的核心,他的功能的发展与提高,势必会带动单片机的发展。目前单片机内大多数为单CPU结构,只有8根数据总线。未来单片机会采用双CPU结构,增加数据总线,提高数据处理速度与能力;同时,采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。 2、增大存储容量。目前的单片机片内容量较小,片内ROM一般小于8KB,RAM一般小于256B。虽然可以扩展但是这样一来会带来较多麻烦,如接口的扩展等等,而且程序很难保密。所以,片内EPROM的E2PROM化,以及程序的保密化成为单片机的发展潮流。 3、提高并行接口的驱动能力,以减少外围驱动芯片从而增加外围I/O的逻辑功能和控制的灵活性。 二、外围器件电路的优化 1、以串行方式为主的外围扩展任将为主导。串行扩展具有方便、灵活、电路系统简单,占有I/O接口资源少等等优点,可以大大降低远距离传送成本等等功效,所以,未来外围设备的扩展将以串行方式为主。 2、外围电路的内装化。由于集成电路工艺的不断改进和提高,越来越多的复杂外围电路集成到单片机中,如D/A转化器、A/D转化器、看门狗电路、?LCD 控制器等。这样使得单片机系统的体积大大减小,功能大大提高。 3、和互联网的连接。对于高度发达的信息时代,世界变小了。所以,异地

《单片机应用技术》试题

《单片机应用技术》试题C卷 满分:40分时间:60分钟考试方式:笔试开卷 一、填空题(10分,每空0.5分) 1、AT89C51单片机40个引脚功能分别为:40脚为电源引脚、20脚为地引脚、() 为时钟引脚、()为复位引脚,29~31脚控制引脚3个;32~39脚为P0口、1~8为脚P1口、21~28脚为P2口、10~17脚为P3口。 2、51系列单片机为高电平复位,在复位时9脚为( )电平,在工作状态时9脚为( ) 电平。 3、51系列单片机P0~P1口,当既作输入口又作( )时,在输出转输入时应先给端 口写( )然后再读。 4、从逻辑上将A T89C51单片机存储器分为3个存储空间:片内外统一编址的64KB的 ( )、片内( )B的数据存储器、外部64KB的数据存储器。 5、51系列单片机片内数据存储器工作寄存器区32个字节被均匀地分为4个组:第0组工 作寄存器,地址为( );第1组工作寄存器,地址为( );第2组工作寄存器,地址为10H~17H;第3组工作寄存器,地址为18H~1FHH。 7、数码管要显示字形“5”,则( )、c、d、f、g段亮,( )、e段灭。 C/为0时,工作于( ) 8、当定时/计数器工作方式寄存器( )中的功能选择位T 方式。 9、串行通信工作在方式3时,对于TH0只能作定时功能使用,同时借用了定时/计数器1 的运行控制位TR1和溢出标志位TF1,并占用了T1的中断源。TH0启动和停止仅受( )控制,而计数溢出时则置位( )。 10、PCON寄存器中与串行通信有关的只有D7位(SMOD),该位为波特率倍增位。当 SMOD=( )时,串行口波特率增加一倍;当SMOD=( )时,串行口波特率为设定值。 二、判断(10分,每小题1分) 下列各小题叙述是否正确,正确的在后面括号内打“√”,错误的在后面括号内打“×”。 1、P2口即可作通用I/O口用,又可在扩展外部存储器或外部设备时作高8位地址总线用。 () 2、进位标志位CY此位有两个功能:一是执行加法或减法运算时,存放运算结果的进位或 借位标志,当运算结果的最高位有进位或借位时置“1”,否则清“0”。二是在位操作中

PLC实验报告 交通灯控制系统

交通灯控制系统 一、实验目的 (1)用PLC构成十字路口交通灯控制系统。 (2)掌握程序调试的步骤和方法。 (3)掌握构建实际PLC控制系统的能力。 二、实验要求 (1)复习PLC常用指令的功能及用法。 (2)复习PLC程序设计的一般方法。 (3)根据实验要求提前编写程序,待上机验证调试修改。 三、实验环境 软件:STEP 7-Micro_WIN V40+ SP9:S7-200的编程软件 STEP 7-Micro_WIN V32指令库 硬件:THSMS-2A型PLC实验箱(西门子)、电脑、连接导线、 USB-PPI 通信电缆 四、实验内容及步骤 交通灯控制系统面板图如上图所示,控制要求如下: 交通信号灯受一个总控制开关控制,当总控制开关接通时,信号灯系统开始工作。 开始工作后,南北红灯和东西绿灯同时点亮,4秒后东西绿灯开始闪烁,闪烁2秒后熄灭,熄灭同时切换成东西黄灯亮,2秒后东西黄灯和南北红灯同时熄灭,东西红灯和南北绿灯同时点亮。4秒后南北绿灯开始闪烁,闪烁2秒后熄灭,熄灭同时切换成南北黄灯亮,2秒后南北黄灯和东西红灯同时熄灭,再次切换成南北红灯和东西绿灯同时点亮。如此循环,周而复始。 当总控制开关断开时,所有信号灯都熄灭。 (1)确定I/O点数。列出详细的I/O地址分配表。如(该表仅为举例,具体I/O 分

(2)按照S7-200设备的要求,仔细检查连接线,先PLC电源线,再I/O连接线。 然后接通硬件电源。 (3)输入编好的PLC控制程序。 (4)运行程序,按控制要求设置各输入量,观察PLC运行情况,记录南北、 东西各灯顺序亮、灭的运行情况。调试程序直至正确为止。 解:由题目要求得, 图①图① 图①图②图② 图③ 五、注意事项 (1)程序中的各输入输出点应与外部实际IO正确连接。 (2)PLC与控制对象模型的接线必须仔细对照PLC输出各点与实物是否相符。 六、思考和讨论 在原控制要求的基础上增加手动控制开关I0.1和I0.2。不管何时开关 I0.1闭合,I0.2打开时,南北绿灯亮,东西红灯亮,其他灯都不亮;当开 关I0.1打开,I0.2闭合时,东西绿灯亮,南北红灯亮,其他灯都不亮;开 关I0.1和I0.2存在互锁关系,如若I0.1先按下则I0.2后按下无效,反 之亦然。编写程序实现以上要求并上机调试。 解:在原控制要求上,画出梯形图如下图④,语句表如下图⑤,时序图 如下图⑥ 图④图④ 图④图④ 图⑤图⑤图⑤ 图⑥

相关主题
文本预览
相关文档 最新文档