,单片机主程序如何编
2023-5-25 深圳市松本先天下科技发展有限公司
GitHub开源项目推荐|裸机编程指南-bare-metal-programming-guidebare-metal-programming-guide是一个GitHub上优秀的开源项目,目前项目点赞数已达:1.5k,这是一份教你如何在不依赖IDE的情况下,进行单片机开发的教程。内容先是介绍了寄存器、向量表、启动代码、链接脚本等知识点,最后实现了一个带设备仪表盘的Web服务器。
裸机编程是指在没有操作系统或其他软件支持的情况下,直接在硬件上编写程序。这种编程方式需要对硬件有深入的了解,因此对于想要深入了解计算机系统的开发者来说,是一种非常有挑战性的编程方式。这个项目提供了一些基础的裸机编程知识,包括如何初始化硬件、如何编写中断处理程序、如何使用汇编语言等。此外,该项目还提供了一些示例代码,帮助开发者更好地理解这些概念。
1、单片机写程序。
开始↓8051初使化↓四个路口红灯亮↓东西红灯亮,南北绿灯亮,延时↓东西红灯亮,南北黄灯闪烁,延时↓东西绿灯亮,南北红灯亮,延时↓东西黄灯闪烁,南北红灯亮,延时交通信号灯模拟控制系统主程序ORG0000HSJMPA3ORG0030HA3:MOVSP,#60H;设栈指针初值MOVA,#24HMOVP1,ASETBP3.2CLRP3.3CLRP3.4SETBP3.5;全部红灯亮MOVR4,
#00H;显示0秒MOVR2,#03HLCALLXI;调用子程序A2:MOVA,#0CHMOVP1,ASETBP3.2SETBP3.3CLRP3.4CLRP3.5;东西红灯,南北绿灯MOVR4,#14H;显示20秒LOOP2:MOVR2,#03HLCALLXIDJNZR4,LOOP2;判断20秒显示时间到否MOVR2,
2、求单片机的主程序和子程序。
#includereg51.hunsignedintcnt0;//引脚自己改sbitled__nb_gp1^0;//南北绿色sbitled__nb_rp1^1;//南北红色sbitled__nb_yp1^2;//南北黄色sbitled__dx_gp1^3;//东西绿色sbitled__dx_rp1^4;//东西红色sbitled__dx_yp1^5;//东西黄色voidmain(){TMOD0x01;TH0(6553610000)/256;//定时10ms//晶振:12MHZTL0(6553610000)%6;ET01;TR01;EA1;led__nb_g0;//南北绿色led__nb_r0;//南北红色led__nb_y0;//南北黄色led__dx_g0;//东西绿色led__dx_r0;//东西红色led__dx_y0;//东西黄色while(1){if(cnt<500){led__dx_r0;led__dx_y0;led__dx_g1;}//绿灯5elseif(cnt<550。