您好,欢迎来到99网。
搜索
您的当前位置:首页单片机原理与应用课程设计

单片机原理与应用课程设计

来源:99网


单片机原理与应用课程设计

课题名称:单片机原理与应用

院 系 名 称: 电信学院

班 级: 光电10301 姓 名: *** 学 号: 10016635 指 导 老 师: 姚老师、彭老师

日 期: 2012/4/16

编程软件和下载软件的介绍

一:编程软件的介绍

1. 新建工程:菜单【Projet】_>【new project】

选择工程存放的

路径,并输入工程文件名,然后点击“保存”。 2进入器件选择界面

树列表框内选择“Atmel”:_>”ATS52”,然后点“确定”完成器件的选择。

3.编辑源程序:

新建文件:菜单【File】_>【New...】.然后输入代码,编辑完成后菜单【File】_>【Save As...】把代码文件放入硬盘。C源文件存为.c后缀。 4.加入源文件到工程中: 在左边浮动窗口【file】选项卡里展开“Target”树,在Sroup 1”上右键单击,弹出菜单,选【Add File to Group “source group 1”】,选择需要的加入的源文件,点“Add”按钮加入,加入完成后按”Close”关闭。

5.设计编辑选项:先选中左边浮动窗口【File】选项卡里“Target”1树节点,然后选菜单【Project 】_>【Options for Target 1】.

在弹出的Options for Target “Target1”对话框中选择【output】选项卡,勾选”Create HEX file”然后按“确定”完成设置。

7.按“F7”开始编译,编译完成后会在工程文件夹生成.hex 目标文件生成的.hex文件就可以用来对ATS52芯片进行编程和运行了。 下载软件 1.连接好电源线和串行口线。并保证此时单片机开发板上的单片机为STCS52RC单片机。 检查电源板上电源指示灯是否亮起,如果没有则检查USB电源线,如果一亮则关掉电源看后面的步骤。 启动软件。 选好STC单片机机型红号(STCS51RC). 选好你要使用的计算机串口号。 其余的什么都不要管,直接点击下载。 八路跑马灯 一实验要求: P1口做输出口,接八只发光二极管,编写程序,使发光二级管循环点亮。是否正确。 二 实验目的: 1.学习p1口使用方法。 2.学习延时子程序的编写和使用, VCCVD1VD2VD3VD4VD5VD6VD7VD8R70.33KR80.33KR90.33KR100.33KR110.33KR120.33KR130.33KR140.33KP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 三:实验程序。 #define uchar unsigned char #define uint unsigned int #define data P1 void delay(uint n); void main() { uchar i; data=0; while(1) { for(i=0;i<8;i++); { data=(i==0)?0x7f:((data>>1)+0x80); 右移一个{data=(i==0)?0xfe:((data>>1)+1);左移一位 delay(500); } } } void delay(uint n) { uchar i; while(n--) for(i=0;i<125;i++); }循环语句中有循环,在写程序时候,为了写出的程序更加容易让我们理解我们可以先申明。 数码管动态扫描 一.实验要求: 让四个数码管显示1到4 二 实验目的: 1.学习数码管的显示原理,及共阳极数码管显示电路。 23 2.掌握动态扫描间隔时间。 DS1P0.011P0.17P0.24P0.32P0.41P0.510P0.65P0.73abcdefgdpafgedcdpbs2s1s312Q2A1015Q3A101510119s4Q4A1015Q5A1015VCCR30.33KR40.33KR50.33KR60.33KP2.7P2.6P2.5P2.41#include #include #define uchar unsigned char #define unit unsigned int #define sm_data P0 #define sm_dp P2 void delay(uint x); void main() { uchar I; uint zk[4]={0xf9,0xa4,0xb0,0x99}; 2for(i=0;i<4;i++) { sm_dp=(i==0)?0x7fsm_dp>>1)+0x80; sm_data=zk[i]; delay(500); } } void delay(uint n) { uchar I; while(n--) for(i=0;i<125;i++); 3} 4矩阵按键的识别 一:实验要求: 采用扫描方式,识辨4x4矩形按键,每按下一个按键,则对应的1位或2位发光二级管被点亮。 二:实验目的: 学习按键识辨程序。 认清按键去抖动问题的重要性,学习软件去抖动的方法。

#include #include

#define uchar unsignde char #define unit unsigned int #define sm_data P1 sbit c0=P2^0; sbit c1=P2^1; sbit c2=P2^2; sbit c3=P2^3; sbit c4=P2^4; sbit c5=P2^5; sbit c6=P2^6; if(P2!=0x0f) for(i=0;i<4;i++) {

switch(i) {case 0: c4=0;

sbit c7=P2^7;

void delay1(uchar time); uchar jianpanzhi(); void main() {

uchar x; while(1) {

x=jianpanzhi(); delay1(50); P1=~x;

delay(500); c5=1; c6=1; c7=1; break; case 1: c4=1;

} }

uchar jianpanzhi() {

unit i,a; c4=0; c5=0; c6=0; c7=0;

if(P2!=0x0f) {

delay1(50); c5=0; c6=1; c7=1;

小喇叭警报器试验 一:实验要求: 1声音是由震动产生的。一定频率的震动就产生一定频率的声音。这个实验就是让我们不同的按键控制蜂鸣器的不同频率和发生时间。 1二 实验目的: 1学习频率子程序的编写 2学习蜂鸣器的驱动。 23VCC和使用。 N5 1. 实验程序 #include VD2VD3VD4LED#include LEDLED#define uchar unsigned char #define uint sbit c0=P3^2; R9unsigned R10int 3K0.33K0.33Ksbit c1=P3^3; 1sbit c2=P3^4; P1.2P1.3sbit c3=P3^5; sbit c7=P3^6; void delay1(uint time); void f2khz(uint x); void f5khz(uint y); S1S2void main() { while(1) S5S6{ if(!c0) S9S10 S13S145.2PBEEP1EQ13BA1050R22K2CP3.6f2khz(4000); VD5VD6VD7if(!c1) LEDLEDLEDf5khz(10000); if(!c2) R11f2khz(4000); if(!c3) R12R130.33K0.33K0.33Kf5khz(20000); 4} P1.5P1.6} void f2khz(uint x) { uint i; for(i=0;i

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务