最新单片机实验1计数显示器
单片机实验1计数显示器

洛阳理工学院实验报告系部计算机系班级B100508学号B姓名课程名称单片机原理及应用实验日期实验名称计数显示器成绩实验目的:熟习Proteus 仿真软件,掌握单片机原理图的画图方法。
【实验原理】以下列图实验原理图,图中两位七段共阴极数码管分别外接于P0 和 P2口还外接 7 只上拉电阻。
按钮开关BUT接在引脚。
时钟与复位电路分别接在第9 脚处。
口,别的 P019、18 和【原理图】该计数显示器的功能是,按压按键 BUT 后,数码管 LED1和 LED2上立刻显示出按键压下的次数。
当显示值达到 99 后再次按压按键,显示值将从 1 从头开始,以此无穷循环。
【实验内容】( 1)熟习 Proteus 软件,认识软件的构造构成与功能;(2)学习 ISIS模块的使用方法,学会设置图纸、选元件、画导线、画总线、改正属性等基本操作;(3)学会可履行文件加载及程序仿真运转方法;(4)理解 Proteus 在单片机开发中的作用,达成单片机电路原理图的绘制。
【实验步骤】(1)察看 proteus 软件的菜单、工具栏、对话框等基本构造。
(2)在 proteus 中绘制电路原理图,依据下表将元件增添到编写环境中。
(3)在 proteus 中加载程序,察看仿真结果,查验电路图绘制的正确性。
Category Reference Value Microprocessor U180C51Data converter U3ADC0808 Miscellaneous X1CRYSTALCapacitors C1、C2CAPCapacitors C3CAP-ELECResistors R2~R8RESResistors R1RESOptoelectronics LED1、LED27SEG-COM-CAT-GRN 【C语言程序】:#include <>int count=0;int number=0;char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void timer0 (void) interrupt 1{int a;int b;count++;TH0=-(50000/256);TL0=-(50000%256);if(count==20){count=0;number++;if(number<60){a=number%10;b=number/10;P2=led_mod[a];P0=led_mod[b];}else if(number==60){number=0;P2=led_mod[0];P0=led_mod[0];}}}void main(){TMOD=0x01;TH0=-(50000/256);TL0=-(50000%256);P0=0x3f;P2=0x3f;EA=1;ET0=1;TR0=1;while(1);}【仿真图】【实验总结】(1)对 proteus 和 keil 软件有了初步的认识,学会了基本的画图操作。
计数显示器实验报告

实验1 计数显示器实验目的:熟悉proteus仿真软件和Keil C51,掌握单片机的绘图方法。
实验原理:上图为一计数显示器的电路原理图。
图中两位七段共阴极数码管分别外接于p0口和P2口,此外P0口还外接7只上拉电阻。
按钮开关BUT接在3.7引脚。
时钟与复位电路分别接在19、18和9脚外处。
该显示器的功能是按压按键BUT后,数码管LED1和LED2上立即显示出按键压下次数。
当显示值到99后再次按压按键,显示值将从1重新开始,以此无限循环。
实验内容:(1)熟悉proteus软件,了解软件的结构组成与功能;(2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、画总线、修改属性等基本操作;(3)学会可执行文件加载和程序仿真运行方法;(4)理解proteus在单片机开发中的作用,完成单片机电路原理图的绘制。
实验步骤:(1)观察proteus软件的菜单、工具栏、对话框等基本结构;(2)在proteus中绘制电路原理图,按照元件要求添加到编辑环境中;(3)在proteus中加载程序,观察仿真结果,检查电路图绘制的正确性。
具体实验如下:1、启动proteus的ISIS环境如下图:2、选择元器件:单击页面的“P”按钮,可弹出“Pick Device”元件选择窗口,利用“Keywords”检索输进元件名称,页面中将会显示元件图形,按“ok”见即选中。
如下图所示:利用此方法可继续选择其它元器件。
3、摆放好选择好的元器件:、编辑好元器件名称、编辑元器件属性。
4、对原理图布线:(1)画导线:利用鼠标通过画笔连接好元器件之间的连线。
如下图:(2)画总线:单击工具栏中的总线按钮,即可在编辑窗口画总线。
并在总线分支线上标好线标签。
如下图:5、画电源线:在工具栏中点击图标,会出现端子列表,其中POWER为电源端,GROUND为接地端。
6、编辑仿真文件.hex:(1)打开keil uvision软件,新建一个文件,在文件中输进计数器程序的源代码,保存该文件,在其文件后应加上扩展名(*.c)(2)单击“Project”下的“New project”菜单,在出现的对话框中输入要建立的工程的名字,不需要扩展名。
单片机液晶显示实验报告

单片机液晶显示实验报告篇一:点阵液晶显示实验报告单片机实验课程名称:点阵液晶汉字显示实验授课班级:10自动化三班任课教师:文远熔计划学时:32学时实验组员:张腾耀梁钦赵福亮秦菱蔚郑欢王聪慧摘要本文介绍了PROTEUS与Keil联调开发51系列单片机应用系统的方法以及基于PROTEUS环境下的12864液晶显示的仿真设计。
将Keil C开发的程序用Proteus设计的仿真电路中交互运行调试的方法,设计12864的液晶显示汉字图像。
在基于PROTEUS环境下的12864液晶显示的仿真设计中,使用51芯片控制,然后显示在12864显示屏上,最多可显示4行每行8个汉字,并且可以通过按键随时改变12864显示屏上的内容。
通过Proteus环境下的温度报警器的仿真实验证明,在PROTEUS环境下可以完成单片机系统的硬件设计和软件调试,测试系统的性能,在实际应用中可以降低设计成本,缩短开发周期,提高效率。
关键词:Proteus;仿真;单片机;12864目录第一章绪论1.1实验任务和要求???????????????????????..11.2 基于Proteus的12864显示的研究???????????????.1 . 1.3 实验方案及原理??????????????????????..1第二章点阵液晶汉字显示的硬件部分2.1程序流程图?????????????????????????.2 2.2硬件电路图???????????????????????. 2.3芯片12864的简介?????????????????????第三章点阵液晶汉字显示的软件部分3.1 Keil简介??????????????????????????. 3.2 Proteus简介????????????????????????. 3.3 Proteus与Keil软件联合仿真的建立??????????????.第四章结论4.1实验总结??????????????????????????.附录1:点阵液晶汉字显示的源程序第一章绪论1.1 实验任务和要求用LCD128x64点阵液晶显示器显示指定汉字,最多可以显示4行、8个/行汉字,通过键盘可以随时改变显示的内容。
单片机的显示实验报告

一、实验目的本次实验旨在通过学习单片机显示技术,掌握单片机控制数码管显示的基本原理和方法。
通过实验,加深对单片机基本原理和实际应用的理解,提高动手实践能力。
二、实验内容1. 硬件设备(1)单片机:AT89C51(2)晶振:12MHz(3)电容:22pF(两个)(4)复位电路:10K电阻与10F电容实现自动复位(5)显示器:7段共阳级数码管2. 软件环境(1)仿真软件:Proteus 7.8(2)编程软件:Keil 4.223. 实验步骤(1)搭建实验电路根据实验要求,利用Proteus软件搭建单片机实验电路,包括单片机、晶振、电容、复位电路和7段共阳级数码管。
(2)编写程序利用Keil 4.22编程软件编写控制数码管显示的程序,实现以下功能:1)数码管显示0-9循环显示2)数码管显示自定义字符3)数码管显示时间(小时、分钟、秒)(3)编译程序将编写的程序编译生成HEX文件。
(4)仿真运行在Proteus软件中加载HEX文件,观察数码管显示效果。
三、实验结果与分析1. 数码管显示0-9循环显示通过编写程序,实现数码管显示0-9循环显示的功能。
程序中,首先定义一个数组,存储0-9的数字编码;然后通过循环遍历数组,控制数码管显示对应的数字。
2. 数码管显示自定义字符为了实现数码管显示自定义字符,需要设计字符编码。
根据字符形状,将字符编码存储在数组中。
程序中,通过改变数组指针,控制数码管显示不同的字符。
3. 数码管显示时间实现数码管显示时间功能,需要设计一个计时器。
程序中,通过定时器中断,更新时间数据。
当定时器溢出时,更新数码管显示的时间。
四、实验总结通过本次实验,掌握了单片机控制数码管显示的基本原理和方法。
具体收获如下:1. 熟悉了Proteus和Keil软件的使用,提高了编程能力。
2. 加深了对单片机基本原理和实际应用的理解。
3. 学会了数码管显示程序的设计和调试。
4. 提高了动手实践能力。
五、拓展实验1. 实现多个数码管的连接和显示2. 设计一个可编程的字符编码表,实现更多字符的显示3. 利用数码管显示复杂图形,如动画效果4. 将数码管显示与其他功能结合,如温度、湿度显示等通过以上拓展实验,可以进一步提高单片机显示技术的应用水平。
(单片机)

实验四一、实验题目:当K1键按下后,首先使蜂鸣器响一声,然后使LED1-LED8完成3种闪亮的花样(自己定义),每一种花样循环3次,然后周而复始。
二、keil代码:/*当K1键按下后,首先使蜂鸣器响一声,然后使LED1- LED8完成3种闪亮的花样(自己定义),每一种花样循环3次,然后周而复始。
*/#include<reg51.h>sbit P2_0=P2^0;//接蜂鸣器sbit P2_7=P2^7;sbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;void DELAY(int time)//延时{while(time--){}}void BUZ_ON(){if(P2_7==0){P2_0=1;}else{ P2_0=0;}}void F1(void){int i;char data_group_mide[5]={0x00,0x18,0x24,0x42,0x81};//向两边延伸for(i=0;i<5;i++){P1=data_group_mide[i];DELAY(20000);}P1=0x00;}void F2(void){int i;char data_group_left[8]={0xFF,0x7F,0x3F,0x0F,0x07,0x03,0x01,0x00};//向左延伸for(i=0;i<8;i++){P1=data_group_left[i];DELAY(20000);P1=0x00;}void F3(void){int i;char date_group_right[8]={0x00,0x01,0x03,0x07,0x0f,0x3f,0x7f,0xff};//向右延伸for(i=0;i<8;i++){P1=date_group_right[i];DELAY(20000);}P1=0x00;}void main(){unsigned int i; //每种花样循环三次P2_0=0;P2_7=1;BUZ_ON();P1=0x00;while(P2_7==0){for(i=0;i<3;i++)//花样1 {F1();}for(i=0;i<3;i++)//花样2 {F2();}for(i=0;i<3;i++)//花样3 {F3();}}}三、protues电路图:四、实验截图:五、实验小结:通过本次实验,我们熟悉了protues的编译环境,对以后的单片机学习有很大帮助。
单片机计数显示器

电子秒表显示器一、设计要求及目的设计要求:在Keil C中用C51语言编程,并在Proteus中模拟51单片机的电子秒表显示器,并在电子秒表显示器中加入中断和定时,使得电子秒表显示器反复的显示某个区间(0~60)的值。
设计目的:熟悉51单片机的基本输入/输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法,同时,掌握C51语言的编程方式和数据结构,掌握中断和定时的概念以及在51系列单片机中的应用。
二、实验环境操作平台:Windows 编程软件:Keil C 模拟仿真软件:Proteus8三、元器件列表四、实验原理1.实验电路原理图如图1所示,图中有如下5个分支点路:由共阴极数码管LED1和LED2、P0口、P2口、上拉电阻RP1以及V cc组成的输出电路;由按钮开关BUT、、和接地点组成的输入电路;由C1、C2、晶振X1、引脚XTAL1、XTAL2与接地点组成的时钟电路;由C3、R1、引脚RST和V cc组成的上电复位电路;由V cc和引脚EA组成片内ROM选择电路(简称片选电路)。
图表 1 实验原理图2.数码管的初始显示值为“00”;当1s产生时,秒计数器加1;秒计数器到60时清零,并从“00”重新开始,如此周而反复。
3.软件编程原理:采用T0定时方式1中断法编程,其中1s定时采用20次50ms定时中断的方案实现。
程序设计的流程图如图2所示。
主函数变量定义初始化T0定时方式1初始化计数初值初始化数码管显示初始化T0中断初始化启动T0原地循环T0中断函数中断计数器加11s计时到?秒计数器加1,中断计数器清060s计时到?秒计数器清0秒值输出显示重装计数初值中断返回YYNN 图表2 程序流程图五、程序源代码#include<>unsigned char count1=0; //中断计数器unsigned char count2=0; //计数器变量usigned char code table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED显示字符timer0() interrupt 1{ //T0中断函数count1++; //计数器增1if(count1==20){ //将1s分为20个50mscount1=0; count2++;}if(count2==60) count2=0; //计数器达到 60时清零P0=table[count2/10]; //显示十位数字P2=table[count2%10]; //显示个位数字TH0=0x3c; TL0=0xb0; }main(){TMOD=0x01; //设置T0技术方式为1TH0=0x3c; //计数初值TL0=0xb0;P0=table[count2/10]; //显示初值"00"P2=table[count2%10];ET0=1;EA=1; //开启中断TR0=1; //启动T0while(1); } //循环六、实验结果图表3 数码管初始显示图表4 数码管经过一个定时周期显示说明:图3显示的是初始时刻数码管的显示(“00”),图4显示的是数码管在经过一个定时周期60s后显示的值(“59”)。
单片机实验一计数显示器

单片机原理及应用实验报告一实验名称:计数显示器实验指导老师:学生姓名:班级:学号:【实验目的】熟悉51单片机的基本输入\输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法。
【实验方法】实验电路原理图如图1.1所示,图中含有如下五个分支电路:共阴极数码管LED1和LED2,P0口,P2口,上拉电阻RP1以及Vcc组成的输出电路;由按钮开关BUT,P3.7和接地点组成的输入电阻;由C1,C2,晶振X1,引脚XTAL1,XTAL2与接地点组成的时钟电路;由C3,R1,引脚RST和Vcc组成的上电复位电路;由Vcc和引脚(EA非)组成的片内ROM选择电路(简称片选电路)。
在编程软件的配合下,该电路可实现如下计数功能显示,可统计按钮BUT的按压次数,并将按压的结果以十进制形式显示出来;当显示值达到99后可自动从一开始循环。
图1.1【实验内容】观察Proteus ISIS模块的软件结构,熟悉菜单栏,工具栏,对话框等基本单元功能,如图1.2图1.2选择元件(1.3),画导线(1.4),画总线(1.5),修改参数(1.6)等基本操作图1.3图1.4图1.5图1.6 学会可执行文件加载及程序仿真运行方法;如图1.7图1.7验证计数显示器的共能。
【电路原理图分析】上拉电阻的存在是因为P0口不能正常输出信号“1”(因为漏极开路),所以接上拉电阻是必须的。
【实验程序】#include<reg51.h>void delay(unsigned int c) ; //申明延时函数,延时时间为c*10mssbit key=P3^7; //位申明unsigned char code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0、1、2、3、4、5、6、7、8、9的显示码void main(){ int a,b;int i=0;while(1){if(key!=1){delay(1); //延时消抖(实际电路中会出现颤抖)if(key==1) //判断按键是否松开,松开之后才会自加一,不然计数不作处理i++;}if(i==100)i=1;a=i/10;b=i%10;P0=duanma[a]; //输出相应的十位P2=duanma[b]; //输出相应的各位}}void delay(unsigned int c) //延时程序10ms{unsigned char a, b;for (;c>0;c--){for (b=0;b<38;b++){for (a=0;a<130;a++);}}}【仿真运行截图】【实验小结】由于C语言有比较好的移植性,所以我从我的单片机教程上移植了数码显示管的断码,本着是16个I/0口控制两个数码管就没用到相应的74LS138译码器来选择哪个数码管显示(即位选),就是实验程序调试时发现延时的时间控制不是那么好控制,远远没有定时器那么精确。
单片机实验报告——LED数码管显示实验

单⽚机实验报告——LED数码管显⽰实验(此⽂档为word格式,下载后您可任意编辑修改!)《微机实验》报告LED数码管显⽰实验指导教师:专业班级:姓名:学号:联系⽅式:⼀、任务要求实验⽬的:理解LED七段数码管的显⽰控制原理,掌握数码管与MCU的接⼝技术,能够编写数码管显⽰驱动程序;熟悉接⼝程序调试⽅法。
实验内容:利⽤C8051F310单⽚机控制数码管显⽰器基本要求:利⽤末位数码管循环显⽰数字0-9,显⽰切换频率为1Hz。
提⾼要求:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:yyyy (年份)mm.dd(⽉份.⽇).asm;Description: 利⽤末位数码管循环显⽰数字0-9,显⽰切换频率为1Hz。
;Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000H ;复位⼊⼝AJMP MAINORG 000BH ;定时器0中断⼊⼝AJMP TIME0MAIN: ACALL Init_Device ;初始化配置MOV P0,#00H ;位选中第⼀个数码管MOV R0,#00H ;偏移指针初值CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#06HMOV TL0,#0C6H ;赋初值,定时1sLOOP: MOV A,R0ADD A,#0BH ;加偏移量MOVC +PC ;查表取,段码MOV P1,A ;段码给P1显⽰SETB TR0 ;开定时LOOP1: JNB PSW.1,LOOP1 ;等待中断CLR PSW.1INC R0 ;偏移指针加⼀CJNE R0,#0AH,LOOP3MOV R0,#00H ;偏移指针满10清零AJMP LOOP ;返回DB 0FCH,60H,0DAH,0F2H,66H ;段码数据表:0、1、2、3、4 DB 0B6H,0BEH,0E0H,0FEH,0F6H; 5、6、7、8、9 ;***************************************************************** ; 定时器0中断;***************************************************************** TIME0: SETB PSW.1 ;标志位置⼀MOV TH0,#06H ;定时器重新赋值MOV TL0,#0C6HLOOP3: CLR TR0 ;关定时RETI;***************************************************************** ;初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 -Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital ; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital ; P2.1 -Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital mov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend提⾼部分:;*********************************************************;Filename: shumaguan2.asm;Description:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:; 2012 (年份); 12.07(⽉份.⽇); 12.34(⼩时.分钟);Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000HAJMP MAINORG 000BHAJMP TIME0MAIN: ACALL Init_DeviceMOV R0,#00H ;⽤于位选MOV R1,#00H ;⽤于段选MOV R2,#22H ;置偏移量,⽤于控制模式MOV R4,#8MOV R5,#250CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#0FFHMOV TL0,#0C0H ;定时器赋初值1msBACK: MOV P0,R0 ;位选MOV A,R0ADD A,#40H ;选下⼀位MOV R0,AMOV A,R1ADD A,R2 ;加偏移量MOVC +PC ;查表取段码MOV P1,A ;段码给P1显⽰LOOP: SETB TR0 ;开定时HERE: JNB PSW.1,HERE ;等待中断CLR PSW.1DJNZ R5,BACKMOV R5,#250DJNZ R4,BACKMOV R4,#8 ;循环2000次(2s)MOV A,R2ADD A,#04H ;偏移量加04H,到下⼀模式段码初值地址 MOV R2,ACJNE R2,#2EH,LOOP2MOV R2,#22H ;加三次后偏移量回到初值LOOP2: AJMP BACK ;返回进⼊下⼀模式;段码数据表:DB 0DAH,60H,0FCH,0DAH ; 2102DB 0E0H,0FCH,61H,60H ; 701. 1DB 66H,0F2H,0DBH,60H ; 432. 1;*****************************************************************; 定时器0中断;***************************************************************** TIME0: MOV TH0,#0FFH MOV TL0,#0C0HCLR TR0SETB PSW.1INC R1 ;偏移指针加⼀CJNE R1,#04H,LOOPMOV R1,#00H ;偏移指针满04H清零RETI;***************************************************************** ; 初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital; P0.1 - Unassigned, Open-Drain, Digital; P0.2 - Unassigned, Open-Drain, Digital; P0.3 - Unassigned, Open-Drain, Digital; P0.4 - Unassigned, Open-Drain, Digital; P0.5 - Unassigned, Open-Drain, Digital; P0.6 - Unassigned, Open-Drain, Digital; P0.7 - Unassigned, Open-Drain, Digital; P1.0 - Unassigned, Open-Drain, Digital; P1.1 - Unassigned, Open-Drain, Digital; P1.2 - Unassigned, Open-Drain, Digital; P1.3 - Unassigned, Open-Drain, Digital; P1.4 - Unassigned, Open-Drain, Digital; P1.5 - Unassigned, Open-Drain, Digital; P1.6 - Unassigned, Open-Drain, Digital; P1.7 - Unassigned, Open-Drain, Digital; P2.0 - Unassigned, Open-Drain, Digital; P2.1 - Unassigned, Open-Drain, Digital; P2.2 - Unassigned, Open-Drain, Digital; P2.3 - Unassigned, Open-Drain, Digitalmov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend六、程序测试⽅法与结果、软件性能分析软件调试总体截图:基础部分:软件运⾏时,我们发现P0端⼝为00H,P1端⼝以依次为FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院实验报告
系部计算机系班级B100508 学号B10050812 姓名
课程名称单片机原理及应用实验日期2012.5.26
实验名称计数显示器成绩
实验目的:熟悉Proteus仿真软件,掌握单片机原理图的绘图方法。
【实验原理】
如下图实验原理图,图中两位七段共阴极数码管分别外接于P0和P2口,此外P0口还外接7只上拉电阻。
按钮开关BUT接在P3.7引脚。
时钟与复位电路分别接在第19、18和9脚处。
【原理图】
该计数显示器的功能是,按压按键BUT后,数码管LED1和LED2上立即显示出按键压下的次数。
当显示值达到99后再次按压按键,显示值将从1重新开始,以此无限循环。
P2=led_mod[0];
P0=led_mod[0];}
}
}
void main(){
TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
P0=0x3f;
P2=0x3f;
EA=1;
ET0=1;
TR0=1;
while(1);}【仿真图】
【实验总结】
(1)对proteus和keil软件有了初步的认识,学会了基本的绘图操作。
(2)学会了可执行文件的加载及程序运行的方法。
(3)对80C51芯片的接口有了清晰的认识,知道了晶振作为时钟脉冲的电路和复位电路是构成单片机系统不可或缺的。
(4)初步熟悉了单片机程序的编写和调试的方法。
初一政治下册《法不可违》教学案例
古竹初中朱海生
【课题】法不可违
【教学依据】本课内容主要是引导学生明确为什么要遵守法律,在内容设计上共两目,第一目“谁都不能违法”意在帮助学生了解什么是违法,课文通过“小勤的事例”说明不违法是人们行为的底线,尤其不能违反法律。
之后通过三个情景引出违法的含义,填表区别三种违法含义及区别。
第二目“犯罪必受惩罚”引导学生了解什以是犯罪行为和刑事处罚。
通过教学让学生明白不论什么原因,只要触犯了法律,就是违法行为,都要受到法律的制裁,以提高学生的守法意识。
【教学设计】
一、教学目标
(1)态度情感价值观目标:通过教学,让学生明白不论是什么原因,只要是违反了法律,就是违法行为,都要受到法律的制裁,以提高学生的守法意识。
(2)过程方法目标:针对初一年级学生思想不成熟,法制意识不健全的现状,对学生以创设情境导入,典型案例分析等形式,培养学生的自主学习能力。
(3)知识能力目标:引导学生了解什么是违法,三种违法的含义及区别,以及犯罪的含义及基本特征,刑事处罚的含义及种类。
二、教学方式:
(1)学生的学习方式:在教师的引导下自主、探究性学习。
(2)教师教学方式:多媒体、启发诱导、讨论探究式。