static unsigned char count=0; TL0=TLC0; TH0=THC0; count++;
if(count>=200) {
count=0; led0=!led0; } } 2.实验2
#include
TMOD=0x01; TL0=TLC0; TH0=THC0; TR0=1; ET0=1; EA=1; while(1); }
void timer0_ISR(void) interrupt 1 {
static unsigned char count=0,Bit=0; TL0=THC0; TH0=TLC0; count++;
if(count>=200) {
count=0; Bit++; if(Bit>=4) Bit=0;
P3=P3|0xf0; P1=P1|0x0f;
switch(Bit) {
26/39
case 0:led0=0;break;
case 1:led1=0;break; case 2:led2=0;break; case 3:led3=0;break; } } } 五、思考题
1.设计1个秒计数器,每秒计1次数,在LED上显示出来,计至16清零后重新计数。 2.在上题基础上用按键控制秒计数器的启停,按一次键开始计数,按2次停止计数,按3次又开始计数…。
27/39
实验五 数码管显示器实验
一、实验目的
1.掌握单片机的按键、数码管显示器的工作原理。 2.学会单片机独立式按键、数码管显示器的应用。 二、实验内容
1.在一个数码管上显示字符“1”。 2.在4个数码管上显示字符“1”、“2”、“3”、“4”。
3.设计一个2位10进制计数器,每秒加1,在LED上显示。 三、实验步骤
1.设计实验电路,画出电路原理图 2.按照 KEIL软件的使用步骤,建立工程。 3.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。 4.用STC-ISP下载软件下载HEX文件到单片机系统。 5.运行、调试程序,观察实验结果。 四、实验参考电路和参考程序
1.参考电路
2.参考程序
#include \
#define THCO 0xee #define TLCO 0x0
unsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
//共阴极数码管,0-9段码表
28/39
unsigned char Data_Buffer[4]={1,2,3,4};//四个数码管显示数值,数组变量定义
sbit P24=P2^4; //四个数码管的位码口定义 sbit P25=P2^5; sbit P26=P2^6; sbit P27=P2^7;
void main() { TMOD=0x11; //定时器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1;
while(1) ; }
void timer0() interrupt 1 {
static unsigned char Bit=0; //静态变量,退出程序后,值保留
TH0=THCO; TL0=TLCO;
Bit++;
if(Bit>=4)Bit=0; P2|=0xf0; //先关位码 P0=Duan[Data_Buffer[Bit]]; //开段码 switch(Bit) //送位码 {
case 0: P24=0;break; case 1: P25=0;break; case 2: P26=0;break; case 3: P27=0;break; } }
五、思考题
用按键作显示模式选择键,实现上述实验中3个显示画面的切换,即上电显示“1”,按1次键显示“1234”,再2次键显示2位秒计数器,按3次键又显示“1”……。
29/39
实验六 串口通信实验
一.实验目的
利用单片机的TXD、RXD口,使用户学会单片机的串行口的使用。 二.实验设备及器件
PC机 一台 单片机实验板 一台 三.实验内容
编写一段程序,使数码管显示从上位机接收到的对应数值(0-9),并将此值发送给上位机。(注:此实验只能用STC芯片,将HEX文件下载进去才能观看运行结果) 四.实验步骤
1.按照 KEIL软件的使用步骤,建立工程。 2.编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。 3.用STC-ISP下载软件下载HEX文件到单片机系统。
4.运行、调试程序,利用STC-ISP的串口助手窗口中发送数据给单片机,在单片机的数码管上观察接收到的数据;并在STC-ISP的串口助手窗口中观察接收到的数据。
本实验中将使用串口助手进行调试,使用方法如下: (1)在STC-ISP软件窗口中,点击 “串口助手”,PC机上显示下图所示窗口,在发送缓冲区和接收缓冲区均选择HEX模式,正确选择通讯的串口号和波特率,根据单片机与PC机连接的串口选择串口号,波特率的选择要与程序中设定的波特率一致,本实验中选择的波特率为9600。
(2)在发送缓冲区输入0-9的数据,然后点击“发送数据”,观察单片机实验板上LED显示的结果,并观察STC-ISP软件窗口中“接收缓冲区”中显示的数据是否与LED显示数据一致。
图2.7 PC机串口助手界面
五.参考例程
#include \
30/39