郭天祥之十天学会单片机视频配套程序实用
郭天祥之十天学会单片机视频配套程序-实用!
郭天祥之十天学会单片机视频配套程序-实用! Lesson1作业1、用位操作点亮第一个发光管.适用TX-1C单片机实验板晶振为11.0592M/*********************************************************/ #include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数{led1=0; //将单片机P1.0口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
}2 、用总线操作点亮第一个发光管./*********************************************************/ #include<reg52.h> //52单片机头文件void main() //主函数{P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110 while(1); //程序停止在这里,在后面会讲到为什么这样写。
}3、用位操作点亮最后一个发光管./*********************************************************/ #include<reg52.h> //52单片机头文件sbit led8=P1^7; //单片机管脚位声明void main() //主函数{led8=0; //将单片机P1.7口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
} 4、用总线操作点亮最后一个发光管./*********************************************************/ #include<reg52.h> //52单片机头文件void main() //主函数{P1=0x7f; //将单片机P1口的8个口由高到低分别赋值为01111111 while(1); //程序停止在这里,在后面会讲到为什么这样写。
关于单片机实训报告万能【六篇】
关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
郭天祥学习经历--强烈推荐
在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。
因此,在这里我要感谢哈尔滨工程大学的历任领导,我今天成绩的取得得益于他们不断完善的教育体制;衷心地感谢曾经教导过我的刁鸣教授、付永庆教授、王松武教授,没有他们对我的培养,也就没有我的今天。
同时我也希望能有更多的电子爱好者加入创新实验室,在完善自我的同时,在电子行业做出更突出的业绩。
2007年,我以全新的教学方式推出了一套讲述51单片机的教学视频课程——“十天学会单片机”,该视频自从网上发布后,得到了电子爱好者的一致好评,诸多的单片机初学者通过这套视频走上了单片机开发之路。
有很多学员来信或打电话希望我能够将视频中的内容著书出版,让更多的人受益。
为此,从2007年9月至2008年7月,我用了近十个月的时间将本书写完。
本书的写作风格与我在教学视频中的讲课风格相似,它与传统讲授单片机的书籍完全不同,我以学单片机“过来人”的思路,抱着如何才能更容易掌握单片机的态度,理论与实践完全结合的方式清晰地讲解了单片机部分。
其余大部分内容为我多年做项目的经验积累,也有部分内容来自于网络电子高手们的精华总结,应当说,在本书中有太多的知识是大家平时在书本上学不到的。
在这里,先将我在大学期间的学习和生活经历与大家分享,借此鼓舞大家珍惜大学时光,多学习文化知识,开创更加美好的明天。
我的大学写这篇文章的时候,我正处于硕士研究生毕业论文的准备阶段,眼睁睁看着我的大学生活即将画上句号,再看看身边有很多低年级的学生们一天天把时间白白荒费掉,我在心里替他们惋惜,在即将结束我的大学生活之际,我将我的大学几年的有意义的生活与大家分享,看过这篇文章后也许能让那些有梦想的同学为了实现自己的人生目标少走些弯路,大家要相信,大学校园——将为你提供一生最好的学习环境。
单片机百度盘资料
一、51单片机1、祥云51单片机学习光盘(视频教程、例程、操作系统)适合初学者资料下载链接:https:///cJzLQdrBfp2KD 访问密码8f772、普中51单片机学习光盘/s/1pK0c4BL3、郭天祥----十天征服单片机/s/1i4N2Hrn4、新概念51单片机C语言教程.入门、提高、开发(500页,郭天祥著)https:///cYAYJtgFJNUup 访问密码9eb15、力天电子51单片机视频教程/s/1hrulifU6、天狼星51单片机视频教程链接:/s/1pKsD3b9 密码:scy48、STC12C5A60S2例程https:///cjPpH7uBBbIr8 访问密码a471二、AVR单片机1、郭天祥--十天学会AVR单片机视频教程https:///cwVbV5mWw9pxk 访问密码34ba1、锐志电子AVR单片机视频教程https:///cweRHU4JUSypY 访问密码64b22、手把手AVR单片机视频教程https:///cm926G3YrWKhG 访问密码dccb3、DY_miniAVR单片机光盘资料https:///c3fIFUrWu4LEG 访问密码00364、AVR代码生成器https:///c3fILqj5h3aT9 访问密码20615、AVR开发工具https:///c3fI3satMGmSh 访问密码d3566、AVR例程https:///c3fIFfSgCzhWE 访问密码48c1三、msp430单片机1、郭天祥---十天学会msp430单片机https:///cYAYvyxDBaHgr 访问密码4dca2、力天msp430单片机视频教程https:///cYAY83HwRumTn 访问密码d66c3、msp430 c语言.pdfhttps:///cYAY577Ucc7b2 访问密码86b34、msp430教程.pdfhttps:///cYAYtXwXYesgC 访问密码ccbf5、IAR C 430标准库函数.pdfhttps:///cYAYnInwURHZx 访问密码52ef四、PIC单片机1、郭天祥--十天学会pic单片机https:///cYAYDyx2Zydsi 访问密码af9b2、王伟民pic单片机教程https:///cYAYz37WLEaYZ 访问密码2312五、STM32嵌入式教程1、正点原子《手把手教你学STM32-M3》-基于正点原子战舰STM32开发板/s/1hqOsK6K2、正点原子《手把手教你学STM32-M4》-基于正点原子探索者STM32F4开发板/s/1hqOsK7q3、正点原子 UCOS/EMWIN/LWIP视频-基于正点原子STM32开发板/s/1qWsXTfu4、mini基础板视频教程光盘链接:/s/1hqVhZdq 密码:rhab5、stm32历程链接:/s/1jH0maay 密码:hcy26、众想单片机stm32视频教程链接:/s/1hrwmnRY 密码:rb887、李想stm32视频教程链接:/s/1jGZN9kE 密码:m9668、红龙stm32开发板光盘链接:/s/1i4mGYqT 密码:uc5v9、stm’32清晰教程链接:/s/1bogN6Gn 密码:p7pt10、stm32官方文件链接:/s/1c1gfzva 密码:s2gs11、stm32资料pdf资料总汇(20)篇/s/1gdTioq3/s/1eQQ2qPG/s/1i4iDiYh/s/1o7avuCq/s/1gdNIv79/s/1dDTmnRz/s/1mhyggcS12、基于嵌入式实时操作系统的程序设计技术_周航慈_北航.pdf/s/1dEmOZBz13、任哲-嵌入式实时操作系统μCOS-II原理及应用.pdf/s/1jHyjZOM14、嵌入式操作系统uCOS-II(第二版)/s/1dEkhscD15、ucos2经典讲解/s/1o7bHpbG16、邵贝贝ucos操作系统全书.pdf/s/1sklKEz717、零死角玩转stm32-系统篇(uCOS-II)/s/1mhazyQk18、ucosii学习文档集/s/1jGRadIQ六、ARM7、ARM9视频教程1、郭天祥ARM7视频教程https:///cwVbAjCw9JL95 访问密码627d2、郭天祥ARM9视频教程https:///cYARicupI5tjL 访问密码1f283、郭天祥郭天祥CPLD视频教程https:///cwVbfP2dTEeRq 访问密码f955七、CORTEX—A内核arm教程1、基于cortex-a内核的指令链接:/s/1c1qURXe 密码:zux42、国嵌学院cortex-a嵌入式视频全集(内部视频)链接:/s/1pKwEjLh 密码:mc9r3、wince6.0镜像链接:/s/1dEuq3uT 密码:14ww4、wince6.0源码链接:/s/1i4ymmdn 密码:fpb0 5、vs2005链接:/s/1boiP2Bd 密码:7spr 6、QT视频教程链接:/s/1i4fpok1 密码:o4q3 链接:/s/1c0ZtQbI 密码:fwkq 7、QT在Android下编程教程链接:/s/1geft1Z1 密码:z2gq 8、cortex-a下游戏安装集链接:/s/1o84B9WY9、天嵌210光盘资料10张(视频、源码、电路)链接:/s/1boCjt5110、andriod资料链接:/s/1i42VQSH 密码:7fbg 11、windows下资料链接:/s/1i4bRBoT 密码:nqan 12、linux操作系统资料链接:/s/1behIfc 密码:c13n 13、wince操作系统资料/s/1YHVRK14、ARM64-zip链接:/s/1sk1Z6Mx 密码:7uc3 15、QT源码包链接:/s/1boj5ptt 密码:w9bv 16、linux源码包链接:/s/1geyWgPd 密码:qz8z 17、linux开发工具链接:/s/1qXaXmB6 密码:n5ka八、其他资料1、AD6.9 PCB设计教程(15G)https:///cjGM4TkItmeCH 访问密码6e71 2、autocad视频教程https:///cHP5pRjnFbYEA 访问密码ea0d 3、C++课件https:///c3WZYx7h56wZW 访问密码62f8 4、c语言参考手册https:///cjGMTU6WgxQs8 访问密码65a2 5、protel99视频教程https:///c3FHH4rSdp8pH 访问密码1011 6、protues8视频教程https:///cwVbKL73tJtkT 访问密码068e链接:/s/1TYmHg 密码:5l5m 7、SolidWorks视频教程(初级、高级)https:///cYABpMI5Yu4a5 访问密码fc708、VC++视频教程https:///cYABNBtWUfziZ 访问密码71479、zigbee文档资料视频教程https:///cYABipqm9VmTS 访问密码737c10、zigbee-cc2530光盘资料链接:/s/1nubduNf 密码:h6n211、zigbee组网、栈协议教程链接:/s/1nubduNf 密码:h6n212、常用74芯片、电阻、电容、电感、三级管、运放等资料集https:///cYA6ghmYJRUMN 访问密码5449https:///cYA6sTMXiCpEg 访问密码86f4https:///cYA6AztRiuDHN 访问密码8129https:///cYA6fkEyFb9qS 访问密码bd7ahttps:///cYA6KVtPtzN8R 访问密码751a13、VB资料文档+视频教程https:///cYA6Jt5cHvJtJ 访问密码31a514、matlab教程文档+视频https:///cYA6Z4ZneS92Y 访问密码bc3615、瑞萨开发板光盘-电子设计大赛专用https:///cctk6idf8A7HZ 访问密码b92516、你必须知道的495个C语言问题高清PDF中文版全书https:///cYA6QyFqqhcqq 访问密码ee8a 17、电路设计技术与技巧第二版高清晰pdf中文版https:///cYA6cfvbcMtHY 访问密码fcaf 18、战舰-GSM短信模块教程资料链接:/s/1qXaXmIo 密码:e2vk 19、语音模块资料https:///cYA6LifVjRi2n 访问密码0a2920、无线通信模块资料https:///cYA63EabvaH6J 访问密码9eac 21、指纹识别模块资料https:///cYA6r3jtbJKYT 访问密码e9b0 22、顺平linux视频教程(内部)链接:/s/1nuzzQGx 密码:521t 23、jave零基础视频教程链接:/s/1boh3v6B 密码:bqux 24、大数据学习资料链接:/s/1kUtyzPH 密码:miv2 25、android手机端编程视频教程链接:/s/1skiwKOH 密码:rriv 26、陀螺仪-飞控-四旋翼-电路仿真mulitism资料链接:/s/1c1mQU8S 密码:d0e6。
十天学会单片机非常完整版 轻松学51单片机
其运算符为“+”。 “或”运算规则如
下:
0+0=0,
0+1=1+0=1, 1+1=1
3. “非”运算
“非”运算是实现“求反”这种逻
辑的一种运算,如变量A的“非”运算 记作 A 。 其运算规则如下:
1 0, 0 1
4. “异或”运算
“异或”运算是实现“必须不同,
总线(BUS)是计算机各部件之间传送信息的公共通道。 微机中有内部总线和外部总线两类。内部总线是CPU内部之 间的连线。外部总线是指CPU与其它部件之间的连线。 外 部总线有三种: 数据总线DB(Data Bus), 地址总线 AB (Address Bus)和控制总线 CBControl Bus)。
• 五个中断源的中断控制系统; • 一个全双工UART(通用异步接收发送器)的串行I/O口,用 于实现单片机之间或单片机与微机之间的串行通信; • 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。 最高振荡频率取决于单片机型号及性能。
C51知识
• C语言是一种编译型程序设计语言,它兼顾了多种高级语 言的特点,并具备汇编语言的功能。目前,使用C语言进 行程序设计已经成为软件开发的一个主流。用C语言开发 系统可以大大缩短开发周期,明显增强程序的可读性,便 于改进、扩充和移植。而针对8051的C语言日趋成熟,成 为了专业化的实用高级语言。
单板机
单片机
单片机能做什么
• • 1. 2. 3. 4. • 实物展示 用到单片机的项目经验介绍 手持粮库温度寻检设备 毕设答辩打分器 电话台灯 自动感应水龙头 凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根 据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳, 80C51,arm等
郭天祥CPLD系统设计及VHDL语言的视频教程(CPLD_FPGA)
相关资源
67.1MB 64.3MB 70.8MB 134.5MB 82.1MB 100.1MB 88.6MB 91MB 125.9MB 131.4MB 126.8MB 8.9MB 1.1GB
/topics/2734162/
2009/6/28
《郭天祥CPLD 系统设计及VHDL 语言的视频教程》(CPLD/FPGA)... Page 2 of 7
自从天祥电子推出40 小时的“十天学会单片机和C 语言编程”视频教程后,受到了广 大电子爱好者的好评,推出“CPLD 器件及VHDL 程序设计”的视频 教程。 这是一部针对初学可编程逻辑器件者的教程,教程全部十讲,讲座从基本的预备知识开 始讲解,非常详细的讲解了Quartus II 的基本使用,从工程的建立、文本的输入,系统的仿 真,RTL 视图查看,管脚的分配,硬件的配置等。整个过程全部用VHDL 语言讲解,从VHDL 语言库的调用,实体的描述,结构体的描 述,进程和函数的应用。一步一步的讲解设计过程中的每个语句和注意事项,同时包括编写后如何查找和修改错误。
第八讲:字符滚动显示例程,主要讲解了如何控制点阵显示字符,并且进行滚动。
第九讲:模数转换控制例程,主要讲解了如何控制ADC0804 进行电压采集并显示数据。
第十讲:正弦波发生器例程,包括了直接数字频率合成(DDS)的原理以及如何应用CPLD 产生频率可控频率的正弦信号。 通过本视频教程地学习,您就可以较快较好的掌握CPLD 器件内部结构和操作原理,以及VHDL 语言的书写规范和编写方法,如果配套我 们的CPLD 开发板一起学习,那肯定能够起到事半功倍的效果,让您不再为学习CPLD 和VHDL 语言而发愁。
3月10日 29楼 举报
[0]
51单片机C语言教程-郭天祥-PDF转word版第二章
本章详细介绍单片机程序常用编译软件Keil的用法,包括用Kei建立工程、工程配置、C51单片机程序软件仿真、单步、全速、断点设置、变量查看等。同时还介绍如何使用SST89E516RD单片机进行计算机与TX-IC单片机学习板之间的硬件仿真。用一个完整的C51程序来操作发光二极管的点亮与熄灭,然后调用C51库函数来方便地实现流水灯,最后为大家补充蜂鸣器与继电器的操作方法及集电极开路与漏极开路的概念。从这一章开始我们将手把手地讲解单片机C语言编程。认真学好本章,对于初学者来说将会是一个非常好的开头。
REG52.H
Header generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved.
--------------------------------------------------------------------------*/
tx1c实验板上发光二极管处连接锁存器的目的是因为发光二极管通过锁存器连接到单片机的p1口而板上ad芯片的数据输出端也连接到单片机的p1口当我们在做ad实验时ad芯片的数据输出端的数据就会实时发生变化而若不加锁存器那么发光二极管的阴极电平也跟随ad的数据输出的变化而变化这样就会看见发光管无规则闪动为了在做ad实验时不影响发光二极管我们在发光二极管与单片机之间加入一个锁存器用以隔离当做ad实验时我们可通过单片机将此锁存器的锁存端关闭而此时无论单片机p1口数据怎么变化发光二极管也不会闪动
完后续的代码而引发出更多的错误。解决办法如下:我们须将错误信息窗口右侧的滚动条拖到最上面,双击第一条错误信息,可以看到Keil软件自动将错误定位,并且在代码行前面出现一个蓝色的箭头。需要说明的是,有些错误连Keil软件自身也不能准确显示错误信息,更不能准确定位,它只能定位到错误出现的大概位置,我们根据这个大概位置和错误提示信息自己再查找和修改错误。双击图2.2.3中第一条错误信息后,显示如图2.2.4所示。
单片机资料百度盘
一、51单片机1、祥云51单片机学习光盘(视频教程、例程、操作系统)适合初学者资料下载链接:https:///cJzLQdrBfp2KD 访问密码8f772、普中51单片机学习光盘/s/1pK0c4BL3、郭天祥----十天征服单片机/s/1i4N2Hrn4、新概念51单片机C语言教程.入门、提高、开发(500页,郭天祥著)https:///cYAYJtgFJNUup 访问密码9eb15、力天电子51单片机视频教程/s/1hrulifU6、天狼星51单片机视频教程链接:/s/1pKsD3b9 密码:scy48、STC12C5A60S2例程https:///cjPpH7uBBbIr8 访问密码a471二、AVR单片机1、郭天祥--十天学会AVR单片机视频教程https:///cwVbV5mWw9pxk 访问密码34ba1、锐志电子AVR单片机视频教程https:///cweRHU4JUSypY 访问密码64b22、手把手AVR单片机视频教程https:///cm926G3YrWKhG 访问密码dccb3、DY_miniAVR单片机光盘资料https:///c3fIFUrWu4LEG 访问密码00364、AVR代码生成器https:///c3fILqj5h3aT9 访问密码20615、AVR开发工具https:///c3fI3satMGmSh 访问密码d3566、AVR例程https:///c3fIFfSgCzhWE 访问密码48c1三、msp430单片机1、郭天祥---十天学会msp430单片机https:///cYAYvyxDBaHgr 访问密码4dca2、力天msp430单片机视频教程https:///cYAY83HwRumTn 访问密码d66c3、msp430 c语言.pdfhttps:///cYAY577Ucc7b2 访问密码86b34、msp430教程.pdfhttps:///cYAYtXwXYesgC 访问密码ccbf5、IAR C 430标准库函数.pdfhttps:///cYAYnInwURHZx 访问密码52ef四、PIC单片机1、郭天祥--十天学会pic单片机https:///cYAYDyx2Zydsi 访问密码af9b2、王伟民pic单片机教程https:///cYAYz37WLEaYZ 访问密码2312五、STM32嵌入式教程1、正点原子《手把手教你学STM32-M3》-基于正点原子战舰STM32开发板/s/1hqOsK6K2、正点原子《手把手教你学STM32-M4》-基于正点原子探索者STM32F4开发板/s/1hqOsK7q3、正点原子 UCOS/EMWIN/LWIP视频-基于正点原子STM32开发板/s/1qWsXTfu4、mini基础板视频教程光盘链接:/s/1hqVhZdq 密码:rhab5、stm32历程链接:/s/1jH0maay 密码:hcy26、众想单片机stm32视频教程链接:/s/1hrwmnRY 密码:rb887、李想stm32视频教程链接:/s/1jGZN9kE 密码:m9668、红龙stm32开发板光盘链接:/s/1i4mGYqT 密码:uc5v9、stm’32清晰教程链接:/s/1bogN6Gn 密码:p7pt10、stm32官方文件链接:/s/1c1gfzva 密码:s2gs11、stm32资料pdf资料总汇(20)篇/s/1gdTioq3/s/1eQQ2qPG/s/1i4iDiYh/s/1o7avuCq/s/1gdNIv79/s/1dDTmnRz/s/1mhyggcS12、基于嵌入式实时操作系统的程序设计技术_周航慈_北航.pdf/s/1dEmOZBz13、任哲-嵌入式实时操作系统μCOS-II原理及应用.pdf/s/1jHyjZOM14、嵌入式操作系统uCOS-II(第二版)/s/1dEkhscD15、ucos2经典讲解/s/1o7bHpbG16、邵贝贝ucos操作系统全书.pdf/s/1sklKEz717、零死角玩转stm32-系统篇(uCOS-II)/s/1mhazyQk18、ucosii学习文档集/s/1jGRadIQ六、ARM7、ARM9视频教程1、郭天祥ARM7视频教程https:///cwVbAjCw9JL95 访问密码627d2、郭天祥ARM9视频教程https:///cYARicupI5tjL 访问密码1f283、郭天祥郭天祥CPLD视频教程https:///cwVbfP2dTEeRq 访问密码f955七、CORTEX—A内核arm教程1、基于cortex-a内核的指令链接:/s/1c1qURXe 密码:zux42、国嵌学院cortex-a嵌入式视频全集(内部视频)链接:/s/1pKwEjLh 密码:mc9r3、wince6.0镜像链接:/s/1dEuq3uT 密码:14ww4、wince6.0源码链接:/s/1i4ymmdn 密码:fpb0 5、vs2005链接:/s/1boiP2Bd 密码:7spr 6、QT视频教程链接:/s/1i4fpok1 密码:o4q3 链接:/s/1c0ZtQbI 密码:fwkq 7、QT在Android下编程教程链接:/s/1geft1Z1 密码:z2gq 8、cortex-a下游戏安装集链接:/s/1o84B9WY9、天嵌210光盘资料10张(视频、源码、电路)链接:/s/1boCjt5110、andriod资料链接:/s/1i42VQSH 密码:7fbg 11、windows下资料链接:/s/1i4bRBoT 密码:nqan 12、linux操作系统资料链接:/s/1behIfc 密码:c13n 13、wince操作系统资料/s/1YHVRK14、ARM64-zip链接:/s/1sk1Z6Mx 密码:7uc3 15、QT源码包链接:/s/1boj5ptt 密码:w9bv 16、linux源码包链接:/s/1geyWgPd 密码:qz8z 17、linux开发工具链接:/s/1qXaXmB6 密码:n5ka八、其他资料1、AD6.9 PCB设计教程(15G)https:///cjGM4TkItmeCH 访问密码6e71 2、autocad视频教程https:///cHP5pRjnFbYEA 访问密码ea0d 3、C++课件https:///c3WZYx7h56wZW 访问密码62f8 4、c语言参考手册https:///cjGMTU6WgxQs8 访问密码65a2 5、protel99视频教程https:///c3FHH4rSdp8pH 访问密码1011 6、protues8视频教程https:///cwVbKL73tJtkT 访问密码068e链接:/s/1TYmHg 密码:5l5m 7、SolidWorks视频教程(初级、高级)https:///cYABpMI5Yu4a5 访问密码fc708、VC++视频教程https:///cYABNBtWUfziZ 访问密码71479、zigbee文档资料视频教程https:///cYABipqm9VmTS 访问密码737c10、zigbee-cc2530光盘资料链接:/s/1nubduNf 密码:h6n211、zigbee组网、栈协议教程链接:/s/1nubduNf 密码:h6n212、常用74芯片、电阻、电容、电感、三级管、运放等资料集https:///cYA6ghmYJRUMN 访问密码5449https:///cYA6sTMXiCpEg 访问密码86f4https:///cYA6AztRiuDHN 访问密码8129https:///cYA6fkEyFb9qS 访问密码bd7ahttps:///cYA6KVtPtzN8R 访问密码751a13、VB资料文档+视频教程https:///cYA6Jt5cHvJtJ 访问密码31a514、matlab教程文档+视频https:///cYA6Z4ZneS92Y 访问密码bc3615、瑞萨开发板光盘-电子设计大赛专用https:///cctk6idf8A7HZ 访问密码b92516、你必须知道的495个C语言问题高清PDF中文版全书https:///cYA6QyFqqhcqq 访问密码ee8a 17、电路设计技术与技巧第二版高清晰pdf中文版https:///cYA6cfvbcMtHY 访问密码fcaf 18、战舰-GSM短信模块教程资料链接:/s/1qXaXmIo 密码:e2vk 19、语音模块资料https:///cYA6LifVjRi2n 访问密码0a2920、无线通信模块资料https:///cYA63EabvaH6J 访问密码9eac 21、指纹识别模块资料https:///cYA6r3jtbJKYT 访问密码e9b0 22、顺平linux视频教程(内部)链接:/s/1nuzzQGx 密码:521t 23、jave零基础视频教程链接:/s/1boh3v6B 密码:bqux 24、大数据学习资料链接:/s/1kUtyzPH 密码:miv2 25、android手机端编程视频教程链接:/s/1skiwKOH 密码:rriv 26、陀螺仪-飞控-四旋翼-电路仿真mulitism资料链接:/s/1c1mQU8S 密码:d0e6。
单片机视频教程网站大全
数字逻辑电路,东南大学(视频教程,64讲) /bbs/disp bbs.asp?boardID=30&ID=1287&page=1可编程控制器,东南大学(视频教程,40讲) /bbs/disp bbs.asp?boardID=30&ID=1281&page=1单片机及应用,东南大学(视频教程,32讲) /bbs/disp bbs.asp?boardID=30&ID=1272&page=1单片机技术,吉林大学(视频教程,32讲)/bbs/dis pbbs.asp?boardID=30&ID=1270&page=1可编程逻辑器件(视频教程,15讲)/bbs/di spbbs.asp?boardID=30&ID=1269&page=1EDA技术及应用CPLD (视频教程,36讲)/bbs/dis pbbs.asp?boardID=30&ID=1639&page=1电路电子技术,东南大学(视频教程,72讲) /bbs/disp bbs.asp?boardID=30&ID=1433&page=1DSP技术,电子科技大学(视频讲座,28讲)/bbs/disp bbs.asp?boardID=30&ID=1525&page=1北航单片机视频教程(共24讲, 1.73G) /bbs/dis pbbs.asp?boardID=30&ID=1675&page=1嵌入式系统开发应用技术(视频教程,39讲) /bbs/disp bbs.asp?boardID=30&ID=1488&page=1自动检测技术,同济大学(视频教程,36讲) /bbs/disp bbs.asp?boardID=30&ID=2095&page=1模拟电子技术,石油大学(视频教程,30讲) /bbs/disp bbs.asp?boardID=30&ID=1953&page=151单片机C语言,哈工大(视频教程,09讲) /bbs/di spbbs.asp?boardID=30&ID=2556&page=1机器人原理及应用,东南大学(视频教程48讲)/bbs/di spbbs.asp?boardID=30&ID=2626&page=1AVR视频教程——力天电子/bbs/d ispbbs.asp?boardID=7&ID=9059&page=1十天学会AVR单片机视频教程——天祥电子/bbs/di spbbs.asp?boardID=7&ID=9065&page=1十天学会PIC单片机——郭天祥/bbs/ dispbbs.asp?boardID=27&ID=8990&page=1学ARM和学单片机一样简单,视频教程/bbs/ dispbbs.asp?boardID=5&ID=9115&page=1十天学会msp430视频教程——天祥电子/bbs/ dispbbs.asp?boardID=7&ID=9025&page=1ARM视频嵌入式linux培训班视频/bbs /dispbbs.asp?boardID=5&ID=8972&page=1Altium Designer6.9 PCB设计视频教程/bbs/ dispbbs.asp?boardID=2&ID=9143&page=1CPLD 系统设计及VHDL 语言的视频教程/bbs/d ispbbs.asp?boardID=4&ID=9015&page=1人工智能原理视频教程清华大学/bbs/dispbbs.asp?b oardID=30&ID=3346&page=1微型计算机技术视频教程-清华大学/bbs/dispbbs.asp? boardID=30&ID=3347&page=1计算机系统结构视频教程清华大学/bbs/dispbbs.asp? boardID=30&ID=3348&page=1操作系统视频教程17讲清华大学/bbs/dispbbs.asp?b oardID=30&ID=3349&page=1数字电路视频教程清华大学/bbs/dispbbs.asp?boardI D=30&ID=3350&page=1数字系统设计自动化视频教程清华大学/bbs/dispbbs. asp?boardid=30&id=3351模拟电路视频教程石油大学/bbs/dispbbs.asp?boardi d=30&id=3352嵌入式系统应用开发技术视频教程电子科大/bbs/dis pbbs.asp?boardid=30&id=3354操作系统视频教程山东石油大学/bbs/dispbbs.a sp?boardid=30&id=3353计算机电路基础视频教程(1) 中央电大/bbs/dispbbs.as p?boardid=30&id=3371单片机技术视频教程中央电大 /bbs/dispbbs.a sp?boardid=30&id=3372电路视频教程哈工大 /bbs/dispbbs.a sp?boardID=30&id=3373接口技术视频教程哈工大/bbs/dispbbs.a sp?boardid=30&id=3374电工电子学视频教程东南大学/bbs/dispbbs.a sp?boardID=30&id=3365单片机视频教程37讲深圳职业学院/bbs/dispbbs.as p?boardID=30&ID=3382单片机视频教程北航(1.7G)/bbs/dispbbs.as p?boardID=30&ID=3377电路电子技术视频教程吉林大学/bbs/dispbbs.asp?b oardID=30&ID=3395电工电子学视频教程东南大学/bbs/dispbbs.asp?b oardID=30&ID=3365电路原理视频教程浙江大学/bbs/dispbbs.asp?boar did=30&id=3402电力电子技术视频教程浙江大学/bbs/dispbbs.asp?b oardid=30&id=3403电机与拖动视频教程浙江大学/bbs/dispbbs.asp?bo ardid=30&id=3404电力系统分析视频教程浙江大学/bbs/dispbbs.asp?b oardid=30&id=3405电子基础整理电子基础PPT /bbs/dispbbs.asp?boardID=8&ID=81 1&page=1三极管资料(比较全面)/bbs/dispbbs.asp?boardID=8&I D=600&page=1跟我学模拟电子技术 /bbs/dispbbs.asp?boardID=8&ID =580&page=1运放资料和运放用法 /bbs/dispbbs.asp?boardID=8&ID =285&page=3跟我学数字电子技术 /bbs/dispbbs.asp?BoardID=8&ID =573&replyID=&skin=151单片机教程整理:芯源老师的单片机教程+电路图(通俗易懂的单片机教程,推荐初学者使用)h ttp:///bbs/dispbbs.asp?boardID=7&ID=7&page=1单片机实验汇编C对照学习教程(有很多实例,实验练习的首选)http://www. /bbs/dispbbs.asp?boardID=7&ID=23&page=1c51轻松入门/bbs/dispbbs.asp?boardID=7&ID=87&pa ge=18050单片机C语言彻底应用/bbs/dispbbs.asp?boardI D=7&ID=278&page=1平凡老师的经典单片机教程下载/bbs/dispbbs.asp?boa rdID=7&ID=571&page=1单片机实用教程[下载] /bbs/dispbbs.asp?boardID=7&I D=1261&page=1单片机基础[下载] /bbs/dispbbs.asp?boardID=7&ID=1 262&page=2微机原理/bbs/dispbbs.asp?boardID=7&ID=901&page =251单片机软件整理:伟福编译器/bbs/dispbbs.asp?boardID=7&ID=30&pag e=2ISP下载软件+图/bbs/dispbbs.asp?boardID=7&ID=2 8&page=5AVR单片机教程整理:AVR系列单片机C语言编程与应用实例/bbs/dispbbs.as p?boardID=7&ID=108&page=1AVR高速嵌入式单片机原理与应用(修订版)/bbs/disp bbs.asp?boardID=7&ID=113&page=1嵌入式C编程与Atmel AVR /bbs/dispbbs.asp?boardID =7&ID=114&page=1AVR单片机原理及应用/bbs/dispbbs.asp?boardID=7&I D=111&page=1AVR高速嵌入式单片机原理与应用/bbs/dispbbs.asp?bo ardID=7&ID=112&page=1AVR单片机C语言开发入门指导/bbs/dispbbs.asp?boar dID=7&ID=109&page=1AVR单片机应用设计/bbs/dispbbs.asp?boardID=7&ID =110&page=2PIC单片机教程整理:PIC单片机C语言学习教程/bbs/dispbbs.asp?boardID= 7&ID=282&page=1PIC16F84单片机的内部硬件资源/bbs/dispbbs.asp?bo ardID=7&ID=86&page=1PIC16F877单片机编程实例教程/bbs/dispbbs.asp?boar dID=7&ID=280&page=2PIC单片机编程常用子程序库/bbs/dispbbs.asp?boardI D=7&ID=283&page=3PIC18系列单片机指令中文讲解/bbs/dispbbs.asp?boar dID=7&ID=281&page=3PIC16C5X单片机编程指南/bbs/dispbbs.asp?boardID= 7&ID=279&page=3EDA软件大全Altium Protel 2004 SP3免安装(已安装) /bbs/dispbbs. asp?boardID=2&ID=115&page=1protel99SE下载+自制库和汉化3D补丁/bbs/dispbbs.a sp?boardID=2&ID=81&page=1PADS 2005 下载/bbs/dispbbs.asp?boardID=2&ID=9 4&page=1WG2004/bbs/dispbbs.asp?boardID=2&ID=262&pag e=1ADS2004A /bbs/dispbbs.asp?boardID=2&ID=1288&p age=1orCAD10.3下载/bbs/dispbbs.asp?boardID=2&ID=93 &page=2WG2005 下载/bbs/dispbbs.asp?boardID=2&ID=570& page=3Altium.Designer.v6.9破解版下载/bbs/dispbbs.asp?bo ardID=2&ID=9676&page=2EDA教程Protel DXP视频教程/bbs/dispbbs.asp?boardID=2&ID =329&page=1PADS制作元件教程---wang1jin原创/bbs/dispbbs.asp? boardID=2&ID=575&page=1Protel99SE电路设计与仿真/bbs/dispbbs.asp?boardID =2&ID=1243&page=1PCB(高速)电磁兼容的设计研究/bbs/dispbbs.asp?boar dID=2&ID=584&page=1安裝OrCAD10.3步骤图解/bbs/dispbbs.asp?boardID= 2&ID=92&page=1CADENC软件使用中的问题汇总(Answer)/bbs/dispbb s.asp?boardID=2&ID=1246&page=2PADS POWER基础教程/bbs/dispbbs.asp?boardID=2& ID=96&page=3Protel DXP 指导教程中文教程/bbs/dispbbs.asp?boar dID=2&ID=88&page=3ORCAD仿真资料整理打包/bbs/dispbbs.asp?boardID= 2&ID=593&page=3PowerPCB教程/bbs/dispbbs.asp?boardID=2&ID=98& page=5教你在英文protel 99 se中怎么写汉字/bbs/dispbbs.as p?BoardID=8&ID=810&replyID=&skin=1Altium Designer6.9 PCB设计视频教程/bbs/dispbbs.as p?boardID=2&ID=9143&page=1仿真软件Proteus6.7 破解版/bbs/dispbbs.asp?boardID=22&ID =456&page=2Proteus7.12破解版/bbs/dispbbs.asp?boardID=22&ID =1619&page=1Multisim10.0破解版/bbs/dispbbs.asp?boardID=22&ID =1643&page=140多M的MP3DIY资料打包下载/bbs/dispbbs.asp? boardID=7&ID=480&page=2现代高频开关电源实用技术/bbs/dispbbs.asp?board ID=8&ID=301&page=1。
单片机实验心得体会5篇
单片机实验心得体会5篇单片机实验心得体会篇1单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在单片机里面的应用很多。
由于单片机涉及的知识很多,所以我们只能循序渐进的学习,逐步的积累,没有什么捷径可循。
在大二的时候,我就听学长介绍过单片机,当时感觉很神奇,从此就对单片机特别感兴趣,也感觉它特别有用。
于是经学长推荐,在大二上学期我利用学习之余在图书馆借书,学习了kile和proteus软件,刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。
通过学习才大体知道了单片机的一些知识。
由中央处理器cpu、随机存储器ram、只读存储器rom、i/o接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。
也算给我正式学习单片机打下一个基础。
在大二下学期,我购买了一套单片机学习开发板和郭天祥主编的《新概念51单片机c语言教程》,从此正式开启我的单片机学习之路。
在刚开始学时,就完全模仿郭天祥主编的这本书再结合开发板一步一步的学,从点亮一个发光二级管,流水灯,数码管,定时器,中断,矩阵键盘,ad、da,串口通行,i2c总线等一步一步的深入学习。
此时,我虽然能看懂程序,一些简单的程序可以自己编写,但一些比较复杂的自己编不出来。
在大二暑假,我发现了郭天祥主讲的《十天学会单片机》视屏,于是我坚持天天看视屏,然后在自己根据视屏内容结合开发板写程序,调程序,就这样学了一个暑假。
通过这个视屏,我初步了解了单片机的硬件结构,编程方法及调试方法(用kile软件调试和用开发板调试),寄存器的使用,学会了如何看芯片资料,初步开始利用芯片时序图来编程。
可以说这个视屏对我学习单片机有巨大的帮助,更夸张的说是这个视屏将我带进了单片机的世界,让我尽情的体验单片机带给我的快乐!在大三上学期,我有幸参加了教改班的单片机课程学习。
(完整版)十天学会单片机C语言_郭天祥---课后习题答案
郭天祥十天学通单片机TX-1C单片机实验板所有课作业+答案,特别整理,供单片机爱好与学习者使用讲次内容细节第一讲学单片机预备知识、如何点亮一个发光管单片机能做什么,基本电子知识,如何用TX-1C单片机学习板学习单片机,C51 知识简介,如何申请免费芯片样品。
点亮一个发光管,第二讲流水灯设计、蜂鸣器发声、继电器控制简单延时程序、子程序调用、带参数子程序设计、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用。
第三讲数码管显示的原理、数码管的静态显示共阳、共阴数码管显示原理、定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、外部中断试验、定时器中断应用第四讲数码管的动态显示原理及应用实现动态扫描概念、定时器、中断加深用单片机的定时器及中断设计一个60 秒定时器第五讲独立键盘、矩阵键盘的检测原理及实现键盘用来做什么、如何键盘检测、消抖、键盘编码、带返回值函数写法及应用第六讲AD、DA 的工作原理及实现、运放电路模拟电压与数字电压的关系、为什么要使用AD 及DA、ADC0804 的操作方法、DAC0832 的操作方法第七讲串口通讯原理及操作流程串口通讯工作方式、10 位数据通讯、波特率概念、如何根据波特率计算定时器初值、串口打印在调试程序中的应用。
第八讲 1 602液晶、12864 液晶显示原理及实现最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作第九讲IIC总线AT24C02芯片工作原理IIC总线工作原理、目前非常通用的一种通信机制第十讲利用51 单片机的定时器设计一个时钟综合运用51 单片机知识设计一个可以随意调节时间、带整点闹铃的时钟。
(其中用到定时器、中断、按键、蜂鸣器、数码管或串口通信)第^一讲用DS12C887时钟芯片设计一个高精度时钟DS12C887内部带有锂电池,系统掉电情况下可自行精确走10 年,并带有闹钟功能、年、月、日、时、分、秒等。
郭天祥_十天学通单片机_实验板所有课后作业+答案_特别整理
郭天祥_十天学通单片机_实验板所有课后作业+答案_特别整理郭天祥《十天学通单片机》———“ TX-1C单片机实验板”所有课后作业+答案,特别整理,供单片机爱好与学习者使用第一讲学单片机预备知识、如何点亮一个发光管单片机能做什么,基本电子知识,如何用TX-1C单片机学习板学习单片机,C51知识简介,如何申请免费芯片样品。
点亮一个发光管,第二讲流水灯设计、蜂鸣器发声、继电器控制简单延时程序、子程序调用、带参数子程序设计、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用。
第三讲数码管显示的原理、数码管的静态显示共阳、共阴数码管显示原理、定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、外部中断试验、定时器中断应用第四讲数码管的动态显示原理及应用实现动态扫描概念、定时器、中断加深用单片机的定时器及中断设计一个60秒定时器第五讲独立键盘、矩阵键盘的检测原理及实现键盘用来做什么、如何键盘检测、消抖、键盘编码、带返回值函数写法及应用第六讲AD、DA的工作原理及实现、运放电路模拟电压与数字电压的关系、为什么要使用AD 及DA、ADC0804的操作方法、DAC0832的操作方法第七讲串口通讯原理及操作流程串口通讯工作方式、10位数据通讯、波特率概念、如何根据波特率计算定时器初值、串口打印在调试程序中的应用。
第八讲1602液晶、12864液晶显示原理及实现最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作第九讲IIC总线AT24C02芯片工作原理IIC总线工作原理、目前非常通用的一种通信机制第十讲利用51单片机的定时器设计一个时钟综合运用51单片机知识设计一个可以随意调节时间、带整点闹铃的时钟。
(其中用到定时器、中断、按键、蜂鸣器、数码管或串口通信)第十一讲用DS12C887时钟芯片设计一个高精度时钟DS12C887内部带有锂电池,系统掉电情况下可自行精确走10年,并带有闹钟功能、年、月、日、时、分、秒等。
郭天祥十天学会单片机(例程)
郭天祥十天学会单片机视频例程(部分) Lesson3_1-lesson3_4#include<reg52.h>sbit dula=P2^6;sbit wela=P2^7;void main(){wela=1;P0=0xc0;wela=0;dula=1;P0=0x06;dula=0;while(1);}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;uchar num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint z);void main(){wela=1;//11101010P0=0xea;wela=0;while(1){for(num=0;num<16;num++){dula=1;P0=table[num];dula=0;delay(1000);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;sbit d1=P1^0;uchar num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint z);void main(){EA=1;//开总中断EX0=1;//开外部中断0//IT0=1;TCON=0x01;wela=1;//11101010P0=0xea;wela=0;while(1){for(num=0;num<16;num++){d1=1;dula=1;P0=table[num];dula=0;delay(1000);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void exter0() interrupt 0{d1=0;}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;sbit d1=P1^0;uchar num,num1;tt;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint z);void main(){num=0;tt=0;TMOD=0x11;//设置定时器0为工作方式1TH0=(65536-10000)/256;TL0=(65536-10000)%256;TH1=(65536-20000)/256;TL1=(65536-20000)%256;// EA=1;//开总中断ET0=1;//开定时器0中断ET1=1;TR0=1;//启动定时器0TR1=1;wela=1;//11101010P0=0xea;wela=0;dula=1;P0=0x3f;dula=0;while(1){if(num1==25){num1=0;P1=~P1;}if(tt==100){tt=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void time0() interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;tt++;}void time1() interrupt 3{TH1=(65536-20000)/256;TL1=(65536-20000)%256;num1++;}Lesson4_1-lesson4_3#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar temp,aa,num;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint z);void main(){num=0;aa=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;temp=0xfe;P1=temp;dula=1;P0=table[0];dula=0;wela=1;P0=0xc0;wela=0;while(1){delay(1000);temp=_crol_(temp,1);P1=temp;/* if(aa==40){aa=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;} */}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;if(aa==40){aa=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;}}#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar temp,aa,numdu,numwe;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//void delay(uint z);void main(){numdu=0;numwe=0;aa=0;TMOD=0x01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;while(1){// delay(1000);// temp=_crol_(temp,1);// P1=temp;if(aa==1){aa=0;numdu++;if(numdu==7)numdu=1;dula=1;P0=table[numdu];dula=0;wela=1;P0=tablewe[numwe];wela=0;numwe++;if(numwe==6)numwe=0;}}}/*void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}*/void timer0() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;aa++;}#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar temp,aa,bai,shi,ge;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void display(uchar bai,uchar shi,uchar ge); void delay(uint z);void init();void main(){init();//初始化子程序while(1){if(aa==20){aa=0;temp++;if(temp==100){temp=0;}bai=temp/100;shi=temp%100/10;ge=temp%10;}display(bai,shi,ge);}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void display(uchar bai,uchar shi,uchar ge){dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);}void init(){wela=0;dula=0;temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}Lesson5_1—Lesson5_3#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x79,0x38,0x3f,0};uchar temp,t0,t1,bai,shi,ge,flag,flag1;uint shu;void init();void display(uchar,uchar,uchar,uchar,uchar,uchar);void delay(uint z){uint t1,y;for(t1=z;t1>0;t1--)for(y=110;y>0;y--);}void main(){init();while(1){if(flag1!=1)display(7,6,5,bai,shi,ge);elsedisplay(16,17,18,18,19,20);}}void init(){shu=432;temp=0xfe;P1=temp;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;if(flag!=1){if(t0==10){t0=1;temp=_crol_(temp,1);P1=temp;}}else{if(t0%4==0)P1=~P1;if(t0==60){TR0=0;P1=0xff;flag1=1;}}}void timer1() interrupt 3{TH1=(65536-50000)/256;TL1=(65536-50000)%256;t1++;if(t1==2){t1=0;shu--;bai=shu/100;shi=shu%100/10;ge=shu%10;if(shu==398){TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;flag=1;t0=0;P1=0xff;TR1=0;}}}void display(uchar aa,uchar bb,uchar cc,uchar ba,uchar sh,uchar g){dula=1;P0=table[aa];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=table[bb];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=table[cc];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=table[ba];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);dula=1;P0=table[sh];dula=0;P0=0xff;wela=1;P0=0xef;wela=0;delay(1);dula=1;P0=table[g];dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay(1);}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit d1=P1^0;sbit dula=P2^6;sbit wela=P2^7;sbit key1=P3^4;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){wela=1;P0=0xfe;wela=0;P3=0xff;while(1){if(key1==0){delay(5);if(key1==0){d1=0;num++;if(num==10)num=0;}while(!key1);delay(5);while(!key1);}elsed1=1;dula=1;P0=table[num];dula=0;}}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;sbit key1=P3^4;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0};uchar num,temp,num1;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}uchar keyscan();void display(uchar aa);void main(){num=17;dula=1;P0=0;dula=0;wela=1;P0=0xc0;wela=0;while(1){display(keyscan());}}void display(uchar aa){dula=1;P0=table[aa-1];dula=0;}uchar keyscan(){P3=0xfe;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case 0xee:num=1;break;case 0xde:num=2;break;case 0xbe:num=3;break;case 0x7e:num=4;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfd;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case 0xed:num=5;break;case 0xdd:num=6;break;case 0xbd:num=7;break;case 0x7d:num=8;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfb;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case 0xeb:num=9;break;case0xdb:num=10;break;case0xbb:num=11;break;case0x7b:num=12;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xf7;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case0xe7:num=13;break;case0xd7:num=14;break;case0xb7:num=15;break;case0x77:num=16;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}return num;}Lesson6_1—Lesson6_3#include<reg52.h>sbit csda=P3^2;sbit wr=P3^6;void main(){csda=0;wr=0;P0=0;while(1);}#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit wr=P3^6;sbit rd=P3^7;void delay(uint z){uint t1,y;for(t1=z;t1>0;t1--)for(y=110;y>0;y--);}void init();void start();void main(){init();while(1){start();delay(20);rd=0;delay(10);rd=1;delay(10);}}void init(){P0=0;}void start(){wr=1;wr=0;wr=1;}Lesson7_1-Lesson7_1#include<reg52.h>unsigned char flag,a;void main(){TMOD=0x20;//设置定时器1为工作方式2TH1=0xfd;TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;while(1){/* if(RI==1){RI=0;P1=SBUF;}*/if(flag==1){ES=0;flag=0;SBUF='1';//28;while(!TI);TI=0;SBUF='2';//28;while(!TI);TI=0;SBUF='3';//28;while(!TI);TI=0;ES=1;}}}void ser() interrupt 4{RI=0;// P1=SBUF;a=SBUF;flag=1;}Lesson8#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="I LIKE MCU!";uchar code table1[]=""; sbit lcden=P3^4;sbit lcdrs=P3^5;sbit dula=P2^6;sbit wela=P2^7;uchar num; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date){lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){dula=0;wela=0;lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80+0x10);}void main(){init();for(num=0;num<11;num++){write_data(table[num]);delay(20);}// write_com(1);write_com(0x80+0x53);for(num=0;num<13;num++){write_data(table1[num]);delay(20);}for(num=0;num<16;num++){write_com(0x18);delay(20);}while(1);}Lesson9#include<reg52.h>#define uchar unsigned charsbit sda=P2^0;sbit scl=P2^1;uchar a;void delay(){ ;; }void start() //开始信号{sda=1;delay();scl=1;delay();sda=0;delay();}void stop() //停止{sda=0;delay();scl=1;delay();sda=1;delay();}void respons() //应答{uchar i;scl=1;delay();while((sda==1)&&(i<250))i++;scl=0;delay();}void init(){sda=1;delay();scl=1;delay();}void write_byte(uchar date){uchar i,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;scl=0;delay();sda=CY;delay();scl=1;delay();// scl=0;// delay();}scl=0;delay();sda=1;delay();}uchar read_byte(){uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i<8;i++){scl=1;delay();k=(k<<1)|sda;scl=0;delay();}return k;}void delay1(uchar x){uchar a,b;for(a=x;a>0;a--)for(b=100;b>0;b--);}void write_add(uchar address,uchar date) {start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date);respons();stop();}uchar read_add(uchar address){uchar date;start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;}void main(){init();write_add(23,0xaa);delay1(100);P1=read_add(23);while(1);}Lesson 10#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit rs=P3^5;sbit lcden=P3^4;sbit s1=P3^0;sbit s2=P3^1;sbit s3=P3^2;sbit rd=P3^7;uchar count,s1num;char miao,shi,fen;uchar code table[]=" 2007-7-30 MON"; uchar code table1[]=" 00:00:00"; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;dula=0;wela=0;lcden=0;// fen=59;// miao=53;// shi=23;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void write_sfm(uchar add,uchar date) {uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}void keyscan(){rd=0;if(s1==0){delay(5);if(s1==0){ s1num++;while(!s1);if(s1num==1){TR0=0;write_com(0x80+0x40+10);write_com(0x0f);}}if(s1num==2){write_com(0x80+0x40+7);}if(s1num==3){write_com(0x80+0x40+4);}if(s1num==4){s1num=0;write_com(0x0c);TR0=1;}}if(s1num!=0){if(s2==0){delay(5);if(s2==0){while(!s2);if(s1num==1){miao++;if(miao==60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10);}if(s1num==2){fen++;if(fen==60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi++;if(shi==24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);}}}if(s3==0){delay(5);if(s3==0){while(!s3);if(s1num==1){/* if(miao==0){miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}*/miao--;if(miao==-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}if(s1num==2){fen--;if(fen==-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi--;if(shi==-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);}}}}}void main(){init();while(1){keyscan();}// while(1);}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++; if(count==18){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}write_sfm(4,shi);}write_sfm(7,fen);}write_sfm(10,miao);}}Lesson 11#include<reg52.h>#include<define.h>void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void didi(){beep=0;delay(50);beep=1;delay(100);beep=0;delay(50);beep=1;}void write_com(uchar com){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;EA=1;EX0=1;IT0=1;dula=0;wela=0;lcden=0;// set_time();set_alarm(14,13,10);write_ds(0x0B,0x26);read_ds(0x0c);// fen=59;// miao=53;// shi=23;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}}void write_sfm(uchar add,uchar date) {uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}void keyscan(){rd=0;if(flag1==1){if(s2==0){delay(5);if(s2==0){while(!s2);flag1=0;}}if(s3==0){delay(5);if(s3==0){while(!s3);flag1=0;}} }if(s1==0){delay(5);if(s1==0){ s1num++;flag=1;flag1=0;while(!s1);if(s1num==1){TR0=0;write_com(0x80+0x40+10);write_com(0x0f);}}if(s1num==2){write_com(0x80+0x40+7);}if(s1num==3){write_com(0x80+0x40+4);}if(s1num==4){s1num=0;write_com(0x0c);flag=0;write_ds(0,miao);write_ds(2,fen);write_ds(4,shi);}}if(s1num!=0){if(s2==0){delay(1);if(s2==0){while(!s2);if(s1num==1){miao++;if(miao==60)miao=0;write_sfm(10,miao); write_com(0x80+0x40+10);}if(s1num==2){fen++;if(fen==60)fen=0;write_sfm(7,fen); write_com(0x80+0x40+7);}if(s1num==3){shi++;if(shi==24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);}}}if(s3==0){delay(1);if(s3==0){while(!s3);if(s1num==1){/* if(miao==0){miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}*/miao--;if(miao==-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}if(s1num==2){fen--;if(fen==-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi--;if(shi==-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);}}}}}void write_ds(uchar add,uchar date){dscs=0;dsas=1;dsds=1;dsrw=1;P0=add;dsas=0;dsrw=0;P0=date;dsrw=1;dsas=1;dscs=1;}uchar read_ds(uchar add) {uchar ds_date;dsas=1;dsds=1;dsrw=1;dscs=0;P0=add;dsas=0;dsds=0;P0=0xff;ds_date=P0;dsds=1;dsas=1;dscs=1;return ds_date;}void set_time(){write_ds(4,10);write_ds(2,32);}void set_alarm(uchar ashi,uchar afen,uchar amiao) {write_ds(1,amiao);write_ds(3,afen);write_ds(5,ashi);}void main(){init();while(1){keyscan();if(flag1==1)didi();if(flag==0){miao=read_ds(0);fen=read_ds(2);shi=read_ds(4);write_sfm(10,miao);write_sfm(7,fen);write_sfm(4,shi);}}}void exter() interrupt 0{ uchar c;flag1=1;c=read_ds(0x0c);}。
十天学会单片机非常完整版
C-51数据的存储类型
例:
数据类型 变量名
char var1; bit flags; unsigned char vextor[10]; int wwww; 注意:变量名不能用C语言中的关 键字表示。
工业自动化:数据采集、测控技术。 智能仪器仪表:数字示波器、数字信号源、 数字万用表、感应电流表等。 消费类电子产品:洗衣机、电冰箱、空调机、 电视机、微波炉、手机、IC卡、汽车电子设 备等。 通讯方面:调制解调器、程控交换技术、手 机、小灵通等。 武器装备:飞机、军舰、坦克、导弹、航天 飞机、鱼雷制导、智能武器等。 等等…..
5. 由于具有方便的模块化编程技术,使 已编好程序可容易地移植;
C-51的数据类型
基本数据类型
类型 符号 有 整 型 无 有 实 型 有 字 有 符 型 无 关键字 (signed) int (signed) short (signed) long unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 64 8 8 -2147483648~2147483647 0~65535 0~65535 0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
单板机 单片机
单片机能做什么
1. 2. 3. 4. 实物展示 用到单片机的项目经验介绍 手持粮库温度寻检设备 毕设答辩打分器 电话台灯 自动感应水龙头 凡是与控制或简单计算有关的电子设备都可以用 单片机来实现,再根据具体实际情况选择不同性 能的单片机,如:atmel,stc,pic,avr,凌阳,80C51, arm等
我的大学六年(郭天祥原创老王强烈推荐)
我的大学六年(单片机大师郭天祥原创)在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。
因此,在这里我要感谢哈尔滨工程大学的历任领导,我今天成绩的取得得益于他们不断完善的教育体制;衷心地感谢曾经教导过我的刁鸣教授、付永庆教授、王松武教授,没有他们对我的培养,也就没有我的今天。
同时我也希望能有更多的电子爱好者加入创新实验室,在完善自我的同时,在电子行业做出更突出的业绩。
2007年,我以全新的教学方式推出了一套讲述51单片机的教学视频课程——“十天学会单片机”(就是我们现在看的那套视频),该视频自从网上发布后,得到了电子爱好者的一致好评,诸多的单片机初学者通过这套视频走上了单片机开发之路。
有很多学员来信或打电话希望我能够将视频中的内容著书出版,让更多的人受益。
为此,从2007年9月至2008年7月,我用了近十个月的时间将书《新概念51单片机C语言教程-入门、提高、开发、拓展全攻略》(预计08年11月上市,全国各大新华书店有售)写完。
本书的写作风格与我在教学视频中的讲课风格相似,它与传统讲授单片机的书籍完全不同,我以学单片机“过来人”的思路,抱着如何才能更容易掌握单片机的态度,理论与实践完全结合的方式清晰地讲解了单片机部分。
其余大部分内容为我多年做项目的经验积累,也有部分内容来自于网络电子高手们的精华总结,应当说,在本书中有太多的知识是大家平时在书本上所学不到的。
在这里,先将我在大学期间的学习和生活经历与大家分享,借此鼓舞大家珍惜大学时光,多学习文化知识,开创更加美好的明天。
写这篇文章的时候,我正处于硕士研究生毕业论文的准备阶段,眼睁睁看着我的大学生活即将画上句号,再看看身边有很多低年级的学生们一天天把时间白白荒费掉,我在心里替他们惋惜,在即将结束我的大学生活之际,我将我的大学几年的有意义的生活与大家分享,看过这篇文章后也许能让那些有梦想的同学为了实现自己的人生目标少走些弯路,大家要相信,大学校园——将为你提供一生最好的学习环境。
基于郭天祥的十天学通单片机,其讲课中涉及到的源程序
以下程序基于郭天祥的十天学通单片机TX-1C单片机实验板,是其讲课中涉及到的源程序Lesson11#include<reg52.h>sbit D2=P1^2;unsigned int a;void main(){D2=0;/* for(a=0;a<=10000;a++){};D2=1;for(a=0;a<=10000;a++){};*/}2#include<reg52.h>void main(){P1=0xfd;}lesson21#include<reg52.h>sbit p1_1=P1^0unsigned int avoid main(){while(1){a=51000;p1_1=0;while(a--);a=51000;while(a--);p1_1=1;a=51000;while(a--);a=51000;while(a--);}}2#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit D1=P1^0;//void delay();void delay(uint);void main(){ while(1){D1=0;delay(100);D1=1;delay(100);}}/*void delay(){uint x,y;for(x=100;x>0;x--)for(y=600;y>0;y--);}*/void delay(uint z){uint x;uchar y;for(x=z;x>0;x--)for(y=20;y>0;y--);}lesson31#include<reg52.h>sbit dula=P2^6;sbit wela=P2^7;void main(){wela=1;P0=0xc0;wela=0;dula=1;P0=0x06;dula=0;while(1);}2 #include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;uchar num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint z);void main(){wela=1;//11101010P0=0xea;wela=0;while(1){for(num=0;num<16;num++) {dula=1;P0=table[num];dula=0;delay(1000);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}3#include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;sbit d1=P1^0;uchar num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint z);void main(){EA=1;//开总中断EX0=1;//开外部中断0//IT0=1;TCON=0x01;wela=1;//11101010P0=0xea;wela=0;while(1){for(num=0;num<16;num++) {d1=1;dula=1;P0=table[num];dula=0;delay(1000);} }}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void exter0() interrupt 0{d1=0;}4#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;sbit d1=P1^0;uchar num,num1;tt;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint z);void main(){num=0;tt=0;TMOD=0x11;//设置定时器0为工作方式1TH0=(65536-10000)/256;TL0=(65536-10000)%256;TH1=(65536-20000)/256;TL1=(65536-20000)%256;// EA=1;//开总中断ET0=1;//开定时器0中断ET1=1;TR0=1;//启动定时器0TR1=1;wela=1;//11101010P0=0xea;wela=0;dula=1;P0=0x3f;dula=0;while(1){if(num1==25){num1=0;P1=~P1;}if(tt==100){tt=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void time0() interrupt 1 {TH0=(65536-10000)/256; TL0=(65536-10000)%256; tt++;}void time1() interrupt 3 {TH1=(65536-20000)/256; TL1=(65536-20000)%256; num1++;}Lesson41.#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char uchar temp,aa,num;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint z);void main(){num=0;aa=0;TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;temp=0xfe;P1=temp;dula=1;P0=table[0];dula=0;wela=1;P0=0xc0;wela=0;while(1){delay(1000);temp=_crol_(temp,1);P1=temp;/* if(aa==40){aa=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;} */}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void timer0() interrupt 1 {TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++;if(aa==40){aa=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;}}Lesson4-2#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char uchar temp,aa,numdu,numwe; sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //void delay(uint z);void main(){numdu=0;numwe=0;aa=0;TMOD=0x01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;while(1){// delay(1000);// temp=_crol_(temp,1);// P1=temp;if(aa==1){aa=0;numdu++;if(numdu==7)numdu=1;dula=1;P0=table[numdu];dula=0;wela=1;P0=tablewe[numwe];wela=0;numwe++;if(numwe==6)numwe=0;}}}/*void delay(uint z){uint x,y; for(x=z;x>0;x--)for(y=110;y>0;y--);}*/void timer0() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;aa++;}Lesson4-3#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar temp,aa,bai,shi,ge;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void display(uchar bai,uchar shi,uchar ge);void delay(uint z);void init();void main(){init();//初始化子程序while(1){if(aa==20){aa=0;temp++;if(temp==100){temp=0;}bai=temp/100;shi=temp%100/10;ge=temp%10;}display(bai,shi,ge);}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void display(uchar bai,ucharshi,uchar ge){dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);}void init(){wela=0;dula=0;temp=0;TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;}void timer0() interrupt 1 {TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++;}Lesson51#include <reg52.h>#include <intrins.h>#define uchar unsigned char #define uint unsigned int sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x79,0x38,0x3f,0};uchar temp,t0,t1,bai,shi,ge,flag,flag1; uint shu;void init();voiddisplay(uchar,uchar,uchar,uchar,ucha r,uchar);void delay(uint z){uint t1,y;for(t1=z;t1>0;t1--)for(y=110;y>0;y--);}void main(){init();while(1){if(flag1!=1)display(7,6,5,bai,shi,ge);elsedisplay(16,17,18,18,19,20);}}void init(){shu=432;temp=0xfe;P1=temp;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;if(flag!=1){if(t0==10){t0=1;temp=_crol_(temp,1);P1=temp;}}else{if(t0%4==0)P1=~P1;if(t0==60){TR0=0;P1=0xff;flag1=1;}}}void timer1() interrupt 3{TH1=(65536-50000)/256;TL1=(65536-50000)%256;t1++;if(t1==2){t1=0;shu--;bai=shu/100;shi=shu%100/10;ge=shu%10;if(shu==398){TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;flag=1;t0=0;P1=0xff;TR1=0;}}}void display(uchar aa,uchar bb,uchar cc,uchar ba,uchar sh,uchar g){dula=1;P0=table[aa];dula=0; P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=table[bb];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=table[cc];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=table[ba];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);dula=1;P0=table[sh];dula=0;P0=0xff;wela=1;P0=0xef;wela=0;delay(1);dula=1;P0=table[g];dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay(1);}Lesson5-2#include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit d1=P1^0;sbit dula=P2^6;sbit wela=P2^7;sbit key1=P3^4;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){wela=1;P0=0xfe;wela=0;P3=0xff;while(1){if(key1==0){delay(5);if(key1==0){d1=0;num++;if(num==10)num=0;}while(!key1);delay(5);while(!key1);}elsed1=1;dula=1;P0=table[num];dula=0;}}Lesson5-3#include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;sbit key1=P3^4;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0}; uchar num,temp,num1; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}uchar keyscan();void display(uchar aa); void main(){num=17;dula=1;P0=0;dula=0;wela=1;P0=0xc0;wela=0;while(1){display(keyscan());}}void display(uchar aa) {dula=1;P0=table[aa-1];dula=0;}uchar keyscan(){P3=0xfe;temp=P3;temp=temp&0xf0; while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0; while(temp!=0xf0){temp=P3;switch(temp){Case 0xee:num=1; break;case 0xde:num=2; break;case 0xbe:num=3; break;case 0x7e:num=4;break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; }}}P3=0xfd;temp=P3;temp=temp&0xf0; while(temp!=0xf0) {delay(5);temp=P3;temp=temp&0xf0; while(temp!=0xf0) {temp=P3;switch(temp){case 0xed:num=5; break;case 0xdd:num=6; break;case 0xbd:num=7; break;case 0x7d:num=8; break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; }}}P3=0xfb;temp=P3;temp=temp&0xf0; while(temp!=0xf0) {delay(5);temp=P3;temp=temp&0xf0; while(temp!=0xf0) {temp=P3;switch(temp){case 0xeb:num=9; break;case 0xdb:num=10; break;case 0xbb:num=11; break;case 0x7b:num=12; break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; }}}P3=0xf7;temp=P3;temp=temp&0xf0; while(temp!=0xf0) {delay(5);temp=P3;temp=temp&0xf0; while(temp!=0xf0) {temp=P3;switch(temp){case 0xe7:num=13; break;case 0xd7:num=14; break;case 0xb7:num=15; break;case 0x77:num=16; break;}while(temp!=0xf0) {temp=P3;temp=temp&0xf0; }}}return num;}Lesson61#include<reg52.h> sbit csda=P3^2; sbit wr=P3^6;void main(){csda=0;wr=0;P0=0;while(1);}Lesson6-2#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit wr=P3^6;sbit rd=P3^7;void delay(uint z){uint t1,y;for(t1=z;t1>0;t1--)for(y=110;y>0;y--);}void init();void start();void main(){init();while(1){start();delay(20);rd=0;delay(10);rd=1;delay(10);}}void init(){P0=0;}void start(){wr=1;wr=0;wr=1;}Lesson7#include<reg52.h>unsigned char flag,a;void main(){TMOD=0x20;//设置定时器1为工作方式2TH1=0xfd; TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;while(1){/* if(RI==1){RI=0;P1=SBUF;}*/if(flag==1){ES=0;flag=0;SBUF='1';//28;while(!TI);TI=0;SBUF='2';//28;while(!TI);TI=0;SBUF='3';//28;while(!TI);TI=0;ES=1;}}}void ser() interrupt 4{RI=0;// P1=SBUF;a=SBUF;flag=1;}Lesson8#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table[]="I LIKE MCU!"; uchar code table1[]=""; sbit lcden=P3^4;sbit lcdrs=P3^5;sbit dula=P2^6;sbit wela=P2^7;uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com) {lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) {lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){dula=0;wela=0;lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80+0x10);}void main(){init();for(num=0;num<11;num++) {write_data(table[num]); delay(20);}// write_com(1);write_com(0x80+0x53);for(num=0;num<13;num++) {write_data(table1[num]); delay(20);}for(num=0;num<16;num++) {write_com(0x18);delay(20); }while(1);}Lesson9#include<reg52.h>#define uchar unsigned char sbit sda=P2^0;sbit scl=P2^1;uchar a;void delay(){ ;; }void start() //开始信号{sda=1;delay();scl=1;delay();sda=0;delay();}void stop() //停止{sda=0;delay();scl=1;delay();sda=1;delay();}void respons() //应答{uchar i;scl=1;delay();while((sda==1)&&(i<250))i++; scl=0;delay();}void init(){sda=1;delay();scl=1;delay();}void write_byte(uchar date) {uchar i,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;scl=0;delay();sda=CY;delay();scl=1;delay();// scl=0;// delay();}scl=0;delay();sda=1;delay();}uchar read_byte(){uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i<8;i++){scl=1;delay();k=(k<<1)|sda;scl=0;delay();}return k;}void delay1(uchar x){uchar a,b;for(a=x;a>0;a--)for(b=100;b>0;b--);}void write_add(uchar address,uchar date){start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date);respons();stop();}uchar read_add(uchar address){uchar date; start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;}void main(){init();write_add(23,0xaa);delay1(100);P1=read_add(23);while(1);}Lesson10#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;sbit rs=P3^5;sbit lcden=P3^4;sbit s1=P3^0;sbit s2=P3^1;sbit s3=P3^2;sbit rd=P3^7;uchar count,s1num;char miao,shi,fen;uchar code table[]=" 2007-7-30 MON";uchar code table1[]=" 00:00:00"; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;dula=0;wela=0;lcden=0;// fen=59;// miao=53;// shi=23;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void write_sfm(uchar add,uchar date){uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge); }void keyscan(){rd=0;if(s1==0){delay(5);if(s1==0){ s1num++;while(!s1);if(s1num==1){TR0=0;write_com(0x80+0x40+10); write_com(0x0f);}}if(s1num==2){write_com(0x80+0x40+7); }if(s1num==3){write_com(0x80+0x40+4); }if(s1num==4){s1num=0;write_com(0x0c);TR0=1;}}if(s1num!=0){if(s2==0){delay(5);if(s2==0){while(!s2);if(s1num==1){miao++;if(miao==60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10); }if(s1num==2){fen++;if(fen==60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7); }if(s1num==3){shi++;if(shi==24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4); }}}if(s3==0){delay(5);if(s3==0){while(!s3);if(s1num==1){/* if(miao==0){miao=59;write_sfm(10,miao);write_com(0x80+0x40+10); }*/miao--;if(miao==-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10); }if(s1num==2){fen--;if(fen==-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7); }if(s1num==3){shi--;if(shi==-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4); }}}} }void main(){init();while(1){keyscan();}// while(1);}void timer0() interrupt 1 {TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++;if(count==18){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}write_sfm(4,shi);}write_sfm(7,fen);}write_sfm(10,miao);}}Lesson11---shizhong.c#include<reg52.h>#include<define.h>void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void didi(){beep=0;delay(50);beep=1;delay(100);beep=0;delay(50);beep=1;}void write_com(uchar com) {rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date) {rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;EA=1;EX0=1;IT0=1;dula=0;wela=0;lcden=0;// set_time();set_alarm(14,13,10);write_ds(0x0B,0x26);read_ds(0x0c);// fen=59;// miao=53;// shi=23;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++) {write_date(table[num]); delay(5);}write_com(0x80+0x40); for(num=0;num<12;num++){write_date(table1[num]);delay(5);}}void write_sfm(uchar add,uchar date){uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}void keyscan(){rd=0;if(flag1==1){if(s2==0){delay(5);if(s2==0){while(!s2);flag1=0;}}if(s3==0){delay(5);if(s3==0){while(!s3);flag1=0;}}}if(s1==0){delay(5);if(s1==0){ s1num++;flag=1;flag1=0;while(!s1);if(s1num==1){TR0=0;write_com(0x80+0x40+10);write_com(0x0f);}}if(s1num==2){write_com(0x80+0x40+7); }if(s1num==3){write_com(0x80+0x40+4); }if(s1num==4){s1num=0;write_com(0x0c);flag=0;write_ds(0,miao);write_ds(2,fen);write_ds(4,shi);}}if(s1num!=0){if(s2==0){delay(1);if(s2==0){while(!s2);if(s1num==1){miao++;if(miao==60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10); }if(s1num==2){fen++;if(fen==60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7); }if(s1num==3){shi++;if(shi==24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4); }} }if(s3==0){delay(1);if(s3==0){while(!s3);if(s1num==1){/* if(miao==0){miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}*/miao--;if(miao==-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);}if(s1num==2){fen--;if(fen==-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi--;if(shi==-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);}}}}}void write_ds(uchar add,uchar date) {dscs=0;dsas=1;dsds=1;dsrw=1;P0=add;dsas=0;dsrw=0;P0=date;dsrw=1;dsas=1;dscs=1;}uchar read_ds(uchar add){uchar ds_date;dsas=1;dsds=1;dsrw=1;dscs=0;P0=add;dsas=0;dsds=0;P0=0xff;ds_date=P0;dsds=1;dsas=1;dscs=1;return ds_date;}void set_time(){write_ds(4,10);write_ds(2,32);}void set_alarm(uchar ashi,uchar afen,uchar amiao){write_ds(1,amiao);write_ds(3,afen);write_ds(5,ashi);}void main(){init();while(1){keyscan();if(flag1==1)didi();if(flag==0){miao=read_ds(0);fen=read_ds(2);shi=read_ds(4);write_sfm(10,miao);write_sfm(7,fen);write_sfm(4,shi);}}}void exter() interrupt 0{ uchar c;flag1=1; c=read_ds(0x0c); }。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Lesson1作业1、用位操作点亮第一个发光管.适用TX-1C单片机实验板晶振为11.0592M/*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数{led1=0; //将单片机P1.0口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
}2 、用总线操作点亮第一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110 while(1); //程序停止在这里,在后面会讲到为什么这样写。
}3、用位操作点亮最后一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件sbit led8=P1^7; //单片机管脚位声明void main() //主函数{led8=0; //将单片机P1.7口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
}4、用总线操作点亮最后一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0x7f; //将单片机P1口的8个口由高到低分别赋值为01111111 while(1); //程序停止在这里,在后面会讲到为什么这样写。
}/*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明sbit led3=P1^2; //单片机管脚位声明sbit led5=P1^4; //单片机管脚位声明sbit led7=P1^6; //单片机管脚位声明void main() //主函数{led1=0; //将单片机P1.0口清零led3=0; //将单片机P1.2口清零led5=0; //将单片机P1.4口清零led7=0; //将单片机P1.6口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
}6、用总线操作点亮1,3,5,7发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xaa; //将单片机P1口的8个口由高到低分别赋值为10101010 while(1); //程序停止在这里,在后面会讲到为什么这样写。
}7、用位操作点亮2,4,5,6发光管./*********************************************************/#include<reg52.h> //52单片机头文件sbit led2=P1^1; //单片机管脚位声明sbit led4=P1^3; //单片机管脚位声明sbit led5=P1^4; //单片机管脚位声明sbit led6=P1^5; //单片机管脚位声明void main() //主函数{led2=0; //将单片机P1.1口清零led4=0; //将单片机P1.3口清零led5=0; //将单片机P1.4口清零led6=0; //将单片机P1.5口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。
}/*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xc5; //将单片机P1口的8个口由高到低分别赋值为11000101while(1); //程序停止在这里,在后面会讲到为什么这样写。
}9、尝试让第一个发光管闪烁.(程序看不懂没关系,后面章节会有详细讲解) /*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数{unsigned int i; //定义一个int型变量while(1){i=50000; //变量赋初值为50000led1=0; //点亮灯while(i--); //延时i=50000;led1=1; //熄灭灯while(i--);}}10、尝试写出流水灯程序(程序看不懂没关系,后面章节会有详细讲解)/*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{unsigned int i; //定义一个int型变量while(1){i=50000; //变量赋初值为50000P1=0xfe; //点亮第一个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xfd; //点亮第二个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xfb; //点亮第三个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xf7; //点亮第四个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xef; //点亮第五个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xdf; //点亮第六个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xbf; //点亮第七个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0x7f; //点亮第八个灯while(i--); //延时}}Lesson 21、第一个发光管以间隔200ms闪烁/*********************************************************/#include<reg52.h> //52单片机头文件#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit led1=P1^0; //单片机管脚位声明void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{while(1) //大循环{led1=0; //点亮小灯delay(200); //延时200毫秒led1=1; //熄灭小灯delay(200); //延时200毫秒}}2、8个发光管由上至下间隔1s流动其中每个管亮500ms,灭500ms,亮时蜂鸣器响灭时关闭蜂鸣器,一直重复下去。
/*********************************************************/#include<reg52.h> //52单片机头文件#include <intrins.h> //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit beep=P2^3;void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{uchar a;a=0xfe;while(1) //大循环{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(500); //延时500毫秒P1=0xff; //熄灭小灯beep=1; //关闭蜂鸣器delay(500); //延时500毫秒a=_crol_(a,1); //将a变量循环左移一位}}3、8个发光管来回流动,每个管亮100ms,流动时让蜂鸣器发出"滴滴"声。
/*********************************************************/#include<reg52.h> //52单片机头文件#include <intrins.h> //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit beep=P2^3;void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{uchar a,i;while(1) //大循环{a=0xfe; //赋初值for(i=0;i<8;i++) //左移{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(50); //延时50毫秒beep=1; //关闭蜂鸣器delay(50); //再延时50毫秒a=_crol_(a,1); //将a变量循环左移一位}a=0x7f;for(i=0;i<8;i++) //右移{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(50); //延时50毫秒beep=1; //关闭蜂鸣器delay(50); //再延时50毫秒a=_cror_(a,1); //将a变量循环右移一位}}}4、用8个发光管演示出8位二进制数累加过程。